相信看过变形金刚的小伙伴一定印象比较深刻,那么小伙伴们还记得上面这样一个情节吗?
电影中在第七区,美国国防部部长想要派空军轰炸威震天,就让其中一个黑客通过一台旧电脑联系空军发出信息。下面文章有些类似,而文章中要介绍的电脑是康懋达(Commodore)公司1977年生产的的一种个人电脑,PET是个人电子处理器的缩写。Commodore是与苹果公司同时期的个人电脑公司,曾风靡一时。
我已经拥有 Commodore PET* 8032电脑很多年了,我曾经在上面运行了很多不同的程序,正如你现在所看到的一样。而我一直都想把它连接到RS-232接口上,并把它做成一个终端机。我认为经典的造型以及屏幕可以被看做是一个完美的终端。
它虽然像是更受欢迎的接班人,但是却缺少RS-232 串口硬件支持,你现在需要一个调制解调器,同时意味着将使用IEEE-488总线来连接计算机(Commodore 8010),当然你还需要一个面包板,利用现有的RS-232端口进行通讯,Commodore VIC-20, C64以及C128电脑也可以由CPU来控制 RS-232端口。RS-232通讯接口采用电平方式传输,适用于点-点通讯,无须专门的收发使能控制。当然你也可以查看内核代码来了解更多信息。由于此电脑对于这一点完全空白,可以利用代码应用于RS-232用户端口转TTL信号传输上。
这里面一定要区分RS-232与TTL不同之处,TTL逻辑高电平==’1‘==Vcc==3.3V或5V、逻辑低电平==’0‘==0V==0V。而 RS-232逻辑高电平==’0‘==负电压== -3V~-25V==常为:-13V、逻辑低电平==’1‘==正电压== 3V~25V==常为:13V。如果使用错误的电压那么对你的电脑会造成损害。
首先需要注意的是Madison 电脑公司生产的McTerm,我拥有这家公司的McPen光笔系统(VIC-20 以及C64),但没想到的是差距这么大。它被分三个部分出售-储存在软盘中的软件、ROM芯片、以及可以连接到RS-232设备的线缆。我在网上已经看到前两个,但第三个没注意到,所以这将会是一个难点。
第一步利用EPROM烧录程序,在 PET 8032电脑(ROM映射)共需9000美元。程序(ROM)约2 Kbytes,但是EPROM空间却有4 Kbyte。剩余的空间可以利用0xFF来填补。 PET ROM(2532)输出,但是我选用的EPROM(2732)输出,很明显是不一样的。但可以通过装置修改三个引脚来达到目的。详情可以看这个网站。
下面就是软件了,当然软件可以很轻松的拷贝到1541软盘上,那么就可以通过 IEEE-488总线来连接1541单软盘驱动器,我将会使用“shift-run/stop”方法来运行第一个项目程序。
最后我需要弄清接线问题,并弄清哪些端口需要使用哪些程序,我研究了 VIC-20以及C64使用RS-232端口情况,后来我使用这两个;来接受信号,c那个利用 PA0 接口,b使用FLAG2 接口,同时我相信这是一个中断。这些都可以实现快速传输数据,该电脑B部分的CA1接口也是一个中断,我感觉这几者都是同一个工作模式。
RS-232用户端口转TTL信号传输,为了完成测试我就将b和c都连接到USB RS-232转TTL模块上。我是用了一个终端程序CoolTerm,设置好波特率并发送信息。这些都已经没关系了,我现在正在尝试一些没有测试的东西,我一直在尝试直到屏幕上出现提示信息。虽然这么做不对,但是它确实接收到了什么。
我在寻找发射信号(TX),但只发现一种信号。我再次测试时发现又出现了这种信号,但PET电脑没有辨认出这种信号也没有响应。下面我将会检测屏幕上字符显示错误的问题,首先做出了一个猜测难道错误的显示是由水平偶数同位或结束位出现错误了?于是我尝试了不同的组合数7n1、7e1、8e2等。我于是输入了“abcdef..”,但出现了相反的字母顺序,而里面还有其它的一些字符。
我决定仔细研究RS-232端口和PET电脑连接的信号范围,我决定以“0”点位开始,这一点主要是出于PETSCII以及ASCII码考虑的。请看下面的比较。