本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

用于 Commodore 64 和 128 的 IEC64W IEEE-488 并行接口适配器

发布时间:2022-07-19
分享到:

用于 Commodore 64 和 128 的 IEC64W IEEE-488 并行接口适配器

发布时间:2022-07-19
分享到:

我最近修理并修复了一个1983 Commodore 2031-LP 5.25 英寸软盘驱动器,这很不寻常,因为它使用了 IEEE-488 并行接口作为早期的 Commodore PET 系列计算机(GPIB 连接器),而不是 IEC 串行接口由后来的 Commodore 8 位系列计算机(DIN 连接器)使用。

Commodore 2031-LP 5.25 英寸 FDD。
这使得在整个维修过程中测试 2031-LP 软盘驱动器变得很困难,因为虽然我确实拥有 Commodore PET(确切地说是PET 3032),但这些计算机并不容易移动,而且它们占用了大量的物理空间,这并不理想,因为我的大部分工作都是在我的棚屋车间里进行的,而且我只有有限的可用空间。因此,我花了一些时间研究潜在的替代方案。

最实用的选择似乎是 Commodore 64 和 128 的 IEEE-488 并行适配器,例如 IEC64W——这是由几家德国公司(柏林的 JANN Datentechnik、哈根的 REX Datentechnik 和 WAW)分发的原始卡来自柏林的 Elektronik),此后由 RetroTinkerer.net 的 Dirk Wouters 以出色且非常值得称赞的努力进行了逆向工程。

IEC64W IEEE-488 并行适配器(图片来源:GitHub 上的 IEC64W)。
IEC64W 使用 6821 外围接口适配器 (PIA) 直接驱动 IEEE-488 并行总线,而不是使用标准 75160 和 75161 驱动器 IC。除此之外,它还有几个 74 系列逻辑 IC、一些无源器件(包括用于配置的 DIP 开关块)和一个 ROM(2764 或 27128 EPROM)。

构建一组 IEC64W 适配器

在 2031-LP 维修的时候,只有极少数的卖家(比如 一些 eBay 卖家)出售 IEC64W 适配器,没有一个在英国,所以我不得不自己制作。

这不是什么大问题,因为 Dirk 非常友好地将必要的设计和固件文件作为开放硬件托管在他们的 GitHub 页面上,并且(非常有帮助)作为PCBWay 共享项目页面上的 共享项目。

我决定通过 PCBWay订购一组这些 PCB(总共 10 个), 因为订购他们共享的项目 PCB 非常容易,而且我总体上获得了非常好的体验。

除了 PCB,还需要其他几个组件——每块板,这包括:

  • 1 个6821P 外围接口适配器 (PIA)。
  • 1 个27C64或27C128 28 针 150ns UV EPROM。
  • 1 x SN74LS00N 逻辑 IC(4 通道与非门)。
  • 1 x SN74LS11N 逻辑 IC(3 通道与门)。
  • 1 x 6 位 DIP 开关块(2.54mm 间距)。
  • 1 x 10 kOhm 4 路总线电阻网络(2.54mm 间距)。
  • 1 x 10 kOhm 5 路总线电阻网络(2.54mm 间距)。
  • 4 x 100nF 陶瓷电容器(2.54mm 间距)。
  • 2 x  1 kOhm 1/4W 通孔电阻器。
  • 1 x 24 路 2 排排针,2.54mm 间距(可选)。
  • 2 个14 针 DIP 插座,2.54 毫米间距,0.3 英寸宽(可选)。
  • 1 个28 针 DIP 插座,2.54 毫米间距,0.6 英寸宽(可选)。
  • 1 x 40 针 DIP 插座,2.54 毫米间距,0.6 英寸宽(可选)。

我搭建了一块 IEC64W 板进行测试,这是一个相对简单的过程,但由于焊点数量众多,需要相当长的时间(并且非常重复!)。

对于板载内核 ROM,我 在 AliExpress 上购买了一些 27128 EPROM—— 这些似乎是重新命名的部件(即根据芯片 ID 标记为 ST 但实际上是 AMD 部件),但它们似乎是真正的 2764 EPROM,它们工作正常。

首先,我使用 UV EPROM 擦除器擦除了一些 27128 EPROM 。与可电擦除的 EEPROM 不同,EPROM(其顶部有可爱的小窗口)需要在使用紫外线进行编程之前擦除。

然后,我使用 Dirk Wouter 非常友好地提供的固件文件之一对预先擦除的 27128 EPROM 进行了编程,该固件文件我也在网上托管。

我决定使用“JANN Kernal C128-C64”二进制文件,它适用于早期的 Commodore 64 长板(使用 2364 内核 ROM)和 Commodore 128(在 C64 模式下)——还有一个版本用于后来的 Commodore 64 短板,它使用了 27128 组合的 Kernal & BASIC ROM)

然后我读回并使用 HexCmp2验证了 ROM 内容。打印并附上标签以覆盖擦除窗口。

在将 EPROM 和其他 IC 装入第一块 IEC64W 板上的插座后,我用 2031-LP 和 Commodore 128 测试板对其进行了测试,它似乎工作正常。

我还在 Commodore 64 “breadbin” 上用较早的长主板对其进行了测试。

如何使用 IEC64W

  • 相应地设置 DIP 开关设置(见下文)。
  • 将适配器插入墨盒端口(确保计算机已关闭!)。
  • 使用适当的 PET-GPIB 型电缆连接并行驱动器(确保驱动器已关闭!)。
  • 打开计算机电源,然后打开并行驱动器。
  • 如果使用 C128,输入“go64”然后输入“y”进入 64 模式(启动时按住 C= 键似乎不适用于外部修改的内核 ROM)。
  • 使用普通命令使用驱动器(即“加载“$0”,D”(其中 D = 设备 ID)将从设备 D 的主驱动器加载目录)。

设置 DIP 开关

  • DIP 开关设置:AABXCC (123456)
  • AA 是地址设置:00 用于 ID 4-15,通过 IEEE-488,10 用于 ID 8,仅通过 IEEE-488(其余通过 IEC),01 用于 ID 4,仅通过 IEEE-488(通过 IEC)。
  • B 是系统设置:0 代表 C128,1 代表 C64(如果使用 C64/C128 二进制文件)。
  • X:不关心(当前未使用)。
  • CC 是适配器启用:11 表示启用,00 表示禁用。

以上就是本项目的全部内容了,有问题欢迎留言评论交流。

* 以上内容翻译自网络,原作者:亚当威尔逊,如涉及侵权可联系删除。

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论