Acorn Atom Technical Study

Architecture

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.

Video Timing

The 6847 VDG in VHDL

Colour carrier modulation

Keyboard

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.

System ROM

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.

System RAM

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