Skip to content

Instantly share code, notes, and snippets.

Created November 2, 2017 23:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/7f25efd80e8972d9ffa6a3c0cdfed701 to your computer and use it in GitHub Desktop.
Save anonymous/7f25efd80e8972d9ffa6a3c0cdfed701 to your computer and use it in GitHub Desktop.
1 'Penpen Bubble ---- for MSX2
1 'Penpen Bubble ---- for MSX2
2 'The goal of the game is to erase all bubbles.
3 'You can push bubbles. When they hit each other,
4 'they disappear.
5 '-------------------------------------------------
6 '2017 N.I Web: http://ni.x0.com/
7 clear200,&ha4ff:bload"PEN.BIN"
8 defusr=&ha500:a=usr(0):stop
{"asm":{"filename":"pen.bin","build":"bin"},"basic":{}}
org #A500
call _main_0067_code
ret
_mode_002c_code:
ld hl,5
ld de,(_functiondatareferencestore)
add hl,de
ld l,(hl)
ld h,0
ld (_valuestore),hl
ld hl,(_valuestore)
ld bc,0
or a
sbc hl,bc
jp nz,__end_if_00000
jp _switchcase_00di
jp __end_else_00000
__end_if_00000:
ld hl,(_valuestore)
ld bc,1
or a
sbc hl,bc
jp nz,__end_if_00001
jp _switchcase_00dj
jp __end_else_00001
__end_if_00001:
ld hl,(_valuestore)
ld bc,2
or a
sbc hl,bc
jp nz,__end_if_00002
jp _switchcase_00dk
jp __end_else_00002
__end_if_00002:
ld hl,(_valuestore)
ld bc,3
or a
sbc hl,bc
jp nz,__end_if_00003
jp _switchcase_00dl
jp __end_else_00003
__end_if_00003:
jp _switchexit_00dh
__end_else_00003:
__end_else_00002:
__end_else_00001:
__end_else_00000:
_switchcase_00di:
ld hl,62432
push hl
ld hl,62432
ld a,(hl)
and 252
pop hl
ld (hl),a
ld a,8
ld (__spr_length),a
jp _switchexit_00dh
_switchcase_00dj:
ld hl,62432
push hl
ld hl,62432
ld a,(hl)
and 252
or 1
pop hl
ld (hl),a
ld a,8
ld (__spr_length),a
jp _switchexit_00dh
_switchcase_00dk:
ld hl,62432
push hl
ld hl,62432
ld a,(hl)
and 252
or 2
pop hl
ld (hl),a
ld a,32
ld (__spr_length),a
jp _switchexit_00dh
_switchcase_00dl:
ld hl,62432
push hl
ld hl,62432
ld a,(hl)
and 252
or 3
pop hl
ld (hl),a
ld a,32
ld (__spr_length),a
jp _switchexit_00dh
_switchexit_00dh:
ld hl,-1
ld de,(_functiondatareferencestore)
add hl,de
push hl
ld hl,64687
ld a,(hl)
pop hl
ld (hl),a
ld hl,-1
ld de,(_functiondatareferencestore)
add hl,de
ld l,(hl)
ld h,0
ld (_valuestore),hl
ld hl,(_valuestore)
ld bc,1
or a
sbc hl,bc
jp nz,__end_if_00004
jp _switchcase_00dp
jp __end_else_00004
__end_if_00004:
ld hl,(_valuestore)
ld bc,2
or a
sbc hl,bc
jp nz,__end_if_00005
jp _switchcase_00dq
jp __end_else_00005
__end_if_00005:
ld hl,(_valuestore)
ld bc,3
or a
sbc hl,bc
jp nz,__end_if_00006
jp _switchcase_00dr
jp __end_else_00006
__end_if_00006:
ld hl,(_valuestore)
ld bc,4
or a
sbc hl,bc
jp nz,__end_if_00007
jp _switchcase_00ds
jp __end_else_00007
__end_if_00007:
ld hl,(_valuestore)
ld bc,5
or a
sbc hl,bc
jp nz,__end_if_00008
jp _switchcase_00dt
jp __end_else_00008
__end_if_00008:
ld hl,(_valuestore)
ld bc,6
or a
sbc hl,bc
jp nz,__end_if_00009
jp _switchcase_00du
jp __end_else_00009
__end_if_00009:
ld hl,(_valuestore)
ld bc,7
or a
sbc hl,bc
jp nz,__end_if_00010
jp _switchcase_00dv
jp __end_else_00010
__end_if_00010:
ld hl,(_valuestore)
ld bc,8
or a
sbc hl,bc
jp nz,__end_if_00011
jp _switchcase_00dw
jp __end_else_00011
__end_if_00011:
jp _switchexit_00do
__end_else_00011:
__end_else_00010:
__end_else_00009:
__end_else_00008:
__end_else_00007:
__end_else_00006:
__end_else_00005:
__end_else_00004:
_switchcase_00dp:
_switchcase_00dq:
_switchcase_00dr:
ld hl,6912
ld (__spr_satblad),hl
ld hl,14336
ld (__spr_sgtblad),hl
jp _switchexit_00do
_switchcase_00ds:
ld hl,7680
ld (__spr_satblad),hl
ld hl,7168
ld (__spr_sctblad),hl
ld hl,14336
ld (__spr_sgtblad),hl
jp _switchexit_00do
_switchcase_00dt:
_switchcase_00du:
ld hl,30208
ld (__spr_satblad),hl
ld hl,29696
ld (__spr_sctblad),hl
ld hl,30720
ld (__spr_sgtblad),hl
jp _switchexit_00do
_switchcase_00dv:
_switchcase_00dw:
ld hl,64000
ld (__spr_satblad),hl
ld hl,63488
ld (__spr_sctblad),hl
ld hl,61440
ld (__spr_sgtblad),hl
jp _switchexit_00do
_switchexit_00do:
ld hl,-1
ld de,(_functiondatareferencestore)
add hl,de
ld a,(hl)
call __chgmod
ret
_sprite_002d_code:
ld hl,-2
ld de,(_functiondatareferencestore)
add hl,de
push hl
ld a,(__spr_length)
ld c,a
ld b,0
pop hl
ld (hl),c
inc hl
ld (hl),b
ld hl,4
ld de,(_functiondatareferencestore)
add hl,de
ld e,(hl)
inc hl
ld d,(hl)
push de
ld hl,6
ld de,(_functiondatareferencestore)
add hl,de
push hl
ld hl,-2
ld de,(_functiondatareferencestore)
add hl,de
ld c,(hl)
inc hl
ld b,(hl)
pop hl
ld e,(hl)
inc hl
ld d,(hl)
ex de,hl
ld de,0
ex de,hl
ld a,16
srl b
rr c
jr nc,$+3
add hl,de
sla e
rl d
dec a
jr nz,$-12
ld b,h
ld c,l
push bc
ld hl,(__spr_sgtblad)
pop bc
add hl,bc
push hl
ld hl,-2
ld de,(_functiondatareferencestore)
add hl,de
ld e,(hl)
inc hl
ld d,(hl)
push de
call _ldirvm_0019
inc sp
inc sp
inc sp
inc sp
inc sp
inc sp
ret
_spritecolor_002e_code:
ld hl,4
ld de,(_functiondatareferencestore)
add hl,de
ld e,(hl)
inc hl
ld d,(hl)
push de
ld hl,6
ld de,(_functiondatareferencestore)
add hl,de
ld e,(hl)
inc hl
ld d,(hl)
ex de,hl
ld a,16
ld de,0
ex de,hl
ld b,8
rra
jr nc,$+3
add hl,de
sla e
rl d
djnz $-8
ld b,h
ld c,l
push bc
ld hl,(__spr_sctblad)
pop bc
add hl,bc
push hl
ld hl,16
push hl
call _ldirvm_0019
inc sp
inc sp
inc sp
inc sp
inc sp
inc sp
ret
_main_0067_code:
ld a,1
call __chgmod
ld hl,#0108
ld de,#0400
__chrbold: call #004A
ld b,a
srl a
or b
call #004D
inc hl
rst #20
jr nz,__chrbold
ld hl,256
push hl
ld hl,_g1_005t
push hl
ld hl,736
push hl
call _ldirmv_001k
inc sp
inc sp
inc sp
inc sp
inc sp
inc sp
ld a,15
push af
xor a
push af
push af
call _color_0010
inc sp
inc sp
inc sp
inc sp
inc sp
inc sp
ld a,4
call __chgmod
xor a
_cliksw: equ #F3DB
ld (_cliksw),a
ld a,128
ld b,a
ld a,(#180)
cp #C3
ld a,b
call z,#180
ld a,1
push af
call _mode_002c
inc sp
inc sp
ld hl,_i_0055
ld (hl),0&#00FF
__start_for_00000:
ld hl,_i_0055
ld a,(hl)
cp 10
jp nc,__end_for_00000
ld hl,_i_0055
ld l,(hl)
ld h,0
push hl
ld hl,_i_0055
ld a,(hl)
ld e,8
ld d,a
xor a
ld b,8
srl e
jr nc,$+3
add a,d
sla d
djnz $-7
ld c,a
ld b,0
ld hl,_spptn_005w
add hl,bc
push hl
call _sprite_002d
inc sp
inc sp
inc sp
inc sp
_forcontinue_00dy:
ld hl,_i_0055
inc (hl)
jp __start_for_00000
__end_for_00000:
_forbreak_00dz:
call _cls_0015
ld hl,_g1_005t
push hl
ld hl,32
push hl
ld hl,736
push hl
call _ldirvm_0019
inc sp
inc sp
inc sp
inc sp
inc sp
inc sp
ld hl,_g1_005t
push hl
ld hl,2080
push hl
ld hl,736
push hl
call _ldirvm_0019
inc sp
inc sp
inc sp
inc sp
inc sp
inc sp
ld hl,_g1_005t
push hl
ld hl,4128
push hl
ld hl,736
push hl
call _ldirvm_0019
inc sp
inc sp
inc sp
inc sp
inc sp
inc sp
ld hl,_g1_005t
push hl
ld hl,256
push hl
ld hl,736
push hl
call _ldirvm_0019
inc sp
inc sp
inc sp
inc sp
inc sp
inc sp
ld hl,_g1_005t
push hl
ld hl,2304
push hl
ld hl,736
push hl
call _ldirvm_0019
inc sp
inc sp
inc sp
inc sp
inc sp
inc sp
ld hl,_g1_005t
push hl
ld hl,4352
push hl
ld hl,736
push hl
call _ldirvm_0019
inc sp
inc sp
inc sp
inc sp
inc sp
inc sp
ld hl,8192
push hl
ld a,240
push af
ld hl,6144
push hl
call _filvrm_001l
inc sp
inc sp
inc sp
inc sp
inc sp
inc sp
ld hl,_i_0055
ld (hl),0&#00FF
__start_for_00001:
ld hl,_i_0055
ld a,(hl)
cp 4
jp nc,__end_for_00001
ld hl,_i_0055
ld l,(hl)
ld h,0
push hl
ld hl,_i_0055
ld a,(hl)
ld e,16
ld d,a
xor a
ld b,8
srl e
jr nc,$+3
add a,d
sla d
djnz $-7
ld c,a
ld b,0
ld hl,_chptn_005y
add hl,bc
push hl
call _chr_0025
inc sp
inc sp
inc sp
inc sp
ld hl,_i_0055
ld l,(hl)
ld h,0
push hl
ld hl,_i_0055
ld a,(hl)
ld e,16
ld d,a
xor a
ld b,8
srl e
jr nc,$+3
add a,d
sla d
djnz $-7
ld c,a
ld b,0
ld hl,_chptn_005y
add hl,bc
ld bc,8
add hl,bc
push hl
call _chrcolor_0026
inc sp
inc sp
inc sp
inc sp
_forcontinue_00e0:
ld hl,_i_0055
inc (hl)
jp __start_for_00001
__end_for_00001:
_forbreak_00e1:
ld a,8
push af
ld a,2
push af
push af
ld a,5
push af
call _color_003q
ld hl,8
add hl,sp
ld sp,hl
ld a,11
push af
ld a,2
push af
push af
ld a,8
push af
call _color_003q
ld hl,8
add hl,sp
ld sp,hl
ld a,14
push af
ld a,5
push af
push af
push af
call _color_003q
ld hl,8
add hl,sp
ld sp,hl
ld hl,_hs_005s
ld bc,0
ld (hl),c
inc hl
ld (hl),b
call _titinit_0069_code
__start_while_00000:
ld a,1
or a
jp z,__end_while_00000
ld hl,_k1_0059
push hl
xor a
call __gtstck
push af
ld a,1
call __gtstck
ld b,a
pop af
or b
pop hl
ld (hl),a
ld hl,_ks_005a
push hl
xor a
call __gttrig
push af
ld a,1
call __gttrig
ld b,a
pop af
or b
pop hl
ld (hl),a
ld a,5
call __snsmat
and 128
or a
jp nz,__end_if_00012
ld hl,_ks_005a
ld (hl),1&#00FF
__end_if_00012:
ld hl,_ks_005a
ld a,(hl)
or a
ld a,0
jr nz,$+3
inc a
or a
jp z,__end_if_00013
ld hl,_kzs_005b
ld (hl),0&#00FF
__end_if_00013:
ld hl,_mo_0058
ld l,(hl)
ld h,0
ld (_valuestore),hl
ld hl,(_valuestore)
ld bc,0
or a
sbc hl,bc
jp nz,__end_if_00014
jp _switchcase_00e6
jp __end_else_00014
__end_if_00014:
ld hl,(_valuestore)
ld bc,1
or a
sbc hl,bc
jp nz,__end_if_00015
jp _switchcase_00e9
jp __end_else_00015
__end_if_00015:
ld hl,(_valuestore)
ld bc,2
or a
sbc hl,bc
jp nz,__end_if_00016
jp _switchcase_00ea
jp __end_else_00016
__end_if_00016:
ld hl,(_valuestore)
ld bc,3
or a
sbc hl,bc
jp nz,__end_if_00017
jp _switchcase_00ed
jp __end_else_00017
__end_if_00017:
jp _switchexit_00e5
__end_else_00017:
__end_else_00016:
__end_else_00015:
__end_else_00014:
_switchcase_00e6:
call _titloop_006a_code
ld hl,_ks_005a
push hl
ld hl,_kzs_005b
ld a,(hl)
or a
ld a,0
jr nz,$+3
inc a
ld b,a
pop de
ld a,(de)
or a
jr z,$+8
ld a,b
or a
jr z,$+4
ld a,1
or a
jp z,__end_if_00018
call _ginit_006b_code
__end_if_00018:
ld hl,_v_005o
ld bc,0
ld (hl),c
inc hl
ld (hl),b
__start_for_00002:
ld hl,_v_005o
ld e,(hl)
inc hl
ld d,(hl)
ex de,hl
ld bc,500
or a
sbc hl,bc
jp nc,__end_for_00002
_forcontinue_00e7:
ld hl,_v_005o
ld e,(hl)
inc hl
ld d,(hl)
inc de
ld (hl),d
dec hl
ld (hl),e
jp __start_for_00002
__end_for_00002:
_forbreak_00e8:
jp _switchexit_00e5
_switchcase_00e9:
call _gloop_006g_code
ld hl,_g1_005t
push hl
ld hl,6144
push hl
ld hl,736
push hl
call _ldirvm_0019
inc sp
inc sp
inc sp
inc sp
inc sp
inc sp
jp _switchexit_00e5
_switchcase_00ea:
ld a,11
push af
push af
ld hl,__string_00000
push hl
call _print_001m
inc sp
inc sp
inc sp
inc sp
inc sp
inc sp
ld hl,_a_005c
ld (hl),13&#00FF
call _prinths_006d_code
ld hl,7682
push hl
ld a,7
push af
call _vpoke_0013
inc sp
inc sp
inc sp
inc sp
ld hl,_ks_005a
push hl
ld hl,_kzs_005b
ld a,(hl)
or a
ld a,0
jr nz,$+3
inc a
ld b,a
pop de
ld a,(de)
or a
jr z,$+8
ld a,b
or a
jr z,$+4
ld a,1
or a
jp z,__end_if_00019
call _titinit_0069_code
__end_if_00019:
ld hl,_v_005o
ld bc,0
ld (hl),c
inc hl
ld (hl),b
__start_for_00003:
ld hl,_v_005o
ld e,(hl)
inc hl
ld d,(hl)
ex de,hl
ld bc,100
or a
sbc hl,bc
jp nc,__end_for_00003
_forcontinue_00eb:
ld hl,_v_005o
ld e,(hl)
inc hl
ld d,(hl)
inc de
ld (hl),d
dec hl
ld (hl),e
jp __start_for_00003
__end_for_00003:
_forbreak_00ec:
jp _switchexit_00e5
_switchcase_00ed:
ld a,13
push af
ld a,11
push af
ld hl,__string_00001
push hl
call _print_001m
inc sp
inc sp
inc sp
inc sp
inc sp
inc sp
ld hl,_ks_005a
push hl
ld hl,_kzs_005b
ld a,(hl)
or a
ld a,0
jr nz,$+3
inc a
ld b,a
pop de
ld a,(de)
or a
jr z,$+8
ld a,b
or a
jr z,$+4
ld a,1
or a
jp z,__end_if_00020
call _ginit_006b_code
__end_if_00020:
ld hl,_v_005o
ld bc,0
ld (hl),c
inc hl
ld (hl),b
__start_for_00004:
ld hl,_v_005o
ld e,(hl)
inc hl
ld d,(hl)
ex de,hl
ld bc,100
or a
sbc hl,bc
jp nc,__end_for_00004
_forcontinue_00ee:
ld hl,_v_005o
ld e,(hl)
inc hl
ld d,(hl)
inc de
ld (hl),d
dec hl
ld (hl),e
jp __start_for_00004
__end_for_00004:
_forbreak_00ef:
jp _switchexit_00e5
_switchexit_00e5:
ld a,7
call __snsmat
and 4
or a
jp nz,__end_if_00021
call __kilbuf
jp _whilebreak_00e3
__end_if_00021:
ld hl,_v_005o
push hl
call _next_0047
ld b,h
ld c,l
pop hl
ld (hl),c
inc hl
ld (hl),b
ld hl,_ply_flg_0061
ld a,(hl)
or a
jp z,__end_if_00022
call _playloop_006l_code
__end_if_00022:
ld hl,_snd_flg_0065
ld a,(hl)
or a
jp z,__end_if_00023
ld hl,_snd_flg_0065
dec (hl)
ld hl,_snd_flg2_0066
ld b,(hl)
xor a
cp b
jp nc,__end_if_00024
ld hl,_snd_flg2_0066
dec (hl)
__end_if_00024:
ld hl,_snd_flg2_0066
ld a,(hl)
cp 1
jp nz,__end_if_00025
ld a,8
push af
ld a,13
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld hl,_snd_flg2_0066
ld (hl),0&#00FF
__end_if_00025:
ld hl,_snd_flg_0065
ld a,(hl)
or a
jp nz,__end_if_00026
ld a,8
push af
xor a
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld a,9
push af
xor a
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
__end_if_00026:
__end_if_00023:
_whilecontinue_00e2:
jp __start_while_00000
__end_while_00000:
_whilebreak_00e3:
ld a,1
call __chgmod
ld a,14
push af
ld a,3
push af
push af
push af
call _color_003q
ld hl,8
add hl,sp
ld sp,hl
ld a,13
push af
ld a,5
push af
ld a,2
push af
push af
call _color_003q
ld hl,8
add hl,sp
ld sp,hl
ret
_clearall_0068_code:
ld hl,_i_0055
ld (hl),0&#00FF
__start_for_00005:
ld hl,_i_0055
ld a,(hl)
cp 32
jp nc,__end_for_00005
ld hl,_i_0055
ld a,(hl)
push af
xor a
push af
ld a,209
push af
xor a
push af
push af
call _put_002f
ld hl,10
add hl,sp
ld sp,hl
_forcontinue_00eg:
ld hl,_i_0055
inc (hl)
jp __start_for_00005
__end_for_00005:
_forbreak_00eh:
ld hl,_t_004s
push hl
ld hl,16
push hl
call _ldir_001o
inc sp
inc sp
inc sp
inc sp
call _cls_0015
ret
_titinit_0069_code:
call _clearall_0068_code
ld hl,6144
push hl
xor a
push af
ld hl,768
push hl
call _filvrm_001l
inc sp
inc sp
inc sp
inc sp
inc sp
inc sp
ld a,9
push af
ld a,5
push af
ld hl,__string_00002
push hl
call _print_001m
inc sp
inc sp
inc sp
inc sp
inc sp
inc sp
ld a,9
push af
ld a,15
push af
ld hl,__string_00003
push hl
call _print_001m
inc sp
inc sp
inc sp
inc sp
inc sp
inc sp
ld a,10
push af
ld a,18
push af
ld hl,__string_00004
push hl
call _print_001m
inc sp
inc sp
inc sp
inc sp
inc sp
inc sp
ld a,10
push af
ld a,19
push af
ld hl,__string_00005
push hl
call _print_001m
inc sp
inc sp
inc sp
inc sp
inc sp
inc sp
ld a,10
push af
ld a,20
push af
ld hl,__string_00006
push hl
call _print_001m
inc sp
inc sp
inc sp
inc sp
inc sp
inc sp
ld a,12
push af
ld a,22
push af
ld hl,__string_00007
push hl
call _print_001m
inc sp
inc sp
inc sp
inc sp
inc sp
inc sp
ld hl,_a_005c
ld (hl),1&#00FF
call _prinths_006d_code
ld a,7
push af
ld a,170
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld a,8
push af
xor a
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld a,9
push af
xor a
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld a,10
push af
xor a
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld hl,__string_00008
push hl
ld hl,2
push hl
call _playset_006k
inc sp
inc sp
inc sp
inc sp
ld hl,0
push hl
ld hl,_spcol_005x
push hl
call _spritecolor_002e
inc sp
inc sp
inc sp
inc sp
xor a
push af
ld a,120
push af
ld a,60
push af
xor a
push af
push af
call _put_002f
ld hl,10
add hl,sp
ld sp,hl
ld hl,_sc_005q
ld bc,0
ld (hl),c
inc hl
ld (hl),b
ld hl,_lv_005g
ld (hl),0&#00FF
ld hl,_pw_005r
ld bc,3
ld (hl),c
inc hl
ld (hl),b
ld hl,_mo_0058
ld (hl),0&#00FF
ld hl,_kzs_005b
ld (hl),1&#00FF
ret
_titloop_006a_code:
ret
_ginit_006b_code:
call _clearall_0068_code
ld hl,_g1_005t
push hl
ld hl,768
push hl
call _ldir_001o
inc sp
inc sp
inc sp
inc sp
ld hl,_ii_005h
push hl
ld hl,2
push hl
call _ldir_001o
inc sp
inc sp
inc sp
inc sp
ld hl,_t_004s
push hl
ld hl,16
push hl
call _ldir_001o
inc sp
inc sp
inc sp
inc sp
call _printstatus_006c_code
ld hl,_re_004w
ld (hl),0&#00FF
ld hl,_x_004y
ld (hl),120&#00FF
ld hl,_y_004z
ld (hl),80&#00FF
ld hl,_c_0050
ld (hl),0&#00FF
ld hl,_k_005d
ld (hl),16&#00FF
ld hl,_yy_005e
ld (hl),1&#00FF
ld hl,_mu_004x
ld (hl),0&#00FF
ld hl,_itk_005f
ld (hl),32&#00FF
ld hl,_fls_005n
ld (hl),0&#00FF
ld hl,_i_0055
ld (hl),0&#00FF
__start_for_00006:
ld hl,_i_0055
ld a,(hl)
cp 16
jp nc,__end_for_00006
__start_do_00000:
ld hl,_sx_0053
push hl
call _next_0047
ld b,h
ld c,l
ld hl,240
ld de,0
ex de,hl
ld a,b
ld b,16
sll c
rla
adc hl,hl
sbc hl,de
jr nc,$+4
add hl,de
dec c
djnz $-11
ld a,l
pop hl
ld (hl),a
ld hl,_sy_0054
push hl
call _next_0047
ld b,h
ld c,l
ld hl,136
ld de,0
ex de,hl
ld a,b
ld b,16
sll c
rla
adc hl,hl
sbc hl,de
jr nc,$+4
add hl,de
dec c
djnz $-11
ld a,l
add a,32
pop hl
ld (hl),a
ld hl,_a_005c
ld (hl),0&#00FF
ld hl,_j_0056
ld (hl),0&#00FF
__start_for_00007:
ld hl,_j_0056
push hl
ld hl,_i_0055
ld b,(hl)
pop de
ld a,(de)
cp b
jp nc,__end_for_00007
ld hl,_sx_0053
push hl
ld hl,_j_0056
ld c,(hl)
ld b,0
ld hl,_tx_004t
add hl,bc
ld b,(hl)
pop de
ld a,(de)
sub b
bit 7,a
jr z,$+3
neg
cp 16
ld a,0
rla
push af
ld hl,_sy_0054
push hl
ld hl,_j_0056
ld c,(hl)
ld b,0
ld hl,_ty_004u
add hl,bc
ld b,(hl)
pop de
ld a,(de)
sub b
bit 7,a
jr z,$+3
neg
cp 16
ld a,0
rla
ld b,a
pop af
or a
jr z,$+8
ld a,b
or a
jr z,$+4
ld a,1
or a
jp z,__end_if_00027
ld hl,_a_005c
ld (hl),1&#00FF
__end_if_00027:
_forcontinue_00em:
ld hl,_j_0056
inc (hl)
jp __start_for_00007
__end_for_00007:
_forbreak_00en:
_docontinue_00ek:
ld hl,_a_005c
ld a,(hl)
or a
jp nz,__start_do_00000
_dobreak_00el:
ld hl,_i_0055
ld c,(hl)
ld b,0
ld hl,_t_004s
add hl,bc
ld (hl),1&#00FF
ld hl,_i_0055
ld c,(hl)
ld b,0
ld hl,_tx_004t
add hl,bc
push hl
ld hl,_sx_0053
ld a,(hl)
pop hl
ld (hl),a
ld hl,_i_0055
ld c,(hl)
ld b,0
ld hl,_ty_004u
add hl,bc
push hl
ld hl,_sy_0054
ld a,(hl)
pop hl
ld (hl),a
ld hl,_i_0055
ld c,(hl)
ld b,0
ld hl,_th_004v
add hl,bc
ld (hl),0&#00FF
ld hl,_i_0055
ld a,(hl)
inc a
ld l,a
ld h,0
push hl
ld hl,_lv_005g
ld a,(hl)
and 3
ld e,8
ld d,a
xor a
ld b,8
srl e
jr nc,$+3
add a,d
sla d
djnz $-7
ld c,a
ld b,0
ld hl,_spcol_005x+8
add hl,bc
push hl
call _spritecolor_002e
inc sp
inc sp
inc sp
inc sp
_forcontinue_00ei:
ld hl,_i_0055
inc (hl)
jp __start_for_00006
__end_for_00006:
_forbreak_00ej:
ld hl,_mo_0058
ld (hl),1&#00FF
ret
_printstatus_006c_code:
ld hl,_buf_005u
push hl
ld hl,_lv_005g
ld a,(hl)
inc a
push af
call _shorttodec_000f
inc sp
inc sp
inc sp
inc sp
ld hl,_f_i_0057
ld (hl),0&#00FF
__start_while_00001:
ld hl,_f_i_0057
ld c,(hl)
ld b,0
ld hl,_buf_005u
add hl,bc
ld a,(hl)
cp 48
jp nz,__end_while_00001
ld hl,_f_i_0057
ld c,(hl)
ld b,0
ld hl,_buf_005u
add hl,bc
ld (hl),32&#00FF
ld hl,_f_i_0057
inc (hl)
_whilecontinue_00eo:
jp __start_while_00001
__end_while_00001:
_whilebreak_00ep:
ld a,4
push af
ld a,23
push af
ld hl,__string_00009
push hl
call _print_001m
inc sp
inc sp
inc sp
inc sp
inc sp
inc sp
ld a,7
push af
ld a,23
push af
ld hl,_buf_005u+1
push hl
call _print_001m
inc sp
inc sp
inc sp
inc sp
inc sp
inc sp
ld hl,_buf_005u
push hl
ld hl,_sc_005q
ld e,(hl)
inc hl
ld d,(hl)
push de
call _inttodec_000i
inc sp
inc sp
inc sp
inc sp
ld hl,_f_i_0057
ld (hl),0&#00FF
__start_while_00002:
ld hl,_f_i_0057
ld c,(hl)
ld b,0
ld hl,_buf_005u
add hl,bc
ld a,(hl)
cp 48
jp nz,__end_while_00002
ld hl,_f_i_0057
ld c,(hl)
ld b,0
ld hl,_buf_005u
add hl,bc
ld (hl),32&#00FF
ld hl,_f_i_0057
inc (hl)
_whilecontinue_00eq:
jp __start_while_00002
__end_while_00002:
_whilebreak_00er:
ld hl,_buf_005u+5
ld (hl),48&#00FF
ld hl,_buf_005u+6
ld (hl),0&#00FF
ld a,12
push af
ld a,23
push af
ld hl,__string_00010
push hl
call _print_001m
inc sp
inc sp
inc sp
inc sp
inc sp
inc sp
ld a,15
push af
ld a,23
push af
ld hl,_buf_005u+1
push hl
call _print_001m
inc sp
inc sp
inc sp
inc sp
inc sp
inc sp
ld a,23
push af
push af
ld hl,__string_00011
push hl
call _print_001m
inc sp
inc sp
inc sp
inc sp
inc sp
inc sp
ld hl,6907
push hl
ld hl,_pw_005r
ld c,(hl)
inc hl
ld b,(hl)
ld hl,48
add hl,bc
ld a,l
push af
call _vpoke_0013
inc sp
inc sp
inc sp
inc sp
ret
_prinths_006d_code:
ld hl,_buf_005u
push hl
ld hl,_hs_005s
ld e,(hl)
inc hl
ld d,(hl)
push de
call _inttodec_000i
inc sp
inc sp
inc sp
inc sp
ld hl,_f_i_0057
ld (hl),0&#00FF
__start_while_00003:
ld hl,_f_i_0057
ld c,(hl)
ld b,0
ld hl,_buf_005u
add hl,bc
ld a,(hl)
cp 48
jp nz,__end_while_00003
ld hl,_f_i_0057
ld c,(hl)
ld b,0
ld hl,_buf_005u
add hl,bc
ld (hl),32&#00FF
ld hl,_f_i_0057
inc (hl)
_whilecontinue_00es:
jp __start_while_00003
__end_while_00003:
_whilebreak_00et:
ld hl,_buf_005u+5
ld (hl),48&#00FF
ld hl,_buf_005u+6
ld (hl),0&#00FF
ld a,11
push af
ld hl,_a_005c
ld a,(hl)
push af
ld hl,__string_00012
push hl
call _print_001m
inc sp
inc sp
inc sp
inc sp
inc sp
inc sp
ld a,14
push af
ld hl,_a_005c
ld a,(hl)
push af
ld hl,_buf_005u
push hl
call _print_001m
inc sp
inc sp
inc sp
inc sp
inc sp
inc sp
ret
_mydmg_006e_code:
ld hl,_pw_005r
ld e,(hl)
inc hl
ld d,(hl)
ex de,hl
ld a,h
or l
jp z,__end_if_00028
ld a,2
push af
call _snd_006m
inc sp
inc sp
ld hl,_pw_005r
ld e,(hl)
inc hl
ld d,(hl)
dec de
ld (hl),d
dec hl
ld (hl),e
ld hl,_pw_005r
ld e,(hl)
inc hl
ld d,(hl)
ex de,hl
ld a,h
or l
ld a,0
jr nz,$+3
inc a
or a
jp z,__end_if_00029
call _diinit_006i_code
jp __end_else_00029
__end_if_00029:
ld hl,_mu_004x
ld (hl),16&#00FF
__end_else_00029:
__end_if_00028:
ret
_pickitm_006f_code:
ld hl,_a_005c
push hl
ld hl,_v_005o
ld e,(hl)
inc hl
ld d,(hl)
ld a,(de)
pop hl
ld (hl),a
ld hl,_a_005c
ld b,(hl)
xor a
cp b
jp nc,__end_if_00030
ld hl,_a_005c
ld l,(hl)
ld h,0
ld (_valuestore),hl
ld hl,(_valuestore)
ld bc,1
or a
sbc hl,bc
jp nz,__end_if_00031
jp _switchcase_00ew
jp __end_else_00031
__end_if_00031:
ld hl,(_valuestore)
ld bc,2
or a
sbc hl,bc
jp nz,__end_if_00032
jp _switchcase_00ex
jp __end_else_00032
__end_if_00032:
ld hl,(_valuestore)
ld bc,3
or a
sbc hl,bc
jp nz,__end_if_00033
jp _switchcase_00ey
jp __end_else_00033
__end_if_00033:
jp _switchexit_00ev
__end_else_00033:
__end_else_00032:
__end_else_00031:
_switchcase_00ew:
ld hl,_mu_004x
ld a,(hl)
or a
ld a,0
jr nz,$+3
inc a
or a
jp z,__end_if_00034
call _mydmg_006e_code
__end_if_00034:
jp _switchexit_00ev
_switchcase_00ex:
xor a
push af
call _snd_006m
inc sp
inc sp
ld hl,_sc_005q
ld e,(hl)
inc hl
ld d,(hl)
inc de
ld (hl),d
dec hl
ld (hl),e
jp _switchexit_00ev
_switchcase_00ey:
ld a,8
push af
call _snd_006m
inc sp
inc sp
ld hl,_pw_005r
ld e,(hl)
inc hl
ld d,(hl)
inc de
ld (hl),d
dec hl
ld (hl),e
jp _switchexit_00ev
_switchexit_00ev:
ld hl,_v_005o
ld e,(hl)
inc hl
ld d,(hl)
ex de,hl
ld (hl),0&#00FF
call _printstatus_006c_code
xor a
ret
__end_if_00030:
ld a,1
ret
_gloop_006g_code:
ld hl,_ax_0051
push hl
ld hl,_x_004y
ld a,(hl)
add a,4
ld e,8
ld d,a
xor a
ld b,8
sla d
rla
cp e
jr c,$+4
inc d
sub e
djnz $-8
ld a,d
pop hl
ld (hl),a
ld hl,_ay_0052
push hl
ld hl,_y_004z
ld a,(hl)
add a,4
ld e,8
ld d,a
xor a
ld b,8
sla d
rla
cp e
jr c,$+4
inc d
sub e
djnz $-8
ld a,d
pop hl
ld (hl),a
ld hl,_v_005o
push hl
ld hl,_ay_0052
ld c,(hl)
ld b,0
pop hl
ld (hl),c
inc hl
ld (hl),b
ld hl,_v_005o
push hl
ld hl,_ax_0051
ld c,(hl)
ld b,0
ld hl,_g1_005t
add hl,bc
push hl
ld hl,_v_005o
ld e,(hl)
inc hl
ld d,(hl)
ex de,hl
ld a,32
ld de,0
ex de,hl
ld b,8
rra
jr nc,$+3
add hl,de
sla e
rl d
djnz $-8
ld b,h
ld c,l
pop hl
add hl,bc
ld b,h
ld c,l
pop hl
ld (hl),c
inc hl
ld (hl),b
call _pickitm_006f_code
or a
jp z,__end_if_00035
ld hl,_v_005o
ld e,(hl)
inc hl
ld d,(hl)
inc de
ld (hl),d
dec hl
ld (hl),e
ld hl,_ax_0051
inc (hl)
call _pickitm_006f_code
or a
jp z,__end_if_00036
ld hl,_v_005o
ld bc,31
push hl
ld a,(hl)
inc hl
ld h,(hl)
ld l,a
add hl,bc
ex de,hl
pop hl
ld (hl),e
inc hl
ld (hl),d
ld hl,_ax_0051
dec (hl)
ld hl,_ay_0052
inc (hl)
call _pickitm_006f_code
or a
jp z,__end_if_00037
ld hl,_v_005o
ld e,(hl)
inc hl
ld d,(hl)
inc de
ld (hl),d
dec hl
ld (hl),e
ld hl,_ax_0051
inc (hl)
call _pickitm_006f_code
__end_if_00037:
__end_if_00036:
__end_if_00035:
ld hl,_k1_0059
ld l,(hl)
ld h,0
ld (_valuestore),hl
ld hl,(_valuestore)
ld bc,1
or a
sbc hl,bc
jp nz,__end_if_00038
jp _switchcase_00f2
jp __end_else_00038
__end_if_00038:
ld hl,(_valuestore)
ld bc,2
or a
sbc hl,bc
jp nz,__end_if_00039
jp _switchcase_00f3
jp __end_else_00039
__end_if_00039:
ld hl,(_valuestore)
ld bc,3
or a
sbc hl,bc
jp nz,__end_if_00040
jp _switchcase_00f4
jp __end_else_00040
__end_if_00040:
ld hl,(_valuestore)
ld bc,4
or a
sbc hl,bc
jp nz,__end_if_00041
jp _switchcase_00f5
jp __end_else_00041
__end_if_00041:
ld hl,(_valuestore)
ld bc,5
or a
sbc hl,bc
jp nz,__end_if_00042
jp _switchcase_00f6
jp __end_else_00042
__end_if_00042:
ld hl,(_valuestore)
ld bc,6
or a
sbc hl,bc
jp nz,__end_if_00043
jp _switchcase_00f7
jp __end_else_00043
__end_if_00043:
ld hl,(_valuestore)
ld bc,7
or a
sbc hl,bc
jp nz,__end_if_00044
jp _switchcase_00f8
jp __end_else_00044
__end_if_00044:
ld hl,(_valuestore)
ld bc,8
or a
sbc hl,bc
jp nz,__end_if_00045
jp _switchcase_00f9
jp __end_else_00045
__end_if_00045:
jp _switchexit_00f1
__end_else_00045:
__end_else_00044:
__end_else_00043:
__end_else_00042:
__end_else_00041:
__end_else_00040:
__end_else_00039:
__end_else_00038:
_switchcase_00f2:
ld hl,_y_004z
ld b,5
ld a,(hl)
sub b
ld (hl),a
ld hl,_yy_005e
ld (hl),65535&#00FF
jp _switchexit_00f1
_switchcase_00f3:
ld hl,_x_004y
ld a,5
add a,(hl)
ld (hl),a
ld hl,_y_004z
ld b,5
ld a,(hl)
sub b
ld (hl),a
ld hl,_yy_005e
ld (hl),65535&#00FF
jp _switchexit_00f1
_switchcase_00f4:
ld hl,_x_004y
ld a,5
add a,(hl)
ld (hl),a
jp _switchexit_00f1
_switchcase_00f5:
ld hl,_x_004y
ld a,5
add a,(hl)
ld (hl),a
ld hl,_y_004z
ld a,5
add a,(hl)
ld (hl),a
ld hl,_yy_005e
ld (hl),1&#00FF
jp _switchexit_00f1
_switchcase_00f6:
ld hl,_y_004z
ld a,5
add a,(hl)
ld (hl),a
ld hl,_yy_005e
ld (hl),1&#00FF
jp _switchexit_00f1
_switchcase_00f7:
ld hl,_x_004y
ld b,5
ld a,(hl)
sub b
ld (hl),a
ld hl,_y_004z
ld a,5
add a,(hl)
ld (hl),a
ld hl,_yy_005e
ld (hl),1&#00FF
jp _switchexit_00f1
_switchcase_00f8:
ld hl,_x_004y
ld b,5
ld a,(hl)
sub b
ld (hl),a
jp _switchexit_00f1
_switchcase_00f9:
ld hl,_x_004y
ld b,5
ld a,(hl)
sub b
ld (hl),a
ld hl,_y_004z
ld b,5
ld a,(hl)
sub b
ld (hl),a
ld hl,_yy_005e
ld (hl),65535&#00FF
jp _switchexit_00f1
_switchexit_00f1:
ld hl,_x_004y
ld b,(hl)
ld a,248
cp b
jp nc,__end_if_00046
ld hl,_x_004y
ld (hl),0&#00FF
__end_if_00046:
ld hl,_x_004y
ld b,(hl)
ld a,240
cp b
jp nc,__end_if_00047
ld hl,_x_004y
ld (hl),240&#00FF
__end_if_00047:
ld hl,_y_004z
ld b,(hl)
ld a,248
cp b
jp nc,__end_if_00048
ld hl,_y_004z
ld (hl),0&#00FF
__end_if_00048:
ld hl,_y_004z
ld b,(hl)
ld a,168
cp b
jp nc,__end_if_00049
ld hl,_y_004z
ld (hl),168&#00FF
__end_if_00049:
ld hl,_k1_0059
ld a,(hl)
or a
jp z,__end_if_00050
ld hl,_yy_005e
ld a,(hl)
cp 1
jp nz,__end_if_00051
ld hl,_c_0050
push hl
ld hl,_c_0050
ld a,(hl)
cp 1
ld a,0
jr nz,$+3
inc a
or a
jp z,__conditional_false_00000
ld a,2
jp __conditional_end_00000
__conditional_false_00000:
ld a,1
__conditional_end_00000:
pop hl
ld (hl),a
jp __end_else_00051
__end_if_00051:
ld hl,_c_0050
push hl
ld hl,_c_0050
ld a,(hl)
cp 4
ld a,0
jr nz,$+3
inc a
or a
jp z,__conditional_false_00001
ld a,5
jp __conditional_end_00001
__conditional_false_00001:
ld a,4
__conditional_end_00001:
pop hl
ld (hl),a
__end_else_00051:
jp __end_else_00050
__end_if_00050:
ld hl,_c_0050
push hl
ld hl,_yy_005e
ld a,(hl)
cp 1
ld a,0
jr nz,$+3
inc a
or a
jp z,__conditional_false_00002
xor a
jp __conditional_end_00002
__conditional_false_00002:
ld a,3
__conditional_end_00002:
pop hl
ld (hl),a
__end_else_00050:
ld hl,_mu_004x
ld a,(hl)
or a
jp z,__end_if_00052
ld hl,_mu_004x
dec (hl)
ld hl,_mu_004x
ld a,(hl)
and 1
or a
jp z,__end_if_00053
xor a
push af
ld hl,_x_004y
ld a,(hl)
push af
ld a,209
push af
xor a
push af
push af
call _put_002f
ld hl,10
add hl,sp
ld sp,hl
jp __end_else_00053
__end_if_00053:
xor a
push af
ld hl,_x_004y
ld a,(hl)
push af
ld hl,_y_004z
ld a,(hl)
push af
xor a
push af
ld hl,_c_0050
ld a,(hl)
push af
call _put_002f
ld hl,10
add hl,sp
ld sp,hl
__end_else_00053:
jp __end_else_00052
__end_if_00052:
xor a
push af
ld hl,_x_004y
ld a,(hl)
push af
ld hl,_y_004z
ld a,(hl)
push af
xor a
push af
ld hl,_c_0050
ld a,(hl)
push af
call _put_002f
ld hl,10
add hl,sp
ld sp,hl
__end_else_00052:
ld hl,_ii_005h
ld a,(hl)
or a
ld a,0
jr nz,$+3
inc a
or a
jp z,__end_if_00054
call _next_0047
ld bc,7
ld a,h
and b
ld h,a
ld a,l
and c
ld l,a
ld bc,0
or a
sbc hl,bc
jp nz,__end_if_00055
ld hl,_ix_005i
push hl
call _next_0047
ld b,h
ld c,l
ld hl,240
ld de,0
ex de,hl
ld a,b
ld b,16
sll c
rla
adc hl,hl
sbc hl,de
jr nc,$+4
add hl,de
dec c
djnz $-11
ld a,l
pop hl
ld (hl),a
ld hl,_iy_005j
push hl
call _next_0047
ld b,h
ld c,l
ld hl,168
ld de,0
ex de,hl
ld a,b
ld b,16
sll c
rla
adc hl,hl
sbc hl,de
jr nc,$+4
add hl,de
dec c
djnz $-11
ld a,l
pop hl
ld (hl),a
ld hl,_ixx_005k
push hl
call _next_0047
ld b,h
ld c,l
ld hl,11
ld de,0
ex de,hl
ld a,b
ld b,16
sll c
rla
adc hl,hl
sbc hl,de
jr nc,$+4
add hl,de
dec c
djnz $-11
ld a,l
sub 5
pop hl
ld (hl),a
ld hl,_iyy_005l
push hl
call _next_0047
ld b,h
ld c,l
ld hl,11
ld de,0
ex de,hl
ld a,b
ld b,16
sll c
rla
adc hl,hl
sbc hl,de
jr nc,$+4
add hl,de
dec c
djnz $-11
ld a,l
sub 5
pop hl
ld (hl),a
ld hl,_ii_005h
ld (hl),1&#00FF
ld hl,_ic_005m
ld (hl),8&#00FF
ld hl,17
push hl
ld hl,_spcol_005x+40
push hl
call _spritecolor_002e
inc sp
inc sp
inc sp
inc sp
__end_if_00055:
__end_if_00054:
ld hl,_p_005p
ld bc,_ii_005h
ld (hl),c
inc hl
ld (hl),b
ld hl,_i_0055
ld (hl),0&#00FF
__start_for_00008:
ld hl,_i_0055
ld a,(hl)
cp 2
jp nc,__end_for_00008
ld hl,_p_005p
ld e,(hl)
inc hl
ld d,(hl)
ld a,(de)
or a
jp z,__end_if_00056
ld hl,_sx_0053
push hl
ld hl,_i_0055
ld c,(hl)
ld b,0
ld hl,_ix_005i
add hl,bc
ld a,(hl)
pop hl
ld (hl),a
ld hl,_sy_0054
push hl
ld hl,_i_0055
ld c,(hl)
ld b,0
ld hl,_iy_005j
add hl,bc
ld a,(hl)
pop hl
ld (hl),a
ld hl,_sx_0053
push hl
ld hl,_i_0055
ld c,(hl)
ld b,0
ld hl,_ixx_005k
add hl,bc
ld a,(hl)
pop hl
add a,(hl)
ld (hl),a
ld hl,_sy_0054
push hl
ld hl,_i_0055
ld c,(hl)
ld b,0
ld hl,_iyy_005l
add hl,bc
ld a,(hl)
pop hl
add a,(hl)
ld (hl),a
ld hl,_sx_0053
ld b,(hl)
ld a,248
cp b
jp nc,__end_if_00057
ld hl,_sx_0053
ld (hl),0&#00FF
ld hl,_i_0055
ld c,(hl)
ld b,0
ld hl,_ixx_005k
add hl,bc
push hl
ld hl,_i_0055
ld c,(hl)
ld b,0
ld hl,_ixx_005k
add hl,bc
ld a,(hl)
neg
pop hl
ld (hl),a
__end_if_00057:
ld hl,_sx_0053
ld b,(hl)
ld a,240
cp b
jp nc,__end_if_00058
ld hl,_sx_0053
ld (hl),240&#00FF
ld hl,_i_0055
ld c,(hl)
ld b,0
ld hl,_ixx_005k
add hl,bc
push hl
ld hl,_i_0055
ld c,(hl)
ld b,0
ld hl,_ixx_005k
add hl,bc
ld a,(hl)
neg
pop hl
ld (hl),a
__end_if_00058:
ld hl,_sy_0054
ld b,(hl)
ld a,248
cp b
jp nc,__end_if_00059
ld hl,_sy_0054
ld (hl),0&#00FF
ld hl,_i_0055
ld c,(hl)
ld b,0
ld hl,_iyy_005l
add hl,bc
push hl
ld hl,_i_0055
ld c,(hl)
ld b,0
ld hl,_iyy_005l
add hl,bc
ld a,(hl)
neg
pop hl
ld (hl),a
__end_if_00059:
ld hl,_sy_0054
ld b,(hl)
ld a,168
cp b
jp nc,__end_if_00060
ld hl,_sy_0054
ld (hl),168&#00FF
ld hl,_i_0055
ld c,(hl)
ld b,0
ld hl,_iyy_005l
add hl,bc
push hl
ld hl,_i_0055
ld c,(hl)
ld b,0
ld hl,_iyy_005l
add hl,bc
ld a,(hl)
neg
pop hl
ld (hl),a
__end_if_00060:
ld hl,_sx_0053
push hl
ld hl,_x_004y
ld b,(hl)
pop de
ld a,(de)
sub b
bit 7,a
jr z,$+3
neg
cp 15
ld a,0
rla
push af
ld hl,_sy_0054
push hl
ld hl,_y_004z
ld b,(hl)
pop de
ld a,(de)
sub b
bit 7,a
jr z,$+3
neg
cp 15
ld a,0
rla
ld b,a
pop af
or a
jr z,$+8
ld a,b
or a
jr z,$+4
ld a,1
or a
jp z,__end_if_00061
ld hl,_p_005p
ld e,(hl)
inc hl
ld d,(hl)
ex de,hl
ld l,(hl)
ld h,0
ld (_valuestore),hl
ld hl,(_valuestore)
ld bc,1
or a
sbc hl,bc
jp nz,__end_if_00062
jp _switchcase_00fe
jp __end_else_00062
__end_if_00062:
ld hl,(_valuestore)
ld bc,2
or a
sbc hl,bc
jp nz,__end_if_00063
jp _switchcase_00ff
jp __end_else_00063
__end_if_00063:
jp _switchexit_00fd
__end_else_00063:
__end_else_00062:
_switchcase_00fe:
ld hl,_g1_005t
push hl
ld hl,736
push hl
call _ldir_001o
inc sp
inc sp
inc sp
inc sp
ld hl,_p_005p
ld e,(hl)
inc hl
ld d,(hl)
ex de,hl
ld (hl),0&#00FF
ld a,9
push af
call _snd_006m
inc sp
inc sp
ld hl,_fls_005n
ld (hl),16&#00FF
jp _switchexit_00fd
_switchcase_00ff:
ld hl,_sc_005q
ld bc,5
push hl
ld a,(hl)
inc hl
ld h,(hl)
ld l,a
add hl,bc
ex de,hl
pop hl
ld (hl),e
inc hl
ld (hl),d
call _printstatus_006c_code
ld hl,_p_005p
ld e,(hl)
inc hl
ld d,(hl)
ex de,hl
ld (hl),0&#00FF
ld a,1
push af
call _snd_006m
inc sp
inc sp
jp _switchexit_00fd
_switchexit_00fd:
__end_if_00061:
ld hl,_i_0055
ld b,(hl)
ld a,16
add a,b
inc a
push af
ld hl,_sx_0053
ld a,(hl)
push af
ld hl,_sy_0054
ld a,(hl)
push af
xor a
push af
ld hl,_i_0055
ld c,(hl)
ld b,0
ld hl,_ic_005m
add hl,bc
ld a,(hl)
push af
call _put_002f
ld hl,10
add hl,sp
ld sp,hl
ld hl,_i_0055
ld c,(hl)
ld b,0
ld hl,_ix_005i
add hl,bc
push hl
ld hl,_sx_0053
ld a,(hl)
pop hl
ld (hl),a
ld hl,_i_0055
ld c,(hl)
ld b,0
ld hl,_iy_005j
add hl,bc
push hl
ld hl,_sy_0054
ld a,(hl)
pop hl
ld (hl),a
jp __end_else_00056
__end_if_00056:
ld hl,_i_0055
ld b,(hl)
ld a,16
add a,b
inc a
push af
xor a
push af
ld a,209
push af
xor a
push af
push af
call _put_002f
ld hl,10
add hl,sp
ld sp,hl
__end_else_00056:
ld hl,_p_005p
ld e,(hl)
inc hl
ld d,(hl)
inc de
ld (hl),d
dec hl
ld (hl),e
_forcontinue_00fa:
ld hl,_i_0055
inc (hl)
jp __start_for_00008
__end_for_00008:
_forbreak_00fb:
ld hl,_p_005p
ld bc,_t_004s
ld (hl),c
inc hl
ld (hl),b
ld hl,_re_004w
ld a,(hl)
or a
jp z,__end_if_00064
ld hl,_re_004w
dec (hl)
__end_if_00064:
ld hl,_i_0055
ld (hl),0&#00FF
__start_for_00009:
ld hl,_i_0055
ld a,(hl)
cp 16
jp nc,__end_for_00009
ld hl,_p_005p
ld e,(hl)
inc hl
ld d,(hl)
ld a,(de)
cp 255
jp nz,__end_if_00065
ld hl,_i_0055
ld c,(hl)
ld b,0
ld hl,_th_004v
add hl,bc
inc (hl)
ld a,(hl)
cp 2
jp nz,__end_if_00066
ld hl,_p_005p
ld e,(hl)
inc hl
ld d,(hl)
ex de,hl
ld (hl),0&#00FF
__end_if_00066:
jp __end_else_00065
__end_if_00065:
ld hl,_p_005p
ld e,(hl)
inc hl
ld d,(hl)
ld a,(de)
or a
jp z,__end_if_00067
ld hl,_sx_0053
push hl
ld hl,_i_0055
ld c,(hl)
ld b,0
ld hl,_tx_004t
add hl,bc
ld a,(hl)
pop hl
ld (hl),a
ld hl,_sy_0054
push hl
ld hl,_i_0055
ld c,(hl)
ld b,0
ld hl,_ty_004u
add hl,bc
ld a,(hl)
pop hl
ld (hl),a
ld hl,_sx_0053
push hl
ld hl,_x_004y
ld b,(hl)
pop de
ld a,(de)
sub b
bit 7,a
jr z,$+3
neg
cp 16
ld a,0
rla
push af
ld hl,_sy_0054
push hl
ld hl,_y_004z
ld b,(hl)
pop de
ld a,(de)
sub b
bit 7,a
jr z,$+3
neg
cp 16
ld a,0
rla
ld b,a
pop af
or a
jr z,$+8
ld a,b
or a
jr z,$+4
ld a,1
or a
jp z,__end_if_00068
ld a,11
push af
call _snd_006m
inc sp
inc sp
ld hl,_sx_0053
push hl
ld hl,_x_004y
ld a,(hl)
pop hl
cp (hl)
jp nc,__end_if_00069
ld hl,_sx_0053
push hl
call _next_0047
ld b,h
ld c,l
ld hl,4
ld de,0
ex de,hl
ld a,b
ld b,16
sll c
rla
adc hl,hl
sbc hl,de
jr nc,$+4
add hl,de
dec c
djnz $-11
ld a,l
add a,4
pop hl
add a,(hl)
ld (hl),a
jp __end_else_00069
__end_if_00069:
ld hl,_sx_0053
push hl
ld hl,_x_004y
ld b,(hl)
pop de
ld a,(de)
cp b
jp nc,__end_if_00070
ld hl,_sx_0053
push hl
call _next_0047
ld b,h
ld c,l
ld hl,4
ld de,0
ex de,hl
ld a,b
ld b,16
sll c
rla
adc hl,hl
sbc hl,de
jr nc,$+4
add hl,de
dec c
djnz $-11
ld a,l
add a,4
ld b,a
pop hl
ld a,(hl)
sub b
ld (hl),a
__end_if_00070:
__end_else_00069:
ld hl,_sy_0054
push hl
ld hl,_y_004z
ld a,(hl)
pop hl
cp (hl)
jp nc,__end_if_00071
ld hl,_sy_0054
push hl
call _next_0047
ld b,h
ld c,l
ld hl,4
ld de,0
ex de,hl
ld a,b
ld b,16
sll c
rla
adc hl,hl
sbc hl,de
jr nc,$+4
add hl,de
dec c
djnz $-11
ld a,l
add a,4
pop hl
add a,(hl)
ld (hl),a
jp __end_else_00071
__end_if_00071:
ld hl,_sy_0054
push hl
ld hl,_y_004z
ld b,(hl)
pop de
ld a,(de)
cp b
jp nc,__end_if_00072
ld hl,_sy_0054
push hl
call _next_0047
ld b,h
ld c,l
ld hl,4
ld de,0
ex de,hl
ld a,b
ld b,16
sll c
rla
adc hl,hl
sbc hl,de
jr nc,$+4
add hl,de
dec c
djnz $-11
ld a,l
add a,4
ld b,a
pop hl
ld a,(hl)
sub b
ld (hl),a
__end_if_00072:
__end_else_00071:
__end_if_00068:
ld hl,_j_0056
ld (hl),0&#00FF
__start_for_00010:
ld hl,_j_0056
ld a,(hl)
cp 16
jp nc,__end_for_00010
ld hl,_i_0055
push hl
ld hl,_j_0056
ld b,(hl)
pop de
ld a,(de)
sub b
jr z,$+4
ld a,1
push af
ld hl,_j_0056
ld c,(hl)
ld b,0
ld hl,_t_004s
add hl,bc
ld b,(hl)
pop af
or a
jr z,$+8
ld a,b
or a
jr z,$+4
ld a,1
push af
ld hl,_sx_0053
push hl
ld hl,_j_0056
ld c,(hl)
ld b,0
ld hl,_tx_004t
add hl,bc
ld b,(hl)
pop de
ld a,(de)
sub b
bit 7,a
jr z,$+3
neg
cp 16
ld a,0
rla
ld b,a
pop af
or a
jr z,$+8
ld a,b
or a
jr z,$+4
ld a,1
push af
ld hl,_sy_0054
push hl
ld hl,_j_0056
ld c,(hl)
ld b,0
ld hl,_ty_004u
add hl,bc
ld b,(hl)
pop de
ld a,(de)
sub b
bit 7,a
jr z,$+3
neg
cp 16
ld a,0
rla
ld b,a
pop af
or a
jr z,$+8
ld a,b
or a
jr z,$+4
ld a,1
or a
jp z,__end_if_00073
ld hl,_v_005o
push hl
ld hl,_j_0056
ld a,(hl)
inc a
ld e,4
ld d,a
xor a
ld b,8
srl e
jr nc,$+3
add a,d
sla d
djnz $-7
ld c,a
ld b,0
pop hl
ld (hl),c
inc hl
ld (hl),b
ld hl,_v_005o
ld e,(hl)
inc hl
ld d,(hl)
ex de,hl
ld bc,7680
add hl,bc
inc hl
inc hl
push hl
ld a,7
push af
call _vpoke_0013
inc sp
inc sp
inc sp
inc sp
ld hl,_sc_005q
ld e,(hl)
inc hl
ld d,(hl)
inc de
ld (hl),d
dec hl
ld (hl),e
ld hl,_j_0056
ld c,(hl)
ld b,0
ld hl,_t_004s
add hl,bc
ld (hl),255&#00FF
ld hl,_j_0056
ld c,(hl)
ld b,0
ld hl,_th_004v
add hl,bc
ld (hl),0&#00FF
call _printstatus_006c_code
ld hl,_k_005d
ld b,2
ld a,(hl)
sub b
ld (hl),a
ld a,4
push af
call _snd_006m
inc sp
inc sp
ld hl,_re_004w
inc (hl)
ld a,(hl)
cp 2
jp nz,__end_if_00074
ld hl,_i_0055
ld c,(hl)
ld b,0
ld hl,_t_004s
add hl,bc
ld (hl),0&#00FF
ld hl,_ii_005h+1
ld (hl),2&#00FF
ld hl,_ix_005i+1
push hl
ld hl,_sx_0053
ld a,(hl)
pop hl
ld (hl),a
ld hl,_iy_005j+1
push hl
ld hl,_sy_0054
ld a,(hl)
pop hl
ld (hl),a
ld hl,_ixx_005k+1
ld (hl),0&#00FF
ld hl,_iyy_005l+1
ld (hl),0&#00FF
ld hl,_ic_005m+1
ld (hl),9&#00FF
ld hl,18
push hl
ld hl,_spcol_005x+48
push hl
call _spritecolor_002e
inc sp
inc sp
inc sp
inc sp
jp __end_else_00074
__end_if_00074:
ld hl,_i_0055
ld c,(hl)
ld b,0
ld hl,_th_004v
add hl,bc
ld (hl),0&#00FF
ld hl,_i_0055
ld c,(hl)
ld b,0
ld hl,_t_004s
add hl,bc
ld (hl),255&#00FF
__end_else_00074:
__end_if_00073:
_forcontinue_00fi:
ld hl,_j_0056
inc (hl)
jp __start_for_00010
__end_for_00010:
_forbreak_00fj:
ld hl,_sx_0053
ld b,(hl)
ld a,248
cp b
jp nc,__end_if_00075
ld hl,_sx_0053
ld (hl),0&#00FF
__end_if_00075:
ld hl,_sx_0053
ld b,(hl)
ld a,240
cp b
jp nc,__end_if_00076
ld hl,_sx_0053
ld (hl),240&#00FF
__end_if_00076:
ld hl,_sy_0054
ld b,(hl)
ld a,248
cp b
jp nc,__end_if_00077
ld hl,_sy_0054
ld (hl),0&#00FF
__end_if_00077:
ld hl,_sy_0054
ld b,(hl)
ld a,168
cp b
jp nc,__end_if_00078
ld hl,_sy_0054
ld (hl),168&#00FF
__end_if_00078:
ld hl,_i_0055
ld a,(hl)
inc a
push af
ld hl,_sx_0053
ld a,(hl)
push af
ld hl,_sy_0054
ld a,(hl)
push af
xor a
push af
ld hl,_i_0055
ld c,(hl)
ld b,0
ld hl,_t_004s
add hl,bc
ld a,(hl)
cp 255
ld a,0
jr nz,$+3
inc a
or a
jp z,__conditional_false_00003
ld a,7
jp __conditional_end_00003
__conditional_false_00003:
ld a,6
__conditional_end_00003:
push af
call _put_002f
ld hl,10
add hl,sp
ld sp,hl
ld hl,_i_0055
ld c,(hl)
ld b,0
ld hl,_tx_004t
add hl,bc
push hl
ld hl,_sx_0053
ld a,(hl)
pop hl
ld (hl),a
ld hl,_i_0055
ld c,(hl)
ld b,0
ld hl,_ty_004u
add hl,bc
push hl
ld hl,_sy_0054
ld a,(hl)
pop hl
ld (hl),a
jp __end_else_00067
__end_if_00067:
ld hl,_j_0056
ld (hl),0&#00FF
__start_for_00011:
ld hl,_j_0056
ld a,(hl)
cp 6
jp nc,__end_for_00011
ld hl,_i_0055
ld a,(hl)
inc a
push af
xor a
push af
ld a,209
push af
xor a
push af
push af
call _put_002f
ld hl,10
add hl,sp
ld sp,hl
_forcontinue_00fk:
ld hl,_j_0056
inc (hl)
jp __start_for_00011
__end_for_00011:
_forbreak_00fl:
__end_else_00067:
__end_else_00065:
ld hl,_p_005p
ld e,(hl)
inc hl
ld d,(hl)
inc de
ld (hl),d
dec hl
ld (hl),e
_forcontinue_00fg:
ld hl,_i_0055
inc (hl)
jp __start_for_00009
__end_for_00009:
_forbreak_00fh:
ld hl,_g1_005t
push hl
ld hl,32
push hl
call _ldir_001o
inc sp
inc sp
inc sp
inc sp
ld hl,_fls_005n
ld a,(hl)
or a
jp z,__end_if_00079
ld hl,_fls_005n
dec (hl)
jp __end_else_00079
__end_if_00079:
call _next_0047
ld bc,1
ld a,h
and b
ld h,a
ld a,l
and c
ld l,a
ld a,h
or l
jp z,__end_if_00080
ld hl,_i_0055
ld (hl),0&#00FF
__start_for_00012:
ld hl,_i_0055
push hl
ld hl,_lv_005g
ld a,(hl)
inc a
ld b,a
pop de
ld a,(de)
cp b
jp nc,__end_for_00012
ld hl,_itk_005f
ld a,(hl)
or a
jp z,__end_if_00081
ld hl,_a_005c
push hl
call _next_0047
ld b,h
ld c,l
ld hl,12
ld de,0
ex de,hl
ld a,b
ld b,16
sll c
rla
adc hl,hl
sbc hl,de
jr nc,$+4
add hl,de
dec c
djnz $-11
ld a,l
ld c,a
ld b,0
ld hl,_itc_005v
add hl,bc
ld a,(hl)
pop hl
ld (hl),a
ld hl,_a_005c
ld a,(hl)
cp 1
jp z,__end_if_00082
ld hl,_itk_005f
dec (hl)
__end_if_00082:
jp __end_else_00081
__end_if_00081:
ld hl,_a_005c
ld (hl),1&#00FF
__end_else_00081:
call _next_0047
ld bc,31
ld a,h
and b
ld h,a
ld a,l
and c
ld l,a
ld b,h
ld c,l
ld hl,_g1_005t
add hl,bc
push hl
ld hl,_a_005c
ld a,(hl)
pop hl
ld (hl),a
_forcontinue_00fm:
ld hl,_i_0055
inc (hl)
jp __start_for_00012
__end_for_00012:
_forbreak_00fn:
__end_if_00080:
__end_else_00079:
ld hl,_g1_005t+768
ld bc,64
or a
sbc hl,bc
dec hl
push hl
call _scrolldown_006h
inc sp
inc sp
ld hl,_k_005d
ld a,(hl)
or a
ld a,0
jr nz,$+3
inc a
or a
jp z,__end_if_00083
call _clinit_006j_code
__end_if_00083:
ret
_diinit_006i_code:
ld hl,_sc_005q
push hl
ld hl,_hs_005s
ld e,(hl)
inc hl
ld d,(hl)
ex de,hl
ex (sp),hl
ld c,(hl)
inc hl
ld b,(hl)
pop hl
or a
sbc hl,bc
jp nc,__end_if_00084
ld hl,_hs_005s
push hl
ld hl,_sc_005q
ld c,(hl)
inc hl
ld b,(hl)
pop hl
ld (hl),c
inc hl
ld (hl),b
__end_if_00084:
ld hl,__string_00013
push hl
ld hl,8
push hl
call _playset_006k
inc sp
inc sp
inc sp
inc sp
ld hl,_mo_0058
ld (hl),2&#00FF
ld hl,_kzs_005b
ld (hl),1&#00FF
ret
_clinit_006j_code:
ld hl,__string_00014
push hl
ld hl,8
push hl
call _playset_006k
inc sp
inc sp
inc sp
inc sp
ld hl,_mo_0058
ld (hl),3&#00FF
ld hl,_kzs_005b
ld (hl),1&#00FF
ld hl,_lv_005g
inc (hl)
ret
_playset_006k_code:
ld hl,_ply_p_0060
push hl
ld hl,6
ld de,(_functiondatareferencestore)
add hl,de
ld c,(hl)
inc hl
ld b,(hl)
pop hl
ld (hl),c
inc hl
ld (hl),b
ld hl,_ply_flg_0061
ld (hl),1&#00FF
ld hl,_ply_l_0062
ld (hl),0&#00FF
ld hl,_ply_sp_0064
push hl
ld hl,4
ld de,(_functiondatareferencestore)
add hl,de
ld a,(hl)
pop hl
ld (hl),a
ret
_playloop_006l_code:
ld hl,_a_005c
push hl
ld hl,_ply_p_0060
ld e,(hl)
inc hl
ld d,(hl)
ld a,(de)
pop hl
ld (hl),a
ld hl,_a_005c
ld a,(hl)
or a
jp nz,__end_if_00085
ld a,10
push af
xor a
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld hl,_ply_flg_0061
ld (hl),0&#00FF
ret
__end_if_00085:
ld hl,_a_005c
ld a,(hl)
cp 49
ld a,0
ccf
rla
push af
ld hl,_a_005c
ld b,(hl)
ld a,56
cp b
ld a,0
ccf
rla
ld b,a
pop af
or a
jr z,$+8
ld a,b
or a
jr z,$+4
ld a,1
or a
jp z,__end_if_00086
ld hl,_ply_o_0063
push hl
ld hl,_a_005c
ld a,(hl)
sub 49
pop hl
ld (hl),a
ld hl,_ply_p_0060
ld e,(hl)
inc hl
ld d,(hl)
inc de
ld (hl),d
dec hl
ld (hl),e
ld hl,_a_005c
push hl
ld hl,_ply_p_0060
ld e,(hl)
inc hl
ld d,(hl)
ld a,(de)
pop hl
ld (hl),a
__end_if_00086:
ld hl,_p_005p
push hl
ld hl,_ply_o_0063
ld c,(hl)
ld b,0
pop hl
ld (hl),c
inc hl
ld (hl),b
ld hl,_p_005p
push hl
ld hl,_p_005p
ld e,(hl)
inc hl
ld d,(hl)
ex de,hl
ld a,14
ld de,0
ex de,hl
ld b,8
rra
jr nc,$+3
add hl,de
sla e
rl d
djnz $-8
ld b,h
ld c,l
ld hl,_ply_tbl_005z
add hl,bc
push hl
ld hl,_a_005c
ld a,(hl)
sub 65
ld e,2
ld d,a
xor a
ld b,8
srl e
jr nc,$+3
add a,d
sla d
djnz $-7
ld c,a
ld b,0
pop hl
add hl,bc
ld b,h
ld c,l
pop hl
ld (hl),c
inc hl
ld (hl),b
ld hl,_a_005c
push hl
ld hl,_p_005p
ld e,(hl)
inc hl
ld d,(hl)
ex de,hl
inc hl
ld a,(hl)
pop hl
ld (hl),a
ld a,10
push af
ld hl,_ply_l_0062
push hl
ld hl,_ply_sp_0064
ld a,(hl)
dec a
ld b,a
pop de
ld a,(de)
cp b
ld a,0
jr nz,$+3
inc a
or a
jp z,__conditional_false_00004
ld a,13
jp __conditional_end_00004
__conditional_false_00004:
ld a,15
__conditional_end_00004:
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld a,4
push af
ld hl,_a_005c
ld a,(hl)
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld a,5
push af
ld hl,_p_005p
ld e,(hl)
inc hl
ld d,(hl)
ld a,(de)
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld hl,_ply_l_0062
inc (hl)
ld a,(hl)
push af
ld hl,_ply_sp_0064
ld b,(hl)
pop af
cp b
jp nz,__end_if_00087
ld hl,_ply_l_0062
ld (hl),0&#00FF
ld hl,_ply_p_0060
ld e,(hl)
inc hl
ld d,(hl)
inc de
ld (hl),d
dec hl
ld (hl),e
__end_if_00087:
ret
_snd_006m_code:
ld hl,5
ld de,(_functiondatareferencestore)
add hl,de
ld l,(hl)
ld h,0
ld (_valuestore),hl
ld hl,(_valuestore)
ld bc,0
or a
sbc hl,bc
jp nz,__end_if_00088
jp _switchcase_00fq
jp __end_else_00088
__end_if_00088:
ld hl,(_valuestore)
ld bc,1
or a
sbc hl,bc
jp nz,__end_if_00089
jp _switchcase_00fr
jp __end_else_00089
__end_if_00089:
ld hl,(_valuestore)
ld bc,2
or a
sbc hl,bc
jp nz,__end_if_00090
jp _switchcase_00fu
jp __end_else_00090
__end_if_00090:
ld hl,(_valuestore)
ld bc,4
or a
sbc hl,bc
jp nz,__end_if_00091
jp _switchcase_00fv
jp __end_else_00091
__end_if_00091:
ld hl,(_valuestore)
ld bc,8
or a
sbc hl,bc
jp nz,__end_if_00092
jp _switchcase_00fy
jp __end_else_00092
__end_if_00092:
ld hl,(_valuestore)
ld bc,9
or a
sbc hl,bc
jp nz,__end_if_00093
jp _switchcase_00fz
jp __end_else_00093
__end_if_00093:
ld hl,(_valuestore)
ld bc,11
or a
sbc hl,bc
jp nz,__end_if_00094
jp _switchcase_00g0
jp __end_else_00094
__end_if_00094:
jp _switchexit_00fp
__end_else_00094:
__end_else_00093:
__end_else_00092:
__end_else_00091:
__end_else_00090:
__end_else_00089:
__end_else_00088:
_switchcase_00fq:
xor a
push af
ld a,50
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld a,1
push af
xor a
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld a,12
push af
ld a,8
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld a,8
push af
ld a,16
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld a,9
push af
xor a
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld a,13
push af
xor a
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
jp _switchexit_00fp
_switchcase_00fr:
ld a,8
push af
ld a,15
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld a,1
push af
xor a
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld hl,_f_i_0057
ld (hl),20&#00FF
__start_for_00013:
ld hl,_f_i_0057
ld a,(hl)
cp 255
jp nc,__end_for_00013
xor a
push af
ld hl,_f_i_0057
ld a,(hl)
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
_forcontinue_00fs:
ld hl,_f_i_0057
inc (hl)
jp __start_for_00013
__end_for_00013:
_forbreak_00ft:
ld a,8
push af
xor a
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
jp _switchexit_00fp
_switchcase_00fu:
ld a,8
push af
ld a,15
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld a,9
push af
xor a
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
xor a
push af
ld a,33
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld a,1
push af
ld a,10
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld a,6
push af
ld a,20
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld hl,_snd_flg_0065
ld (hl),2&#00FF
ld hl,_snd_flg2_0066
ld (hl),2&#00FF
jp _switchexit_00fp
_switchcase_00fv:
ld a,8
push af
ld a,15
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld a,1
push af
ld a,6
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld hl,_f_i_0057
ld (hl),0&#00FF
__start_for_00014:
ld hl,_f_i_0057
ld a,(hl)
cp 88
jp nc,__end_for_00014
xor a
push af
ld hl,_f_i_0057
ld b,(hl)
ld a,255
sub b
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
_forcontinue_00fw:
ld hl,_f_i_0057
inc (hl)
jp __start_for_00014
__end_for_00014:
_forbreak_00fx:
ld hl,_snd_flg_0065
ld (hl),1&#00FF
jp _switchexit_00fp
_switchcase_00fy:
xor a
push af
ld a,80
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld a,1
push af
xor a
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld a,6
push af
ld a,30
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld a,12
push af
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld a,8
push af
ld a,16
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld a,9
push af
ld a,16
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld a,13
push af
ld a,4
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
jp _switchexit_00fp
_switchcase_00fz:
ld a,9
push af
xor a
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld a,6
push af
ld a,10
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld a,9
push af
ld a,16
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld a,12
push af
ld a,20
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld a,13
push af
xor a
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
jp _switchexit_00fp
_switchcase_00g0:
ld a,8
push af
ld a,14
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld a,1
push af
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
ld hl,_f_i_0057
ld (hl),0&#00FF
__start_for_00015:
ld hl,_f_i_0057
ld a,(hl)
cp 28
jp nc,__end_for_00015
xor a
push af
ld hl,_f_i_0057
ld a,(hl)
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
_forcontinue_00g1:
ld hl,_f_i_0057
inc (hl)
jp __start_for_00015
__end_for_00015:
_forbreak_00g2:
ld a,8
push af
xor a
push af
call _sound_001b
inc sp
inc sp
inc sp
inc sp
jp _switchexit_00fp
_switchexit_00fp:
ret
_chr_0025:
ld hl,2
add hl,sp
ld e,(hl)
inc hl
ld d,(hl)
inc hl
ld c,(hl)
inc hl
ld b,(hl)
ld h,b
ld l,c
add hl,hl
add hl,hl
add hl,hl
ex de,hl
push hl
push de
push hl
push de
ld bc,8
call #5C
pop hl
ld bc,#800
add hl,bc
ex de,hl
pop hl
ld bc,8
call #5C
pop hl
ld bc,#1000
add hl,bc
ex de,hl
pop hl
ld bc,8
call #5C
ret
_chrcolor_0026:
ld hl,2
add hl,sp
ld e,(hl)
inc hl
ld d,(hl)
inc hl
ld c,(hl)
inc hl
ld b,(hl)
ld h,b
ld l,c
add hl,hl
add hl,hl
add hl,hl
ld bc,#2000
add hl,bc
ex de,hl
push hl
push de
push hl
push de
ld bc,8
call #5C
pop hl
ld bc,#800
add hl,bc
ex de,hl
pop hl
ld bc,8
call #5C
pop hl
ld bc,#1000
add hl,bc
ex de,hl
pop hl
ld bc,8
call #5C
ret
_cls_0015:
ld hl,6144
ld a,32
ld bc,768
jp __filvrm
_color_0010:
ld hl,3
add hl,sp
ld a,(hl)
ld (#F3EB),a
inc hl
inc hl
ld a,(hl)
ld (#F3EA),a
inc hl
inc hl
ld a,(hl)
ld (#F3E9),a
jp __chgclr
_color_003q:
ld hl,3
add hl,sp
ld b,(hl)
inc hl
inc hl
ld e,(hl)
inc hl
inc hl
ld a,(hl)
inc hl
inc hl
ld d,(hl)
sla a
sla a
sla a
sla a
add a,b
ld ix,#14D
jp #15F
_filvrm_001l:
ld hl,2
add hl,sp
ld c,(hl)
inc hl
ld b,(hl)
inc hl
inc hl
ld a,(hl)
inc hl
ld e,(hl)
inc hl
ld d,(hl)
ld h,d
ld l,e
jp __filvrm
_functiondatareferencestore:
defw 0
_inttodec_000i:
ld hl,2
add hl,sp
ld e,(hl)
inc hl
ld d,(hl)
inc hl
ld a,(hl)
inc hl
ld h,(hl)
ld l,a
ex de,hl
__wtoa_0:
push de
ld bc,-10000
call __wtoa_1
ld bc,-1000
call __wtoa_1
ld bc,-100
call __wtoa_1
ld c,-10
call __wtoa_1
ld a,l
add a,"0"
ld (de),a
inc de
xor a
ld (de),a
pop hl
ret
__wtoa_1:
ld a,"0"-1
__wtoa_2:
inc a
add hl,bc
jr c,__wtoa_2
sbc hl,bc
ld (de),a
inc de
ret
_ldir_001o:
ld hl,2
add hl,sp
ld c,(hl)
inc hl
ld b,(hl)
dec bc
inc hl
ld e,(hl)
inc hl
ld d,(hl)
ld h,d
ld l,e
inc de
xor a
ld (hl),a
ldir
ret
_ldirmv_001k:
ld hl,2
add hl,sp
ld c,(hl)
inc hl
ld b,(hl)
inc hl
ld e,(hl)
inc hl
ld d,(hl)
inc hl
ld a,(hl)
inc hl
ld h,(hl)
ld l,a
jp __ldirmv
_ldirvm_0019:
ld hl,2
add hl,sp
ld c,(hl)
inc hl
ld b,(hl)
inc hl
ld e,(hl)
inc hl
ld d,(hl)
inc hl
ld a,(hl)
inc hl
ld h,(hl)
ld l,a
jp __ldirvm
_mode_002c:
ld hl,(_functiondatareferencestore)
push hl
ld (_functiondatareferencestore),sp
ld hl,-1
add hl,sp
ld sp,hl
call _mode_002c_code
ld hl,(_functiondatareferencestore)
ld sp,hl
pop hl
ld (_functiondatareferencestore),hl
ret
_next_0047:
__rand:
ld de,0
ld a,d
ld h,e
ld l,253
or a
sbc hl,de
sbc a,0
sbc hl,de
ld d,0
sbc a,d
ld e,a
sbc hl,de
jr nc,__rand_1
inc hl
__rand_1:
ld (__rand+1),hl
ret
_playset_006k:
ld hl,(_functiondatareferencestore)
push hl
ld (_functiondatareferencestore),sp
call _playset_006k_code
pop hl
ld (_functiondatareferencestore),hl
ret
_print_001m:
ld hl,2
add hl,sp
ld c,(hl)
inc hl
ld b,(hl)
push bc
inc hl
inc hl
ld e,(hl)
ld d,0
inc hl
inc hl
ld c,(hl)
ld b,0
ld hl,6144
add hl,bc
push hl
ex de,hl
ld a,32
ld de,0
ex de,hl
ld b,8
rra
jr nc,$+3
add hl,de
sla e
rl d
djnz $-8
ld b,h
ld c,l
pop hl
add hl,bc
pop bc
__printloop:
ld a,(bc)
or a
ret z
call __wrtvrm
inc bc
inc hl
jr __printloop
_put_002f:
ld hl,3
add hl,sp
ld a,(hl)
ld (__spr_satbl+2),a
inc hl
inc hl
ld a,(hl)
ld (__spr_satbl+3),a
inc hl
inc hl
ld a,(hl)
ld (__spr_satbl),a
inc hl
inc hl
ld a,(hl)
ld (__spr_satbl+1),a
inc hl
inc hl
ld a,(hl)
ld l,a
ld h,0
ld a,4
ld de,0
ex de,hl
ld b,8
rra
jr nc,$+3
add hl,de
sla e
rl d
djnz $-8
ld b,h
ld c,l
ld hl,(__spr_satblad)
add hl,bc
ex de,hl
ld bc,4
ld hl,__spr_satbl
jp #5C
_scrolldown_006h:
ld hl,2
add hl,sp
ld e,(hl)
inc hl
ld d,(hl)
push de
ex de,hl
ld bc,32
add hl,bc
pop de
ex de,hl
ld a,22
__ppp:
ld bc,32
lddr
sbc hl,bc
ex de,hl
sbc hl,bc
ex de,hl
dec a
jr nz,__ppp
ret
_shorttodec_000f:
ld hl,3
add hl,sp
ld a,(hl)
inc hl
ld e,(hl)
inc hl
ld d,(hl)
ex de,hl
__btoa_0:
push hl
ld b,-100
call __btoa_1
ld b,-10
call __btoa_1
add a,"0"
ld (hl),a
inc hl
ld (hl),0
pop hl
ret
__btoa_1:
ld c,"0"-1
__btoa_2:
inc c
add a,b
jr c,__btoa_2
sub b
ld (hl),c
inc hl
ret
_snd_006m:
ld hl,(_functiondatareferencestore)
push hl
ld (_functiondatareferencestore),sp
call _snd_006m_code
pop hl
ld (_functiondatareferencestore),hl
ret
_sound_001b:
ld hl,3
add hl,sp
ld e,(hl)
inc hl
inc hl
ld a,(hl)
jp __wrtpsg
_sprite_002d:
ld hl,(_functiondatareferencestore)
push hl
ld (_functiondatareferencestore),sp
ld hl,-2
add hl,sp
ld sp,hl
call _sprite_002d_code
ld hl,(_functiondatareferencestore)
ld sp,hl
pop hl
ld (_functiondatareferencestore),hl
ret
_spritecolor_002e:
ld hl,(_functiondatareferencestore)
push hl
ld (_functiondatareferencestore),sp
call _spritecolor_002e_code
pop hl
ld (_functiondatareferencestore),hl
ret
_spvalues_002b:
__spr_satbl:
defs 4
__spr_satblad:
defs 2
__spr_sgtblad:
defs 2
__spr_sctblad:
defs 2
__spr_length:
defs 1
_values_000y:
__chkram: equ #0000
__synchr: equ #0008
__rdslt: equ #000C
__chrgtr: equ #0010
__wrslt: equ #0014
__outdo: equ #0018
__calslt: equ #001C
__dcompr: equ #0020
__enaslt: equ #0024
__getypr: equ #0028
__callf: equ #0030
__keyint: equ #0038
__initio: equ #003B
__inifnk: equ #003E
__disscr: equ #0041
__enascr: equ #0044
__wrtvdp: equ #0047
__rdvrm: equ #004A
__wrtvrm: equ #004D
__setrd: equ #0050
__setwrt: equ #0053
__filvrm: equ #0056
__ldirmv: equ #0059
__ldirvm: equ #005C
__chgmod: equ #005F
__chgclr: equ #0062
__nmi: equ #0066
__clrspr: equ #0069
__initxt: equ #006C
__init32: equ #006F
__inigrp: equ #0072
__inimlt: equ #0075
__settxt: equ #0078
__sett32: equ #007B
__setgrp: equ #007E
__setmlt: equ #0081
__calpat: equ #0084
__calatr: equ #0087
__gspsiz: equ #008A
__grpprt: equ #008D
__gicini: equ #0090
__wrtpsg: equ #0093
__rdpsg: equ #0096
__strtms: equ #0099
__chsns: equ #009C
__chget: equ #009F
__chput: equ #00A2
__lptout: equ #00A5
__lptstt: equ #00A8
__cnvchr: equ #00AB
__pinlin: equ #00AE
__inlin: equ #00B1
__qinlin: equ #00B4
__breakx: equ #00B7
__beep: equ #00C0
__cls: equ #00C3
__posit: equ #00C6
__fnksb: equ #00C9
__erafnk: equ #00CC
__dspfnk: equ #00CF
__totext: equ #00D2
__gtstck: equ #00D5
__gttrig: equ #00D8
__gtpad: equ #00DB
__gtpdl: equ #00DE
__tapion: equ #00E1
__tapin: equ #00E4
__tapiof: equ #00E7
__tapoon: equ #00EA
__tapout: equ #00ED
__tapoof: equ #00F0
__stmotr: equ #00F3
__chgcap: equ #0132
__chgsnd: equ #0135
__rslreg: equ #0138
__wslreg: equ #013B
__rdvdp: equ #013E
__snsmat: equ #0141
__phydio: equ #0144
__isflio: equ #014A
__outdlp: equ #014D
__kilbuf: equ #0156
__calbas: equ #0159
_valuestore:
defw 0
_vpoke_0013:
ld hl,3
add hl,sp
ld a,(hl)
inc hl
ld e,(hl)
inc hl
ld d,(hl)
ld h,d
ld l,e
jp __wrtvrm
__string_00000:
defb "G","A","M","E"," ","O","V","E","R",#00
__string_00001:
defb "C","L","E","A","R","!",#00
__string_00002:
defb "P","E","N","P","E","N"," ","B","U","B","B","L","E",#00
__string_00003:
defb "P","U","S","H"," ","S","P","A","C","E"," ","K","E","Y",#00
__string_00004:
defb "C","O","N","T","R","O","L",#00
__string_00005:
defb "C","U","R","S","O","R",":"," ","M","O","V","E",#00
__string_00006:
defb "E","S","C"," "," "," ",":"," ","Q","U","I","T",#00
__string_00007:
defb "2","0","1","7"," ","N",".","I",#00
__string_00008:
defb "5","C","G","R","6","E","C","R","G","E","5","C","6","E","5","E",#00
__string_00009:
defb "L","V",":",#00
__string_00010:
defb "S","C",":",#00
__string_00011:
defb "P","W",":",#00
__string_00012:
defb "H","S",":",#00
__string_00013:
defb "2","G","R","G","R","C","R","C","R","G","D","G","D","G","D","C",#00
__string_00014:
defb "5","C","R","C","R","G","F","G","F","G","6","C","R","C","R","C","C",#00
_a_005c:
defb 0
_ax_0051:
defb 0
_ay_0052:
defb 0
_c_0050:
defb 0
_f_i_0057:
defb 0
_fls_005n:
defb 0
_hs_005s:
defw 0
_i_0055:
defb 0
_itk_005f:
defb 0
_j_0056:
defb 0
_k_005d:
defb 0
_k1_0059:
defb 0
_ks_005a:
defb 0
_kzs_005b:
defb 0
_lv_005g:
defb 0
_mo_0058:
defb 0
_mu_004x:
defb 0
_p_005p:
defw 0
_ply_flg_0061:
defb 0
_ply_l_0062:
defb 0
_ply_o_0063:
defb 0
_ply_p_0060:
defw 0
_ply_sp_0064:
defb 0
_pw_005r:
defw 0
_re_004w:
defb 0
_sc_005q:
defw 0
_snd_flg_0065:
defb 0
_snd_flg2_0066:
defb 0
_sx_0053:
defb 0
_sy_0054:
defb 0
_v_005o:
defw 0
_x_004y:
defb 0
_y_004z:
defb 0
_yy_005e:
defb 0
_buf_005u:
defs 32
_chptn_005y:
defb 0,1,2,5,5,5,5,5,187,184,139,184,184,184,184,184,16,82,60,118,32,118,60,82,232,232,232,232,142
defb 232,232,232,24,24,126,2,0,2,0,126,200,200,152,249,153,249,153,152,60,126,24,60,60,24,126,60,216
defb 216,61,61,61,61,216,216
_g1_005t:
defs 768
_ic_005m:
defs 2
_ii_005h:
defs 2
_itc_005v:
defb 1,1,1,1,1,1,1,1,2,2,2,3
_ix_005i:
defs 2
_ixx_005k:
defs 2
_iy_005j:
defs 2
_iyy_005l:
defs 2
_ply_tbl_005z:
defb 7,242,7,20,13,93,11,231,10,155,10,2,8,235,3,249,3,138,6,175,5,244,5,78,5,1,4,118,1,253,1
defb 197,3,87,2,250,2,167,2,129,2,59,0,254,0,227,1,172,1,125,1,83,1,64,1,29,0,127,0,113,0,214,0
defb 190,0,170,0,160,0,143,0,64,0,57,0,107,0,95,0,85,0,80,0,71,0,32,0,28,0,53,0,48,0,42,0,40,0
defb 36,0,16,0,14,0,27,0,24,0,21,0,20,0,18
_spcol_005x:
defb 5,5,5,4,4,4,10,10,14,15,14,15,14,15,14,15,7,7,9,9,7,7,5,5,3,3,3,2,2,2,12,12,14,13,10,3
defb 10,13,10,3,2,2,2,2,2,3,10,10,9,9,2,2,10,10,10,10
_spptn_005w:
defb 60,90,255,255,255,189,126,102,60,90,255,255,255,61,126,6,60,90,255,255,255,188,126,96,60,126,255
defb 255,255,189,126,102,60,126,255,255,255,61,126,6,60,126,255,255,255,188,126,96,60,66,141,129,133
defb 129,66,60,129,66,36,0,0,36,66,129,126,195,129,255,126,12,12,60,24,90,255,255,126,126,126,60
_t_004s:
defs 16
_th_004v:
defs 16
_tx_004t:
defs 16
_ty_004u:
defs 16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment