Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview

Artifact ID: 82cd01adc284846efc2769be72ce3ca1224406ea
Page Name:Development Roadmap
Date: 2017-08-24 06:35:24
Original User: kc5tja
Mimetype:text/x-markdown
Parent: 74de2e93492c1d31d5aa53bc6e5e91f429aa0d3c (diff)
Next 0bc27a20f1565156a657224fb7c2422230b07fa0
Content

Development Roadmap

Basic Bringup

  1. Get FPGA board to come up with predictable LED arrangement.
  2. Make clock divider from 50MHz down to 100kHz.
  3. Synthesize CPU with hardwired data bus set to $0013. Attach address pins A15-A8 to LEDs. Should see activity on LEDs. Remember that LEDs are active-LOW.
  4. Replace hardwired $0013 with a synthesized ROM.
  5. Introduce GPIA and address decoder modules; wire LEDs to the GPIA output port. Rewrite firmware to do blinky-lights via the GPIA.
  6. Introduce IPL RAM. Firmware to copy itself into RAM; otherwise identical to previous step.
  7. Introduce MGIA and video RAM. Rewrite firmware to display sign-on banner. Replace old clock divider with MGIA's derived clock.
  8. Introduce KIA. Rewrite firmware to add full-screen notepad app, a la Atari 400/800 without a cartridge.

Mass Storage Bringup

TBD. This is a much, much bigger problem due to how complex the SD protocol is, even over SPI. Plus, I need to work on a persistent storage layout/filesystem layout. I might be able to re-use the original Kestrel-2's layout, but remember that it's built only for a 16-bit CPU. I might have to rewrite the tools used to create initial filesystem images, though; the older tools are written in an ugly combination of Forth, Go, and I'm sure one other language. They should all be rewritten into a consistent language for ease of maintenance.

It's occurred to me that I should be recording these in tickets, not in the wiki.