更新:实际的实现是在Peter Edwards的Tapuino项目中完成的。检查一下,所有内容都是开源的:https : //github.com/sweetlilmre/tapuino
我正在使用我的Arduino将TAP磁带数据文件从PC传输到C64的项目中工作。该项目的软件方面进展顺利,但是我对电子行业还是陌生的,我不喜欢炒我的准将。所以我实际上需要硬件接口帮助。
C64磁带使用PWM调制将程序存储在盒式磁带上,并在回读数据时使用运算放大器+施密特触发器将音频信号转换为方波。每个高低转换都会触发机器中的一个中断,并且两个中断之间的距离(即脉冲的长度)代表了流的原子部分。
卡带盒端口的引脚分配如下所示(顶部和底部两次具有相同的引脚):
A-1,GND,地
B-2,+ 5V,5伏直流电
C-3,MOTOR,电机控制,约 电机6伏电源
D-4,读取,数据输入,从数据集中读取数据
E-5,写,数据输出,将数据写入数据集
F-6,SENSE,检测(如果按下了PLAY,RECORD,F.FWD或REW键之一)
我当前的想法如下:
基于C64接口蓝皮书(从第29页开始),机器在READ和WRITE端口上使用TTL电平,因此我想我可以将Arduino的PWM引脚直接连接至READ引脚。
我还需要与SENSE引脚连接。我想我也可以直接将其连接到数字PIN之一,并在需要发信号通知按钮状态时将数字LOW写入那里。那是对的吗?
稍后,我希望检测MOTOR引脚上是否存在+ 6V信号。一些加载器会在加载过程中停止数据集,因此我也必须检测到该信息以正确模拟磁带。我应该使用某种电阻来限制那里的电流,还是可以直接将其连接起来?也许我应该在那儿使用继电器?