...
Code Block |
---|
Banks &00 - &3F are internal Slot 0 (lower half ROM, upper half RAM) Banks &40 - &7F are wired to Slot 1 (usually RAM for Expanded mode in old OZ) Banks &80 - &BF are wired to Slot 2 Banks &C0 - &FF are wired to Slot 3 (usually EPROM). |
RomCombiner includes patches to lift the 32KB card limitation for both Vision2 (full version) and Vision/L (reduced feature version). These amend the following bytes in the bank switching code:
Original byte | Patched to | Impact |
---|---|---|
C0 | FE | Slot 3, from first 1st bank to penultimate bank |
C1 | FF | Slot 3, from second 2nd bank to last bank |
80 | BE | Slot 2, from first 1st bank to penultimate bank |
81 | BF | Slot 2, from second 2nd bank to last bank |
Rather than masking out the top two bits of the bank address (which would make it Slot agnostic), Vision is limited to running in Slots 2 or 3 only, which makes sense considering that at that time you needed a RAM card in Slot 1 for an Expanded machine.
Returning to the memory map above, for our custom ROM will need one of these pairs of bytes patching to the Slot 0 addresses which the ROM will occupy: &0A and &0B, as seen below.
Downgrade ROM Manifest
Code Block | ||
---|---|---|
| ||
CFG.V3 ; OZ ROM for slot 0 and total of 16 banks to update. OZ.0,16 ; Bank file, CRC, destination bank in slot 0. "ozs0-400.32",$9de67a39,$00 "ozs0-400.33",$1d32d297,$01 "ozs0-400.34",$65ed5623,$02 "ozs0-400.35",$e2e022c6,$03 "ozs0-400.36",$8758704a,$04 "ozs0-400.37",$b860cf23,$05 "ozs0-400.38",$d3104e3f,$06 "ozs0-400.39",$5c5de229,$07 "flashst-197.40",$88ce8262,$08 "zip-xymodem.41",$83cf1ae5,$09 "vision2-206.42",$fd18a731,$0a "vision2-206.43",$71ee7ae3,$0b "file-area.44",$1ec9d2c1,$0c "file-area.45",$6666ce43,$0d "file-area.46",$420c789c,$0e "ozs0-400.63",$3d6adf54,$1f |
...