mirror of
https://github.com/rharke/laser128romdumper.git
synced 2024-12-26 22:30:52 +00:00
Simplify, should be functionally identical
This commit is contained in:
parent
b77e1891cd
commit
84e7285d5e
18
README.md
18
README.md
@ -16,15 +16,16 @@ The only part of this I don't quite understand is that 16 bytes from slot 1 don'
|
||||
|
||||
## ROM layout
|
||||
|
||||
The first 16KB of the ROM (regardless of old vs. new) is just directly mapped to C000-FFFF ROM. INTCXROMON must be enabled to access Cxxx, of course. This is the same as the CF ROM of a Platinum IIe, or CD+EF ROMs concatenated from an earlier IIe.
|
||||
|
||||
The second 16KB of the ROM contains slot and option ROM for the built-in peripherals. The exact mapping varies between the two models.
|
||||
|
||||
### "Old" Laser 128
|
||||
|
||||
```
|
||||
0000 - 00FF = empty (reserved for soft switches)
|
||||
0100 - 07FF = C100-C7FF (INTCXROMON)
|
||||
0800 - 0FFF = C800-CFFF slot 1 option ROM (INTCXROMON)
|
||||
1000 - 1FFF = D000-DFFF ROM
|
||||
2000 - 2FFF = E000-EFFF ROM
|
||||
3000 - 3FFF = F000-FFFF ROM
|
||||
0100 - 0FFF = C100-CFFF (INTCXROMON)
|
||||
1000 - 3FFF = D000-FFFF ROM
|
||||
4000 - 40FF = empty (reserved for soft switches)
|
||||
4100 - 42FF = C100-C2FF (INTCXROMOFF, Parallel mode)
|
||||
4300 - 43FF = empty (no ROM for slot 3)
|
||||
@ -49,11 +50,8 @@ Slot 6 option ROM bank 2 is empty in ROM 2.9, but it might be populated on other
|
||||
|
||||
```
|
||||
0000 - 00FF = empty (reserved for soft switches)
|
||||
0100 - 07FF = C100-C7FF (INTCXROMON)
|
||||
0800 - 0FFF = C800-CFFF slot 1 option ROM (INTCXROMON)
|
||||
1000 - 1FFF = D000-DFFF ROM
|
||||
2000 - 2FFF = E000-EFFF ROM
|
||||
3000 - 3FFF = F000-FFFF ROM
|
||||
0100 - 0FFF = C100-CFFF (INTCXROMON)
|
||||
1000 - 3FFF = D000-FFFF ROM
|
||||
4000 - 40FF = empty (reserved for soft switches)
|
||||
4100 - 47FF = C100-C7FF (INTCXROMOFF, SLOTC3ROMON)
|
||||
4800 - 4FFF = C800-CFFF Slot 1 option ROM (INTCXROMOFF)
|
||||
|
@ -89,15 +89,8 @@ loop: sta base,y
|
||||
; $0000 - $1fff, common to old and new models
|
||||
com0: fillff $2000,0 ; $C000-C0FF empty (soft switches)
|
||||
sta INTCXROMON
|
||||
mv $2100,$c100,$c7ff ; $C100-C7FF from main ROM
|
||||
mv $2100,$c100,$cfff ; $C100-C7FF from main ROM
|
||||
sta INTCXROMOFF
|
||||
|
||||
lda $cfff
|
||||
lda $c100
|
||||
sta INTCXROMON
|
||||
mv $2800,$c800,$cfff ; slot 1 option ROM alternate
|
||||
sta INTCXROMOFF
|
||||
lda $cfff
|
||||
fillff $2ff8,8
|
||||
|
||||
mv $3000,$d000,$dfff ; D000-DFFF ROM
|
||||
@ -120,19 +113,16 @@ new4: fillff $2000,0 ; $C000-C0FF empty (soft switches)
|
||||
lda $cfff
|
||||
lda $c100
|
||||
mv $2800,$c800,$cfff ; slot 1 option ROM
|
||||
lda $cfff
|
||||
fillff $2ff8,8
|
||||
|
||||
lda $cfff
|
||||
lda $c500
|
||||
mv $3000,$c800,$cfff ; slot 5 option ROM
|
||||
lda $cfff
|
||||
fillff $37f8,8
|
||||
|
||||
lda $cfff
|
||||
lda $c200
|
||||
mv $3800,$c800,$cfff ; slot 2 option ROM
|
||||
lda $cfff
|
||||
fillff $3ff8,8
|
||||
|
||||
rts
|
||||
@ -166,7 +156,6 @@ new6: s7bank #$00
|
||||
lda $cfff
|
||||
lda $c600
|
||||
mv $3800,$c800,$cfff ; slot 6 option ROM
|
||||
lda $cfff
|
||||
fillff $3ff8,8
|
||||
|
||||
rts
|
||||
@ -183,7 +172,6 @@ old4: fillff $2000,0 ; $C000-C0FF empty (soft switches)
|
||||
lda $cfff
|
||||
lda $c100
|
||||
mv $2800,$c800,$cfff ; slot 1 option ROM
|
||||
lda $cfff
|
||||
fillff $2ff8,8
|
||||
|
||||
fillff $3000,0 ; empty
|
||||
@ -197,7 +185,6 @@ old4: fillff $2000,0 ; $C000-C0FF empty (soft switches)
|
||||
lda $cfff
|
||||
lda $c200
|
||||
mv $3800,$c800,$cfff ; slot 2 option ROM
|
||||
lda $cfff
|
||||
fillff $3ff8,8
|
||||
|
||||
rts
|
||||
@ -221,7 +208,6 @@ old6: fillff $2000,0 ; empty
|
||||
lda $c600
|
||||
lda $c100
|
||||
mv $2800,$c800,$cfff ; slot 6 option ROM bank 1
|
||||
lda $cfff
|
||||
fillff $2ff8,8
|
||||
|
||||
fillff $3000,0 ; empty
|
||||
@ -237,7 +223,6 @@ old6: fillff $2000,0 ; empty
|
||||
lda $c600
|
||||
lda $c200
|
||||
mv $3800,$c800,$cfff ; slot 6 option ROM bank 2
|
||||
lda $cfff
|
||||
fillff $3ff8,8
|
||||
|
||||
rts
|
||||
|
Loading…
Reference in New Issue
Block a user