I believe I have the data memory interface done. At least it's simulating correctly. That was a bit of a bear. Next up is the program counter reading onto the databus. Should just be two tristate buffers. Then bootloader! I'll need two 8-bits ROMS to go alongside the two RAMs. I looked at Flash-based memory, but the problem is they are mostly 3.3V. The rest of my chips need 5V and I'd prefer not to put in extra level-shifting circuitry. But I can put these right next to my RAM chips.
I figure I'll use the most significant bit of my address (A15) to select between the RAM and ROM. I'll put the ROM at A15=0, so when I reset my program counter, it will point to the first instruction in the ROM. Then I can run some piece of ROM code which grabs data from the serial port and loads it into the RAM, and then jumps to the RAM code. Or just some other interface which lets me choose what function I want. Maybe I'll have an SD card interface and transfer the code from there into RAM and then execute it.
$0000 - $7FFF | ROM |
$8000 - $FFFF | RAM |
Chip count: 20! plus decoding chips (at least 2 more probably 4) plus 2 Instruction ROMs plus 2 for PC reading
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.