Versions 22 and 23 have been important for Snowdrop OS because they introduced an assembler and debugger.
In version 22 I have created Snowdrop OS's x86 assembler, because of three reasons. First, I wanted to have a low-level programming platform to complement Snowdrop's high-level BASIC interpreter. Second, I wanted to have faster access to hardware when interfacing with the circuits I've created. Third, I had never created an assembler before, so I was curious.
In version 23, I have created a debugger to accompany the assembler. It is a machine-level debugger with features including: breakpoints, memory watch, view listing.
The debugger is small in size, at around 10kb. The main reason behind this is that it relies on assembler-generated listing files to display source code. This means that it does not need its own decoder to translate bytes to assembler mnemonics.
To find out more, visit the Snowdrop OS pages