I don't want to say too much, it may never even see the light of day, but it is serving as a vehicle to refresh my coding mojo

But, I've been playing quite a bit of Factorio, Gunpoint, SpaceChem, TIS-100, Shenzhen I/O, Opus Magnum, Silicon Zeroes, Hacknet, Uplink... all of them make me think... but whilst they are all fantastic games, they kind of lack depth. Hacknet for example... once you've hacked one system, aside from the incremental difficulty which can be largely mitigated by upgraded in-game software, there's not much more to do... hack, move to next story point, hack, move to next story point. Silicon Zeroes... same, great game, but it only has a limited number of components for you to use and there is no sandbox, so it's get task, build solution, get task, build solution, with each one being harder than the last and don't get me wrong... some of the tasks are pretty evil.

As an example, I'm trying to build a solution for a 2 pipeline CPU design that has two registers... accumulator and backup... so you've got to build into the design the capability of handling things like this:- LDAC 2 SAVE 10. Which might translate to load accumulator with 2 (will be executed by pipeline 1) and save accumulator to memory location 10 (will be executed by pipeline 2). The components you have are number (a constant number), add, sub, multiply, equality, read memory, write memory, latch, registers, input selector, output selector, instruction decoder and instruction selector. What's available depends on the puzzle and you may or may not have to worry about tick limits (i.e. complete the execution of the program within a given number of clock ticks).

But essentially it's the same thing over and over and as stated, there is not sandbox so you can't just play with everything to try and make stuff because typically the puzzles have a limited selection of components.

So, with all that in mind, I'm trying to write the kind of game I want to play. If all goes to plan the action will take place in a simulated computer system complete with a BIOS and operating system. So presently I'm building the classes I need to simulate the hardware. At the same time, I need to write a cross assembler for my PC so I can write the OS for my simulated system and then set about writing some basic tools for the machine. The text rendering is part of the simulated video controller. 256 colour palette, standard ASCII character set (have PC, Atari ST and Atari 8 bit character sets) and character attributes that can specify blinking, character set and palette to use.

That's about as much as you're going to get out of me for now