The purpose of this project is to develope a working computer, with ROM, RAM, LCD display, fully programmable through a custom made assembly language, with I/O ports to work with.
Please note, I made some of my 'documentation' public, since I submitted the project for HACKADAY PRIZE 2015, but note that it is not well edited, because it was meant only for private use and many things are still missing.
Now that all things are pretty much connected, I am left only with making an assembler. I tried testing all of the modules, this is a short clip of testing the ROM module. Enjoy
Don't want to overreact here, but I shed blood for my project. ;) I needed some jumper cables for my project and I was being stupid. I tried pulling them out from an old pc case, but instead of unscrewing the case I went in through the hole where the power supply was. I pulled them all with ease, then I saw another one that was connected to a speaker or a buzzer, I didn't need the buzzer so I decided to tore it out. I hit the metal with my hand as the cable snapped and slashed my hand a bit. I needed stitches so it took a week before I was able to continue with my project.
I feel things are moving pretty fast regarding my project. I have to reprogram 3 micro controllers then I guess I can start working on the ASSEMBLER.
Oh I also would like to thank @Radomir Dopieralski for introducing me to a thing called flux. It made soldering a fantasy. So Thank you Radomir for that.
I'll update this post with a picture or two when I get home.
It's just a quick update. I applied some noise reduction meassures. That's the copper wire (with isolation) that is grounded and wrapped around the other wires that are connected to the adapter.
Just a quick update. Summer is a busy time for me, especially this one, but I did manage to create a thing that I call a bridge between the ''utility board'' and ''the CPU part''.
Yay, I just managed to get my PIC 16F 844 to act as a compiler. I switched it from PIC 16F 627 because I needed more free pins and more program memory.
Eventhough I did not update this project in a while, I work pretty hard on it. Everything that I have so far, is directly controller through CPU (duh..), However, there must be something that will feed CPU with op codes that it must execute and that is what I'm working on now.
I mounted slots for my 7 segment display controllers. I mostly slavaged them. Also, I got my 2 pieces of PIC16F884, which has 40!! pins each and what's even more important it has a lot more program memory.
One will be used for my compiler, another for my CPU.
What will make the computer to execute is a firmware that will output basic code (for setting things up) to the CPU which will execute it.
It is an interesting idea, and I am doing something pretty much like this myself. I would recommend you the idea of, instead of looking for 1 PIC MCU to generate everything, separate tasks between 2 of them (or more if you feel the need to). I am building a PIC computer myself with the intention of learning about those devices and systems enough to build a larger project that I have with possible commercial applications.
Try it like this: Use a PIC18F4550 for the display and for connectivity (since it has a USB Full Speed 2.0 port built in, which is extremely useful, and still has a UART feature for other uses), and maybe for the firmware, since this PIC model has a boot-loading feature. And then for the main tasks you can use another PIC MCU (or other brand for that matter), a MCU that has its strong points on processing power rather than connectivity.
Using PIC18F4550 and PIC16F877A, for example, gives you 1 USB connection and at least 3 others for USART communication, with around 30+MHz of processing speed combined. With creativity (which you appear to have a lot), you can go long distances with this project.
The only operating system for PIC micros, iknow is (free)RTOS. there are some basic interpreters on the web for PICs, the first one ever was the BasicStamp. But in my oppinion the best way ist to use a PC for writing programs and have a pic with a usb bootloader, like jaluino or alike.
I used an SPI RAM sometimes but with premade Libraries for the programming language JAL v2. There is a SPI introduction and an 23k256 tutorial in the JAL tutorial. I think you can learn from this and use the fundamentals in the programming language you use. here ist the link
If you run into troubles with your RAM, why not using a PIC with streaming parallel port like 18F4550 or use a fast SPI Ram like 23k256 that i used in one JAL Project.
video not working on web page