-
Log0A
05/10/2016 at 07:51 • 0 commentsI finally uploaded the video of the CPU calculating and printing out prime numbers :)
It took me like an hour or so, to punch in the opcodes through the flipswitches! :D
I consider this project complete now and I already designed a slightly improved version, which i will build over the next few months (or years). I hope that i will be able to document it better, from the beginning on.
Here is the link to the (now still empty) project page:
https://hackaday.io/project/11644-samira-mk-ii -
Log 09 - Software
01/31/2016 at 14:59 • 0 commentsLast night I wrote a dirty little two-pass assembler and an emulator, which makes it a whole lot easier to write and test software for my machine!
The 'driver' software for my printer, that converts binary numbers to binary coded decimals (+ polling the busy-line of the interface + writing out the data) is working, the (very slow and crude) prime finding algorithm is done too!
It looks like everything is ready to go! Now all I need to do is to load the code into the machine through the binary interface, debug and run it - which will probably take me an afternoon! (code already takes up ~200bytes = 4/5 of the main memory)
My baby will finally proove its's usefulness :D I'll post another video once it works! (timelaps might be necessary hehe) -
Log08 - Video
01/19/2016 at 07:36 • 0 commentsIT'S ALIVE!! The zombified calculator-printer works! :)
Up next: proper software (binary to decimal conversion, fibonacci numbers, primes, ...) -
Log06
01/12/2016 at 11:11 • 0 commentsI started this project because I wanted to know, on the lowermost level, how a computer works. After I designed the machine in Logisim, I was not sure if it would work in hardware at all and had almost no experience with digital circuitry, so this is why I rushed into some things that I could have planned better.
What I learned from this project so far:
1)
It is easy to design a digital circuit on paper, harder in Logisim, fairly easy to build on breadboard but a nightmare to solder it to a circuit board.2)
As you can see, my first circuit board looks like sh*t :D
This is, because the usual soldering technique, where your wires are soldered on the bottom of the board but come out the top, is not suitable at all for this number of connections. It is extremley confusing to turn the board around all the time for making the connections. You easily loose your sense of orientation and end up making wrong connections. I hope I never ever encounter any serious hardware problems with this machine, I'd rather build a new one than try to debug this! And if I build another machine (which is likely) I will probably try wire-wrapping it.3)
Neither normal solid nor stranded wire is suitable for making connections. Solid wires are not flexible enough and take too much space, stranded wire easily breaks at the soldering points. I ended up using AWG30 wire wrapping wire. It is small in diameter, flexible and does not break so easily.4)
The momentary switches I used, are not suitably for this project. They bounce like mad and eventhough I added capacitors and even schmitt-triggers, they still do. I'll have to use other switches next time, test their bouncing behavior in advance, and design proper debouncing circuits as well.5)
I have to design a proper mechanical system in advance as well, to keep the circuit boards in place. I still don't know how to do this now. I don't have space left to drill holes into the boards and gluing them into the casing is ugly. Next time I will not connect the boards with wires directly, but plug them onto a main board whose purpose it is to interconnect the seperate boards and provide a mechanical connection.6)
I should have spent a little more time to pick the integrated circuits i used, the registers on the first board, as well as the RAM for example are unnecessarily big, if i only used edge-triggered circuits, i could have left out the DEC-step in my decoding sequence.
I'll update this if something else comes to my mind! -
Log05
01/10/2016 at 22:34 • 0 commentsYou can probably already guess what's going on here ;)
I found an old calculator that also has a small printer built in! So after quite a while of not touching this project, I finally have a good reason to work on it again! This printer is a perfectly suitably extension for my IO interface! I already took the calculator apart, now I am 'hacking' it, will wire it to some glue logic so i can hook it up to the interface and finally do something useful! Like calculating and printing out primes for example! I'll shoot another video when it's done :) -
Log04
07/23/2015 at 22:03 • 0 commentsWHY AM I SO LAZY?! Sorry. :D
The computer is almost finished for a while now, but i was to lazy to upload my progress!
I also still need to complete the casing, but from an electronic standpoint everything is done :)
Maybe i'll find some time in the next few days to finish up everything and upload the most recent pictures! -
Log03
11/30/2014 at 20:46 • 0 commentsSecond Stripboard almost complete! :) Transfering the circuit from breadboard to stripboard, wiring and soldering it takes an incredible amount of time. The new wiring/soldering techique slightly reduced that time, but it still took far longer than building the the CPU on breadboard! But im almost done now! All that is left to do is implement the STO instruction (3 control lines and 1 databus to connect) and IO operations, then add another multiplexer for reading out the accumulator through the front panel, connect the instruction status leds and pack everything into one case.
-
Log02
10/19/2014 at 13:11 • 0 commentsThe second board is finally taking shape! I'm using a new wiring technique as described here:
http://www.instructables.com/id/How-to-Prototype-Without-Using-Printed-Circuit-Boa/
TLDR-Version: I am using AWG30 wire for making point-to-point connections on the solder side.
You have to prepare the wire and also work very carefully (not to burn off the insulation of any nearby wires for example) but you are rewarded with a much higher circuit density that is actually less chaotic! Therefore the additional work is worth it! -
Log01
08/26/2014 at 10:50 • 0 commentsI just seperated the two parts of the CPU, the fully assembled and solderd, and the part still on breadboard. In the next few days i will solder the remaining parts on stripboard and soon the CPU might be finished and will be fitted into a case.
-
Log00
08/21/2014 at 11:41 • 0 commentsThe current status is as follows:
Design: 100%
Simulation: 100%
Front Panel: 90%, one switch not functional yet, status LEDs in the upper right not connected
Hardware: 80%, IO not done yet, 2/3 of the hardware solderd on stripboard, rest still on breadboard.
Soldering: 50%