fix RAM detection code and SCB text colorizer

This commit is contained in:
Dagen Brock 2018-10-30 13:08:08 -05:00
parent 178e17b1bf
commit dba1ce9a42
3 changed files with 38 additions and 28 deletions

2
brun
View File

@ -6,4 +6,4 @@ if [ $? -ne 0 ]; then
exit 1
fi
./gsport
./gsplus

View File

@ -61,40 +61,51 @@ MiniWait nop
mx %11
ColorizeMenu
lda #6
ldx #$A0 ; green
ldx #$A0 ; lt gray
jsr WaitScanline
lda #7
ldx #$c0 ; green
ldx #$A0 ; lt gray
jsr WaitScanline
lda #8
ldx #$C0 ; green
jsr WaitScanline
lda #9
ldx #$d0 ; yello
ldx #$C0 ; green
jsr WaitScanline
lda #10
ldx #$90 ; orange
ldx #$C0 ; green
jsr WaitScanline
lda #11
ldx #$10 ; red
ldx #$d0 ; yello
jsr WaitScanline
lda #12
ldx #$90 ; orange
jsr WaitScanline
lda #13
ldx #$10 ; red
jsr WaitScanline
lda #14
ldx #$30 ; purple
jsr WaitScanline
lda #13
lda #15
ldx #$70 ; bblue
jsr WaitScanline
lda #15
lda #16
ldx #$50 ; grey
jsr WaitScanline
lda #16
lda #17
ldx #$f0 ; white
jsr WaitScanline
rts
@ -103,9 +114,9 @@ ColorizeMenu
WaitScanline ;jmp WaitSCB
sta :val+1
:waitloop lda $c02f
:waitloop ldal $e0c02f
asl
lda $c02e
ldal $e0c02e
rol
:val cmp #$00
bne :waitloop

View File

@ -1786,7 +1786,6 @@ DetectRam
lda #BankROMUsed
sta BankMap+$FE ;bank FE
sta BankMap+$FF ;bank FF
lda GSROM
cmp #3 ;check for ROM3 IIgs
bne :rom0or1
@ -1799,15 +1798,15 @@ DetectRam
lda #BankROMUsed ;ROM 3 is 256KB, so 4 banks (2 additional)
sta BankMap+$FC ;
sta BankMap+$FD ;
ldx #$10 ;ROM3 starts scan at bank 10
ldx #$FB ;ROM3 starts scan at bank FC
txy
bra :writeloop
:rom0or1 ;no additional mappings
lda #$FE ;ROM1 end bank FE
sta :endbankscan+1 ;but change our max scan bank
sta :endbankscan2+1 ;but change our max scan bank
ldx #$02 ;ROM0/1 starts scan at bank 02
lda #$02 ;ROM1 end bank FE
sta :endbankscan+1 ;but change our min scan bank
sta :endbankscan2+1 ;but change our min scan bank
ldx #$FE ;ROM0/1 starts scan at bank FE
txy
@ -1816,12 +1815,12 @@ DetectRam
eor #$FF ;INVERT
:writer stal $000000 ;should overwrite first byte
inx
cpx #$E0
dex
cpx #$EF
bne :endbankscan
ldx #$F0 ;skip to bank F0 (skip banks E0-EF)
:endbankscan cpx #$FC ;ROM3 end bank (default)
bcc :writeloop ;blt
ldx #$DF ;skip to bank DF (skip banks E0-EF)
:endbankscan cpx #$10 ;ROM3 end bank (default)
bcs :writeloop ;blt
tyx ;restore start bank
@ -1835,13 +1834,13 @@ DetectRam
inc BankExpansionRam ;TotalMB++
lda #BankRAMFastExpansion ;store mapping
sta BankMap,x
:continue inx
cpx #$E0
:continue dex
cpx #$EF
bne :endbankscan2
ldx #$F0 ;skip to bank F0 (skip banks E0-EF)
ldx #$DF ;skip to bank F0 (skip banks E0-EF)
:endbankscan2 cpx #$FC ;ROM3 end bank (default)
bcc :detectloopread ;blt
:endbankscan2 cpx #$10 ;ROM3 end bank (default)
bcs :detectloopread ;blt