Now is the time to standardise on a file format for vCPU programs. Most hackers will start at the 16-bit programming level because it is easiest. Programs can be loaded into the system with the Loader application, without reprogramming the EPROM.
After some discussion with the emulator guys, we have agreed on a file format for both real boards and emulators: GT1 files. At67 quickly coded some demos in his vCPU assembler and produced GT1 files for them. These work in his great emulator. But his kit hasn’t arrived yet, so I tested it for him. See here “life3.gt1” and “lines.gt1” loaded on my development board with ROM v1.
It works! We have a standard for exchanging Gigatron programs!
Edit: Check out this video for what is brewing in emulator land. Sprites!
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.
Before refurbishing his cat house, the 8-Bit Guy made time to do an episode on our kit. Needless to say this we think this is his best episode ever 🙂 . Approaching 300,000 views so far, but 100 of these must be our own reloads. Thank you David and we’ll get you an updated Snake later that doesn’t require color vision.
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, as explained on the Tutorials page.
Edit: The Arduino in turn can interface with a keyboard. Here an example with a PS/2 keyboard, using a standard library to handle the protocol.
The Arduino is a bit of an overkill here. A simple ATtiny85 will do the job just as well.
Double good news today. The first good news is that we will be speaking about Gigatron at the upcoming Hackaday conference on May 26 in Belgrade. We’re super excited that our talk was accepted, and hopefully this event is a chance to meet with many of you. The second and even greater news is that our supplier has sorted out their delivery issue. We reported about that hiccup earlier this month. This means that now we’ve all parts in-house for a first batch of kits. Gigatron is ready to ship, and we’re open to take orders!
With ROM v1 done and arrival of the last kit parts confirmed for this week (yeah), now is the time for chores. The syntax I used for writing the apps has some rough ends. It was grown bottom-up, hand in hand with the GCL-to-vCPU compiler, while vCPU was still evolving. As I’ll need a new compiler for the Arduino interface anyway, why not fix what can be fixed? So now here is a formal EBNF definition of the updated notation, or call it a language if you wish.
There is a great online visualizer that turns these grammars into easy-to-understand railroad diagrams. I’ve always liked these since studying the “Pascal User Manual and Report” in my first year at college. A webpage with all diagrams sits here on HaD.
GCL will never look pretty, but it at least it isn’t Perl.
With great anticipation we received our last parts for the batch last week. Panic ensued when we discovered they were of the wrong type. Not a few, all of them… Did we place a wrong order? Frantic discussions with the supplier followed and yesterday it became clear: they messed up, apologised, and they are now sending us a new batch. We expect the total impact will be a two-week delay. Bummer, but at least we didn’t lose any money on a stupid mistake.
So please bear with us a little bit longer, soon you will be heating up your soldering iron!
After 360 commits my coding frenzy has reached a conclusion: ROM v1 is feature complete! The kit will ship not with one but two fast paced games: Snake and Racer. Sound improved and the serial loader is reliable, which is great for hacking and making more games. The fractal program now doubles as a clock, to give a valid excuse for keeping a unit on permanent display in the living room.
The unused ROM space is filled with three classic hires images from my previous projects. By packing 4 pixels in 3 bytes I got three images in where the ROM otherwise would only have space left for two.
This doesn’t mean the to do list is empty, far from that: “make todo” lists 90 ideas I apparently still have in mind. But after 6 months of breadboard prototyping, 3 months of PCB design and 4 months of software hacking, this is a good point to shift focus again. For example, towards demonstrations, tutorials and documentation. Keep you posted.
Lots has happened. Yesterday evening, the software has reached the alfa testing stage. You can find the source in Github. (You can use the visualizer that Martin Sedlák made to run it on your PC while you are waiting for your own Gigatron.)
The assembly videos are now available on YouTube. It is a series, in which I go through all the steps to build a Gigatron. These steps are also explained in detail in the assembly manual that comes with the kit.
At the Hacker Hotel conference, I talked about the Gigatron and people were excited about it! We are excited too, as we are reaching the point where we can actually sell a batch of Gigatron kits. If you want to be informed, subscribe to our mailing list.