174 lines
2.9 KiB
NASM
174 lines
2.9 KiB
NASM
MenuSubroutineLUT:
|
|
.dw MenuSubroutineVoid ;0
|
|
.dw MenuSubroutineJumpROM
|
|
; .dw MenuSubroutineLoadBattle
|
|
.dw MenuSubroutineJumpRAM
|
|
.dw MenuSubroutineAudioMenu
|
|
|
|
.dw MenuSubroutineWrite3000
|
|
.dw MenuSubroutinePlaySong ;5
|
|
.dw MenuSubroutineUploadSEPack
|
|
.dw MenuSubroutinePlaySE
|
|
.dw SpcStopSong
|
|
.dw SpcSetSongSpeed
|
|
.dw SpcSetSongChannelMask ;10
|
|
.dw SpcSetReportType
|
|
.dw MenuSubroutineChsum
|
|
.dw MenuSubroutineReturnMain
|
|
.dw MenuSubroutineTablistRecorder
|
|
.dw MenuSubroutineExecTablistRec ;15
|
|
.dw MenuSubroutinePlayTablist
|
|
.dw MenuSubroutineDelTablist
|
|
.dw MenuSubroutineLoadDebugmap
|
|
.dw MenuSubroutineLoadCredits
|
|
|
|
MenuSubroutineChsum:
|
|
sep #$20
|
|
phk
|
|
pla
|
|
sta.b TempBuffer+2 ;operating bank
|
|
|
|
rep #$31
|
|
stz.b TempBuffer
|
|
stz.w CartChecksum
|
|
|
|
|
|
ldy.w #0
|
|
WramChecksumLoop:
|
|
rep #$31
|
|
lda.b [TempBuffer],y
|
|
and.w #$ff
|
|
adc.w CartChecksum
|
|
sta.w CartChecksum
|
|
iny
|
|
bne WramChecksumLoop
|
|
|
|
ldy.w #$ffde
|
|
lda.b [TempBuffer],y
|
|
cmp.w CartChecksum
|
|
beq WramChecksumOK
|
|
|
|
ldx.w #17
|
|
jsr LoadTextString ;print $00:3000
|
|
rts
|
|
|
|
WramChecksumOK:
|
|
ldx.w #16
|
|
jsr LoadTextString ;print $00:3000
|
|
rts
|
|
|
|
MenuSubroutineJumpROM:
|
|
jml (MenuSubroutineJumpReturn+BaseAdress)
|
|
MenuSubroutineJumpRAM:
|
|
jml (MenuSubroutineJumpReturn+$7f0000)
|
|
|
|
MenuSubroutineJumpReturn:
|
|
rts
|
|
|
|
MenuSubroutineWrite3000:
|
|
sep #$20
|
|
lda.w Reg3000WriteVar
|
|
sta.l $3000
|
|
rts
|
|
|
|
MenuSubroutineExecTablistRec:
|
|
sep #$20
|
|
lda.b #2
|
|
sta.b BattleMusicState
|
|
rts
|
|
MenuSubroutinePlayTablist:
|
|
sep #$20
|
|
lda.b #4
|
|
sta.b BattleMusicState
|
|
rts
|
|
|
|
MenuSubroutineDelTablist:
|
|
sep #$20
|
|
stz.b BattleMusicState ;just init the whole tablist fsm
|
|
rts
|
|
|
|
MenuSubroutineStartStream:
|
|
lda.b SpcCurrentStreamSet
|
|
jsr SpcPlayStream
|
|
rts
|
|
MenuSubroutinePlaySong:
|
|
lda.b PtPlayerCurrentSong ;play song
|
|
jsr SpcPlaySong
|
|
rts
|
|
MenuSubroutineUploadSEPack:
|
|
sep #$20
|
|
lda.b PtPlayerCurrentSamplePack
|
|
jsr SpcIssueSamplePackUpload
|
|
rts
|
|
MenuSubroutinePlaySE:
|
|
sep #$20
|
|
lda.w SpcSEVolume
|
|
xba
|
|
lda.w SpcSEPitch
|
|
rep #$31
|
|
tax
|
|
sep #$20
|
|
lda.b PtPlayerCurrentSoundEffect
|
|
jsr SpcPlaySoundEffect
|
|
rts
|
|
|
|
|
|
|
|
MenuSubroutineVoid:
|
|
rts
|
|
|
|
MenuSubroutineReturnMain:
|
|
sep #$20
|
|
lda.b #0
|
|
sta.b CurrentEvent
|
|
rts
|
|
|
|
MenuSubroutineTablistRecorder:
|
|
sep #$20
|
|
lda.b #10
|
|
sta.b CurrentEvent
|
|
rts
|
|
|
|
MenuSubroutineInputMenu:
|
|
sep #$20
|
|
lda.b #8
|
|
sta.b CurrentEvent
|
|
rts
|
|
|
|
MenuSubroutineAudioMenu:
|
|
sep #$20
|
|
lda.b #2
|
|
sta.b CurrentEvent
|
|
rts
|
|
|
|
MenuSubroutineLoadLevel:
|
|
sep #$20
|
|
lda.b #4
|
|
sta.b CurrentEvent
|
|
rts
|
|
|
|
MenuSubroutineLoadBattle:
|
|
sep #$20
|
|
lda.b #2
|
|
sta.b CurrentEvent
|
|
rts
|
|
|
|
MenuSubroutineLoadIntro:
|
|
sep #$20
|
|
lda.b #28
|
|
sta.b CurrentEvent
|
|
rts
|
|
|
|
MenuSubroutineLoadDebugmap:
|
|
sep #$20
|
|
lda.b #37
|
|
sta.b CurrentEvent
|
|
rts
|
|
|
|
MenuSubroutineLoadCredits:
|
|
sep #$20
|
|
lda.b #36
|
|
sta.b CurrentEvent
|
|
; stz.b ScreenBrightness
|
|
rts
|
|
|