Ready for Input
Fully assembled and powered on. The LED indicates that the INPUT register is being displayed, pressing the 8 buttons on the left will toggle the corresponding bits and LEDs. The four contol buttons provide for setting the address, reading/writing memory etc.
Once assembled and fully functional, I got back to programming, horay! The KENBAK-1 CPU defined several NO-OP op-codes, I took one of them, 360 (octal) as an escape to system extensions like providing a random number, delaying for a specified number of milliseconds and reading the real-time clock. I also wrote 8 predefined programs
0: Simple counter
1: Pattern
2: Counting Clock
3: BCD Clock
4: Binary Clock
5: Das Blinken Lights
6: Sieve of Eratosthenes
7: Set RTC
I wanted the Kenbakuino to serve a purpose, I wanted to be able to leave it running, showing the time. As a test I implemented the famous Sieve which calculates and displays the primes less than 255. I had forgotten how hard it is to write assembly language! Even harder without a real assember.
As well as the run-time extensions, available via the special 0360 NO-OP op-code, additional features are available via special button "chords" on the front panel. For example holding STOP and pressing Bit-N loads predefined program #N above. Holding Bit-N and pressing STOP sets the CPU speed to 2^Nms, etc.
Ready for Input
Fully assembled and powered on. The LED indicates that the INPUT register is being displayed, pressing the 8 buttons on the left will toggle the corresponding bits and LEDs. The four contol buttons provide for setting the address, reading/writing memory etc.
Once assembled and fully functional, I got back to programming, horay! The KENBAK-1 CPU defined several NO-OP op-codes, I took one of them, 360 (octal) as an escape to system extensions like providing a random number, delaying for a specified number of milliseconds and reading the real-time clock. I also wrote 8 predefined programs
0: Simple counter
1: Pattern
2: Counting Clock
3: BCD Clock
4: Binary Clock
5: Das Blinken Lights
6: Sieve of Eratosthenes
7: Set RTC
I wanted the Kenbakuino to serve a purpose, I wanted to be able to leave it running, showing the time. As a test I implemented the famous Sieve which calculates and displays the primes less than 255. I had forgotten how hard it is to write assembly language! Even harder without a real assember.
As well as the run-time extensions, available via the special 0360 NO-OP op-code, additional features are available via special button "chords" on the front panel. For example holding STOP and pressing Bit-N loads predefined program #N above. Holding Bit-N and pressing STOP sets the CPU speed to 2^Nms, etc.