Created
November 10, 2017 13:40
-
-
Save anonymous/7db5958c823a53f92191277d4c0ad394 to your computer and use it in GitHub Desktop.
1 '---------------------------------
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1 '--------------------------------- | |
2 ' fancy mosaic cats | |
3 ' MSX2 | |
4 ' Have fun! | |
5 '2017 N.I Web: http://ni.x0.com/ | |
6 '--------------------------------- | |
7 clear200,&ha4ff:bload"FMC.BIN" | |
8 defusr=&ha500:a=usr(0):stop |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{"asm":{"filename":"fmc.bin","build":"bin"},"basic":{}} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
org #A500 | |
__begin_program: | |
call _main_005c_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_00c4 | |
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_00c5 | |
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_00c6 | |
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_00c7 | |
jp __end_else_00003 | |
__end_if_00003: | |
jp _switchexit_00c3 | |
__end_else_00003: | |
__end_else_00002: | |
__end_else_00001: | |
__end_else_00000: | |
_switchcase_00c4: | |
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_00c3 | |
_switchcase_00c5: | |
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_00c3 | |
_switchcase_00c6: | |
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_00c3 | |
_switchcase_00c7: | |
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_00c3 | |
_switchexit_00c3: | |
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_00cb | |
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_00cc | |
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_00cd | |
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_00ce | |
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_00cf | |
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_00cg | |
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_00ch | |
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_00ci | |
jp __end_else_00011 | |
__end_if_00011: | |
jp _switchexit_00ca | |
__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_00cb: | |
_switchcase_00cc: | |
_switchcase_00cd: | |
ld hl,6912 | |
ld (__spr_satblad),hl | |
ld hl,14336 | |
ld (__spr_sgtblad),hl | |
jp _switchexit_00ca | |
_switchcase_00ce: | |
ld hl,7680 | |
ld (__spr_satblad),hl | |
ld hl,7168 | |
ld (__spr_sctblad),hl | |
ld hl,14336 | |
ld (__spr_sgtblad),hl | |
jp _switchexit_00ca | |
_switchcase_00cf: | |
_switchcase_00cg: | |
ld hl,30208 | |
ld (__spr_satblad),hl | |
ld hl,29696 | |
ld (__spr_sctblad),hl | |
ld hl,30720 | |
ld (__spr_sgtblad),hl | |
jp _switchexit_00ca | |
_switchcase_00ch: | |
_switchcase_00ci: | |
ld hl,64000 | |
ld (__spr_satblad),hl | |
ld hl,63488 | |
ld (__spr_sctblad),hl | |
ld hl,61440 | |
ld (__spr_sgtblad),hl | |
jp _switchexit_00ca | |
_switchexit_00ca: | |
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 | |
_start_004b_code: | |
ld hl,4 | |
ld de,(_functiondatareferencestore) | |
add hl,de | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
push de | |
ld hl,_loop_004e | |
push hl | |
call _reg_004d | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
ret | |
_main_005c_code: | |
ld a,1 | |
call __chgmod | |
ld hl,256 | |
push hl | |
ld hl,_fonts_00ck | |
push hl | |
ld hl,512 | |
push hl | |
call _ldirmv_001k | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
ld a,128 | |
ld b,a | |
ld a,(#180) | |
cp #C3 | |
ld a,b | |
call z,#180 | |
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 | |
ld a,3 | |
push af | |
call _mode_002c | |
inc sp | |
inc sp | |
call _cls_0015 | |
ld hl,_fonts_00ck | |
push hl | |
ld hl,256 | |
push hl | |
ld hl,512 | |
push hl | |
call _ldirvm_0019 | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
ld hl,_fonts_00ck | |
push hl | |
ld hl,2304 | |
push hl | |
ld hl,512 | |
push hl | |
call _ldirvm_0019 | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
ld hl,_fonts_00ck | |
push hl | |
ld hl,4352 | |
push hl | |
ld hl,512 | |
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,_v_004k | |
push hl | |
ld hl,4 | |
ld c,(hl) | |
ld b,0 | |
pop hl | |
ld (hl),c | |
inc hl | |
ld (hl),b | |
ld hl,_i_004h | |
push hl | |
ld hl,5 | |
ld a,(hl) | |
pop hl | |
ld (hl),a | |
ld hl,_v_004k | |
push hl | |
ld hl,_i_004h | |
ld a,(hl) | |
ld hl,256 | |
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 | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
ex de,hl | |
add hl,bc | |
ld bc,256 | |
add hl,bc | |
push hl | |
ld hl,14336 | |
push hl | |
ld hl,1024 | |
push hl | |
call _ldirvm_0019 | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
ld hl,_i_004h | |
ld (hl),0�FF | |
__start_for_00000: | |
ld hl,_i_004h | |
ld a,(hl) | |
cp 2 | |
jp nc,__end_for_00000 | |
ld hl,_i_004h | |
ld l,(hl) | |
ld h,0 | |
push hl | |
ld hl,_i_004h | |
ld a,(hl) | |
ld e,32 | |
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_00cm | |
add hl,bc | |
push hl | |
call _sprite_002d | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
_forcontinue_00cn: | |
ld hl,_i_004h | |
inc (hl) | |
jp __start_for_00000 | |
__end_for_00000: | |
_forbreak_00co: | |
ld hl,_i_004h | |
ld (hl),0�FF | |
__start_for_00001: | |
ld hl,_i_004h | |
ld a,(hl) | |
cp 10 | |
jp nc,__end_for_00001 | |
ld hl,_i_004h | |
ld b,(hl) | |
ld a,1 | |
add a,b | |
ld l,a | |
ld h,0 | |
push hl | |
ld hl,_i_004h | |
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_00cl | |
add hl,bc | |
push hl | |
call _chr_0025 | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
ld hl,_i_004h | |
ld b,(hl) | |
ld a,1 | |
add a,b | |
ld l,a | |
ld h,0 | |
push hl | |
ld hl,_i_004h | |
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_00cl | |
add hl,bc | |
ld bc,8 | |
add hl,bc | |
push hl | |
call _chrcolor_0026 | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
_forcontinue_00cp: | |
ld hl,_i_004h | |
inc (hl) | |
jp __start_for_00001 | |
__end_for_00001: | |
_forbreak_00cq: | |
ld hl,_i_004h | |
ld (hl),2�FF | |
__start_for_00002: | |
ld hl,_i_004h | |
ld a,(hl) | |
cp 15 | |
jp nc,__end_for_00002 | |
ld hl,_i_004h | |
ld a,(hl) | |
push af | |
call _next_0047 | |
ld b,h | |
ld c,l | |
ld hl,6 | |
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 | |
push af | |
call _next_0047 | |
ld b,h | |
ld c,l | |
ld hl,7 | |
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 | |
push af | |
call _next_0047 | |
ld b,h | |
ld c,l | |
ld hl,8 | |
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 | |
push af | |
call _color_003q | |
ld hl,8 | |
add hl,sp | |
ld sp,hl | |
_forcontinue_00cr: | |
ld hl,_i_004h | |
inc (hl) | |
jp __start_for_00002 | |
__end_for_00002: | |
_forbreak_00cs: | |
ld hl,_v_004k | |
ld bc,6144 | |
ld (hl),c | |
inc hl | |
ld (hl),b | |
__start_for_00003: | |
ld hl,_v_004k | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
ex de,hl | |
ld bc,6912 | |
or a | |
sbc hl,bc | |
jp nc,__end_for_00003 | |
ld hl,_v_004k | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
push de | |
call _next_0047 | |
ld b,h | |
ld c,l | |
ld hl,9 | |
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 | |
inc a | |
push af | |
call _vpoke_0013 | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
_forcontinue_00ct: | |
ld hl,_v_004k | |
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_00cu: | |
ld hl,_i_004h | |
ld (hl),0�FF | |
__start_for_00004: | |
ld hl,_i_004h | |
ld a,(hl) | |
cp 8 | |
jp nc,__end_for_00004 | |
ld hl,_i_004h | |
ld c,(hl) | |
ld b,0 | |
ld hl,_tx_004n | |
add hl,bc | |
push hl | |
call _next_0047 | |
ld bc,255 | |
ld a,h | |
and b | |
ld h,a | |
ld a,l | |
and c | |
ld l,a | |
ld a,l | |
pop hl | |
ld (hl),a | |
ld hl,_i_004h | |
ld c,(hl) | |
ld b,0 | |
ld hl,_ty_004o | |
add hl,bc | |
push hl | |
call _next_0047 | |
ld b,h | |
ld c,l | |
ld hl,176 | |
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,_i_004h | |
ld c,(hl) | |
ld b,0 | |
ld hl,_txx_004r | |
add hl,bc | |
push hl | |
ld hl,6 | |
push hl | |
call _rand_005d | |
inc sp | |
inc sp | |
inc hl | |
ld a,l | |
pop hl | |
ld (hl),a | |
_forcontinue_00cv: | |
ld hl,_i_004h | |
inc (hl) | |
jp __start_for_00004 | |
__end_for_00004: | |
_forbreak_00cw: | |
call _ply_005e_code | |
ld hl,_p_ti_0053 | |
ld (hl),0�FF | |
ld hl,_playloop_005g_code | |
push hl | |
call _start_004b | |
inc sp | |
inc sp | |
ld hl,_rndpal_004m | |
ld (hl),0�FF | |
__start_while_00000: | |
ld a,1 | |
or a | |
jp z,__end_while_00000 | |
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 | |
or a | |
jp nz,__end_if_00012 | |
call _ply_005e_code | |
__end_if_00012: | |
ld hl,_i_004h | |
ld (hl),0�FF | |
__start_for_00005: | |
ld hl,_i_004h | |
ld a,(hl) | |
cp 8 | |
jp nc,__end_for_00005 | |
call _next_0047 | |
ld b,h | |
ld c,l | |
ld hl,768 | |
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 b,h | |
ld c,l | |
ld hl,6144 | |
add hl,bc | |
push hl | |
call _next_0047 | |
ld b,h | |
ld c,l | |
ld hl,10 | |
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 | |
inc a | |
push af | |
call _vpoke_0013 | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
_forcontinue_00cz: | |
ld hl,_i_004h | |
inc (hl) | |
jp __start_for_00005 | |
__end_for_00005: | |
_forbreak_00d0: | |
call _next_0047 | |
ld b,h | |
ld c,l | |
ld hl,768 | |
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 b,h | |
ld c,l | |
ld hl,6144 | |
add hl,bc | |
push hl | |
call _next_0047 | |
ld b,h | |
ld c,l | |
ld hl,32 | |
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 b,a | |
ld a,48 | |
add a,b | |
inc a | |
push af | |
call _vpoke_0013 | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
ld hl,_i_004h | |
ld (hl),0�FF | |
__start_for_00006: | |
ld hl,_i_004h | |
ld a,(hl) | |
cp 8 | |
jp nc,__end_for_00006 | |
ld hl,_sx_004i | |
push hl | |
ld hl,_i_004h | |
ld c,(hl) | |
ld b,0 | |
ld hl,_tx_004n | |
add hl,bc | |
ld a,(hl) | |
pop hl | |
ld (hl),a | |
ld hl,_sy_004j | |
push hl | |
ld hl,_i_004h | |
ld c,(hl) | |
ld b,0 | |
ld hl,_ty_004o | |
add hl,bc | |
ld a,(hl) | |
pop hl | |
ld (hl),a | |
ld hl,_sx_004i | |
push hl | |
ld hl,_i_004h | |
ld c,(hl) | |
ld b,0 | |
ld hl,_txx_004r | |
add hl,bc | |
push hl | |
call _next_0047 | |
ld b,h | |
ld c,l | |
ld hl,7 | |
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 b,a | |
pop de | |
ld a,(de) | |
add a,b | |
pop hl | |
add a,(hl) | |
ld (hl),a | |
ld hl,8 | |
push hl | |
call _rand_005d | |
inc sp | |
inc sp | |
ld bc,0 | |
or a | |
sbc hl,bc | |
jp nz,__end_if_00013 | |
ld hl,_sy_004j | |
push hl | |
ld hl,11 | |
push hl | |
call _rand_005d | |
inc sp | |
inc sp | |
ld bc,5 | |
or a | |
sbc hl,bc | |
ld a,l | |
pop hl | |
add a,(hl) | |
ld (hl),a | |
__end_if_00013: | |
ld hl,_sy_004j | |
ld b,(hl) | |
ld a,248 | |
cp b | |
jp nc,__end_if_00014 | |
ld hl,_sy_004j | |
ld (hl),0�FF | |
jp __end_else_00014 | |
__end_if_00014: | |
ld hl,_sy_004j | |
ld b,(hl) | |
ld a,176 | |
cp b | |
jp nc,__end_if_00015 | |
ld hl,_sy_004j | |
ld (hl),176�FF | |
__end_if_00015: | |
__end_else_00014: | |
ld hl,_i_004h | |
ld c,(hl) | |
ld b,0 | |
ld hl,_tc_004p | |
add hl,bc | |
push hl | |
ld hl,_i_004h | |
ld c,(hl) | |
ld b,0 | |
ld hl,_tc_004p | |
add hl,bc | |
ld a,(hl) | |
or a | |
ld a,0 | |
jr nz,$+3 | |
inc a | |
or a | |
jp z,__conditional_false_00000 | |
ld a,1 | |
jp __conditional_end_00000 | |
__conditional_false_00000: | |
xor a | |
__conditional_end_00000: | |
pop hl | |
ld (hl),a | |
ld hl,_i_004h | |
ld a,(hl) | |
push af | |
ld hl,_sx_004i | |
ld a,(hl) | |
push af | |
ld hl,_sy_004j | |
ld a,(hl) | |
push af | |
xor a | |
push af | |
ld hl,_i_004h | |
ld c,(hl) | |
ld b,0 | |
ld hl,_tc_004p | |
add hl,bc | |
ld a,(hl) | |
ld e,4 | |
ld d,a | |
xor a | |
ld b,8 | |
srl e | |
jr nc,$+3 | |
add a,d | |
sla d | |
djnz $-7 | |
push af | |
call _put_002f | |
ld hl,10 | |
add hl,sp | |
ld sp,hl | |
ld hl,_i_004h | |
ld c,(hl) | |
ld b,0 | |
ld hl,_tx_004n | |
add hl,bc | |
push hl | |
ld hl,_sx_004i | |
ld a,(hl) | |
pop hl | |
ld (hl),a | |
ld hl,_i_004h | |
ld c,(hl) | |
ld b,0 | |
ld hl,_ty_004o | |
add hl,bc | |
push hl | |
ld hl,_sy_004j | |
ld a,(hl) | |
pop hl | |
ld (hl),a | |
_forcontinue_00d1: | |
ld hl,_i_004h | |
inc (hl) | |
jp __start_for_00006 | |
__end_for_00006: | |
_forbreak_00d2: | |
ld hl,_v_004k | |
ld bc,_buf_004q | |
ld (hl),c | |
inc hl | |
ld (hl),b | |
ld hl,8 | |
push hl | |
call _rand_005d | |
inc sp | |
inc sp | |
ld (_valuestore),hl | |
ld hl,(_valuestore) | |
ld bc,0 | |
or a | |
sbc hl,bc | |
jp nz,__end_if_00016 | |
jp _switchcase_00d5 | |
jp __end_else_00016 | |
__end_if_00016: | |
jp _switchdefault_00d3 | |
__end_else_00016: | |
_switchcase_00d5: | |
ld hl,_i_004h | |
ld (hl),0�FF | |
__start_for_00007: | |
ld hl,_i_004h | |
ld a,(hl) | |
cp 16 | |
jp nc,__end_for_00007 | |
ld hl,_v_004k | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
inc de | |
ld (hl),d | |
dec hl | |
ld (hl),e | |
dec de | |
push de | |
call _next_0047 | |
ld b,h | |
ld c,l | |
ld hl,14 | |
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,2 | |
pop hl | |
ld (hl),a | |
_forcontinue_00d6: | |
ld hl,_i_004h | |
inc (hl) | |
jp __start_for_00007 | |
__end_for_00007: | |
_forbreak_00d7: | |
jp _switchexit_00d4 | |
_switchdefault_00d3: | |
ld hl,_buf_004q | |
push hl | |
ld hl,16 | |
push hl | |
ld a,15 | |
push af | |
call _ldir_001p | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
jp _switchexit_00d4 | |
_switchexit_00d4: | |
call _next_0047 | |
ld bc,31 | |
ld a,h | |
and b | |
ld h,a | |
ld a,l | |
and c | |
ld l,a | |
push hl | |
ld hl,_buf_004q | |
push hl | |
call _spritecolor_002e | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
call _next_0047 | |
ld bc,15 | |
ld a,h | |
and b | |
ld h,a | |
ld a,l | |
and c | |
ld l,a | |
ld a,l | |
push af | |
ld hl,15 | |
push hl | |
call _rand_005d | |
inc sp | |
inc sp | |
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 a,l | |
push af | |
ld hl,11 | |
push hl | |
call _rand_005d | |
inc sp | |
inc sp | |
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 a,l | |
push af | |
xor a | |
push af | |
ld hl,32 | |
push hl | |
call _rand_005d | |
inc sp | |
inc sp | |
ld a,l | |
push af | |
call _put_002f | |
ld hl,10 | |
add hl,sp | |
ld sp,hl | |
call _next_0047 | |
ld b,h | |
ld c,l | |
ld hl,7 | |
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 | |
or a | |
jp nz,__end_if_00017 | |
call _next_0047 | |
ld b,h | |
ld c,l | |
ld hl,13 | |
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,2 | |
push af | |
call _next_0047 | |
ld b,h | |
ld c,l | |
ld hl,6 | |
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 | |
push af | |
call _next_0047 | |
ld b,h | |
ld c,l | |
ld hl,7 | |
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 | |
push af | |
call _next_0047 | |
ld b,h | |
ld c,l | |
ld hl,8 | |
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 | |
push af | |
call _color_003q | |
ld hl,8 | |
add hl,sp | |
ld sp,hl | |
__end_if_00017: | |
ld hl,_rndpal_004m | |
ld a,(hl) | |
or a | |
jp z,__end_if_00018 | |
ld hl,_rndpal_004m | |
dec (hl) | |
ld hl,_i_004h | |
ld (hl),2�FF | |
__start_for_00008: | |
ld hl,_i_004h | |
ld a,(hl) | |
cp 15 | |
jp nc,__end_for_00008 | |
ld hl,_i_004h | |
ld a,(hl) | |
push af | |
call _next_0047 | |
ld b,h | |
ld c,l | |
ld hl,6 | |
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 | |
push af | |
call _next_0047 | |
ld b,h | |
ld c,l | |
ld hl,7 | |
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 | |
push af | |
call _next_0047 | |
ld b,h | |
ld c,l | |
ld hl,8 | |
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 | |
push af | |
call _color_003q | |
ld hl,8 | |
add hl,sp | |
ld sp,hl | |
_forcontinue_00d8: | |
ld hl,_i_004h | |
inc (hl) | |
jp __start_for_00008 | |
__end_for_00008: | |
_forbreak_00d9: | |
xor a | |
push af | |
call _next_0047 | |
ld bc,255 | |
ld a,h | |
and b | |
ld h,a | |
ld a,l | |
and c | |
ld l,a | |
ld a,l | |
push af | |
call _sound_001b | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
ld a,2 | |
push af | |
call _next_0047 | |
ld bc,255 | |
ld a,h | |
and b | |
ld h,a | |
ld a,l | |
and c | |
ld l,a | |
ld a,l | |
push af | |
call _sound_001b | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
ld a,9 | |
push af | |
ld a,13 | |
push af | |
call _sound_001b | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
__end_if_00018: | |
ld a,15 | |
push af | |
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 | |
ld b,a | |
ld a,7 | |
sub b | |
push af | |
call _next_0047 | |
ld b,h | |
ld c,l | |
ld hl,2 | |
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 b,a | |
ld a,7 | |
sub b | |
push af | |
call _next_0047 | |
ld b,h | |
ld c,l | |
ld hl,3 | |
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 b,a | |
ld a,7 | |
sub b | |
push af | |
call _color_003q | |
ld hl,8 | |
add hl,sp | |
ld sp,hl | |
ld hl,_v_004k | |
ld bc,_rndc_004s | |
ld (hl),c | |
inc hl | |
ld (hl),b | |
ld hl,_i_004h | |
ld (hl),0�FF | |
__start_for_00009: | |
ld hl,_i_004h | |
ld a,(hl) | |
cp 16 | |
jp nc,__end_for_00009 | |
ld hl,_v_004k | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
inc de | |
ld (hl),d | |
dec hl | |
ld (hl),e | |
dec de | |
push de | |
call _next_0047 | |
ld bc,255 | |
ld a,h | |
and b | |
ld h,a | |
ld a,l | |
and c | |
ld l,a | |
ld a,l | |
pop hl | |
ld (hl),a | |
_forcontinue_00da: | |
ld hl,_i_004h | |
inc (hl) | |
jp __start_for_00009 | |
__end_for_00009: | |
_forbreak_00db: | |
ld hl,10 | |
push hl | |
ld hl,_rndc_004s | |
push hl | |
call _chr_0025 | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
ld hl,10 | |
push hl | |
ld hl,_rndc_004s+8 | |
push hl | |
call _chrcolor_0026 | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
call _next_0047 | |
ld b,h | |
ld c,l | |
ld hl,50 | |
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 | |
or a | |
jp nz,__end_if_00019 | |
ld hl,_rndpal_004m | |
ld (hl),12�FF | |
__end_if_00019: | |
ld a,7 | |
call __snsmat | |
and 4 | |
or a | |
jp nz,__end_if_00020 | |
call __kilbuf | |
jp _whilebreak_00cy | |
__end_if_00020: | |
_whilecontinue_00cx: | |
jp __start_while_00000 | |
__end_while_00000: | |
_whilebreak_00cy: | |
call _stop_004c | |
ret | |
_rand_005d_code: | |
ld hl,4 | |
ld de,(_functiondatareferencestore) | |
add hl,de | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
push de | |
call _next_0047 | |
ld b,h | |
ld c,l | |
pop hl | |
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 | |
ret | |
_ply_005e_code: | |
ld hl,_v_004k | |
ld bc,_p1_005a | |
ld (hl),c | |
inc hl | |
ld (hl),b | |
ld hl,_v_004k | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
inc de | |
ld (hl),d | |
dec hl | |
ld (hl),e | |
dec de | |
push de | |
ld hl,53 | |
push hl | |
ld hl,2 | |
push hl | |
call _rand_005d | |
inc sp | |
inc sp | |
ld b,h | |
ld c,l | |
pop hl | |
add hl,bc | |
ld a,l | |
pop hl | |
ld (hl),a | |
ld hl,_i_004h | |
ld (hl),0�FF | |
__start_for_00010: | |
ld hl,_i_004h | |
ld a,(hl) | |
cp 14 | |
jp nc,__end_for_00010 | |
ld hl,_v_004k | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
inc de | |
ld (hl),d | |
dec hl | |
ld (hl),e | |
dec de | |
push de | |
call _next_0047 | |
ld b,h | |
ld c,l | |
ld hl,7 | |
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,65 | |
pop hl | |
ld (hl),a | |
_forcontinue_00dc: | |
ld hl,_i_004h | |
inc (hl) | |
jp __start_for_00010 | |
__end_for_00010: | |
_forbreak_00dd: | |
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,7 | |
push af | |
ld a,185 | |
push af | |
call _sound_001b | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
ld hl,_p1_005a | |
push hl | |
ld hl,__string_00000 | |
push hl | |
ld a,4 | |
push af | |
ld a,1 | |
push af | |
call _playset_005f | |
ld hl,8 | |
add hl,sp | |
ld sp,hl | |
ret | |
_playset_005f_code: | |
ld hl,_ply_p_004u | |
push hl | |
ld hl,10 | |
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_sta_004x | |
push hl | |
ld hl,_ply_p_004u | |
ld c,(hl) | |
inc hl | |
ld b,(hl) | |
pop hl | |
ld (hl),c | |
inc hl | |
ld (hl),b | |
ld hl,_ply_p2_0055 | |
push hl | |
ld hl,8 | |
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_sta2_0056 | |
push hl | |
ld hl,_ply_p2_0055 | |
ld c,(hl) | |
inc hl | |
ld b,(hl) | |
pop hl | |
ld (hl),c | |
inc hl | |
ld (hl),b | |
ld hl,_ply_flg_004y | |
ld (hl),1�FF | |
ld hl,_ply_l_004z | |
ld (hl),0�FF | |
ld hl,_ply_sp_0052 | |
push hl | |
ld hl,7 | |
ld de,(_functiondatareferencestore) | |
add hl,de | |
ld a,(hl) | |
pop hl | |
ld (hl),a | |
ld hl,_ply_mo_0054 | |
push hl | |
ld hl,5 | |
ld de,(_functiondatareferencestore) | |
add hl,de | |
ld a,(hl) | |
pop hl | |
ld (hl),a | |
ret | |
_playloop_005g_code: | |
ld hl,_p_ti_0053 | |
inc (hl) | |
ld a,(hl) | |
cp 3 | |
jp nz,__end_if_00021 | |
ld hl,_p_ti_0053 | |
ld (hl),0�FF | |
jp __end_else_00021 | |
__end_if_00021: | |
ret | |
__end_else_00021: | |
ld hl,_rndpal_004m | |
ld a,(hl) | |
or a | |
jp z,__end_if_00022 | |
ret | |
__end_if_00022: | |
ld hl,_p_a_004v | |
push hl | |
ld hl,_ply_p_004u | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
ld a,(de) | |
ld c,a | |
ld b,0 | |
pop hl | |
ld (hl),c | |
inc hl | |
ld (hl),b | |
ld hl,_p_a_004v | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
ex de,hl | |
ld bc,126 | |
or a | |
sbc hl,bc | |
jp nz,__end_if_00023 | |
ld hl,_ply_p_004u | |
push hl | |
ld hl,_ply_sta_004x | |
ld c,(hl) | |
inc hl | |
ld b,(hl) | |
pop hl | |
ld (hl),c | |
inc hl | |
ld (hl),b | |
ld hl,_p_a_004v | |
push hl | |
ld hl,_ply_p_004u | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
ld a,(de) | |
ld c,a | |
ld b,0 | |
pop hl | |
ld (hl),c | |
inc hl | |
ld (hl),b | |
__end_if_00023: | |
ld hl,_p_a_004v | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
ex de,hl | |
ld bc,82 | |
or a | |
sbc hl,bc | |
jp nz,__end_if_00024 | |
ld a,9 | |
push af | |
xor a | |
push af | |
call _sound_001b | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
jp __end_else_00024 | |
__end_if_00024: | |
ld hl,_p_a_004v | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
ex de,hl | |
ld bc,49 | |
xor a | |
sbc hl,bc | |
ccf | |
rla | |
push af | |
ld hl,_p_a_004v | |
ld c,(hl) | |
inc hl | |
ld b,(hl) | |
ld hl,56 | |
xor a | |
sbc hl,bc | |
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_00025 | |
ld hl,_ply_o_0050 | |
push hl | |
ld hl,_p_a_004v | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
ex de,hl | |
ld bc,49 | |
or a | |
sbc hl,bc | |
ld a,l | |
pop hl | |
ld (hl),a | |
ld hl,_ply_p_004u | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
inc de | |
ld (hl),d | |
dec hl | |
ld (hl),e | |
ld hl,_p_a_004v | |
push hl | |
ld hl,_ply_p_004u | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
ld a,(de) | |
ld c,a | |
ld b,0 | |
pop hl | |
ld (hl),c | |
inc hl | |
ld (hl),b | |
__end_if_00025: | |
ld hl,_p_p_004w | |
push hl | |
ld hl,_ply_o_0050 | |
ld c,(hl) | |
ld b,0 | |
pop hl | |
ld (hl),c | |
inc hl | |
ld (hl),b | |
ld hl,_p_p_004w | |
push hl | |
ld hl,_p_p_004w | |
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_004t | |
add hl,bc | |
push hl | |
ld hl,_p_a_004v | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
ex de,hl | |
ld bc,65 | |
or a | |
sbc hl,bc | |
ld a,2 | |
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 | |
ld hl,_ply_l_004z | |
push hl | |
ld hl,_ply_sp_0052 | |
ld a,(hl) | |
sub 2 | |
pop hl | |
cp (hl) | |
ld a,0 | |
rla | |
push af | |
ld hl,_ply_mo_0054 | |
ld a,(hl) | |
cp 1 | |
ld a,0 | |
jr nz,$+3 | |
inc a | |
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,_ply_p_004u | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
ex de,hl | |
inc hl | |
ld a,(hl) | |
sub 46 | |
jr z,$+4 | |
ld a,1 | |
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_00026 | |
ld a,10 | |
push af | |
xor a | |
push af | |
call _sound_001b | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
jp __end_else_00026 | |
__end_if_00026: | |
ld a,9 | |
push af | |
ld a,13 | |
push af | |
call _sound_001b | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
__end_else_00026: | |
ld hl,_p_a_004v | |
push hl | |
ld hl,_p_p_004w | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
ex de,hl | |
inc hl | |
ld c,(hl) | |
ld b,0 | |
pop hl | |
ld (hl),c | |
inc hl | |
ld (hl),b | |
ld a,2 | |
push af | |
ld hl,_p_a_004v | |
ld a,(hl) | |
push af | |
call _sound_001b | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
ld a,3 | |
push af | |
ld hl,_p_p_004w | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
ld a,(de) | |
push af | |
call _sound_001b | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
__end_else_00024: | |
ld hl,_p_a_004v | |
push hl | |
ld hl,_ply_p2_0055 | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
ld a,(de) | |
ld c,a | |
ld b,0 | |
pop hl | |
ld (hl),c | |
inc hl | |
ld (hl),b | |
ld hl,_p_a_004v | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
ex de,hl | |
ld bc,126 | |
or a | |
sbc hl,bc | |
jp nz,__end_if_00027 | |
ld hl,_ply_p2_0055 | |
push hl | |
ld hl,_ply_sta2_0056 | |
ld c,(hl) | |
inc hl | |
ld b,(hl) | |
pop hl | |
ld (hl),c | |
inc hl | |
ld (hl),b | |
ld hl,_p_a_004v | |
push hl | |
ld hl,_ply_p2_0055 | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
ld a,(de) | |
ld c,a | |
ld b,0 | |
pop hl | |
ld (hl),c | |
inc hl | |
ld (hl),b | |
__end_if_00027: | |
ld hl,_p_a_004v | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
ex de,hl | |
ld bc,82 | |
or a | |
sbc hl,bc | |
jp nz,__end_if_00028 | |
ld a,10 | |
push af | |
xor a | |
push af | |
call _sound_001b | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
jp __end_else_00028 | |
__end_if_00028: | |
ld hl,_p_a_004v | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
ex de,hl | |
ld bc,49 | |
xor a | |
sbc hl,bc | |
ccf | |
rla | |
push af | |
ld hl,_p_a_004v | |
ld c,(hl) | |
inc hl | |
ld b,(hl) | |
ld hl,56 | |
xor a | |
sbc hl,bc | |
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_00029 | |
ld hl,_ply_o2_0051 | |
push hl | |
ld hl,_p_a_004v | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
ex de,hl | |
ld bc,49 | |
or a | |
sbc hl,bc | |
ld a,l | |
pop hl | |
ld (hl),a | |
ld hl,_ply_p2_0055 | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
inc de | |
ld (hl),d | |
dec hl | |
ld (hl),e | |
ld hl,_p_a_004v | |
push hl | |
ld hl,_ply_p2_0055 | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
ld a,(de) | |
ld c,a | |
ld b,0 | |
pop hl | |
ld (hl),c | |
inc hl | |
ld (hl),b | |
__end_if_00029: | |
ld hl,_p_p_004w | |
push hl | |
ld hl,_ply_o2_0051 | |
ld c,(hl) | |
ld b,0 | |
pop hl | |
ld (hl),c | |
inc hl | |
ld (hl),b | |
ld hl,_p_p_004w | |
push hl | |
ld hl,_p_p_004w | |
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_004t | |
add hl,bc | |
push hl | |
ld hl,_p_a_004v | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
ex de,hl | |
ld bc,65 | |
or a | |
sbc hl,bc | |
ld a,2 | |
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 | |
ld hl,_ply_l_004z | |
push hl | |
ld hl,_ply_sp_0052 | |
ld a,(hl) | |
sub 2 | |
pop hl | |
cp (hl) | |
ld a,0 | |
rla | |
push af | |
ld hl,_ply_mo_0054 | |
ld a,(hl) | |
cp 1 | |
ld a,0 | |
jr nz,$+3 | |
inc a | |
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,_ply_p2_0055 | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
ex de,hl | |
inc hl | |
ld a,(hl) | |
sub 46 | |
jr z,$+4 | |
ld a,1 | |
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_00030 | |
ld a,10 | |
push af | |
xor a | |
push af | |
call _sound_001b | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
jp __end_else_00030 | |
__end_if_00030: | |
ld a,10 | |
push af | |
ld a,13 | |
push af | |
call _sound_001b | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
__end_else_00030: | |
ld hl,_p_a_004v | |
push hl | |
ld hl,_p_p_004w | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
ex de,hl | |
inc hl | |
ld c,(hl) | |
ld b,0 | |
pop hl | |
ld (hl),c | |
inc hl | |
ld (hl),b | |
ld a,4 | |
push af | |
ld hl,_p_a_004v | |
ld a,(hl) | |
push af | |
call _sound_001b | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
ld a,5 | |
push af | |
ld hl,_p_p_004w | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
ld a,(de) | |
push af | |
call _sound_001b | |
inc sp | |
inc sp | |
inc sp | |
inc sp | |
__end_else_00028: | |
ld hl,_ply_l_004z | |
inc (hl) | |
ld a,(hl) | |
push af | |
ld hl,_ply_sp_0052 | |
ld b,(hl) | |
pop af | |
cp b | |
jp nz,__end_if_00031 | |
ld hl,_ply_l_004z | |
ld (hl),0�FF | |
ld hl,_ply_p_004u | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
inc de | |
ld (hl),d | |
dec hl | |
ld (hl),e | |
ld hl,_ply_p2_0055 | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
inc de | |
ld (hl),d | |
dec hl | |
ld (hl),e | |
__end_if_00031: | |
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 | |
_ldir_001p: | |
ld hl,3 | |
add hl,sp | |
ld a,(hl) | |
inc hl | |
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 | |
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 | |
_loop_004e: | |
push af | |
push bc | |
push de | |
push hl | |
push ix | |
push iy | |
call __timer_jump | |
pop iy | |
pop ix | |
pop hl | |
pop de | |
pop bc | |
pop af | |
jp __timer_func_org | |
__timer_jump: ld hl,(__timer_func_addr) | |
jp (hl) | |
_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_005f: | |
ld hl,(_functiondatareferencestore) | |
push hl | |
ld (_functiondatareferencestore),sp | |
call _playset_005f_code | |
pop hl | |
ld (_functiondatareferencestore),hl | |
ret | |
_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 | |
_rand_005d: | |
ld hl,(_functiondatareferencestore) | |
push hl | |
ld (_functiondatareferencestore),sp | |
call _rand_005d_code | |
ex de,hl | |
pop hl | |
ld (_functiondatareferencestore),hl | |
ex de,hl | |
ret | |
_reg_004d: | |
ld hl,2 | |
add hl,sp | |
ld c,(hl) | |
inc hl | |
ld b,(hl) | |
inc hl | |
ld e,(hl) | |
inc hl | |
ld d,(hl) | |
ex de,hl | |
ld (__timer_func_addr),hl | |
push bc | |
ld hl,#FD9F | |
ld de,__timer_func_org | |
ld bc,5 | |
ldir | |
pop hl | |
di | |
ld a,#C3 | |
ld (#FD9F),a | |
ld (#FDA0),hl | |
ei | |
ret | |
__timer_func_addr: | |
defs 2 | |
__timer_func_org: | |
defs 5 | |
_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 | |
_start_004b: | |
ld hl,(_functiondatareferencestore) | |
push hl | |
ld (_functiondatareferencestore),sp | |
call _start_004b_code | |
pop hl | |
ld (_functiondatareferencestore),hl | |
ret | |
_stop_004c: | |
di | |
ld hl,__timer_func_org | |
ld de,#FD9F | |
ld bc,5 | |
ldir | |
ei | |
ret | |
_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 "2","C","R","C","R","C","R","C","R","C","R","C","R","C","R","C","R","~",#00 | |
_i_004h: | |
defb 0 | |
_p_a_004v: | |
defw 0 | |
_p_p_004w: | |
defw 0 | |
_p_ti_0053: | |
defb 0 | |
_ply_flg_004y: | |
defb 0 | |
_ply_l_004z: | |
defb 0 | |
_ply_mo_0054: | |
defb 0 | |
_ply_o_0050: | |
defb 0 | |
_ply_o2_0051: | |
defb 0 | |
_ply_p_004u: | |
defw 0 | |
_ply_p2_0055: | |
defw 0 | |
_ply_sp_0052: | |
defb 0 | |
_ply_sta_004x: | |
defw 0 | |
_ply_sta2_0056: | |
defw 0 | |
_rndpal_004m: | |
defb 0 | |
_sx_004i: | |
defb 0 | |
_sy_004j: | |
defb 0 | |
_v_004k: | |
defw 0 | |
_buf_004q: | |
defs 16 | |
_chptn_00cl: | |
defb 1,1,1,1,1,1,1,0,228,228,228,228,228,228,228,238,1,1,1,1,1,1,1,0,232,232,232,232,232,232,232 | |
defb 238,1,1,1,1,1,1,1,0,234,234,234,234,234,234,234,238,1,1,1,1,1,1,1,0,236,236,236,236,236,236 | |
defb 236,238,1,1,1,1,1,1,1,0,237,237,237,237,237,237,237,238,1,1,1,1,1,1,1,0,231,231,231,231,231 | |
defb 231,231,238,1,1,1,1,1,1,1,0,230,230,230,230,230,230,230,238,1,1,1,1,1,1,1,0,233,233,233,233 | |
defb 233,233,233,238,1,1,1,1,1,1,1,0,227,227,227,227,227,227,227,238 | |
_fonts_00ck: | |
defs 736 | |
_p1_005a: | |
defs 16 | |
_ply_tbl_004t: | |
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 | |
_rndc_004s: | |
defs 17 | |
_spptn_00cm: | |
defb 0,0,0,0,64,160,160,191,128,128,128,191,180,168,64,0,0,129,195,189,129,149,129,194,2,2,2,218,90 | |
defb 42,4,0,0,0,0,0,32,80,160,191,128,128,128,191,180,84,8,0,0,129,195,189,129,149,129,194,2,2,2 | |
defb 218,90,84,32,0 | |
_tc_004p: | |
defs 8 | |
_tx_004n: | |
defs 8 | |
_txx_004r: | |
defs 8 | |
_ty_004o: | |
defs 8 | |
__end_program: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment