I'm making an 8-bit computer. It won't be like your average computer; no screen or keyboard. Instead it has 8 switches and 3 buttons for input, and 16 LEDs for output. 8 LEDs show the current address you are looking at, and the next 8 show the data in the address. The computer has 256 bytes of RAM. Since the programs are stored in RAM, and the only way to store data is to edit RAM, the program can re-program itself Very Happy There are no registers, instead everything is done with direct RAM addresses. To edit RAM, you put in an address in the 8 switches then hit the ADDR button, which changes the currently open address to the one on the switches. You can press the STORE button to store the number on the switches into the currently open address. The RUN button starts the program from the currently viewed address. I'm not finished with this, I'm still writing the programming, but I do actually have everything breadboarded. It will all be run with a PIC18F46K20 processor. I know it's a bit overkill to use a powerful processor, but it's nice to have four 8-pin ports. So far I've been running the processor with some basic programs just to make sure it works (LED blinky, count in binary).

So I have a question for you all: since the programs are stored in RAM, when you turn off the computer, everything in RAM is lost. The PIC processor I am using has an internal EEPROM. When the computer shuts off, should I auto- backup the RAM  to the EEPROM, and then load the EEPROM contents into RAM when the computer is turned back on? Or not? Or maybe do it some other way?

Here  is the planned assembly language for the SP-10 computer; try writing neat programs! When I have the system finished, I will run your guys' programs and make videos of them!
In this table, X and Y just represent arguments.
The (updated) table is here: http://withg.org/spyro543/sp10/index.htm

Youtube Video:
Well, I've gotten the memory editor circuit working out fine. You can enter an 8bit number on the switches, press the ADDR button to open the address on the switches, and press DATA to store the number on the switches into that RAM address! Program executing isn't implemented yet (it'll be a while). Video coming later!
I've updated the table: http://withg.org/spyro543/sp10/index.htm
And there's a Youtube video now!
Sorry that I haven't gotten a chance to post here before now. I have had this topic open, and I certainly wanted to get a chance to encourage you along with this project. I built something with a similar architecture way back in the day, though it was more of a display than a computer. It used two 1KB RAM chips with a byte-by-byte input circuit, a binary counter, and a massive array of multiplexed lines and 5x8 LED modules to display text. Anyway, you're clearly doing something much more complex here, which I support. I would not back up the RAM to EEPROM in your computer, but I _would_ back up program RAM (if programs are stored in RAM) to EEPROM.
In order for auto-backups to work, the processor would have to know when the circuit's power will get cut. How exactly can I achieve this easily?

EDIT : For clarification, in the first post, when I say backing up from RAM to EEPROM, i mean the internal EEPROM in the PIC, not an EEPROM in my laptop.
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are GMT - 5 Hours
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum