mirror of https://github.com/pret/pokecrystal.git
2113 lines
27 KiB
NASM
2113 lines
27 KiB
NASM
|
_SlotMachine:
|
||
|
ld hl, Options
|
||
|
set 4, [hl]
|
||
|
call Function926f7
|
||
|
call DelayFrame
|
||
|
.asm_926d2
|
||
|
call Function927af
|
||
|
jr nc, .asm_926d2
|
||
|
call WaitSFX
|
||
|
ld de, SFX_QUIT_SLOTS
|
||
|
call PlaySFX
|
||
|
call WaitSFX
|
||
|
call ClearBGPalettes
|
||
|
callba MobileFn_105fd0
|
||
|
ld hl, Options
|
||
|
res 4, [hl]
|
||
|
ld hl, rLCDC ; $ff40
|
||
|
res 2, [hl]
|
||
|
ret
|
||
|
|
||
|
Function926f7: ; 926f7 (24:66f7)
|
||
|
call ClearBGPalettes
|
||
|
call ClearTileMap
|
||
|
call ClearSprites
|
||
|
ld de, MUSIC_NONE
|
||
|
call PlayMusic
|
||
|
call DelayFrame
|
||
|
call DisableLCD
|
||
|
ld hl, VBGMap0 tile $00
|
||
|
lb bc, 4, 0
|
||
|
ld a, $7f
|
||
|
call ByteFill
|
||
|
ld b, $5
|
||
|
call GetSGBLayout
|
||
|
callab Function8cf53
|
||
|
ld hl, wc6d0
|
||
|
ld bc, $48
|
||
|
xor a
|
||
|
call ByteFill
|
||
|
ld hl, Slots2LZ
|
||
|
ld de, VTiles0 tile $00
|
||
|
call Decompress
|
||
|
ld hl, Slots3LZ
|
||
|
ld de, VTiles0 tile $40
|
||
|
call Decompress
|
||
|
ld hl, Slots1LZ
|
||
|
ld de, VTiles2 tile $00
|
||
|
call Decompress
|
||
|
ld hl, Slots2LZ
|
||
|
ld de, VTiles2 tile $25
|
||
|
call Decompress
|
||
|
ld hl, SlotsTilemap
|
||
|
decoord 0, 0
|
||
|
ld bc, 20 * 12
|
||
|
call CopyBytes
|
||
|
ld hl, rLCDC ; $ff40
|
||
|
set 2, [hl]
|
||
|
call EnableLCD
|
||
|
ld hl, wc6d0
|
||
|
ld bc, $64
|
||
|
xor a
|
||
|
call ByteFill
|
||
|
call Function92a98
|
||
|
call Function9279b
|
||
|
ld a, $7
|
||
|
ld hl, wc300
|
||
|
ld [hli], a
|
||
|
ld [hl], $40
|
||
|
xor a
|
||
|
ld [wJumptableIndex], a
|
||
|
ld a, $ff
|
||
|
ld [wc709], a
|
||
|
ld de, MUSIC_GAME_CORNER
|
||
|
call PlayMusic
|
||
|
xor a
|
||
|
ld [wd002], a
|
||
|
call Random
|
||
|
and $2a
|
||
|
ret nz
|
||
|
ld a, $1
|
||
|
ld [wd002], a
|
||
|
ret
|
||
|
|
||
|
Function9279b: ; 9279b (24:679b)
|
||
|
ld a, $e4
|
||
|
call DmgToCgbBGPals
|
||
|
lb de, $e4, $e4
|
||
|
ld a, [hCGB]
|
||
|
and a
|
||
|
jr nz, .asm_927ab
|
||
|
lb de, $c0, $e4
|
||
|
.asm_927ab
|
||
|
call DmgToCgbObjPals
|
||
|
ret
|
||
|
|
||
|
Function927af: ; 927af (24:67af)
|
||
|
ld a, [wJumptableIndex]
|
||
|
bit 7, a
|
||
|
jr nz, .asm_927d1
|
||
|
call Function92844
|
||
|
call Function92b0f
|
||
|
xor a
|
||
|
ld [wc3b5], a
|
||
|
callab Function8cfa8
|
||
|
call Function927f8
|
||
|
call Function927d3
|
||
|
call DelayFrame
|
||
|
and a
|
||
|
ret
|
||
|
.asm_927d1
|
||
|
scf
|
||
|
ret
|
||
|
|
||
|
Function927d3: ; 927d3 (24:67d3)
|
||
|
ret
|
||
|
; 927d4 (24:67d4)
|
||
|
|
||
|
Function927d4: ; 927d4
|
||
|
ld a, [wc6d0]
|
||
|
and a
|
||
|
ret nz
|
||
|
ld a, [wc6e0]
|
||
|
and a
|
||
|
ret nz
|
||
|
ld a, [wc70c]
|
||
|
and a
|
||
|
jr nz, .asm_927ea
|
||
|
ld a, $e4
|
||
|
call DmgToCgbBGPals
|
||
|
ret
|
||
|
|
||
|
.asm_927ea
|
||
|
ld a, [TextDelayFrames]
|
||
|
and $7
|
||
|
ret nz
|
||
|
ld a, [rBGP]
|
||
|
xor %1100
|
||
|
call DmgToCgbBGPals
|
||
|
ret
|
||
|
; 927f8
|
||
|
|
||
|
Function927f8: ; 927f8 (24:67f8)
|
||
|
hlcoord 5, 1
|
||
|
ld de, Coins
|
||
|
lb bc, PRINTNUM_LEADINGZEROS | 2, 4
|
||
|
call PrintNum
|
||
|
hlcoord 11, 1
|
||
|
ld de, wc711
|
||
|
lb bc, PRINTNUM_LEADINGZEROS | 2, 4
|
||
|
call PrintNum
|
||
|
ret
|
||
|
; 92811 (24:6811)
|
||
|
|
||
|
Function92811: ; 92811
|
||
|
ld a, [wc709]
|
||
|
add 0
|
||
|
daa
|
||
|
ld e, a
|
||
|
and $f
|
||
|
add "0"
|
||
|
hlcoord 1, 0
|
||
|
ld [hl], a
|
||
|
ld a, e
|
||
|
swap a
|
||
|
and $f
|
||
|
add "0"
|
||
|
hlcoord 0, 0
|
||
|
ld [hl], a
|
||
|
ret
|
||
|
; 9282c
|
||
|
|
||
|
Function9282c: ; 9282c
|
||
|
ld hl, wcf66
|
||
|
ld a, [hl]
|
||
|
inc [hl]
|
||
|
and $7
|
||
|
ret nz
|
||
|
ld hl, Sprites + $42
|
||
|
ld c, $18
|
||
|
.asm_92839
|
||
|
ld a, [hl]
|
||
|
xor $20
|
||
|
ld [hli], a
|
||
|
rept 3
|
||
|
inc hl
|
||
|
endr
|
||
|
dec c
|
||
|
jr nz, .asm_92839
|
||
|
ret
|
||
|
; 92844
|
||
|
|
||
|
Function92844: ; 92844 (24:6844)
|
||
|
ld a, [wJumptableIndex]
|
||
|
ld e, a
|
||
|
ld d, 0
|
||
|
ld hl, Jumptable_92853
|
||
|
rept 2
|
||
|
add hl, de
|
||
|
endr
|
||
|
ld a, [hli]
|
||
|
ld h, [hl]
|
||
|
ld l, a
|
||
|
jp [hl]
|
||
|
; 92853 (24:6853)
|
||
|
|
||
|
|
||
|
Jumptable_92853: ; 92853 (24:6853)
|
||
|
dw Function9287e
|
||
|
dw Function9288e
|
||
|
dw Function928c6
|
||
|
dw Function928d6
|
||
|
dw Function928e6
|
||
|
dw Function92900
|
||
|
dw Function92910
|
||
|
dw Function9292a
|
||
|
dw Function9293a
|
||
|
dw Function92879
|
||
|
dw Function92879
|
||
|
dw Function92879
|
||
|
dw Function92955
|
||
|
dw Function9296b
|
||
|
dw Function92987
|
||
|
dw Function9299e
|
||
|
dw Function929a4
|
||
|
dw Function929d9
|
||
|
dw Function929f0
|
||
|
|
||
|
|
||
|
Function92879: ; 92879 (24:6879)
|
||
|
ld hl, wJumptableIndex
|
||
|
inc [hl]
|
||
|
ret
|
||
|
|
||
|
Function9287e: ; 9287e (24:687e)
|
||
|
call Function92879
|
||
|
xor a
|
||
|
ld [wc70b], a
|
||
|
ld [wc70c], a
|
||
|
ld a, $ff
|
||
|
ld [wc70d], a
|
||
|
ret
|
||
|
|
||
|
Function9288e: ; 9288e (24:688e)
|
||
|
call Function9307c
|
||
|
jr nc, .asm_92899
|
||
|
ld a, $12
|
||
|
ld [wJumptableIndex], a
|
||
|
ret
|
||
|
.asm_92899
|
||
|
call Function92879
|
||
|
call Function9303f
|
||
|
call Function93002
|
||
|
ld a, $20
|
||
|
ld [wcf64], a
|
||
|
ld a, $4
|
||
|
ld [wc6d0], a
|
||
|
ld [wc6e0], a
|
||
|
ld [wc6f0], a
|
||
|
ld a, $4
|
||
|
ld [wc6d9], a
|
||
|
ld [wc6e9], a
|
||
|
ld [wc6f9], a
|
||
|
call WaitSFX
|
||
|
ld a, SFX_SLOT_MACHINE_START
|
||
|
call Function9331e
|
||
|
ret
|
||
|
|
||
|
Function928c6: ; 928c6 (24:68c6)
|
||
|
ld hl, wcf64
|
||
|
ld a, [hl]
|
||
|
and a
|
||
|
jr z, .asm_928cf
|
||
|
dec [hl]
|
||
|
ret
|
||
|
.asm_928cf
|
||
|
call Function92879
|
||
|
xor a
|
||
|
ld [hJoypadSum], a
|
||
|
ret
|
||
|
|
||
|
Function928d6: ; 928d6 (24:68d6)
|
||
|
ld hl, hJoypadSum ; $ffa5
|
||
|
ld a, [hl]
|
||
|
and A_BUTTON
|
||
|
ret z
|
||
|
call Function92879
|
||
|
call Function92a2b
|
||
|
ld [wc6d0], a
|
||
|
|
||
|
Function928e6: ; 928e6 (24:68e6)
|
||
|
ld a, [wc6d0]
|
||
|
cp $0
|
||
|
ret nz
|
||
|
ld a, SFX_STOP_SLOT
|
||
|
call Function9331e
|
||
|
ld bc, wc6d0
|
||
|
ld de, wc700
|
||
|
call Function929f6
|
||
|
call Function92879
|
||
|
xor a
|
||
|
ld [hJoypadSum], a
|
||
|
|
||
|
Function92900: ; 92900 (24:6900)
|
||
|
ld hl, hJoypadSum ; $ffa5
|
||
|
ld a, [hl]
|
||
|
and A_BUTTON
|
||
|
ret z
|
||
|
call Function92879
|
||
|
call Function92a2e
|
||
|
ld [wc6e0], a
|
||
|
|
||
|
Function92910: ; 92910 (24:6910)
|
||
|
ld a, [wc6e0]
|
||
|
cp $0
|
||
|
ret nz
|
||
|
ld a, SFX_STOP_SLOT
|
||
|
call Function9331e
|
||
|
ld bc, wc6e0
|
||
|
ld de, wc703
|
||
|
call Function929f6
|
||
|
call Function92879
|
||
|
xor a
|
||
|
ld [hJoypadSum], a
|
||
|
|
||
|
Function9292a: ; 9292a (24:692a)
|
||
|
ld hl, hJoypadSum ; $ffa5
|
||
|
ld a, [hl]
|
||
|
and A_BUTTON
|
||
|
ret z
|
||
|
call Function92879
|
||
|
call Function92a60
|
||
|
ld [wc6f0], a
|
||
|
|
||
|
Function9293a: ; 9293a (24:693a)
|
||
|
ld a, [wc6f0]
|
||
|
cp $0
|
||
|
ret nz
|
||
|
ld a, SFX_STOP_SLOT
|
||
|
call Function9331e
|
||
|
ld bc, wc6f0
|
||
|
ld de, wc706
|
||
|
call Function929f6
|
||
|
call Function92879
|
||
|
xor a
|
||
|
ld [hJoypadSum], a
|
||
|
ret
|
||
|
|
||
|
Function92955: ; 92955 (24:6955)
|
||
|
ld a, [wc70d]
|
||
|
cp $ff
|
||
|
jr nz, .asm_92963
|
||
|
call Function92879
|
||
|
call Function92879
|
||
|
ret
|
||
|
.asm_92963
|
||
|
call Function92879
|
||
|
ld a, $10
|
||
|
ld [wcf64], a
|
||
|
|
||
|
Function9296b: ; 9296b (24:696b)
|
||
|
ld hl, wcf64
|
||
|
ld a, [hl]
|
||
|
and a
|
||
|
jr z, .asm_92980
|
||
|
dec [hl]
|
||
|
srl a
|
||
|
ret z
|
||
|
ld a, [rOBP0]
|
||
|
xor $ff
|
||
|
ld e, a
|
||
|
ld d, a
|
||
|
call DmgToCgbObjPals
|
||
|
ret
|
||
|
.asm_92980
|
||
|
call Function9279b
|
||
|
call Function92879
|
||
|
ret
|
||
|
|
||
|
Function92987: ; 92987 (24:6987)
|
||
|
xor a
|
||
|
ld [wc70b], a
|
||
|
ld [wc70c], a
|
||
|
ld a, $e4
|
||
|
call DmgToCgbBGPals
|
||
|
call Function93124
|
||
|
xor a
|
||
|
ld [wcf64], a
|
||
|
call Function92879
|
||
|
ret
|
||
|
|
||
|
Function9299e: ; 9299e (24:699e)
|
||
|
call Function93158
|
||
|
call Function92879
|
||
|
|
||
|
Function929a4: ; 929a4 (24:69a4)
|
||
|
ld hl, wcf64
|
||
|
ld a, [hl]
|
||
|
inc [hl]
|
||
|
and $1
|
||
|
ret z
|
||
|
ld hl, wc711
|
||
|
ld a, [hli]
|
||
|
ld d, a
|
||
|
or [hl]
|
||
|
jr z, .asm_929d5
|
||
|
ld e, [hl]
|
||
|
dec de
|
||
|
ld [hl], e
|
||
|
dec hl
|
||
|
ld [hl], d
|
||
|
ld hl, Coins
|
||
|
ld d, [hl]
|
||
|
inc hl
|
||
|
ld e, [hl]
|
||
|
call Function92a04
|
||
|
jr c, .asm_929c5
|
||
|
inc de
|
||
|
.asm_929c5
|
||
|
ld [hl], e
|
||
|
dec hl
|
||
|
ld [hl], d
|
||
|
ld a, [wcf64]
|
||
|
and $7
|
||
|
ret z
|
||
|
ld de, SFX_GET_COIN_FROM_SLOTS
|
||
|
call PlaySFX
|
||
|
ret
|
||
|
.asm_929d5
|
||
|
call Function92879
|
||
|
ret
|
||
|
|
||
|
Function929d9: ; 929d9 (24:69d9)
|
||
|
call Function9304c
|
||
|
call WaitPressAorB_BlinkCursor
|
||
|
call Function930e9
|
||
|
jr c, .asm_929ea
|
||
|
ld a, $0
|
||
|
ld [wJumptableIndex], a
|
||
|
ret
|
||
|
.asm_929ea
|
||
|
ld a, $12
|
||
|
ld [wJumptableIndex], a
|
||
|
ret
|
||
|
|
||
|
Function929f0: ; 929f0 (24:69f0)
|
||
|
ld hl, wJumptableIndex
|
||
|
set 7, [hl]
|
||
|
ret
|
||
|
|
||
|
Function929f6: ; 929f6 (24:69f6)
|
||
|
push de
|
||
|
call Function92a12
|
||
|
pop de
|
||
|
ld a, [hli]
|
||
|
ld [de], a
|
||
|
inc de
|
||
|
ld a, [hli]
|
||
|
ld [de], a
|
||
|
inc de
|
||
|
ld a, [hli]
|
||
|
ld [de], a
|
||
|
ret
|
||
|
|
||
|
Function92a04: ; 92a04 (24:6a04)
|
||
|
ld a, d
|
||
|
cp 9999 / $100
|
||
|
jr c, .asm_92a10
|
||
|
ld a, e
|
||
|
cp 9999 % $100
|
||
|
jr c, .asm_92a10
|
||
|
scf
|
||
|
ret
|
||
|
.asm_92a10
|
||
|
and a
|
||
|
ret
|
||
|
|
||
|
Function92a12: ; 92a12 (24:6a12)
|
||
|
ld hl, $3
|
||
|
add hl, bc
|
||
|
ld a, [hl]
|
||
|
and a
|
||
|
jr nz, .asm_92a1c
|
||
|
ld a, $f
|
||
|
.asm_92a1c
|
||
|
dec a
|
||
|
and $f
|
||
|
ld e, a
|
||
|
ld d, $0
|
||
|
ld hl, $1
|
||
|
add hl, bc
|
||
|
ld a, [hli]
|
||
|
ld h, [hl]
|
||
|
ld l, a
|
||
|
add hl, de
|
||
|
ret
|
||
|
|
||
|
Function92a2b: ; 92a2b (24:6a2b)
|
||
|
ld a, $7
|
||
|
ret
|
||
|
|
||
|
Function92a2e: ; 92a2e (24:6a2e)
|
||
|
ld a, [wc70a]
|
||
|
cp $2
|
||
|
jr c, .asm_92a4e
|
||
|
ld a, [wc709]
|
||
|
and a
|
||
|
jr z, .asm_92a3f
|
||
|
cp $ff
|
||
|
jr nz, .asm_92a4e
|
||
|
.asm_92a3f
|
||
|
call Function92a51
|
||
|
jr nz, .asm_92a4e
|
||
|
call Random
|
||
|
cp $50
|
||
|
jr nc, .asm_92a4e
|
||
|
ld a, $a
|
||
|
ret
|
||
|
.asm_92a4e
|
||
|
ld a, $8
|
||
|
ret
|
||
|
|
||
|
Function92a51: ; 92a51 (24:6a51)
|
||
|
ld a, [wc700]
|
||
|
and a
|
||
|
ret z
|
||
|
ld a, [wc701]
|
||
|
and a
|
||
|
ret z
|
||
|
ld a, [wc702]
|
||
|
and a
|
||
|
ret
|
||
|
|
||
|
Function92a60: ; 92a60 (24:6a60)
|
||
|
ld a, [wc70b]
|
||
|
and a
|
||
|
jr z, .asm_92a95
|
||
|
ld a, [wc70c]
|
||
|
and a
|
||
|
jr z, .asm_92a95
|
||
|
ld a, [wc709]
|
||
|
and a
|
||
|
jr nz, .asm_92a84
|
||
|
call Random
|
||
|
cp 180
|
||
|
jr nc, .asm_92a95
|
||
|
cp 120
|
||
|
jr nc, .asm_92a92
|
||
|
cp 60
|
||
|
jr nc, .asm_92a8f
|
||
|
ld a, $15
|
||
|
ret
|
||
|
.asm_92a84
|
||
|
call Random
|
||
|
cp $a0
|
||
|
jr nc, .asm_92a95
|
||
|
cp $50
|
||
|
jr nc, .asm_92a92
|
||
|
.asm_92a8f
|
||
|
ld a, $12
|
||
|
ret
|
||
|
.asm_92a92
|
||
|
ld a, $10
|
||
|
ret
|
||
|
.asm_92a95
|
||
|
ld a, $9
|
||
|
ret
|
||
|
|
||
|
Function92a98: ; 92a98 (24:6a98)
|
||
|
ld bc, wc6d0
|
||
|
ld hl, $6
|
||
|
add hl, bc
|
||
|
ld de, Sprites + $40
|
||
|
ld [hl], e
|
||
|
inc hl
|
||
|
ld [hl], d
|
||
|
ld hl, $1
|
||
|
add hl, bc
|
||
|
ld de, Unknown_93327
|
||
|
ld [hl], e
|
||
|
inc hl
|
||
|
ld [hl], d
|
||
|
ld hl, $8
|
||
|
add hl, bc
|
||
|
ld [hl], $30
|
||
|
call Function92af9
|
||
|
ld bc, wc6e0
|
||
|
ld hl, $6
|
||
|
add hl, bc
|
||
|
ld de, Sprites + $60
|
||
|
ld [hl], e
|
||
|
inc hl
|
||
|
ld [hl], d
|
||
|
ld hl, $1
|
||
|
add hl, bc
|
||
|
ld de, Unknown_93339
|
||
|
ld [hl], e
|
||
|
inc hl
|
||
|
ld [hl], d
|
||
|
ld hl, $8
|
||
|
add hl, bc
|
||
|
ld [hl], $50
|
||
|
call Function92af9
|
||
|
ld bc, wc6f0
|
||
|
ld hl, $6
|
||
|
add hl, bc
|
||
|
ld de, Sprites + $80
|
||
|
ld [hl], e
|
||
|
inc hl
|
||
|
ld [hl], d
|
||
|
ld hl, $1
|
||
|
add hl, bc
|
||
|
ld de, Unknown_9334b
|
||
|
ld [hl], e
|
||
|
inc hl
|
||
|
ld [hl], d
|
||
|
ld hl, $8
|
||
|
add hl, bc
|
||
|
ld [hl], $70
|
||
|
call Function92af9
|
||
|
ret
|
||
|
|
||
|
Function92af9: ; 92af9 (24:6af9)
|
||
|
ld hl, 0
|
||
|
add hl, bc
|
||
|
ld [hl], $0
|
||
|
ld hl, $3
|
||
|
add hl, bc
|
||
|
ld [hl], $e
|
||
|
ld hl, $4
|
||
|
add hl, bc
|
||
|
ld [hl], $0
|
||
|
call Function92b53
|
||
|
ret
|
||
|
|
||
|
Function92b0f: ; 92b0f (24:6b0f)
|
||
|
ld bc, wc6d0
|
||
|
call Function92b22
|
||
|
ld bc, wc6e0
|
||
|
call Function92b22
|
||
|
ld bc, wc6f0
|
||
|
call Function92b22
|
||
|
ret
|
||
|
|
||
|
Function92b22: ; 92b22 (24:6b22)
|
||
|
ld hl, $4
|
||
|
add hl, bc
|
||
|
ld a, [hl]
|
||
|
and $f
|
||
|
jr nz, .asm_92b2e
|
||
|
call Function92bd4
|
||
|
.asm_92b2e
|
||
|
ld hl, $5
|
||
|
add hl, bc
|
||
|
ld a, [hl]
|
||
|
and a
|
||
|
ret z
|
||
|
ld d, a
|
||
|
ld hl, $4
|
||
|
add hl, bc
|
||
|
add [hl]
|
||
|
ld [hl], a
|
||
|
and $f
|
||
|
jr z, Function92b53
|
||
|
ld hl, $6
|
||
|
add hl, bc
|
||
|
ld a, [hli]
|
||
|
ld h, [hl]
|
||
|
ld l, a
|
||
|
ld e, $8
|
||
|
.asm_92b49
|
||
|
ld a, [hl]
|
||
|
add d
|
||
|
ld [hli], a
|
||
|
rept 3
|
||
|
inc hl
|
||
|
endr
|
||
|
dec e
|
||
|
jr nz, .asm_92b49
|
||
|
ret
|
||
|
|
||
|
Function92b53: ; 92b53 (24:6b53)
|
||
|
ld hl, $8
|
||
|
add hl, bc
|
||
|
ld a, [hl]
|
||
|
ld [wc712 + 1], a
|
||
|
ld a, $50
|
||
|
ld [wc712 + 2], a
|
||
|
ld hl, $3
|
||
|
add hl, bc
|
||
|
ld e, [hl]
|
||
|
ld d, $0
|
||
|
ld hl, $1
|
||
|
add hl, bc
|
||
|
ld a, [hli]
|
||
|
ld h, [hl]
|
||
|
ld l, a
|
||
|
add hl, de
|
||
|
ld e, l
|
||
|
ld d, h
|
||
|
call Function92b83
|
||
|
ld hl, $3
|
||
|
add hl, bc
|
||
|
ld a, [hl]
|
||
|
inc a
|
||
|
and $f
|
||
|
cp $f
|
||
|
jr nz, .asm_92b81
|
||
|
xor a
|
||
|
.asm_92b81
|
||
|
ld [hl], a
|
||
|
ret
|
||
|
|
||
|
Function92b83: ; 92b83 (24:6b83)
|
||
|
ld hl, $6
|
||
|
add hl, bc
|
||
|
ld a, [hli]
|
||
|
ld h, [hl]
|
||
|
ld l, a
|
||
|
.asm_92b8a
|
||
|
ld a, [wc712 + 2]
|
||
|
ld [hli], a
|
||
|
ld a, [wc712 + 1]
|
||
|
ld [hli], a
|
||
|
ld a, [de]
|
||
|
ld [hli], a
|
||
|
srl a
|
||
|
srl a
|
||
|
set 7, a
|
||
|
ld [hli], a
|
||
|
ld a, [wc712 + 2]
|
||
|
ld [hli], a
|
||
|
ld a, [wc712 + 1]
|
||
|
add $8
|
||
|
ld [hli], a
|
||
|
ld a, [de]
|
||
|
rept 2
|
||
|
inc a
|
||
|
endr
|
||
|
ld [hli], a
|
||
|
srl a
|
||
|
srl a
|
||
|
set 7, a
|
||
|
ld [hli], a
|
||
|
inc de
|
||
|
ld a, [wc712 + 2]
|
||
|
sub $10
|
||
|
ld [wc712 + 2], a
|
||
|
cp $10
|
||
|
jr nz, .asm_92b8a
|
||
|
ret
|
||
|
; 92bbe (24:6bbe)
|
||
|
|
||
|
Function92bbe: ; 92bbe
|
||
|
push hl
|
||
|
srl a
|
||
|
srl a
|
||
|
add Unknown_92bce % $100
|
||
|
ld l, a
|
||
|
ld a, 0
|
||
|
adc Unknown_92bce / $100
|
||
|
ld h, a
|
||
|
ld a, [hl]
|
||
|
pop hl
|
||
|
ret
|
||
|
; 92bce
|
||
|
|
||
|
Unknown_92bce: ; 92bce
|
||
|
db 0, 1, 2, 3, 4, 5
|
||
|
; 92bd4
|
||
|
|
||
|
Function92bd4: ; 92bd4 (24:6bd4)
|
||
|
ld hl, 0
|
||
|
add hl, bc
|
||
|
ld e, [hl]
|
||
|
ld d, 0
|
||
|
ld hl, Jumptable_92be4
|
||
|
rept 2
|
||
|
add hl, de
|
||
|
endr
|
||
|
ld a, [hli]
|
||
|
ld h, [hl]
|
||
|
ld l, a
|
||
|
jp [hl]
|
||
|
; 92be4 (24:6be4)
|
||
|
|
||
|
Jumptable_92be4: ; 92be4
|
||
|
dw Function92c16
|
||
|
dw Function92c4c
|
||
|
dw Function92c17
|
||
|
dw Function92c1e
|
||
|
dw Function92c25
|
||
|
dw Function92c2c
|
||
|
dw Function92c33
|
||
|
dw Function92c5e
|
||
|
dw Function92c86
|
||
|
dw Function92ca9
|
||
|
dw Function92cd2
|
||
|
dw Function92cf8
|
||
|
dw Function92d13
|
||
|
dw Function92df7
|
||
|
dw Function92e10
|
||
|
dw Function92e31
|
||
|
dw Function92e47
|
||
|
dw Function92e64
|
||
|
dw Function92d20
|
||
|
dw Function92d4f
|
||
|
dw Function92d6e
|
||
|
dw Function92d7e
|
||
|
dw Function92da4
|
||
|
dw Function92db3
|
||
|
dw Function92dca
|
||
|
; 92c16
|
||
|
|
||
|
Function92c16: ; 92c16
|
||
|
ret
|
||
|
; 92c17
|
||
|
|
||
|
Function92c17: ; 92c17
|
||
|
ld hl, $5
|
||
|
add hl, bc
|
||
|
ld [hl], $10
|
||
|
ret
|
||
|
; 92c1e
|
||
|
|
||
|
Function92c1e: ; 92c1e
|
||
|
ld hl, $5
|
||
|
add hl, bc
|
||
|
ld [hl], $8
|
||
|
ret
|
||
|
; 92c25
|
||
|
|
||
|
Function92c25: ; 92c25
|
||
|
ld hl, $5
|
||
|
add hl, bc
|
||
|
ld [hl], $4
|
||
|
ret
|
||
|
; 92c2c
|
||
|
|
||
|
Function92c2c: ; 92c2c
|
||
|
ld hl, $5
|
||
|
add hl, bc
|
||
|
ld [hl], $2
|
||
|
ret
|
||
|
; 92c33
|
||
|
|
||
|
Function92c33: ; 92c33
|
||
|
ld hl, $5
|
||
|
add hl, bc
|
||
|
ld [hl], $1
|
||
|
ret
|
||
|
; 92c3a
|
||
|
|
||
|
Function92c3a: ; 92c3a
|
||
|
ld hl, $5
|
||
|
add hl, bc
|
||
|
ld [hl], $0
|
||
|
ld hl, 0
|
||
|
add hl, bc
|
||
|
ld [hl], $1
|
||
|
ld hl, $f
|
||
|
add hl, bc
|
||
|
ld [hl], $3
|
||
|
|
||
|
Function92c4c: ; 92c4c
|
||
|
ld hl, $f
|
||
|
add hl, bc
|
||
|
ld a, [hl]
|
||
|
and a
|
||
|
jr z, .asm_92c56
|
||
|
dec [hl]
|
||
|
ret
|
||
|
|
||
|
.asm_92c56
|
||
|
ld hl, 0
|
||
|
add hl, bc
|
||
|
ld a, $0
|
||
|
ld [hl], a
|
||
|
ret
|
||
|
; 92c5e
|
||
|
|
||
|
Function92c5e: ; 92c5e
|
||
|
ld a, [wc709]
|
||
|
cp $ff
|
||
|
jr z, .asm_92c72
|
||
|
ld hl, $9
|
||
|
add hl, bc
|
||
|
ld a, [hl]
|
||
|
and a
|
||
|
jr z, .asm_92c72
|
||
|
dec [hl]
|
||
|
call Function92c76
|
||
|
ret nz
|
||
|
|
||
|
.asm_92c72
|
||
|
call Function92c3a
|
||
|
ret
|
||
|
; 92c76
|
||
|
|
||
|
Function92c76: ; 92c76
|
||
|
call Function92a12
|
||
|
ld a, [wc709]
|
||
|
ld e, a
|
||
|
ld a, [hli]
|
||
|
cp e
|
||
|
ret z
|
||
|
ld a, [hli]
|
||
|
cp e
|
||
|
ret z
|
||
|
ld a, [hl]
|
||
|
cp e
|
||
|
ret
|
||
|
; 92c86
|
||
|
|
||
|
Function92c86: ; 92c86
|
||
|
call Function92e94
|
||
|
jr nc, .asm_92c94
|
||
|
ld a, [wc717]
|
||
|
ld hl, wc709
|
||
|
cp [hl]
|
||
|
jr z, .asm_92ca5
|
||
|
|
||
|
.asm_92c94
|
||
|
ld a, [wc709]
|
||
|
cp $ff
|
||
|
jr z, .asm_92ca5
|
||
|
ld hl, $9
|
||
|
add hl, bc
|
||
|
ld a, [hl]
|
||
|
and a
|
||
|
jr z, .asm_92ca5
|
||
|
dec [hl]
|
||
|
ret
|
||
|
|
||
|
.asm_92ca5
|
||
|
call Function92c3a
|
||
|
ret
|
||
|
; 92ca9
|
||
|
|
||
|
Function92ca9: ; 92ca9
|
||
|
call Function92f1d
|
||
|
jr nc, .asm_92cbd
|
||
|
ld hl, wc709
|
||
|
cp [hl]
|
||
|
jr z, .asm_92cce
|
||
|
ld hl, $9
|
||
|
add hl, bc
|
||
|
ld a, [hl]
|
||
|
and a
|
||
|
ret z
|
||
|
dec [hl]
|
||
|
ret
|
||
|
|
||
|
.asm_92cbd
|
||
|
ld a, [wc709]
|
||
|
cp $ff
|
||
|
jr z, .asm_92cce
|
||
|
ld hl, $9
|
||
|
add hl, bc
|
||
|
ld a, [hl]
|
||
|
and a
|
||
|
jr z, .asm_92cce
|
||
|
dec [hl]
|
||
|
ret
|
||
|
|
||
|
.asm_92cce
|
||
|
call Function92c3a
|
||
|
ret
|
||
|
; 92cd2
|
||
|
|
||
|
Function92cd2: ; 92cd2
|
||
|
call Function92e94
|
||
|
jr nc, .asm_92ce1
|
||
|
ld a, [wc70c]
|
||
|
and a
|
||
|
jr z, .asm_92ce1
|
||
|
call Function92c3a
|
||
|
ret
|
||
|
|
||
|
.asm_92ce1
|
||
|
ld a, SFX_STOP_SLOT
|
||
|
call Function9331e
|
||
|
ld hl, 0
|
||
|
add hl, bc
|
||
|
inc [hl]
|
||
|
ld hl, $a
|
||
|
add hl, bc
|
||
|
ld [hl], $20
|
||
|
ld hl, $5
|
||
|
add hl, bc
|
||
|
ld [hl], $0
|
||
|
ret
|
||
|
; 92cf8
|
||
|
|
||
|
Function92cf8: ; 92cf8
|
||
|
ld hl, $a
|
||
|
add hl, bc
|
||
|
ld a, [hl]
|
||
|
and a
|
||
|
jr z, .asm_92d02
|
||
|
dec [hl]
|
||
|
ret
|
||
|
|
||
|
.asm_92d02
|
||
|
ld a, SFX_THROW_BALL
|
||
|
call Function9331e
|
||
|
ld hl, 0
|
||
|
add hl, bc
|
||
|
inc [hl]
|
||
|
ld hl, $5
|
||
|
add hl, bc
|
||
|
ld [hl], $8
|
||
|
ret
|
||
|
; 92d13
|
||
|
|
||
|
Function92d13: ; 92d13
|
||
|
call Function92e94
|
||
|
ret nc
|
||
|
ld a, [wc70c]
|
||
|
and a
|
||
|
ret z
|
||
|
call Function92c3a
|
||
|
ret
|
||
|
; 92d20
|
||
|
|
||
|
Function92d20: ; 92d20
|
||
|
call Function92f1d
|
||
|
ret c
|
||
|
ld a, SFX_STOP_SLOT
|
||
|
call Function9331e
|
||
|
call Function93316
|
||
|
ld hl, 0
|
||
|
add hl, bc
|
||
|
inc [hl]
|
||
|
ld hl, $5
|
||
|
add hl, bc
|
||
|
ld [hl], $0
|
||
|
call Function92fc0
|
||
|
push bc
|
||
|
push af
|
||
|
ld de, $6068
|
||
|
ld a, $6
|
||
|
call Function3b2a
|
||
|
ld hl, $e
|
||
|
add hl, bc
|
||
|
pop af
|
||
|
ld [hl], a
|
||
|
pop bc
|
||
|
xor a
|
||
|
ld [wcf64], a
|
||
|
|
||
|
Function92d4f: ; 92d4f
|
||
|
ld a, [wcf64]
|
||
|
cp $2
|
||
|
jr z, .asm_92d5b
|
||
|
cp $1
|
||
|
jr z, .asm_92d62
|
||
|
ret
|
||
|
|
||
|
.asm_92d5b
|
||
|
call Function92f1d
|
||
|
call Function92c3a
|
||
|
ret
|
||
|
|
||
|
.asm_92d62
|
||
|
ld hl, 0
|
||
|
add hl, bc
|
||
|
inc [hl]
|
||
|
ld hl, $5
|
||
|
add hl, bc
|
||
|
ld [hl], $8
|
||
|
ret
|
||
|
; 92d6e
|
||
|
|
||
|
Function92d6e: ; 92d6e
|
||
|
xor a
|
||
|
ld [wcf64], a
|
||
|
ld hl, 0
|
||
|
add hl, bc
|
||
|
dec [hl]
|
||
|
ld hl, $5
|
||
|
add hl, bc
|
||
|
ld [hl], $0
|
||
|
ret
|
||
|
; 92d7e
|
||
|
|
||
|
Function92d7e: ; 92d7e
|
||
|
call Function92f1d
|
||
|
ret c
|
||
|
ld a, SFX_STOP_SLOT
|
||
|
call Function9331e
|
||
|
call Function93316
|
||
|
ld hl, 0
|
||
|
add hl, bc
|
||
|
inc [hl]
|
||
|
ld hl, $5
|
||
|
add hl, bc
|
||
|
ld [hl], $0
|
||
|
push bc
|
||
|
ld de, $6000
|
||
|
ld a, $7
|
||
|
call Function3b2a
|
||
|
pop bc
|
||
|
xor a
|
||
|
ld [wcf64], a
|
||
|
ret
|
||
|
; 92da4
|
||
|
|
||
|
Function92da4: ; 92da4
|
||
|
ld a, [wcf64]
|
||
|
and a
|
||
|
ret z
|
||
|
ld hl, 0
|
||
|
add hl, bc
|
||
|
inc [hl]
|
||
|
ld a, $2
|
||
|
ld [wcf64], a
|
||
|
|
||
|
Function92db3: ; 92db3
|
||
|
ld a, [wcf64]
|
||
|
cp $4
|
||
|
ret c
|
||
|
ld hl, 0
|
||
|
add hl, bc
|
||
|
inc [hl]
|
||
|
ld hl, $5
|
||
|
add hl, bc
|
||
|
ld [hl], $10
|
||
|
ld hl, $a
|
||
|
add hl, bc
|
||
|
ld [hl], $11
|
||
|
|
||
|
Function92dca: ; 92dca
|
||
|
ld hl, $a
|
||
|
add hl, bc
|
||
|
ld a, [hl]
|
||
|
and a
|
||
|
jr z, .asm_92dd4
|
||
|
dec [hl]
|
||
|
ret
|
||
|
|
||
|
.asm_92dd4
|
||
|
call Function92f1d
|
||
|
jr nc, .asm_92de5
|
||
|
and a
|
||
|
jr nz, .asm_92de5
|
||
|
ld a, $5
|
||
|
ld [wcf64], a
|
||
|
call Function92c3a
|
||
|
ret
|
||
|
|
||
|
.asm_92de5
|
||
|
ld hl, $5
|
||
|
add hl, bc
|
||
|
ld [hl], $0
|
||
|
ld hl, 0
|
||
|
add hl, bc
|
||
|
rept 2
|
||
|
dec [hl]
|
||
|
endr
|
||
|
ld a, $1
|
||
|
ld [wcf64], a
|
||
|
ret
|
||
|
; 92df7
|
||
|
|
||
|
Function92df7: ; 92df7
|
||
|
call Function92f1d
|
||
|
ret c
|
||
|
ld a, SFX_STOP_SLOT
|
||
|
call Function9331e
|
||
|
call Function93316
|
||
|
ld hl, 0
|
||
|
add hl, bc
|
||
|
inc [hl]
|
||
|
call Function92fc0
|
||
|
ld hl, $a
|
||
|
add hl, bc
|
||
|
ld [hl], a
|
||
|
|
||
|
Function92e10: ; 92e10
|
||
|
ld hl, $a
|
||
|
add hl, bc
|
||
|
ld a, [hl]
|
||
|
and a
|
||
|
jr nz, .asm_92e1f
|
||
|
call Function92f1d
|
||
|
call Function92c3a
|
||
|
ret
|
||
|
|
||
|
.asm_92e1f
|
||
|
dec [hl]
|
||
|
ld hl, 0
|
||
|
add hl, bc
|
||
|
inc [hl]
|
||
|
ld hl, $b
|
||
|
add hl, bc
|
||
|
ld [hl], $20
|
||
|
ld hl, $5
|
||
|
add hl, bc
|
||
|
ld [hl], $0
|
||
|
|
||
|
Function92e31: ; 92e31
|
||
|
ld hl, $b
|
||
|
add hl, bc
|
||
|
ld a, [hl]
|
||
|
and a
|
||
|
jr z, .asm_92e3b
|
||
|
dec [hl]
|
||
|
ret
|
||
|
|
||
|
.asm_92e3b
|
||
|
ld hl, 0
|
||
|
add hl, bc
|
||
|
dec [hl]
|
||
|
ld hl, $5
|
||
|
add hl, bc
|
||
|
ld [hl], $8
|
||
|
ret
|
||
|
; 92e47
|
||
|
|
||
|
Function92e47: ; 92e47
|
||
|
call Function92f1d
|
||
|
ret c
|
||
|
ld a, SFX_STOP_SLOT
|
||
|
call Function9331e
|
||
|
call Function93316
|
||
|
ld hl, $5
|
||
|
add hl, bc
|
||
|
ld [hl], $1
|
||
|
ld hl, 0
|
||
|
add hl, bc
|
||
|
inc [hl]
|
||
|
ld hl, $a
|
||
|
add hl, bc
|
||
|
ld [hl], $10
|
||
|
|
||
|
Function92e64: ; 92e64
|
||
|
ld hl, $a
|
||
|
add hl, bc
|
||
|
ld a, [hl]
|
||
|
and a
|
||
|
jr z, .asm_92e73
|
||
|
dec [hl]
|
||
|
.asm_92e6d
|
||
|
ld a, SFX_GOT_SAFARI_BALLS
|
||
|
call Function9331e
|
||
|
ret
|
||
|
|
||
|
.asm_92e73
|
||
|
ld a, [wc709]
|
||
|
and a
|
||
|
jr nz, .asm_92e88
|
||
|
call Function92f1d
|
||
|
jr nc, .asm_92e6d
|
||
|
and a
|
||
|
jr nz, .asm_92e6d
|
||
|
call Function92c3a
|
||
|
call WaitSFX
|
||
|
ret
|
||
|
|
||
|
.asm_92e88
|
||
|
call Function92f1d
|
||
|
jr c, .asm_92e6d
|
||
|
call Function92c3a
|
||
|
call WaitSFX
|
||
|
ret
|
||
|
; 92e94
|
||
|
|
||
|
Function92e94: ; 92e94
|
||
|
xor a
|
||
|
ld [wc70b], a
|
||
|
ld [wc70c], a
|
||
|
call Function92a12
|
||
|
call Function92fb4
|
||
|
ld a, [wc70a]
|
||
|
and 3
|
||
|
ld e, a
|
||
|
ld d, 0
|
||
|
ld hl, Jumptable_92ebd
|
||
|
rept 2
|
||
|
add hl, de
|
||
|
endr
|
||
|
ld a, [hli]
|
||
|
ld h, [hl]
|
||
|
ld l, a
|
||
|
ld de, .asm_92eb6
|
||
|
push de
|
||
|
jp [hl]
|
||
|
|
||
|
.asm_92eb6
|
||
|
ld a, [wc70b]
|
||
|
and a
|
||
|
ret z
|
||
|
scf
|
||
|
ret
|
||
|
; 92ebd
|
||
|
|
||
|
Jumptable_92ebd: ; 92ebd
|
||
|
dw Function92ed4
|
||
|
dw Function92ed1
|
||
|
dw Function92ecb
|
||
|
dw Function92ec5
|
||
|
; 92ec5
|
||
|
|
||
|
Function92ec5: ; 92ec5
|
||
|
call Function92ee0
|
||
|
call Function92ef6
|
||
|
|
||
|
Function92ecb: ; 92ecb
|
||
|
call Function92ed5
|
||
|
call Function92f01
|
||
|
|
||
|
Function92ed1: ; 92ed1
|
||
|
call Function92eeb
|
||
|
|
||
|
Function92ed4: ; 92ed4
|
||
|
ret
|
||
|
; 92ed5
|
||
|
|
||
|
Function92ed5: ; 92ed5
|
||
|
ld hl, wc70e
|
||
|
ld a, [EnemyScreens]
|
||
|
cp [hl]
|
||
|
call z, Function92f0c
|
||
|
ret
|
||
|
; 92ee0
|
||
|
|
||
|
Function92ee0: ; 92ee0
|
||
|
ld hl, wEnemyGoesFirst
|
||
|
ld a, [wc700]
|
||
|
cp [hl]
|
||
|
call z, Function92f0c
|
||
|
ret
|
||
|
; 92eeb
|
||
|
|
||
|
Function92eeb: ; 92eeb
|
||
|
ld hl, wEnemyGoesFirst
|
||
|
ld a, [wc701]
|
||
|
cp [hl]
|
||
|
call z, Function92f0c
|
||
|
ret
|
||
|
; 92ef6
|
||
|
|
||
|
Function92ef6: ; 92ef6
|
||
|
ld hl, wEnemyGoesFirst
|
||
|
ld a, [wc702]
|
||
|
cp [hl]
|
||
|
call z, Function92f0c
|
||
|
ret
|
||
|
; 92f01
|
||
|
|
||
|
Function92f01: ; 92f01
|
||
|
ld hl, wc710
|
||
|
ld a, [wc702]
|
||
|
cp [hl]
|
||
|
call z, Function92f0c
|
||
|
ret
|
||
|
; 92f0c
|
||
|
|
||
|
Function92f0c: ; 92f0c
|
||
|
ld [wc717], a
|
||
|
and a
|
||
|
jr nz, .asm_92f17
|
||
|
ld a, $1
|
||
|
ld [wc70c], a
|
||
|
|
||
|
.asm_92f17
|
||
|
ld a, $1
|
||
|
ld [wc70b], a
|
||
|
ret
|
||
|
; 92f1d
|
||
|
|
||
|
Function92f1d: ; 92f1d
|
||
|
ld a, $ff
|
||
|
ld [EffectFailed], a
|
||
|
call Function92a12
|
||
|
call Function92fb4
|
||
|
ld a, [wc70a]
|
||
|
and 3
|
||
|
ld e, a
|
||
|
ld d, 0
|
||
|
ld hl, Jumptable_92f48
|
||
|
rept 2
|
||
|
add hl, de
|
||
|
endr
|
||
|
ld a, [hli]
|
||
|
ld h, [hl]
|
||
|
ld l, a
|
||
|
ld de, .asm_92f3d
|
||
|
push de
|
||
|
jp [hl]
|
||
|
|
||
|
.asm_92f3d
|
||
|
ld a, [wc70d]
|
||
|
cp $ff
|
||
|
jr nz, .asm_92f46
|
||
|
and a
|
||
|
ret
|
||
|
|
||
|
.asm_92f46
|
||
|
scf
|
||
|
ret
|
||
|
; 92f48
|
||
|
|
||
|
Jumptable_92f48: ; 92f48
|
||
|
dw Function92f5f
|
||
|
dw Function92f5c
|
||
|
dw Function92f56
|
||
|
dw Function92f50
|
||
|
; 92f50
|
||
|
|
||
|
Function92f50: ; 92f50
|
||
|
call Function92f70
|
||
|
call Function92f90
|
||
|
|
||
|
Function92f56: ; 92f56
|
||
|
call Function92f60
|
||
|
call Function92fa0
|
||
|
|
||
|
Function92f5c: ; 92f5c
|
||
|
call Function92f80
|
||
|
|
||
|
Function92f5f: ; 92f5f
|
||
|
ret
|
||
|
; 92f60
|
||
|
|
||
|
Function92f60: ; 92f60
|
||
|
ld hl, wc70e
|
||
|
ld a, [wc700]
|
||
|
cp [hl]
|
||
|
ret nz
|
||
|
ld hl, wc703
|
||
|
cp [hl]
|
||
|
call z, Function92fb0
|
||
|
ret
|
||
|
; 92f70
|
||
|
|
||
|
Function92f70: ; 92f70
|
||
|
ld hl, wc710
|
||
|
ld a, [wc700]
|
||
|
cp [hl]
|
||
|
ret nz
|
||
|
ld hl, wc704
|
||
|
cp [hl]
|
||
|
call z, Function92fb0
|
||
|
ret
|
||
|
; 92f80
|
||
|
|
||
|
Function92f80: ; 92f80
|
||
|
ld hl, wEnemyGoesFirst
|
||
|
ld a, [wc701]
|
||
|
cp [hl]
|
||
|
ret nz
|
||
|
ld hl, wc704
|
||
|
cp [hl]
|
||
|
call z, Function92fb0
|
||
|
ret
|
||
|
; 92f90
|
||
|
|
||
|
Function92f90: ; 92f90
|
||
|
ld hl, wc70e
|
||
|
ld a, [wc702]
|
||
|
cp [hl]
|
||
|
ret nz
|
||
|
ld hl, wc704
|
||
|
cp [hl]
|
||
|
call z, Function92fb0
|
||
|
ret
|
||
|
; 92fa0
|
||
|
|
||
|
Function92fa0: ; 92fa0
|
||
|
ld hl, wc710
|
||
|
ld a, [wc702]
|
||
|
cp [hl]
|
||
|
ret nz
|
||
|
ld hl, wc705
|
||
|
cp [hl]
|
||
|
call z, Function92fb0
|
||
|
ret
|
||
|
; 92fb0
|
||
|
|
||
|
Function92fb0: ; 92fb0
|
||
|
ld [wc70d], a
|
||
|
ret
|
||
|
; 92fb4
|
||
|
|
||
|
Function92fb4: ; 92fb4
|
||
|
ld de, wc70e
|
||
|
ld a, [hli]
|
||
|
ld [de], a
|
||
|
inc de
|
||
|
ld a, [hli]
|
||
|
ld [de], a
|
||
|
inc de
|
||
|
ld a, [hl]
|
||
|
ld [de], a
|
||
|
ret
|
||
|
; 92fc0
|
||
|
|
||
|
Function92fc0: ; 92fc0
|
||
|
ld hl, $3
|
||
|
add hl, bc
|
||
|
ld a, [hl]
|
||
|
push af
|
||
|
push hl
|
||
|
call Function92fcf
|
||
|
pop hl
|
||
|
pop af
|
||
|
ld [hl], a
|
||
|
ld a, e
|
||
|
ret
|
||
|
; 92fcf
|
||
|
|
||
|
Function92fcf: ; 92fcf
|
||
|
ld a, [wc709]
|
||
|
and a
|
||
|
jr nz, .asm_92fe8
|
||
|
ld e, $0
|
||
|
.asm_92fd7
|
||
|
ld hl, $3
|
||
|
add hl, bc
|
||
|
inc [hl]
|
||
|
inc e
|
||
|
push de
|
||
|
call Function92f1d
|
||
|
pop de
|
||
|
jr nc, .asm_92fd7
|
||
|
and a
|
||
|
jr nz, .asm_92fd7
|
||
|
ret
|
||
|
|
||
|
.asm_92fe8
|
||
|
call Random
|
||
|
and $7
|
||
|
cp $4
|
||
|
jr c, .asm_92fe8
|
||
|
ld e, a
|
||
|
.asm_92ff2
|
||
|
ld a, e
|
||
|
inc e
|
||
|
ld hl, $3
|
||
|
add hl, bc
|
||
|
add [hl]
|
||
|
ld [hl], a
|
||
|
push de
|
||
|
call Function92f1d
|
||
|
pop de
|
||
|
jr c, .asm_92ff2
|
||
|
ret
|
||
|
; 93002
|
||
|
|
||
|
Function93002: ; 93002 (24:7002)
|
||
|
ld a, [wc709]
|
||
|
and a
|
||
|
ret z
|
||
|
ld hl, Unknown_93023
|
||
|
ld a, [ScriptVar]
|
||
|
and a
|
||
|
jr z, .asm_93013
|
||
|
ld hl, Unknown_93031
|
||
|
.asm_93013
|
||
|
call Random
|
||
|
ld c, a
|
||
|
.asm_93017
|
||
|
ld a, [hli]
|
||
|
cp c
|
||
|
jr nc, .asm_9301e
|
||
|
inc hl
|
||
|
jr .asm_93017
|
||
|
.asm_9301e
|
||
|
ld a, [hl]
|
||
|
ld [wc709], a
|
||
|
ret
|
||
|
; 93023 (24:7023)
|
||
|
|
||
|
Unknown_93023: ; 93023
|
||
|
db $01, $00
|
||
|
db $03, $04
|
||
|
db $0a, $14
|
||
|
db $14, $10
|
||
|
db $28, $0c
|
||
|
db $30, $08
|
||
|
db $ff, $ff
|
||
|
; 93031
|
||
|
|
||
|
Unknown_93031: ; 93031
|
||
|
db $02, $00
|
||
|
db $03, $04
|
||
|
db $08, $14
|
||
|
db $10, $10
|
||
|
db $1e, $0c
|
||
|
db $50, $08
|
||
|
db $ff, $ff
|
||
|
; 9303f
|
||
|
|
||
|
Function9303f: ; 9303f (24:703f)
|
||
|
ld b, $14
|
||
|
ld a, [wc70a]
|
||
|
dec a
|
||
|
jr z, asm_93066
|
||
|
dec a
|
||
|
jr z, asm_9305a
|
||
|
jr asm_9304e
|
||
|
|
||
|
Function9304c: ; 9304c (24:704c)
|
||
|
ld b, $23
|
||
|
asm_9304e: ; 9304e (24:704e)
|
||
|
hlcoord 3, 2
|
||
|
call Function93069
|
||
|
hlcoord 3, 10
|
||
|
call Function93069
|
||
|
asm_9305a: ; 9305a (24:705a)
|
||
|
hlcoord 3, 4
|
||
|
call Function93069
|
||
|
hlcoord 3, 8
|
||
|
call Function93069
|
||
|
asm_93066: ; 93066 (24:7066)
|
||
|
hlcoord 3, 6
|
||
|
|
||
|
Function93069: ; 93069 (24:7069)
|
||
|
ld a, b
|
||
|
ld [hl], a
|
||
|
ld de, $d
|
||
|
add hl, de
|
||
|
ld [hl], a
|
||
|
ld de, $7
|
||
|
add hl, de
|
||
|
inc a
|
||
|
ld [hl], a
|
||
|
ld de, $d
|
||
|
add hl, de
|
||
|
ld [hl], a
|
||
|
ret
|
||
|
|
||
|
Function9307c: ; 9307c (24:707c)
|
||
|
ld hl, UnknownText_0x930c7
|
||
|
call PrintText
|
||
|
ld hl, MenuDataHeader_0x930d6
|
||
|
call LoadMenuDataHeader
|
||
|
call InterpretMenu2
|
||
|
call WriteBackup
|
||
|
ret c
|
||
|
ld a, [MenuSelection2]
|
||
|
ld b, a
|
||
|
ld a, $4
|
||
|
sub b
|
||
|
ld [wc70a], a
|
||
|
ld hl, Coins
|
||
|
ld c, a
|
||
|
ld a, [hli]
|
||
|
and a
|
||
|
jr nz, .asm_930ad
|
||
|
ld a, [hl]
|
||
|
cp c
|
||
|
jr nc, .asm_930ad
|
||
|
ld hl, UnknownText_0x930d1
|
||
|
call PrintText
|
||
|
jr Function9307c
|
||
|
.asm_930ad
|
||
|
ld hl, Coins + 1
|
||
|
ld a, [hl]
|
||
|
sub c
|
||
|
ld [hld], a
|
||
|
jr nc, .asm_930b6
|
||
|
dec [hl]
|
||
|
.asm_930b6
|
||
|
call WaitSFX
|
||
|
ld de, SFX_PAY_DAY
|
||
|
call PlaySFX
|
||
|
ld hl, UnknownText_0x930cc
|
||
|
call PrintText
|
||
|
and a
|
||
|
ret
|
||
|
; 930c7 (24:70c7)
|
||
|
|
||
|
UnknownText_0x930c7: ; 0x930c7
|
||
|
; Bet how many coins?
|
||
|
text_jump UnknownText_0x1c5049
|
||
|
db "@"
|
||
|
; 0x930cc
|
||
|
|
||
|
UnknownText_0x930cc: ; 0x930cc
|
||
|
; Start!
|
||
|
text_jump UnknownText_0x1c505e
|
||
|
db "@"
|
||
|
; 0x930d1
|
||
|
|
||
|
UnknownText_0x930d1: ; 0x930d1
|
||
|
; Not enough coins.
|
||
|
text_jump UnknownText_0x1c5066
|
||
|
db "@"
|
||
|
; 0x930d6
|
||
|
|
||
|
MenuDataHeader_0x930d6: ; 0x930d6
|
||
|
db $40 ; flags
|
||
|
db 10, 14 ; start coords
|
||
|
db 17, 19 ; end coords
|
||
|
dw MenuData2_0x930de
|
||
|
db 1 ; default option
|
||
|
; 0x930de
|
||
|
|
||
|
MenuData2_0x930de: ; 0x930de
|
||
|
db $80 ; flags
|
||
|
db 3 ; items
|
||
|
db " 3@"
|
||
|
db " 2@"
|
||
|
db " 1@"
|
||
|
; 0x930e9
|
||
|
|
||
|
Function930e9: ; 930e9 (24:70e9)
|
||
|
ld hl, Coins
|
||
|
ld a, [hli]
|
||
|
or [hl]
|
||
|
jr nz, .asm_930fd
|
||
|
ld hl, UnknownText_9311a
|
||
|
call PrintText
|
||
|
ld c, 60
|
||
|
call DelayFrames
|
||
|
jr .asm_93118
|
||
|
.asm_930fd
|
||
|
ld hl, UnknownText_9311f
|
||
|
call PrintText
|
||
|
call LoadMenuTextBox
|
||
|
lb bc, 14, 12
|
||
|
call PlaceYesNoBox
|
||
|
ld a, [MenuSelection2]
|
||
|
dec a
|
||
|
call WriteBackup
|
||
|
and a
|
||
|
jr nz, .asm_93118
|
||
|
and a
|
||
|
ret
|
||
|
.asm_93118
|
||
|
scf
|
||
|
ret
|
||
|
; 9311a (24:711a)
|
||
|
|
||
|
UnknownText_9311a: ; 9311a
|
||
|
text_jump UnknownText_0x1c5079
|
||
|
db "@"
|
||
|
|
||
|
UnknownText_9311f: ; 9311f
|
||
|
text_jump UnknownText_0x1c5092
|
||
|
db "@"
|
||
|
|
||
|
Function93124: ; 93124 (24:7124)
|
||
|
ld a, [EffectFailed]
|
||
|
cp $ff
|
||
|
jr z, .asm_93151
|
||
|
srl a
|
||
|
ld e, a
|
||
|
ld d, 0
|
||
|
ld hl, .data_93145
|
||
|
add hl, de
|
||
|
ld a, [hli]
|
||
|
ld [PlayerUsedMoves], a
|
||
|
ld e, a
|
||
|
ld a, [hl]
|
||
|
ld [wc711], a
|
||
|
ld d, a
|
||
|
callba MobileFn_105fe3
|
||
|
ret
|
||
|
|
||
|
.data_93145
|
||
|
db $2c, $01
|
||
|
db $32, $00
|
||
|
db $06, $00
|
||
|
db $08, $00
|
||
|
db $0a, $00
|
||
|
db $0f, $00
|
||
|
|
||
|
.asm_93151
|
||
|
ld hl, wc711
|
||
|
xor a
|
||
|
ld [hli], a
|
||
|
ld [hl], a
|
||
|
ret
|
||
|
|
||
|
Function93158: ; 93158 (24:7158)
|
||
|
ld a, [EffectFailed]
|
||
|
cp $ff
|
||
|
jr nz, .asm_9316c
|
||
|
ld hl, UnknownText_0x931e0
|
||
|
call PrintText
|
||
|
callba MobileFn_105fd0
|
||
|
ret
|
||
|
.asm_9316c
|
||
|
srl a
|
||
|
ld e, a
|
||
|
ld d, 0
|
||
|
ld hl, Unknown_93195
|
||
|
rept 3
|
||
|
add hl, de
|
||
|
endr
|
||
|
ld de, StringBuffer2
|
||
|
ld bc, $4
|
||
|
call CopyBytes
|
||
|
ld a, [hli]
|
||
|
ld h, [hl]
|
||
|
ld l, a
|
||
|
ld de, .asm_93188
|
||
|
push de
|
||
|
jp [hl]
|
||
|
.asm_93188
|
||
|
ld hl, UnknownText_0x931b9
|
||
|
call PrintText
|
||
|
callba MobileFn_105f9f
|
||
|
ret
|
||
|
; 93195 (24:7195)
|
||
|
|
||
|
Unknown_93195: ; 93195
|
||
|
db "300@"
|
||
|
dw Function931e5
|
||
|
db "50@@"
|
||
|
dw Function9320b
|
||
|
db "6@@@"
|
||
|
dw Function93214
|
||
|
db "8@@@"
|
||
|
dw Function93214
|
||
|
db "10@@"
|
||
|
dw Function93214
|
||
|
db "15@@"
|
||
|
dw Function93214
|
||
|
; 931b9
|
||
|
|
||
|
UnknownText_0x931b9: ; 0x931b9
|
||
|
start_asm
|
||
|
; 0x931ba
|
||
|
|
||
|
Function931ba: ; 931ba
|
||
|
ld a, [EffectFailed]
|
||
|
add $25
|
||
|
ldcoord_a 2, 13
|
||
|
inc a
|
||
|
ldcoord_a 2, 14
|
||
|
inc a
|
||
|
ldcoord_a 3, 13
|
||
|
inc a
|
||
|
ldcoord_a 3, 14
|
||
|
hlcoord 18, 17
|
||
|
ld [hl], $ee
|
||
|
ld hl, UnknownText_0x931db
|
||
|
rept 4
|
||
|
inc bc
|
||
|
endr
|
||
|
ret
|
||
|
; 931db
|
||
|
|
||
|
UnknownText_0x931db: ; 0x931db
|
||
|
; lined up! Won @ coins!
|
||
|
text_jump UnknownText_0x1c509f
|
||
|
db "@"
|
||
|
; 0x931e0
|
||
|
|
||
|
UnknownText_0x931e0: ; 0x931e0
|
||
|
; Darn!
|
||
|
text_jump UnknownText_0x1c50bb
|
||
|
db "@"
|
||
|
; 0x931e5
|
||
|
|
||
|
Function931e5: ; 931e5
|
||
|
ld a, SFX_2ND_PLACE
|
||
|
call Function9331e
|
||
|
call WaitSFX
|
||
|
ld a, [wd002]
|
||
|
and a
|
||
|
jr nz, .asm_931ff
|
||
|
call Random
|
||
|
and $14
|
||
|
ret z
|
||
|
ld a, $ff
|
||
|
ld [wc709], a
|
||
|
ret
|
||
|
|
||
|
.asm_931ff
|
||
|
call Random
|
||
|
and $1c
|
||
|
ret z
|
||
|
ld a, $ff
|
||
|
ld [wc709], a
|
||
|
ret
|
||
|
; 9320b
|
||
|
|
||
|
Function9320b: ; 9320b
|
||
|
ld a, SFX_3RD_PLACE
|
||
|
call Function9331e
|
||
|
call WaitSFX
|
||
|
ret
|
||
|
; 93214
|
||
|
|
||
|
Function93214: ; 93214
|
||
|
ld a, SFX_PRESENT
|
||
|
call Function9331e
|
||
|
call WaitSFX
|
||
|
ret
|
||
|
; 9321d
|
||
|
|
||
|
Function9321d: ; 9321d (24:721d)
|
||
|
ld hl, $b
|
||
|
add hl, bc
|
||
|
ld e, [hl]
|
||
|
ld d, 0
|
||
|
ld hl, Jumptable_9322d
|
||
|
rept 2
|
||
|
add hl, de
|
||
|
endr
|
||
|
ld a, [hli]
|
||
|
ld h, [hl]
|
||
|
ld l, a
|
||
|
jp [hl]
|
||
|
|
||
|
Jumptable_9322d: ; 9322d (24:722d)
|
||
|
dw Function93233
|
||
|
dw Function93259
|
||
|
dw Function93289
|
||
|
|
||
|
|
||
|
Function93233: ; 93233 (24:7233)
|
||
|
ld hl, $e
|
||
|
add hl, bc
|
||
|
ld a, [hl]
|
||
|
and a
|
||
|
jr nz, .asm_93247
|
||
|
ld a, $2
|
||
|
ld [wcf64], a
|
||
|
ld hl, 0
|
||
|
add hl, bc
|
||
|
ld [hl], $0
|
||
|
ret
|
||
|
.asm_93247
|
||
|
dec [hl]
|
||
|
ld hl, $b
|
||
|
add hl, bc
|
||
|
inc [hl]
|
||
|
ld hl, $c
|
||
|
add hl, bc
|
||
|
ld [hl], $30
|
||
|
ld hl, $6
|
||
|
add hl, bc
|
||
|
ld [hl], $0
|
||
|
|
||
|
Function93259: ; 93259 (24:7259)
|
||
|
ld hl, $c
|
||
|
add hl, bc
|
||
|
ld a, [hl]
|
||
|
cp $20
|
||
|
jr c, .asm_93273
|
||
|
dec [hl]
|
||
|
ld e, a
|
||
|
ld d, $70
|
||
|
callba Functionce765
|
||
|
ld a, e
|
||
|
ld hl, $7
|
||
|
add hl, bc
|
||
|
ld [hl], a
|
||
|
ret
|
||
|
.asm_93273
|
||
|
ld hl, $b
|
||
|
add hl, bc
|
||
|
inc [hl]
|
||
|
ld hl, $d
|
||
|
add hl, bc
|
||
|
ld [hl], $2
|
||
|
ld a, $1
|
||
|
ld [wcf64], a
|
||
|
ld a, SFX_PLACE_PUZZLE_PIECE_DOWN
|
||
|
call Function9331e
|
||
|
ret
|
||
|
|
||
|
Function93289: ; 93289 (24:7289)
|
||
|
ld hl, $6
|
||
|
add hl, bc
|
||
|
ld a, [hl]
|
||
|
rept 2
|
||
|
inc [hl]
|
||
|
endr
|
||
|
cp $48
|
||
|
jr nc, .asm_932a3
|
||
|
and $3
|
||
|
ret nz
|
||
|
ld hl, $d
|
||
|
add hl, bc
|
||
|
ld a, [hl]
|
||
|
xor $ff
|
||
|
inc a
|
||
|
ld [hl], a
|
||
|
ld [hSCY], a
|
||
|
ret
|
||
|
.asm_932a3
|
||
|
ld hl, $b
|
||
|
add hl, bc
|
||
|
xor a
|
||
|
ld [hl], a
|
||
|
ld [hSCY], a
|
||
|
ret
|
||
|
|
||
|
Function932ac: ; 932ac (24:72ac)
|
||
|
ld hl, $b
|
||
|
add hl, bc
|
||
|
ld e, [hl]
|
||
|
ld d, 0
|
||
|
ld hl, Jumptable_932bc
|
||
|
rept 2
|
||
|
add hl, de
|
||
|
endr
|
||
|
ld a, [hli]
|
||
|
ld h, [hl]
|
||
|
ld l, a
|
||
|
jp [hl]
|
||
|
|
||
|
Jumptable_932bc: ; 932bc (24:72bc)
|
||
|
dw Function932c2
|
||
|
dw Function932e0
|
||
|
dw Function932fc
|
||
|
|
||
|
|
||
|
Function932c2: ; 932c2 (24:72c2)
|
||
|
ld hl, $4
|
||
|
add hl, bc
|
||
|
ld a, [hl]
|
||
|
inc [hl]
|
||
|
cp $68
|
||
|
jr z, .asm_932d6
|
||
|
and $f
|
||
|
ret nz
|
||
|
ld de, SFX_JUMP_OVER_LEDGE
|
||
|
call PlaySFX
|
||
|
ret
|
||
|
.asm_932d6
|
||
|
ld hl, $b
|
||
|
add hl, bc
|
||
|
inc [hl]
|
||
|
ld a, $1
|
||
|
ld [wcf64], a
|
||
|
|
||
|
Function932e0: ; 932e0 (24:72e0)
|
||
|
ld a, [wcf64]
|
||
|
cp $2
|
||
|
jr z, .asm_932f1
|
||
|
cp $5
|
||
|
ret nz
|
||
|
ld hl, 0
|
||
|
add hl, bc
|
||
|
ld [hl], $0
|
||
|
ret
|
||
|
.asm_932f1
|
||
|
ld hl, $b
|
||
|
add hl, bc
|
||
|
inc [hl]
|
||
|
ld hl, $c
|
||
|
add hl, bc
|
||
|
ld [hl], $8
|
||
|
|
||
|
Function932fc: ; 932fc (24:72fc)
|
||
|
ld hl, $c
|
||
|
add hl, bc
|
||
|
ld a, [hl]
|
||
|
and a
|
||
|
jr z, .asm_93306
|
||
|
dec [hl]
|
||
|
ret
|
||
|
.asm_93306
|
||
|
ld hl, $b
|
||
|
add hl, bc
|
||
|
dec [hl]
|
||
|
push bc
|
||
|
ld de, $606c
|
||
|
ld a, $8
|
||
|
call Function3b2a
|
||
|
pop bc
|
||
|
ret
|
||
|
; 93316 (24:7316)
|
||
|
|
||
|
Function93316: ; 93316
|
||
|
push bc
|
||
|
ld c, 16
|
||
|
call DelayFrames
|
||
|
pop bc
|
||
|
ret
|
||
|
; 9331e
|
||
|
|
||
|
Function9331e: ; 9331e (24:731e)
|
||
|
push de
|
||
|
ld e, a
|
||
|
ld d, 0
|
||
|
call PlaySFX
|
||
|
pop de
|
||
|
ret
|
||
|
; 93327 (24:7327)
|
||
|
|
||
|
Unknown_93327: ; 93327
|
||
|
db $00, $08, $14, $0c, $10, $00, $08, $14, $0c, $10, $04, $08, $14, $0c, $10, $00, $08, $14
|
||
|
Unknown_93339: ; 93339
|
||
|
db $00, $0c, $08, $10, $14, $04, $0c, $08, $10, $14, $04, $0c, $08, $10, $14, $00, $0c, $08
|
||
|
Unknown_9334b: ; 9334b
|
||
|
db $00, $0c, $08, $10, $14, $0c, $08, $10, $14, $0c, $04, $08, $10, $14, $0c, $00, $0c, $08
|
||
|
; 9335d
|
||
|
|
||
|
SlotsTilemap: ; 9335d
|
||
|
INCBIN "gfx/slots.tilemap"
|
||
|
; 9344d
|
||
|
|
||
|
Slots1LZ: ; 9344d
|
||
|
INCBIN "gfx/slots_1.2bpp.lz"
|
||
|
; 935cd
|
||
|
|
||
|
Slots2LZ: ; 935cd
|
||
|
INCBIN "gfx/slots_2.2bpp.lz"
|
||
|
; 9382d
|
||
|
|
||
|
Slots3LZ: ; 9382d
|
||
|
INCBIN "gfx/slots_3.2bpp.lz"
|
||
|
; 93a3d
|