I’ve just released RC1 of my virtual, retro, home-brew computer system, written entirely within Godot with GDScript.
This is a major update and huge milestone with a now feature complete assembly language instruction set, extra debugging tools, a new optimised graphics engine, heaps of example programs and a detailed systems manual.
You can also find my ‘Simple Sound Manager’, ‘Simple XML tools’ and more on my GitHub.
I’ve just uploaded release candidate 2, with a huge amount of changes, fixes and a new a memory bit-mask system which allows the engine to identify code or variable space overruns. There is also a link to a short ASMR video of some coding.
I hope to add more such videos in this simple format soon.
Wow! This is so cool! Serious respect for the amount of time and effort you put in, especially with the detailed system manual and everything. How much did you know about the underpinnings of computer science going into the project?
Thanks for the feedback, always great to receive. I’ve written a number of assembly language simulators in the past, but this is the first time I’ve attempted creating a complete retro system with all the supporting subsystems. I’m working on RC4 now and only have a few more, albeit what might be the most, complex systems to get working, before release. A vector as well as a bitmap based sprite systems, clickable mouse regions, GUI type tools and possibly 16:9 letter box mode.
I had a fair amount of experience with this before going in. My first IT position was writing assembly language compilers, and since then I’ve mostly worked as a core assembly language and OS boot strap coder.
This system was primarily designed for UNI students to have a safe place to play with assembly, whilst still having to work around the memory and performance restrictions of a retro machine, experience sorely missing in the modern day.
But now I’m considering using it, or portions of it, to write my own retro inspired vector based exploration game.
As for the systems manual, I’m quite proud of it, yes it is very detailed, and feature complete to the current version. The biggest tip I could give anyone starting in on a project is to write the system’s manual as you write the program. So much easier to add the small changes each day than having to wait to the end then tackle the overwhelming task of writing a systems manual. I guarantee you’ll miss something.