-
Reviving the project
01/19/2020 at 18:26 • 1 commentOne year ago I made a commitment to finish this project in 4 months, one module per month (link). The first 3 months everything went alright, but the last module was very complex and blow up entirely the schedule.
Now I'm slowly coming back and putting this module on a PCB, this time without time contraints, just for fun.
-
Changing of plans
09/13/2019 at 18:40 • 0 commentsHi friends. For those of you still interested in this endless trap I've got into, some update on the situation:
This last module is by far the hardest. I tried first on breadboards, then universal PCBs, then breadboards again... Each of them with his own pains and suffering.
Now I'm changing the approach and doing it on custom designed PCB, as all the other modules. The reasoning is that the basic functionality is already proved on breadboards and for the others is very hard to deal with soooo many jumpers lying all around and that's driving me crazy.
So I will design a PCB that leave "room for error" on the untested parts, that is, the fundamental ICs connections will be left open and connected on the soldering phase.
I hope that works. Will be finalizing the design and ordering the PCB board soon.
Thanks for reading.
-
Project stalled...
08/15/2019 at 21:46 • 0 commentsNo progress at all last weeks... Work and family taking up all my time.
Hope it gets better soon.
Meanwhile a picture of my underused electronics desk:
Thanks for reading.
-
Running an entire program
06/27/2019 at 21:47 • 0 commentsI'm back again to the breadboard for this last module, as the work of soldering dozens of wires on the universal PCB was huge.
So I managed to make the PC and Memory module on a breadboard and run a simple program, with conditional and unconditional jumps:
The program loads the 32 value into A register and increments it until pass 255, then stops.
Thanks for reading.
-
Project status
06/05/2019 at 16:42 • 0 commentsAccording to the plan I made on December 2018, I'm already more than one month late.
Let's see what we have currently:
- Registers board built. Registers A and E working. Loading literals (e.g. LD A, 5). The other 6 registers are just a matter of insert on DIP sockets and reprogram the EEPROM to write code to test them. Lacks testing the copy from one register to another.
-ALU connected and working (at least the ADD instruction). Saving result to register fine.
-The Program Counter and Memory, which is the only module still on breadboard is being redone on a universal PCB. That's a more demanding work as it seems. Some 8 hours of soldering estimated. At my self imposed pace of 1 hour per day, it's very slow to see progress. After that I will need to put circuit to manage the conditional and unconditional jumps.
Write down these logs help me keep motivated as it's easier to see progress looking behind.
Thanks for reading.
-
JACA 2 emulator in JavaScript
05/02/2019 at 20:41 • 0 commentsMeanwhile I made a small emulator for the CPU in JavaScript using the awesome Stackblitz environment (not finished yet):
https://jaca-emulator.stackblitz.io
Not all opcodes implemented, but already run sample code preloaded.
Thanks for reading.
-
Registers board (finally) arrived
05/02/2019 at 20:24 • 1 commentAfter a long wait the PCBs are finally home and as I started soldering the IC's sockets I noted a mistake on the very first: the 74HCT238 is DIP 16 and on the board are DIP 20... The IC footprint are pre configured on the EasyEDA but I have the fault of not revising one by one...
Well, life goes on and no way to wait another 6 weeks and spend more US$ 40, so I will make a ugly workaround to solve this.
Thanks for reading.
-
Control Unit migrated to PCB
03/14/2019 at 00:44 • 0 commentsProject update:
- as the post's title implies, Control Unit is now living on a PCB, a life form hundreds of years ahead of the breadboards, but not without some pain... As always there was a mistake on the PCB desing, but this time it wasn't my fault: the EasyEDA software has a trick (or more apropriatelly, a bug) and it doesn't connect wires in a specific situation, like this:
After - Registers board was ordered today. As it is twice the size of the others (and three times the price) I took special caution to not make mistakes. I hope everything will be fine. Now the only thing to do is to wait, around 30 days for the board to arrive.
Thanks for reading.
-
Testing ALU
02/26/2019 at 00:40 • 0 commentsSome days ago I made a video of the ALU testing. I had some surprises with this module: the power wires were too thin, which, together with the cheap eBay ICs was causing a voltage drop; I made some mistakes when designing the PCB which I had to correct with very ugly wires.
PS. Today one more board arrived, soon we will have a new module working.
Thanks for reading.
-
ALU working. Damn cheap Ebay ICs
01/20/2019 at 19:08 • 8 commentsAfter two months stuck in this problem, I finally came to a solution: the fault was on cheap chinese ICs from ebay, which caused a huge drop of tension across the board, making VCC on some IC's to fall below 4 V. So, caution with Ebay components.
ALU working:
Lets stay focused to finish project within the schedule!
Thanks