Last updated: 17 Aug 2009 - 23:23
The memory part of my Mark 2 system is extremely simple. There are two 32K SRAM chips (actually FRAM because I had them lying around, but there isn't any significant difference in this application). These are selected with the logical OR of the MREQ signal and A15 (or inverse of A15 for the upper chip). Because the boot code for the Z80 is held by the PIC and the PIC can control the whole address bus while it holds the Z80 in reset the boot code is written to normal RAM after power-on. This provides the advantage of less decode logic, and no ROM chip, as well as allowing the whole of the memory space to be used by whatever application is running as there are no "unwriteable" regions.
Last updated: 17 Aug 2009 - 19:50
I've actually started building this Z80 project already, so this one might get to do something more than just a debug pattern on some LEDs. The design for this is fairly minimal and is based around two main factors; stuff I've done or planned before (so understand to a certain degree) and parts I have lying around. As such the components might be a bit odd, and possibly unavailable (sorry).
Last updated: 15 Aug 2009 - 15:31
Booting computers is an age old problem. It seems like an easy task to you, just press the button, but the software and hardware involved is often a bit of a hack. When you start a Z80 processor (ignoring reset hold times and clock stability for the moment) it will try to load an instruction from memory address 0, execute it then move on. So the traditional way Z80 micro computers (like the Sinclair ZX Spectrum and the Amstrad NC100, to name a couple I own) are built is with a ROM chip at the bottom of the address space with some kind of operating system on it, e.g. a BASIC interpreter. This is cheap and simple, but has some big problems for the hobbyist or developer.
Last updated: 15 Aug 2009 - 10:12
It's been over two years since I've posted anything about my Z80 project. I haven't given up, I've been working on odds and ends on and off for the last couple of years, but no huge advances. The reason the posts dried up is that I actually got the original Z80 project working! But it was quite under-whelming. After weeks of work I managed to get a program that could write data to an 8 bit latch with LEDs attached. So what was the point of it all, and what have I done since?
Last updated: 06 Aug 2007 - 22:04
I wrote an article a while ago about making a tool for reading and writing parallel memory chips using a PIC and a USBMOD2 unit. I have finally got around to writing the code out in MPASM (the original was for the PICAXE BASIC programmed PIC.) The code is fairly simple but shows how a PIC can effectively be used in place of complex glue logic.
- Source memtool.asm file
- Compiled HEX file, memtool.hex
- GPLv3 License