With a few extra parts cobbled together on another eurocard, the DIP8 CPU becomes the DIP8 computer.
From top to bottom we have:
- Reset button
- 16550 UART plus its 16 MHz crystal
- AVR microcontroller - was using this for debugging, now its sole purpose is to generate the computer's 4 MHz clock. Obviously this will be disappearing in the future!
- UM61512AK-15 - 64K RAM (32K usable: 0x8000 - 0xFEFF)
- 74LS688 comparator - selects the I/O devices (currently just the UART) when the top 256 bytes of memory are addressed (0xFF00 - 0xFFFF)
- 64K EEPROM (32K usable: 0x0000 - 0x7FFF)
- Status LEDs - negative, zero, carry
This is really just a prototype, first incarnation of the computer - hence the 32K ROM/32K RAM split which I intend to improve upon in the future.
The system runs happily at 4 MHz, so my mandelbrot test program now only takes 5 seconds. The clock can actually go a bit higher, up to at least 6 MHz, by increasing the duty cycle (only the high part of the clock needs to be 125 ns wide).
So what's next?
- I want a memory banking system to allow use of the full 64K of RAM.
- For developing the OS, I could do with some kind of storage, maybe an SD card interface - flashing EEPROMs gets pretty annoying, even with a ZIF socket! Or maybe I could load programs over the serial link, hmm.
- My main issue at the moment is that I've come to dislike the eurocard/backplane form factor - most of the chips are hidden away :( To its credit, it's a nice way to design something incrementally - being able to knock something up on a protoboard, plug it in, and then replace it with a PCB has worked quite well. But now that I know what the system looks like, I'd prefer it to mostly be on one "motherboard", with some expansion slots for I/O devices.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.
While the 74x688 is a lovely comparator, it is a bit expensive these days. If you won't change the address page from $FFxx then a 74x30 might be a cheaper solution and has 8 fewer inputs to wire as well :)
Are you sure? yes | no
Perfect - thank you!
Are you sure? yes | no