mirror of
https://github.com/rharke/laser128romdumper.git
synced 2024-12-28 04:32:26 +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
|
## 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
|
### "Old" Laser 128
|
||||||
|
|
||||||
```
|
```
|
||||||
0000 - 00FF = empty (reserved for soft switches)
|
0000 - 00FF = empty (reserved for soft switches)
|
||||||
0100 - 07FF = C100-C7FF (INTCXROMON)
|
0100 - 0FFF = C100-CFFF (INTCXROMON)
|
||||||
0800 - 0FFF = C800-CFFF slot 1 option ROM (INTCXROMON)
|
1000 - 3FFF = D000-FFFF ROM
|
||||||
1000 - 1FFF = D000-DFFF ROM
|
|
||||||
2000 - 2FFF = E000-EFFF ROM
|
|
||||||
3000 - 3FFF = F000-FFFF ROM
|
|
||||||
4000 - 40FF = empty (reserved for soft switches)
|
4000 - 40FF = empty (reserved for soft switches)
|
||||||
4100 - 42FF = C100-C2FF (INTCXROMOFF, Parallel mode)
|
4100 - 42FF = C100-C2FF (INTCXROMOFF, Parallel mode)
|
||||||
4300 - 43FF = empty (no ROM for slot 3)
|
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)
|
0000 - 00FF = empty (reserved for soft switches)
|
||||||
0100 - 07FF = C100-C7FF (INTCXROMON)
|
0100 - 0FFF = C100-CFFF (INTCXROMON)
|
||||||
0800 - 0FFF = C800-CFFF slot 1 option ROM (INTCXROMON)
|
1000 - 3FFF = D000-FFFF ROM
|
||||||
1000 - 1FFF = D000-DFFF ROM
|
|
||||||
2000 - 2FFF = E000-EFFF ROM
|
|
||||||
3000 - 3FFF = F000-FFFF ROM
|
|
||||||
4000 - 40FF = empty (reserved for soft switches)
|
4000 - 40FF = empty (reserved for soft switches)
|
||||||
4100 - 47FF = C100-C7FF (INTCXROMOFF, SLOTC3ROMON)
|
4100 - 47FF = C100-C7FF (INTCXROMOFF, SLOTC3ROMON)
|
||||||
4800 - 4FFF = C800-CFFF Slot 1 option ROM (INTCXROMOFF)
|
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
|
; $0000 - $1fff, common to old and new models
|
||||||
com0: fillff $2000,0 ; $C000-C0FF empty (soft switches)
|
com0: fillff $2000,0 ; $C000-C0FF empty (soft switches)
|
||||||
sta INTCXROMON
|
sta INTCXROMON
|
||||||
mv $2100,$c100,$c7ff ; $C100-C7FF from main ROM
|
mv $2100,$c100,$cfff ; $C100-C7FF from main ROM
|
||||||
sta INTCXROMOFF
|
sta INTCXROMOFF
|
||||||
|
|
||||||
lda $cfff
|
|
||||||
lda $c100
|
|
||||||
sta INTCXROMON
|
|
||||||
mv $2800,$c800,$cfff ; slot 1 option ROM alternate
|
|
||||||
sta INTCXROMOFF
|
|
||||||
lda $cfff
|
|
||||||
fillff $2ff8,8
|
fillff $2ff8,8
|
||||||
|
|
||||||
mv $3000,$d000,$dfff ; D000-DFFF ROM
|
mv $3000,$d000,$dfff ; D000-DFFF ROM
|
||||||
@ -120,19 +113,16 @@ new4: fillff $2000,0 ; $C000-C0FF empty (soft switches)
|
|||||||
lda $cfff
|
lda $cfff
|
||||||
lda $c100
|
lda $c100
|
||||||
mv $2800,$c800,$cfff ; slot 1 option ROM
|
mv $2800,$c800,$cfff ; slot 1 option ROM
|
||||||
lda $cfff
|
|
||||||
fillff $2ff8,8
|
fillff $2ff8,8
|
||||||
|
|
||||||
lda $cfff
|
lda $cfff
|
||||||
lda $c500
|
lda $c500
|
||||||
mv $3000,$c800,$cfff ; slot 5 option ROM
|
mv $3000,$c800,$cfff ; slot 5 option ROM
|
||||||
lda $cfff
|
|
||||||
fillff $37f8,8
|
fillff $37f8,8
|
||||||
|
|
||||||
lda $cfff
|
lda $cfff
|
||||||
lda $c200
|
lda $c200
|
||||||
mv $3800,$c800,$cfff ; slot 2 option ROM
|
mv $3800,$c800,$cfff ; slot 2 option ROM
|
||||||
lda $cfff
|
|
||||||
fillff $3ff8,8
|
fillff $3ff8,8
|
||||||
|
|
||||||
rts
|
rts
|
||||||
@ -166,7 +156,6 @@ new6: s7bank #$00
|
|||||||
lda $cfff
|
lda $cfff
|
||||||
lda $c600
|
lda $c600
|
||||||
mv $3800,$c800,$cfff ; slot 6 option ROM
|
mv $3800,$c800,$cfff ; slot 6 option ROM
|
||||||
lda $cfff
|
|
||||||
fillff $3ff8,8
|
fillff $3ff8,8
|
||||||
|
|
||||||
rts
|
rts
|
||||||
@ -183,7 +172,6 @@ old4: fillff $2000,0 ; $C000-C0FF empty (soft switches)
|
|||||||
lda $cfff
|
lda $cfff
|
||||||
lda $c100
|
lda $c100
|
||||||
mv $2800,$c800,$cfff ; slot 1 option ROM
|
mv $2800,$c800,$cfff ; slot 1 option ROM
|
||||||
lda $cfff
|
|
||||||
fillff $2ff8,8
|
fillff $2ff8,8
|
||||||
|
|
||||||
fillff $3000,0 ; empty
|
fillff $3000,0 ; empty
|
||||||
@ -197,7 +185,6 @@ old4: fillff $2000,0 ; $C000-C0FF empty (soft switches)
|
|||||||
lda $cfff
|
lda $cfff
|
||||||
lda $c200
|
lda $c200
|
||||||
mv $3800,$c800,$cfff ; slot 2 option ROM
|
mv $3800,$c800,$cfff ; slot 2 option ROM
|
||||||
lda $cfff
|
|
||||||
fillff $3ff8,8
|
fillff $3ff8,8
|
||||||
|
|
||||||
rts
|
rts
|
||||||
@ -221,7 +208,6 @@ old6: fillff $2000,0 ; empty
|
|||||||
lda $c600
|
lda $c600
|
||||||
lda $c100
|
lda $c100
|
||||||
mv $2800,$c800,$cfff ; slot 6 option ROM bank 1
|
mv $2800,$c800,$cfff ; slot 6 option ROM bank 1
|
||||||
lda $cfff
|
|
||||||
fillff $2ff8,8
|
fillff $2ff8,8
|
||||||
|
|
||||||
fillff $3000,0 ; empty
|
fillff $3000,0 ; empty
|
||||||
@ -237,7 +223,6 @@ old6: fillff $2000,0 ; empty
|
|||||||
lda $c600
|
lda $c600
|
||||||
lda $c200
|
lda $c200
|
||||||
mv $3800,$c800,$cfff ; slot 6 option ROM bank 2
|
mv $3800,$c800,$cfff ; slot 6 option ROM bank 2
|
||||||
lda $cfff
|
|
||||||
fillff $3ff8,8
|
fillff $3ff8,8
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
Loading…
Reference in New Issue
Block a user