mirror of https://github.com/a2-4am/4sports.git
auto-select MB slot for Black Belt
This commit is contained in:
parent
657cb6c9f1
commit
020fe79133
|
@ -189,6 +189,7 @@ EnableAccelerator = DisableAccelerator+3
|
||||||
; AND masks for MockingboardStuff
|
; AND masks for MockingboardStuff
|
||||||
MOCKINGBOARD_SLOT = %00001111
|
MOCKINGBOARD_SLOT = %00001111
|
||||||
HAS_SPEECH = %11000000
|
HAS_SPEECH = %11000000
|
||||||
|
MOCKINGBOARD_NEW = %00100000
|
||||||
|
|
||||||
; AND masks for game info bitfield (after game display name in gSearchStore)
|
; AND masks for game info bitfield (after game display name in gSearchStore)
|
||||||
HAS_DHGR_TITLE = %10000000 ; this one is hard-coded via BMI instead of AND/BNE
|
HAS_DHGR_TITLE = %10000000 ; this one is hard-coded via BMI instead of AND/BNE
|
||||||
|
|
|
@ -1 +1,3 @@
|
||||||
# This file is maintained by hand
|
# This file is maintained by hand
|
||||||
|
|
||||||
|
BLACK.BELT.MB=Type(06),AuxType(0200),Access(C3)
|
||||||
|
|
|
@ -7,49 +7,15 @@
|
||||||
|
|
||||||
!source "src/prelaunch/common.a"
|
!source "src/prelaunch/common.a"
|
||||||
|
|
||||||
+ENABLE_ACCEL
|
+READ_RAM2_WRITE_RAM2
|
||||||
lda #$4C
|
jsr EnableAccelerator
|
||||||
sta $85F
|
+LOAD_FILE_AT blackbelt_mb, $200
|
||||||
jsr $800 ; decompress
|
|
||||||
+DISABLE_ACCEL
|
|
||||||
jsr $8F00 ; title
|
|
||||||
+ENABLE_ACCEL
|
|
||||||
lda #$4C
|
|
||||||
sta $8A0
|
|
||||||
ldy #0
|
|
||||||
jsr $865 ; decompress
|
|
||||||
+READ_RAM2_NO_WRITE
|
|
||||||
lda MockingboardStuff
|
|
||||||
beq .nomock
|
|
||||||
pha
|
|
||||||
lda #$a9
|
|
||||||
sta $1506
|
|
||||||
jsr $BC0E ; decompress new Mockingboard support
|
|
||||||
pla
|
|
||||||
and #$20
|
|
||||||
bne .newmock
|
|
||||||
jsr $BC07 ; decompress old Mockingboard support
|
|
||||||
.newmock
|
|
||||||
|
|
||||||
.nomock
|
|
||||||
lda #$4C
|
|
||||||
sta $BC12
|
|
||||||
lda #<callback
|
|
||||||
sta $BC13
|
|
||||||
lda #>callback
|
|
||||||
sta $BC14
|
|
||||||
jsr DisableAccelerator
|
|
||||||
+READ_ROM_NO_WRITE
|
+READ_ROM_NO_WRITE
|
||||||
jmp $8A3
|
jmp $200
|
||||||
|
|
||||||
callback
|
blackbelt_mb
|
||||||
+ENABLE_ACCEL
|
!byte 23
|
||||||
lda #0
|
!text "PRELAUNCH/BLACK.BELT.MB"
|
||||||
sta $B6
|
|
||||||
jsr $BC16
|
|
||||||
+DISABLE_ACCEL
|
|
||||||
lda #0
|
|
||||||
rts
|
|
||||||
|
|
||||||
!if * > $1C0 {
|
!if * > $1C0 {
|
||||||
!error "code is too large, ends at ", *
|
!error "code is too large, ends at ", *
|
||||||
|
|
|
@ -0,0 +1,78 @@
|
||||||
|
;license:MIT
|
||||||
|
;(c) 2023 by qkumba
|
||||||
|
|
||||||
|
!cpu 6502
|
||||||
|
!to "build/PRELAUNCH/BLACK.BELT.MB",plain
|
||||||
|
*=$200
|
||||||
|
|
||||||
|
!source "src/constants.a" ; no code in these
|
||||||
|
!source "src/macros.a"
|
||||||
|
|
||||||
|
+ENABLE_ACCEL
|
||||||
|
lda #$4C
|
||||||
|
sta $85F
|
||||||
|
jsr $800 ; decompress
|
||||||
|
+DISABLE_ACCEL
|
||||||
|
jsr $8F00 ; title
|
||||||
|
+ENABLE_ACCEL
|
||||||
|
lda #$4C
|
||||||
|
sta $8A0
|
||||||
|
ldy #0
|
||||||
|
nop
|
||||||
|
nop
|
||||||
|
nop ; alignment for SMC
|
||||||
|
jsr $865 ; decompress
|
||||||
|
+READ_RAM2_NO_WRITE
|
||||||
|
lda MockingboardStuff
|
||||||
|
beq .nomock
|
||||||
|
pha
|
||||||
|
jsr $BC0E ; decompress new Mockingboard support
|
||||||
|
lda #0 ; SMC
|
||||||
|
pla
|
||||||
|
pha
|
||||||
|
and #MOCKINGBOARD_NEW
|
||||||
|
bne .newmock
|
||||||
|
jsr $BC07 ; decompress old Mockingboard support
|
||||||
|
.newmock
|
||||||
|
pla
|
||||||
|
and #7
|
||||||
|
ora #$C0
|
||||||
|
ldx #0
|
||||||
|
- ldy $15FB, x
|
||||||
|
cpy #$C4
|
||||||
|
bne +
|
||||||
|
sta $15FB, x
|
||||||
|
+ ldy $A000, x
|
||||||
|
cpy #$C4
|
||||||
|
bne +
|
||||||
|
sta $A000, x
|
||||||
|
+ ldy $A100, x
|
||||||
|
cpy #$C4
|
||||||
|
bne +
|
||||||
|
sta $A100, x
|
||||||
|
+ inx
|
||||||
|
bne -
|
||||||
|
|
||||||
|
.nomock
|
||||||
|
lda #$4C
|
||||||
|
sta $BC12
|
||||||
|
lda #<callback
|
||||||
|
sta $BC13
|
||||||
|
lda #>callback
|
||||||
|
sta $BC14
|
||||||
|
jsr DisableAccelerator
|
||||||
|
+READ_ROM_NO_WRITE
|
||||||
|
jmp $8A3
|
||||||
|
|
||||||
|
callback
|
||||||
|
+ENABLE_ACCEL
|
||||||
|
lda #0
|
||||||
|
sta $B6
|
||||||
|
jsr $BC16
|
||||||
|
+DISABLE_ACCEL
|
||||||
|
lda #0
|
||||||
|
rts
|
||||||
|
|
||||||
|
!if * > $2FF {
|
||||||
|
!error "code is too large, ends at ", *
|
||||||
|
}
|
|
@ -29,6 +29,7 @@ rem version 3.1.0 or later
|
||||||
set EXOMIZER=exomizer mem -q -P23 -lnone
|
set EXOMIZER=exomizer mem -q -P23 -lnone
|
||||||
|
|
||||||
if "%1" equ "dsk" (
|
if "%1" equ "dsk" (
|
||||||
|
call :clean
|
||||||
call :index
|
call :index
|
||||||
if "%2". equ "". (
|
if "%2". equ "". (
|
||||||
call :asmproboot
|
call :asmproboot
|
||||||
|
@ -73,6 +74,7 @@ if "%1" equ "clean" (
|
||||||
if "%2". neq "". (
|
if "%2". neq "". (
|
||||||
1>nul move build\%DISK%
|
1>nul move build\%DISK%
|
||||||
)
|
)
|
||||||
|
:clean
|
||||||
echo y|1>nul 2>nul rd build /s
|
echo y|1>nul 2>nul rd build /s
|
||||||
if "%2". neq "". (
|
if "%2". neq "". (
|
||||||
md build
|
md build
|
||||||
|
@ -314,8 +316,7 @@ goto :EOF
|
||||||
|
|
||||||
:asmlauncher
|
:asmlauncher
|
||||||
2>nul 1>build\buildnum.log %GIT% rev-list --count HEAD
|
2>nul 1>build\buildnum.log %GIT% rev-list --count HEAD
|
||||||
if errorlevel 1 (set _build=0
|
if errorlevel 1 (set _build=0) else for /f "tokens=*" %%q in (build\buildnum.log) do set _build=%%q
|
||||||
) else for /f "tokens=*" %%q in (build\buildnum.log) do set _build=%%q
|
|
||||||
2>build\relbase.log %ACME% -DBUILDNUMBER=%_build% src\4cade.a
|
2>build\relbase.log %ACME% -DBUILDNUMBER=%_build% src\4cade.a
|
||||||
for /f "tokens=*" %%q in (build\relbase.log) do set _make=%%q
|
for /f "tokens=*" %%q in (build\relbase.log) do set _make=%%q
|
||||||
%ACME% -DBUILDNUMBER=%_build% -DRELBASE=$!_make:~-5,4! -r build\4cade.lst src\4cade.a
|
%ACME% -DBUILDNUMBER=%_build% -DRELBASE=$!_make:~-5,4! -r build\4cade.lst src\4cade.a
|
||||||
|
|
Loading…
Reference in New Issue