Week 1, September 5th-11th
Week 1 is when the initial research into the project started.
Earlier in the week I would design the general layout of the computer as a whole, how each component of the computer would interact with each other, playing with ideas and seeing what as possible.
A demo image made in GIMP based on the design of the PPU
Within the first week the rough expectations were already set as to the capabilities of the computer would be, it was going be large, slow and not even come close to anything remotely modern, it would take an extremely long amount of time and effort to achieve. Knowing this, we kept going, even if it fails it will be interesting to work on and I would learn a lot.
By the end of the week, I already had a general design for the computer made and i knew roughly how it all worked and how the end product would look like. I had made the beginnings of a emulator and assembler and the first schematics and circuit board design for the ALU.
Early design of the computer.
ALU Schematic (as of 25th), Some parts of the schematic are hidden out of view.
I had designed the instructions for the system to use, trying to optimise it as much as possible for hardware simplicity. For every instruction i thought of how it would be represented in hardware, and if it was easy to implement or if there was a more efficient way of doing it.
Week 2, September 12th-18th
Early into week 2, the software side of things had been turned into something actually functional. There was now a working emulator with picture output, I made a few programs to test things and everything seemed to work as expected. Coding in assembly with the extremely limited instruction set is hell, so it was decided that a higher level language and a compiler should be designed later on to make things easier.
The first time that the emulator successfully produced a picture output.
Progress was also made into part research later into the week, I would go on electronic parts supplier websites trying to find the cheapest deals of ICs that i could find and read hundreds of datasheets. Anything useful i put onto a spreadsheet to keep track of parts and costs. This research helped to find ICs I wasn't aware existed that could make certain things more efficient. It also helped to set the expectations of the processing speed and the cost.
Example of the expected propagation delay
on a generic logic gate IC @ 40MHz (iirc)
While designing bits of the ALU board and researching parts, a physical size for the computer was established. Each single sided copper clad board would be 6in*8in (152mm*203mm)
. There would be a rack system where each element is 20mm high. Various components of the computer would have their own rack element, mostly depending on how much board space is required. For example the ALU is part of the CPU but due to its size it needs to be its own board separate from the rest.
Week 3, September 19th-25th
After putting in 2 weeks of almost fully dedicating my free time towards the project, I got burnt out. between the end of week 2 and the start of week 3 I played around with ideas for different projects in my head and seriously considered putting this project aside in favour of another one.
By the weekend I had regained interest in the project. I made massive progress on the board design of the ALU in those 2 days to the point where it was almost finished.
WIP board design of the ALU.