| System ROM | 6502 CPU | System RAM and Video RAM might be merged. | ||
| System RAM | ||||
| Video RAM | Mpx | |||
| 6847 VDG | 6847, 8255, and glue logic worth putting into FPGA. | |||
| Tape | 8255 PIA | |||
| Kbd | ||||
| Lpt | 6522 VIA | 6522 might be optional. | ||
Circuit Diagrams available on the net as scan
of hand-drawn circuit.
Acorn Atom Technical
Info
The Acorn Atom should be an easy target, having no custom (undocumented) parts.
The 8255 PIA provides the keyboard interface. Although this chip can be programmed for many different I/O configurations, the Atom does not need them all. A single fixed configuration should simplify the VHDL design.
Sound (optional)
The 8255 also provided sound by toggling an output bit connected to the speaker.
The 4K Kernel and the 4K BASIC are the minimum requirement. It is possible to get this inside the FPGA. Although not the best use of FPGA resources, it does allow a CPU to be attached without having to connect any ROM. Handy for me, as I don't have a ROM programmer! It also provides a way out of the catch-22 situation, because once the new Atom is running it can then copy data from the FPGA to a seperate Flash ROM. The 4K Floating-point ROM is optional.
I have defined the system ROMs in VHDL and these compile.
I have chosen a 32K RAM from an old PC cache. Some of this will be mapped to the video memory (6K starting at 0x8000), the rest will be mapped to the system RAM (starting at 0x0000). The new Atom should thus have 26K of program space available, 20K more the original internal maximum.
Video RAM and Address Multiplexer
I have designed the system to have interleaved CPU/VDG access to RAM, so only one RAM chip is needed and there is no 'snow' due to access conflicts.
Implementation
See the Acorn Atom in FPGA project