in order to get to know Gigatron better, I decided to try writing my own emulator for Mac OS X in Objective C using Apple's Cocoa Framework. Thanks to kervinck, it is now available in https://github.com/kervinck/gigatron-ro ... tron%20Mac
It's an early test version and certainly contains quite a lot of bugs. Still, it helped me with understanding GT1 files, the Gigatron Assembler (thanks a lot for it, at67! It's working great and more accessible to me than the GCL language) and the way Gigatron works in general.
The following features are already included and (more or less) working:
- VGA output
- Sound output
- Simulated controller, but there are still some bugs with sticking keys. Use the Mac cursor keys for left, right, up, down and the [right CMD] and [right ALT] key for button "A" and "B". Use the [left CMD] and [left ALT] key for "Select" and "Start".
- Switch between 32kB and 64kB
- Quick persisting of the current state and restore anytime ("Write State" and "Restore State")
- Basic debugging with CPU stepping, vCPU stepping, RAM watches, very basic disassembly of code in ROM and RAM
- Loading of GT1 files directly into RAM
- Watching of GT1 files so that they are reloaded automatically if they change on disk
- "RAM gadget" with a 256x256 pixel matrix with each pixel representing one byte of gigatron RAM. The value of each byte is represented in different colors.
As I wrote, there are quite some bugs, e.g. with debugging, disassembly and others. If you want to use the emulator, encounter some really annoying issues and are not able to fix them, please let me know and I'll look into them.
P.S.: Marcel and Walter, thank you so much for the amazing Gigatron project. I've enjoyed every second of learning how this thing works, of soldering mine together and now I'm looking forward to writing my own gigatron programs using my own emulator. It's really amazing what you can achieve with so little hardware!
Here's a screenshot of the current version of Gigatron Mac: