My first post - everyone has to start somewhere.
I'd like to build a processor out of transistors (e.g. see http://www.megaprocessor.com/
and others at http://members.iinet.net.au/~daveb/simp ... ghome.html
). I want my RPi to act as the controller and memory. For example, let's say that want 16 bit memory in a 16 bit address space. I use:
* 16 bits for the address
* 16 bits for data in
* 16 bits for data out
* 1 bit for address ready
* 1 bit for read/write
* 1 bit for done
To write I put the address and data on the GPIO, set write mode and then set address ready. A small program in a tight loop on the RPi sees the address ready go high, it reads the address and data and stores the data at that index in an array in program space and sets done. Similarly to read the address only goes in with the mode set to read, when address ready is high the index is read, the array value is put on data out and done is set.
My main question of course is: Is this completely bonkers?
Assuming it's not altogether stupid then:
* what speed could I expect to get, am I hardware GPIO limited or does the RPi have a deep software stack that will slow me down?
* I don't have 51 GPIO pins. Is switching GPIO from input to output mode very slow?
Has anyone else done anything like this that I can learn from?