GeekLogic

COMX PC1

COMX PC1是和Laser 310同一时代的8位电脑。在1984年,教育部引进了一批计算机给各级学校,以便于学校进行计算机普及教学,其中就有COMX PC1和Laser 310这两款。可以说面对价格高不可攀的Apple II、Commodore、Sinclair等业界明星来说,COMX PC1在当时的中国,和Laser 310一起,为中国计算机普及事业做出了巨大的贡献。

规格

型号COMX PC1
制造商 Comx World Operations Ltd. (Hong Kong)
类型家用电脑
原产地香港
上市年份1984
内置语言COMX Basic v 1.00
键盘QWERTY,61键,带方向键
CPURCA CDP1802A
主频2.813 MHz (PAL) or 2.835 MHz (NTSC)
协处理器CDP1869 和 CDP1870
RAM32KB Dynamic RAM,最高可扩展至64KB,默认BASIC可用32KB
显存4K Static RAM (COMX 35是3K,我的COMX PC1主板上是2颗2KB的Static RAM芯片)
ROM16KB
文本模式40列24行 ,另外还有20列24行和20列12行的模式
图形模式无图形模式,但用户可以使用128个自定义的ASCII字符来模拟240 x 216高分辨率图形模式
最多颜色数8
声音扬声器,一个声部,支持8个八度音阶,16级音量,此外还有一个产生特殊音效和白噪音的通道
尺寸/重量29 (W) x 16 (D) x 4.5 (H)厘米
I/O端口磁带机、视频输出、RF射频输出、44pin总线扩展接口
电源1: GND 2: +9V 500MA DC
价格未知,参考COMX 35,英国1983售价149.95英镑

发售

1983年一款型号为COMX 35的家用电脑出现在了市场上。这款电脑是由一家名为NOXON AB的荷兰公司设计,由香港的COMX World Operations Ltd.生产制造并推向市场。在荷兰COMX 35由West Electronics负责发售。这款电脑带有35KB的内存(32KB RAM + 3KB显存),并在键盘上集成了一个游戏摇杆,定位于家庭电脑兼顾娱乐。35KB的内存也正是它型号被定为COMX 35的原因。

从一些广告文章中得知,当时COMX 35的竞争对手是同样来自香港的Laser 200,这款机型内存较小,仅有8KB RAM。Laser 200的发售价格大约在99英镑左右,COMX 35比他贵了50英镑,售价149.95英镑。当Laser 200降到69.95英镑时,COMX 35同样也调整了策略,降价到了119.95英镑。

在推出COMX 35之后,COMX公司又推出了COMX PC1,这款计算机和COMX 35并没有本质区别,在硬件上几乎一致,唯一可见的改进是使用更好的键盘取代了原有的巧克力按键,同时用方向键取代了摇杆,使机器的定位从游戏更偏向于教学和一些简单的工作(但主频和内置的较初级版本的BASIC限制了该机型不能完全胜任商业使用)。从我拆开机器看,COMX PC1的显存是由两颗2KB的Static RAM芯片构成,因此显存应该也是比COMX 35多了1KB。从这点来看,也许它内部代号可能是COMX 36呢。

COMX PC1在印度还以Savla PC1的名称售卖。

硬件

COMX PC1主板布局

对于COMX PC1的CPU,非常值得一说。COMX PC1选择了RCA 的CDP1802A芯片作为CPU。这款处理器应该是世界上第一款(即使算不上第一,应该也是非常前列)使用CMOS工艺制造的处理器。它功耗很低(相对于当年来说),有着宽泛的工作电压和工作温度范围。虽然在它家用电脑领域较为少见,但在军用和特种行业领域确是鼎鼎大名。特别在航空领域,由于CDP 1802有着很好的抗辐射特性,在很多太空项目上都有它的身影,例如NASA的伽利略望远镜(Galileo Space Probe)项目、地磁卫星(MAGSAT)项目和后来的一些业余卫星项目(OSCAR-9 / UoSAT、OSCAR-10 / Phase-3B、OSCAR-11 / UoSAT2)中都有被使用。传言说旅行者号(Voyager)空间探测器、海盗号(Viking)火星探测器也有被使用,但经过我的查询,看到有调查说这是误传1 / 2。由于性能可靠,适用范围广,CDP1802到现在还在不断量产中,瑞萨半导体(Renesas)收购了RCA/Intersil后拥有了CDP1802。

在COMX 35/PC1的设计中,如果使用在PAL制式,CPU将工作在 2.813 MHz的频率下,如果使用的是NTSC制式,则工作频率是2.835 MHz。

系统中一共有32KB动态RAM(M3732L * 8)以及作为显存的4KB静态RAM(HM6116 * 2)。32KB的内存可供BASIC程序完全使用。

一颗单一的16K ROM芯片(M38128 * 1)中存放着BASIC解释器,所支持的语言是COMX定制的COMX BASIC 1.0。受支持的语句和主频限制,COMX PC1在商用领域作用有限。

声音和图像支持是基于了RCA的VIS系统设计的,VIS (Video Interface System) 包含了两个集成电路芯片,分别是CDP1869 和 CDP1870。CDP1869 负责VIS系统的所有寻址工作,同时也处理产生声音和音效的波形。CDP1870 则负责产生彩色图像信号,他控制了所有的时序和信号生成。通过控制配置引脚输入电平的高低和使用合适频率的晶振,CDP1870能够被设置成工作在PAL或NTSC制式下。

COMX PC1的键盘在COMX 35的基础上做了改良,相对于COMX 35的橡胶软键,塑料的按键提供了更好的手感,但按键的回弹完全来自于键帽下方的单个硅胶软垫的弹力,因此事实上手感一般。键盘的按键信号扫描和控制是由右下方的CDP1871这颗芯片来负责的。

COMX PC1在主板右侧还有一个44pin的扩展接口,与总线相连接,可以为COMX PC1提供以下硬件的扩展:

  • 扩展盒(能够扩展出4块接口卡插槽)
  • 软驱控制器 (使用WD1770控制芯片,支持双面磁盘,单面35磁道,16扇区,每扇区128字节,单盘140KB)
  • 串口/并口打印接口
  • 热敏打印机接口
  • PL-80 绘图仪接口
  • 32KB RAM 内存扩展卡(扩展出@C000-@DFFF的内存空间)
  • 80列图形扩展卡(使用MC6845作为图形显示芯片)
  • EPROM编程卡
  • 串口通信卡(网卡)

COMX PC-1的内存映射表如下:

地址类型
@0000-@3FFFBASIC系统使用的ROM空间
@4000-@43FF系统参数
@4400-@BDFFBASIC程序和数据存储使用的空间
@BE00-@BFFF为磁盘操作系统保留的空间
@C000-@DFFF内存扩展卡的ROM空间
@E000-@EFFF扩展盒的空间
@F000-@F3FF未使用
@F400-@F7FF显存中存放ASCII字符图形的空间
@F800-@FFFF显存页面

软件/固件

COMX 开机音效

当COMX PC1插上电源打开开关时,扬声器会播放上面的这段开机音效,虽然简单,但比起同时代的Apple II的“滴”一声是要动听不少了(不过后来90年代的小霸王学习机的“小霸王其乐无穷”更为魔性)。开机后显示器会显示COMX的LOGO以及版权信息。如果你使用的是彩色显示器,开机后不按任何键的话,这个LOGO会不停变色循环播放,直到你按下任意键进入BASIC界面。

上面的图片是我在PAL制式下截取的画面,如果工作在NTSC制式下,LOGO的上下两根横线的颜色在第一、二、三种变化中将会显示成黄色、青色和青色。

进入BASIC系统后显示的是BASIC版本1.0,同时提示符是一个冒号。如果你用过Laser 310,看到青色的字符和粉色的菱形光标,给人的第一感觉是,这台计算机的BASIC界面的颜色比Laser 310要丰富好看的多。

在命令行输入PRINT MEM命令可以看到可使用的内存大小是30934字节。这个COMX定制的1.0版的BASIC解释器实现了大部分标准的BASIC语言功能,以下35个标准BASIC关键词可在代码中使用:

ABS, ASC, ATN, CHR, COS, DATA, DEFINT, DEG, END, EXP, FOR-NEXT, GOSUB, GOTO, IF-THEN, INPUT, INT, LEN, LET, LIST, LOG, MEM, MID, MOD, NEW, PEEK, POKE, PI, PRINT, RAD, READ, REM, RENUMBER, RESTORE, RETURN, RND, SGN, SIN, SQR, TAB, WAIT

除了标准BASIC指令,COMX还实现了33个非标准的BASIC指令。其中SHAPE指令可以自定义ASCII字符,以实现模拟高分辨率图形模式(COMX PC1共有128个ASCII字符,均可自定义);MUSIC指令用来播放指定的音符;NOISE则播放指定频率的声音;TONE是播放指定频率的音阶;VOLUME设置播放的音量;COLOUR设置前景色;SCREEN设置背景色。等等。

在编辑模式中Ctrl+R可以直接快捷输入上一次你输入的命令(Recall)。对于一些常用的BASIC指令也有快捷的缩写帮你简化程序的输入,例如PRINT可以缩写成PR。但是这也带来另一个烦恼,也算是Bug吧,如果你在代码中输入 PR INT(3.14159)的时候,COMX BASIC解释器会认为中间的空格是你误操作,直接把代码解释成为了PRINT(3.14159),而不是正确的PRINT INT(3.14159),运行的结果也是输出3.14159而不是你想要的3。因此,在遇到取整这种情况下,还是不要偷懒为好,乖乖把PRINT命令打全吧。

我的COMX PC1

我的COMX PC1和Laser 310一样,都是在闲鱼上收来的破烂货。在闲鱼上有很多卖家从货场去收回收来的二手坏键盘,转卖给那些拆键轴的人,而像COMX PC1和Laser 310这样的80年代8位电脑,因为长得像键盘,就一起混迹在这些破烂键盘之中。因为成色很差,或者很脏,有些老板就会把价格定得很低。我在咸鱼上找到一个卖家有大概6台左右的COMX PC1,成色当然很伊拉克,都是战损版,键帽大多不全,从这6台当中我挑了4台键帽还算多的,成色看上去稍好一点的,想着拿回来无论如何也能拼个一两台出来。50元一台,成交。

超级伊拉克战损版

收到货后,做了简单清洁,先插电试一下,成色最好的那台(只缺一个键的)直接点亮没有问题。可另外三台直接傻眼,一台主板上视频输出口被暴力拆掉,只留下了引脚还在主板上。另一台不仅视频输出口不见了,连RF射频调制模块整个都不翼而飞了,还有最后一台接口还在电路板未破坏的,却是开机黑屏……

不管了,死马当活马医,先把破坏掉的视频输出接口恢复了再看看情况,我焊上新的视频接口,插电开机,居然这两台都能有图像输出,甚至那台没有RF调制模组的开机也能显示COMX LOGO。但可惜的是,这两台显示的都是黑白的图像,没有彩色信号。

这块板子很惨,RF射频调制模块不翼而飞,连视频输出口都没有,图上黄色的视频端口是我后来焊接上去的。

为了查明原因,我查找了COMX 35的电路原理图(网上几乎找不到COMX PC1的,在海外COMX 35的发售量远超COMX PC1,两者几乎相同,因此可以参考COMX 35的电路图),同时也参考了显示部分VIS(Video Interface System)系统CDP1869C、CDP1870C的Datasheet。从下图中可以看到整个显示子系统中CDP1869负责内存寻址,CDP1870负责图像处理和输出。由于能显示画面,只是没有颜色,因此CDP1869部分的电路肯定没有问题。而CDP1870部分负责色彩的电路就是原理图中标注CHROM相关的部分(下图中我用蓝色框标注的部分),这部分电路很简单,除了了一个晶振就是一些起振电路使用的电阻和电容。因此除非CDP1870芯片本身有问题,否则出问题的仅可能在这些外围元件上。

接下来就简单了,示波器测试一下,发现根本没有波形信号,说明晶振不起作用,电容电阻量了下应该没问题。仔细一看这个晶振有些松动,手摸一下感觉有个引脚没有焊接稳固。用力掰了下,发现有个引脚生锈了,虽然还在原来位置,但是内部接触不良,并未导通。另一个主板上的同样也是类似的问题。淘宝找了下,PAL制式使用的是8.867236Mhz的无源晶振,只有一家在卖的,赶紧买回来,换上,开机。BINGO!一切正常,输出图像恢复彩色!

最后一台虽然主板元器件看上去都是完好的,但是却开机没有显示。整理下思路,还是先从VIS系统查起,然后再倒推到ROM、内存,最后到CPU。先检查VIS的输出端,除了色彩输出的部分,上面电路图中我用红框标出的部分是负责图像生成的部分电路,同样有一个晶振,这个晶振的频率是CPU主频的两倍,PAL系统下是5.626Mhz。根据原理,如果这个晶振损坏,CPU都没有正确的频率信号,不能工作,自然无法开机。有了之前的经验,我怀疑这批机器都有类似的问题,储存不当,导致晶振引脚生锈,所以先检查这个晶振。果然,示波器一样显示没有波形输出。再看这个晶振,虽然挺稳,但是底部有生锈,用力拆下来看引脚也是锈迹一片,估计也是同样的问题。准备到淘宝买个同样规格的无源晶振,但5.626Mhz这个频率的遍寻不着,问了好几家专门做晶振的商家,都说这个频率太少见实在没有。

难道就要这样放弃了吗?不死心继续找,终于有一家商家有这个频率的晶振,但是,是有源的,而且老板说这个数量也很少。不管这么多了,先买回来尝试做个转接板试试看吧。有源晶振价格也很贵,15元一个,保险起见买了5个备用。

这款有源晶振还是3.3v的版本,COMX PC1内部电压是通过一个7805芯片输出的5v电压,因此转接板上还要用一个AMS1117-3.3芯片来做个DC-DC降压。最终,简单的转接板的电路设计如下图。

AMS1117-3.3将电压转换成3.3v,有源晶振的引脚3输出时钟信号给到CDP1870的XTAL输入引脚PIN 37

使用有源晶振就要把原有无源晶振起振电路中的电容电阻都去除,因此把两个20pf电容和一个22M电阻去除后,再将转接板接到主板原有电路中。加电,开机,终于,这台也成功显示画面了!至此,四台伊拉克成色的COMX PC1电路部分都修复完成,都能成功显示画面并输入程序了(其中一台丢失的RF射频调制模组再也找不回来了,不过这个模组也不是必须的,现在很少有人用射频输出了)。

将无源晶振更换成有源晶振模块,转接板反面是AMS1117-3.3,原有Y2、R48、C35、C36全部拆除

电路部分修复后就是传统技能的展示时间了。板刷、洗洁精、纳米海绵、纳米陶瓷清洁剂轮番上阵,最后加上终极大法塑料去黄剂(双氧水)和太阳光的努力,帅气的COMX PC1重出江湖!跟最初的伊拉克成色几乎看不出是同一台设备。

修复完成的COMX PC1

在最后的最后,我要特别感谢我的朋友@filab 未来乐器研究所,为了让我的COMX PC1重温年少时光,他送了我一个当年和它配套的NORDMENDE监视器。嗯,我们亲切的叫它大绿屏,一搭配,果然有80年代的味道了!谢谢@filab!

参考

  • http://www.retrotechnology.com/memship/1802_spacecraft.html
  • http://www.comx35.com/comx35.html
  • https://www.comxclub.hobby-site.com/COMX-Club_Magazines.htm
  • https://old-computers.com/museum/computer.asp?c=110
  • https://www.renesas.com/us/en/products/space-harsh-environment/mil-std-883-products/mil-std-883-microprocessors-and-peripherals/cdp1802a-cmos-8-bit-microprocessors
  • https://www.cpu-world.com/CPUs/1802/index.html
  • https://en.wikipedia.org/wiki/Comx-35

链接

One thought on “COMX PC1

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据