Home

Nathan's Z80 Project Mark 2: Memory

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.

Section:
Z80 Project
Tags:
Z80,
retro-puting,
Z80 Mark 2

Nathan's Z80 Project Mark 2: Memory Schematic

Last updated: 17 Aug 2009 - 23:19

Schematic of the memory sub-system for the Z80 project

Back to article

Section:
Picture
Tags:
 

Nathan's Z80 Project Mark 2: Overview

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).

Section:
Z80 Project
Tags:
Z80,
retro-puting,
Z80 Mark 2

Giving the Z80 a good boot

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.

Section:
Z80 Project
Tags:
Z80,
retro-puting,
Z80 Mark 2,
PIC

Z80 Homebrew update

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?

Section:
Z80 Project
Tags:
Z80,
retro-puting

Memtool Circuit

Last updated: 27 Sep 2007 - 11:44

Circuit diagram of the EEPROM programmer tool.

Back to article

Section:
Picture
Tags:
 

Memtool Detail

Last updated: 27 Sep 2007 - 11:41

Detailed view of a chip in the EEPROM programmer

Back to article

Section:
Picture
Tags:
 

Memtool Overview

Last updated: 27 Sep 2007 - 11:19

Image of the EEPROM programmer

Back to article

Section:
Picture
Tags:
 

MPASM - memtool firmware

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.

Contents

  • Source memtool.asm file
  • Compiled HEX file, memtool.hex
  • GPLv3 License
Section:
Projects
Tags:
PIC,
assembly code,
source code

MATLAB - Radians to Degrees

Last updated: 05 Aug 2007 - 20:14

Written at the same time as the degrees to radians function as a compliment to it. Again, the function is incredibly simple, however, it's a handy thing to have in your path anyway. It's also a really simple function, showing the syntax to create a function that takes an argument, returns a value, and has a documentation string (if I remember correctly just type help r2d into MATLAB and it should describe the function if it's in your path.)

Section:
Computing
Tags:
 

Contact

Email: nathan@nathandumont.com

Mastodon: @hairymnstr@mastodon.social