68k computer spec refinement
The last post about specs was aspirational. After some back-of-the-envelope calculations and further though, the specifications have been revised.
The main change is that 1024x768x8bpp is too high a resolution. At a 16.25 MHz CPU clock, one bus cycle is 4 clocks, or 0.246 us. The full screen refresh time is lower bounded by 0.19 s, which is intolerably slow. In keeping with period systems, let's lower the resolution to standard VGA 640x480, and let's reduce the bit depth to 2 bits per pixel. The reason for 2 bits per pixel is that since the data bus is 16 bits, we can use two color planes and fetch 8 pixels in a single read (for video output or by the CPU). We will then clock the CPU at half the dot clock, so 12.5875 MHz. Working through the full screen refresh time gives 12 ms, which is much more reasonable. In practice, there will be wait states, and the CPU and video system must share the bus, so the refresh time will likely be 2-3 times of this figure, which is still acceptable.
Since the sound system is coupled to the vertical refresh rate, it will now be sampled at 60 * 525 = 31.5 kHz. It was also pointed out that a programmable timer would be useful, so we will adopt the 65C22 VIA, just like the original mac. With this we can bit-bang I2C and use the much more common DS3231 RTC module. Therefore, the revised specs are:
Specifications
- 640x480x2bpp (planar) graphics (25.175 MHz pixel clock)
- MC68HC000 CPU running at 12.5875 MHz (pixel clock divided by 2), tightly coupled to the video system
- Almost all of the 16 MB address space is usable RAM; the 1 MB VRAM sits within
- 512 KB boot ROM with low level OS routines
- PS/2 keyboard and mouse ports
- Dual RS-232 serial ports
- Dual SD card slots (SPI), with bridge mode to facilitate fast copy
- 65C22 VIA for programmable timers and GPIO
- Real time clock module (DS3231)
- Ethernet port using an SPI module
- Sound system piggybacking off video raster scan (~31.5 kHz)
Goals
The overarching goal of this project is to design a computer system that reflects capabilities of the late 1980s, while using mostly modern components and technologies when it makes sense to do so. I want the entire system to be hand-solderable, but that does not rule out surface mount components. I think discrete resistors and capacitors down to 0805 are perfectly solderable, and surface mount ICs with pin pitch at 1.27 mm is also reasonable (just no TSSOP or QFP packages).