计算机历史 - IMSAI 8080【1】介绍

作者:Codetector
知乎文章编号:56268842
创建于:2019-02-04 10:06:10
修改于:2019-02-04 10:15:15


开始之前先简单介绍一下这件事情的缘起,也顺便介绍一下这台机器后面的历史吧。

首先呢IMSAI 8080 可以算得上是世界上第二款家用电脑了,(最早的是Altair 8800)这台机器与 Altair 8800 采用一样的总线以及CPU架构(Intel 8080)。 但是比Altair 8800 有更好看以及更完善集成的前控制面板。

这一系列文章会随着我尝试各种事情的进程而更新, 目前的大方向计划是能正常运行CP/M 甚至自己构建自己的操作系统。 一同配套的还有 IMSAI的 8英寸双软驱,希望都还是好的。机器呢是恰巧有机会认识到学校的一位教授,在做很多老旧硬件的复原以及二次开发工作。 就了解到了这台机器。 和教授一来二去,就同意让我尝试慢慢修复、二次开发这台机器。上面的目标也是目前和教授一起商量定下来的目标。

下面是最早拿到机器的时候里面的各种硬件,后面随着慢慢的复原会一一介绍

首先出场的是最重要的 MPU-A 也就是CPU卡啦。 上面有Intel 8080A一颗 速度2MHz, 由 18MHz的晶振生成两个 2MHz 的 错相时钟 【也就是边沿不重叠的两个】

IMSAI 8080 - MPU A (Intel 8080处理器)

接下来是一个16K 内存

上面的4个巨大的散热都是7805. 由于机器的总线只提供了 8V 和 +-16V 未稳压的电源,所以每块板子都要有自己的稳压装置。 【也许接下来继续开发的时候可能会更换成+-14V 和 6.5V的稳压电源,这样可以减少7805带来的热量损失。 蓝色的选择开关是用来选择内存的地址。 对应8080 16位地址的最高四位,从左到右每四个开关分别控制4K内存的位置。

Thinker Toys - SUPERAM 16 (16K SRAM)

接下来还是内存,这次是8K。根据我猜测,这应该是机器最早带的内存,无论是从芯片的出厂日期,还是内存目前在地址0x0000 所以应该是跟机器一起买来的内存。(这个内存只能控制整个16K 的位置, 上面的DIP开关可以调整16K 的起始位置)

IMSAI 24-101C (16K SRAM)

接下来还是内存,不过这次是两块4K 的一模一样的板子。 左上角的LED第一行表示每1K的写保护状态,第二行表示每1K的地址被激活的时候会点亮【第一行应该是红色,第二行应该是绿色,这部分需要更换LED】

IMSAI 4K RAM(1)
IMSAI 4K RAM(2)

更多内存,可见当年机器里面有多少内存卡。这个是GodBout 的 ECONORAM II代 从4K升级到了8K。左上角的依旧是控制内存地址的

GODBOUT EconoRAM II (8K SRAM)


最开始拿到机器的时候运行非常不稳定, 有时候能用有时候不能用。 下面的短视频是拿到第一天尝试写了一个选斐波那契数列。 左上角的输出是255以内的斐波那契数(233最大)。有Delay 不然看不到,因为太快了。 最后附上源码,有兴趣可以在模拟器上运行或者8080/Z80机器的话也可以直接运行。

IMSAI 8080 计算斐波那契数列 https://www.zhihu.com/video/1076118143457345536
;fib
.org 0

init:
	mvi a, 0
	mvi b, 1
	mvi l, 0xFF
fib:
	mov c, a
	add b
	jc init
	xra l
	out 0xff
	xra l
	mov b, c
	mov h, a
	LXI d, 0FFFFh
delay:
	dcx d
	mov a, d
	ora e
	jnz delay
	mov a, h
	jmp fib

之后会很快更新第二篇关于现在的问题以及简单的解决