06/12/2018 at 20:05 •
I've ported the Apple-1 built-in monitor program: WozMon.gcl
The original is 254 bytes, my version is $254 bytes . About half of that is for terminal output (character printing). The Apple-1 had dedicated hardware for that... With this, all original Apple-1 firmware has been ported to the Gigatron :-)
Now you can inspect memory locations, write to them and execute code.
Tutorials for the original WozMon, such as this nice one, are applicable as I tried to deviate as little as possible from the original: the differences are essentially cosmetic or slightly improved usability. The Gigatron-specific differences are:
- Welcome message is "*** WozMon" instead of error prompt ('\')
- Can use lowercase as well as uppercase for hex letters
- Delete shows effect on screen, no need for '_' (RUBOUT)
- Always print address at start of line in block examine mode
- Input buffer has the same size as screen width
- Executed code can go back to monitor with RET instruction ($ff)
- Faster screen update, and cursor symbol instead of '@'
- A bit more careful with empty lines
06/07/2018 at 21:59 •
There are several methods brewing for hooking up a keyboard. The one most in line with the system is WattSekunde's four chip design for a matrix keyboard interface. But such keyboards might be hard to find, while PS/2 keyboards are still easy to get. But their protocol is convoluted and it is unclear how to handle that with a few simple logic chips. So... we cheat!
PS/2 is simply too modern, and we need a time machine to translate its fast and complex signals to the simple signals that the Gigatron will understand. The ATtiny85 will be our Babel fish.
To get some idea: the ATtiny85 must be configured to run at 8 MHz to do its magic. 1 MHz won't be good enough to catch and transfer simple key strokes. Here is the system in action:
05/26/2018 at 15:53 •
Proud to present at the Belgrade conference today. I uploaded my slides here.
05/10/2018 at 14:32 •
Using an Arduino Uno to handle the PS/2 protocol. Computer is still running stock ROM v1. The Arduino is abusing the Loader application to inject a Terminal application. To reduce cable clutter, the computer is now also supplying power to both peripherals.
05/05/2018 at 15:18 •
05/05/2018 at 00:00 •
Dave's third Gigatron-featured video in a row. This time he is trying to slaughter it, but the Gigatron doesn't cave in. Go Gigatron Go! \o/
05/01/2018 at 12:22 •
Woke up this morning and wondered where those new kit orders suddenly came from. It turned out that right at that moment Dave Jones @EEVblog was building a board in a Youtube live stream with many hundreds of viewers looking on. I caught the last half hour or so. I couldn't stand the suspense when he was searching for a cable. He didn't use the manual, skipped all tests, still it worked 1st time. "This is disappointing, there is nothing to troubleshoot!". Greatest compliment ever! THANK YOU
Edit: the live soldering turned out to be a prelude to more to come. The Gigatron is now honoured with an official EEVblog episode! We’re truly and utterly flattered.
05/01/2018 at 00:31 •
The real progress is that this was loaded as a precompiled *.gt1 file. Gt1 is the newly defined object file format for vCPU programs. The code running, life3.gt1 was created by at67 on the other side of the world using his own assembler and tested in an emulator. This is my test to see if the file can be loaded and executed on actual hardware, and it works! So we now have a standard for exchanging Gigatron programs!
04/22/2018 at 16:53 •
The video shows how an Arduino can be hooked up and pretend to be an ASCII keyboard. No EPROM change is needed. After powering the Arduino, it takes over control by resetting the Gigatron, navigating the menu and starting Loader. It fakes game controller signals to do that. Then it pushes a tiny precompiled Terminal program into the RAM. From there on, it sends simple ASCII codes which the board dutifully displays. This is step 1 towards interacting with the system for direct hacking.
The source code for the sketch is in GitHub. Hookup is with 4 male-to-female jumper wires.
P.S: At the third test in the video the stream stops because the power bank that drives the Arduino was already empty :-)
03/31/2018 at 09:28 •
It is amazing to start getting almost daily reports back from all over the world of new Gigatrons seeing the light of day. This project started one year ago here on HaD with no more than a bunch of empty breadboards and some chips. Without any clue if the crazy minimalistic concept would be viable, and no clue on how the ALU or control unit were going to work. Thanks for your pictures and please keep sending them in!
For reference I took this breadboard photo on March 31, 2017. It accurately portrays the project status of exactly one year ago today: