README.md @master — view markup · raw · history · blame
SITU-SOL is a programming environment for 6502-based computers that was written by hand during RetroChallenge 07/2015.
For more information, see the posts to the Bootstrap Zero blog, archived in this repo in doc/bootstrap-zero/README.md.
While SITU-SOL is quite generic, an emulated Commodore 64 was used to host it and test it during its development, so many of the instructions below are specific to the C64.
This repository contains the following supporting tools, written in Commodore BASIC 2.0:
binloader, the first version of the simulated bit-entering facility, used in the warm-up
frontpanel, the improved version of the front-panel simulator, used to enter SITU-MON. (This tool is also now known as SITU-PAN.)
BASIC sources for these are in
src; the tokenized PRG files are in
Note that these programs begin writing to memory at $8100, which is normally inside the memory range that BASIC will also use — thus you are in danger of BASIC overwriting what you enter with its own variable data. So, to safely run either of these programs, you should do something like this:
POKE 56,128:NEW LOAD "FRONTPANEL",8 RUN
situ-monis a PRG file containing a dump of what memory $8100-$81FF looked like just after SITU-MON was entered and fixed. You can run it from BASIC immediate mode like so:
LOAD "SITU-MON",8,1 SYS 33024
situ-solis a PRG file containing a dump of what memory $8100-$8520 looked like just after SITU-SOL was entered and fixed. It also includes SITU-MON — because SITU-SOL calls routines from it — and 256 bytes of almost-unused code between $8200 and $82FF.
It can be started from BASIC immediate mode like so:
LOAD "SITU-SOL",8,1 POKE 2304,0:SYS 33830
But! There is no symbal table. (The
POKE 2304,0is to stop SITU-SOL from mistakenly behaving as if there's a symbal table at that address, in case that byte isn't zero.) You may wish to load a symbal table first, but I haven't got one handy, yet.
This repository might, at some point, also contain text files containing disassembled machine code that was entered.