git @ Cat's Eye Technologies SITU-SOL / 0.1-2017.0502
Proofreading. Chris Pressey 5 years ago
1 changed file(s) with 7 addition(s) and 7 deletion(s). Raw diff Collapse all Expand all
3333
3434 * Address of the code to run for cold boot when the cartridge is
3535 plugged in — which will be our startup code at $8009.
36 * Address of the code to run for cold boot when the cartridge is
36 * Address of the code to run for warm boot when the cartridge is
3737 plugged in. I'll just use $FEBC, which I picked up somewhere along
3838 my travels as a "magic address" to assign to the warm-boot vector to
3939 disable RUN/STOP-RESTORE. In fact, if you look at the code at that
4646 it, and the description of the KERNAL routines in pages 274-306, it's apparent
4747 that it calls the KERNAL routines `IOINIT`, `RAMTAS`, and `CINT`. What's
4848 less apparent is that it also calls `RESTOR` before `CINT`. This took a
49 little testing (and a peek at a disassmbly of the KERNAL's `RESET` routine)
50 to figure out. It would have been nice if the Guide had just names the
49 little testing (and a peek at a disassembly of the KERNAL's `RESET` routine)
50 to figure out. It would have been nice if the Guide had just named the
5151 KERNAL routines involved. But oh well. Here's my chicken-scratches:
5252
5353 ![](images/chicken-scratches.jpg)
6565 ends in memory, effectively tricking it into saving $8000-$8FFF. Yes, OK,
6666 this is only a 4K cartridge image, but that should be fine for now. And
6767 there is a small caveat: when you save a memory image like this, the first
68 two bytes contain the load address. VICE seems to understand this, for
69 cartridge images, but other tools, such as an EPROM burner, might not,
70 because those two bytes would not be present on a real ROM itself.
68 two bytes contain the load address. VICE seems to understand this when you
69 attach a cartridge image, but other tools, such as an EPROM burner, might
70 not, because those two bytes would not be present on a real ROM itself.
7171
7272 But first, there's a wrinkle. When SITU-MON was written it was not given
7373 the ability to exit, so how do we even drop to BASIC?
8686 ![](images/creating-situ-mon-cartridge-image.png)
8787
8888 Then... in VICE, select "Attach raw 8K cartridge image..." and select the
89 file we just saved and voilá!
89 file we just saved and voilà!
9090
9191 ![](images/booted-from-situ-mon-cartridge-image.png)
9292