Hardware testing completed 3

Yes – the wire wrapped CPU prototype now passes all tests. Since I finished construction a couple of months ago I have been trying to eliminate all outstanding logic bugs and make the machine more stable. Only at this point I am confident enough to declare the preliminary QA phase completed and happily spread this good news. On the way I had to rebuild some of the circuitry (the MSW, the MDR, parts of control logic), adjust microcode to match new hardware, fix a few assembler bugs to mention just the most significant changes. Of course, at all times I needed to keep the schematics and simulator code in sync. It was a challenging but very interesting journey. With little time I have had recently, I am happy to have accomplished this.

My plan for the nearest future is to build an I/O subsystem. I will start with a LCD character display, because it should be fairly easy to add (on an expansion card) and will provide a decent debug display to support consequent step which I think will be a simple PS/2 keyboard interface and serial port (based on 16550 UART chips). This will finally make my computer more interactive and allow me to write and run a couple of useful demo programs. At this point I also think my gate-level machine simulator has already fulfilled its role. I will not develop it any longer, instead I will probably think of a functional simulator (or should I say emulator?) to help me test and debug new software for the CPU on a PC.

Today I am releasing all project source codes and schematics. The release is mostly bug fixing (both in hardware and software). The revised schematics is particularly important, as it turned out that the previous version was not fully operational. As usual, all project resources are in downloads.

I am leaving for a 15-day vacation next week. I really need a rest from my paying job, which has been so hectic recently. This project will have a short break too, but I will pick it up again as soon as I return.

3 thoughts on “Hardware testing completed

  1. Reply Armando Acosta Mar 28,2011 2:32 am

    Contratulations! –You have really worked hard and accomplished much. I’m trully happy for that.

    …thougth it’s quite hard for me to imagine a “gate computer” with a keyboard/LCD attached. I uderstand this is not a “retro-historical” project so it does not to be consistent with Computer History but still… “personal computers” (those having a keybord/monitor, actually referred as to “Home Computers” back then) appeared in the mid 1970s thanks to the invention of the microprocessor so all of them were based on microprocessor. But again, I understand this is not a “retro” computer.

    Congratulations again. You trully inspire me.

  2. Reply dawid Mar 28,2011 3:57 pm

    Thanks! As to LCD and keyboard – I understand what you mean, we already discussed this when I mentioned building a video card. The point is I did not design the machine with a front panel in mind and I don’t have any debug input/output for it. I only have a power led which is definitely not enough for any kind debugging so I thought of LCD and keyboard as a temporary I/O subsystem. I will probably dump it when I have serial ports up and running. Of course, a front panel with rows of flashing LEDs would be a nice thing to have but I have no idea currently how to incorporate this concept into my design. I need to re-think this during my vacation.

  3. Reply Armando Acosta Mar 28,2011 8:52 pm

    Well, historically speaking, front panels were common to computers for a long while but they started to become simpler and smaller to finally disappear so by 1980s (when serious computing still been done in large main frames and minicomputers, not PCs) large front panels were pretty much out of use. The DEC VAX/11 is a good example: its front panel resembles that of modern equipment instead of the traditional entry-switches and one-per-bit lamps.

    By the way, your “QC Passed” puts a boost to my project… I’m making plans for resuming development very soon.

Leave a Reply




Time limit is exhausted. Please reload the CAPTCHA.