From 1317273aa0324b4ef31079017b6957466e3518af Mon Sep 17 00:00:00 2001 From: wintiger0222 <0xodbs02@naver.com> Date: Mon, 25 Nov 2019 11:09:11 +0000 Subject: [PATCH] [Reduction] [th03/th04/th05] Music Room code identical to TH02 --- th02/music/{polygons.asm => music.asm} | 93 +++++++++ .../{polygons[bss].asm => music[bss].asm} | 5 + th03_op.asm | 166 ++++----------- th04_op.asm | 172 ++++------------ th05_op.asm | 193 +++++------------- 5 files changed, 219 insertions(+), 410 deletions(-) rename th02/music/{polygons.asm => music.asm} (75%) rename th02/music/{polygons[bss].asm => music[bss].asm} (56%) diff --git a/th02/music/polygons.asm b/th02/music/music.asm similarity index 75% rename from th02/music/polygons.asm rename to th02/music/music.asm index 0f08e43d..329ec16f 100644 --- a/th02/music/polygons.asm +++ b/th02/music/music.asm @@ -10,6 +10,68 @@ else POLYGONS_RENDERED = 16 endif +public SCREEN_BACK_B_SNAP +screen_back_B_snap proc near + push bp + mov bp, sp + push si + call hmem_allocbyte pascal, (ROW_SIZE * RES_Y) + mov _screen_back_B, ax + xor si, si + jmp short loc_A5DF +; --------------------------------------------------------------------------- + +loc_A5CA: + les bx, _VRAM_PLANE_B + add bx, si + mov eax, es:[bx] + mov es, _screen_back_B + mov es:[si], eax + add si, 4 + +loc_A5DF: + cmp si, (ROW_SIZE * RES_Y) + jl short loc_A5CA + pop si + pop bp + retn +screen_back_B_snap endp + + +public SCREEN_BACK_B_FREE +screen_back_B_free proc near + push bp + mov bp, sp + call hmem_free pascal, _screen_back_B + pop bp + retn +screen_back_B_free endp + + +public SCREEN_BACK_B_PUT +screen_back_B_put proc near + push bp + mov bp, sp + push si + push di + push ds + mov ax, 0A800h + mov es, ax + assume es:nothing + mov ax, _screen_back_B + mov ds, ax + xor di, di + xor si, si + mov cx, (ROW_SIZE * RES_Y) / 2 + rep movsw + pop ds + pop di + pop si + pop bp + retn +screen_back_B_put endp + + polygon_build proc near var_3 = byte ptr -3 @@ -295,3 +357,34 @@ loc_A88F: pop bp retn polygons_update_and_render endp + + +public MUSIC_FLIP +music_flip proc near + push bp + mov bp, sp + call screen_back_B_put +if GAME eq 5 + call _piano_render +endif + call grcg_setcolor pascal, ((GC_RMW or GC_B) shl 16) + 15 + call polygons_update_and_render +if GAME ge 4 + GRCG_OFF_CLOBBERING dx + if GAME eq 5 + call frame_delay pascal, 1 + endif +else + call grcg_off +endif + graph_showpage _music_page + mov al, 1 + sub al, _music_page + mov _music_page, al + graph_accesspage al +if GAME le 4 + call frame_delay_2 pascal, 1 +endif + pop bp + retn +music_flip endp diff --git a/th02/music/polygons[bss].asm b/th02/music/music[bss].asm similarity index 56% rename from th02/music/polygons[bss].asm rename to th02/music/music[bss].asm index 12e483ab..56cfe50f 100644 --- a/th02/music/polygons[bss].asm +++ b/th02/music/music[bss].asm @@ -1,5 +1,10 @@ +; (only covering TH03 and above, until their decompilation) polygon_points Point 0Ah dup() polygon_pos Point 10h dup() polygon_move_speed Point 10h dup() polygon_angle db 10h dup(?) polygon_rot_speed db 10h dup(?) + +public _music_sel, _music_page +_music_sel db ? +_music_page db ? diff --git a/th03_op.asm b/th03_op.asm index ceda5aac..a1d6a77c 100644 --- a/th03_op.asm +++ b/th03_op.asm @@ -1619,7 +1619,7 @@ arg_2 = byte ptr 6 enter 2, 0 mov al, 1 - sub al, byte ptr word_F828+1 + sub al, _music_page mov [bp+var_1], al graph_accesspage al push 10h @@ -1638,7 +1638,7 @@ arg_2 = byte ptr 6 mov bx, ax pushd _MUSIC_TITLES[bx] call graph_putsa_fx - graph_accesspage byte ptr word_F828+1 + graph_accesspage _music_page push 10h mov al, [bp+arg_2] mov ah, 0 @@ -1701,103 +1701,7 @@ loc_A5AD: retn 2 sub_A590 endp - -; =============== S U B R O U T I N E ======================================= - -; Attributes: bp-based frame - -sub_A5B7 proc near - push bp - mov bp, sp - push si - push 7D00h - call hmem_allocbyte - mov word_F82A, ax - xor si, si - jmp short loc_A5DF -; --------------------------------------------------------------------------- - -loc_A5CA: - les bx, _VRAM_PLANE_B - add bx, si - mov eax, es:[bx] - mov es, word_F82A - mov es:[si], eax - add si, 4 - -loc_A5DF: - cmp si, 7D00h - jl short loc_A5CA - pop si - pop bp - retn -sub_A5B7 endp - - -; =============== S U B R O U T I N E ======================================= - -; Attributes: bp-based frame - -sub_A5E8 proc near - push bp - mov bp, sp - push word_F82A - call hmem_free - pop bp - retn -sub_A5E8 endp - - -; =============== S U B R O U T I N E ======================================= - -; Attributes: bp-based frame - -sub_A5F6 proc near - push bp - mov bp, sp - push si - push di - push ds - mov ax, 0A800h - mov es, ax - assume es:nothing - mov ax, word_F82A - mov ds, ax - xor di, di - xor si, si - mov cx, 3E80h - rep movsw - pop ds - pop di - pop si - pop bp - retn -sub_A5F6 endp - -include th02/music/polygons.asm - -; =============== S U B R O U T I N E ======================================= - -; Attributes: bp-based frame - -sub_A899 proc near - push bp - mov bp, sp - call sub_A5F6 - call grcg_setcolor pascal, ((GC_RMW or GC_B) shl 16) + 15 - call polygons_update_and_render - call grcg_off - graph_showpage byte ptr word_F828+1 - mov al, 1 - sub al, byte ptr word_F828+1 - mov byte ptr word_F828+1, al - graph_accesspage al - push 1 - call frame_delay_2 - pop bp - retn -sub_A899 endp - +include th02/music/music.asm ; =============== S U B R O U T I N E ======================================= @@ -2098,7 +2002,7 @@ sub_AB99 proc near push si push di call music_cmt_load pascal, [bp+@@track] - call sub_A5F6 + call screen_back_B_put call sub_AA7C push 1300040h push 1Fh @@ -2134,7 +2038,7 @@ loc_ABE5: les bx, _VRAM_PLANE_B add bx, si mov eax, es:[bx] - mov es, word_F82A + mov es, _screen_back_B mov es:[si], eax add si, 4 @@ -2169,7 +2073,7 @@ loc_AC15: jl short loc_AC0E call super_free call text_clear - mov byte ptr word_F828+1, 1 + mov _music_page, 1 mov PaletteTone, 0 call far ptr palette_show graph_showpage 0 @@ -2181,14 +2085,14 @@ loc_AC15: call pi_slot_put pascal, large 0, 0 freePISlotLarge 0 mov al, music_track_playing - mov byte ptr word_F828, al - push word_F828 + mov _music_sel, al + push word ptr _music_sel call sub_A590 push 0 call graph_copy_page graph_accesspage 1 graph_showpage 0 - call sub_A5B7 + call screen_back_B_snap call sub_A8CF graph_accesspage 1 mov al, music_track_playing @@ -2205,7 +2109,7 @@ loc_ACC2: call input_mode_interface cmp _input_sp, INPUT_NONE jz short loc_ACD3 - call sub_A899 + call music_flip jmp short loc_ACC2 ; --------------------------------------------------------------------------- @@ -2213,50 +2117,50 @@ loc_ACD3: call input_mode_interface test _input_sp.lo, low INPUT_UP jz short loc_AD0E - push word_F828 + push word ptr _music_sel push 3 call sub_A51E - cmp byte ptr word_F828, 0 + cmp _music_sel, 0 jbe short loc_ACF5 - dec byte ptr word_F828 + dec _music_sel jmp short loc_ACFA ; --------------------------------------------------------------------------- loc_ACF5: - mov byte ptr word_F828, 14h + mov _music_sel, 14h loc_ACFA: - cmp byte ptr word_F828, 13h + cmp _music_sel, 13h jnz short loc_AD05 - dec byte ptr word_F828 + dec _music_sel loc_AD05: - push word_F828 + push word ptr _music_sel push 0Fh call sub_A51E loc_AD0E: test _input_sp.lo, low INPUT_DOWN jz short loc_AD44 - push word_F828 + push word ptr _music_sel push 3 call sub_A51E - cmp byte ptr word_F828, 14h + cmp _music_sel, 14h jnb short loc_AD2B - inc byte ptr word_F828 + inc _music_sel jmp short loc_AD30 ; --------------------------------------------------------------------------- loc_AD2B: - mov byte ptr word_F828, 0 + mov _music_sel, 0 loc_AD30: - cmp byte ptr word_F828, 13h + cmp _music_sel, 13h jnz short loc_AD3B - inc byte ptr word_F828 + inc _music_sel loc_AD3B: - push word_F828 + push word ptr _music_sel push 0Fh call sub_A51E @@ -2267,11 +2171,11 @@ loc_AD44: jz short loc_AD9A loc_AD52: - cmp byte ptr word_F828, 14h + cmp _music_sel, 14h jz short loc_ADB0 kajacall KAJA_SONG_STOP push SND_LOAD_SONG - mov al, byte ptr word_F828 + mov al, _music_sel mov ah, 0 shl ax, 2 mov bx, ax @@ -2279,12 +2183,12 @@ loc_AD52: call snd_load add sp, 6 kajacall KAJA_SONG_PLAY - mov al, byte ptr word_F828 + mov al, _music_sel mov music_track_playing, al mov ah, 0 call sub_AB99 pascal, ax - call sub_A899 - mov al, byte ptr word_F828 + call music_flip + mov al, _music_sel mov ah, 0 call sub_AB99 pascal, ax @@ -2293,7 +2197,7 @@ loc_AD9A: jnz short loc_ADB0 cmp _input_sp, INPUT_NONE jnz loc_ACC2 - call sub_A899 + call music_flip jmp loc_ACD3 ; --------------------------------------------------------------------------- @@ -2301,12 +2205,12 @@ loc_ADB0: call input_mode_interface cmp _input_sp, INPUT_NONE jz short loc_ADC1 - call sub_A899 + call music_flip jmp short loc_ADB0 ; --------------------------------------------------------------------------- loc_ADC1: - call sub_A5E8 + call screen_back_B_free call sub_AA53 graph_showpage 0 graph_accesspage al @@ -4943,9 +4847,9 @@ include th03/hardware/input[bss].asm include th03/formats/cdg[bss].asm include th02/formats/pi_slots[bss].asm include th03/formats/hfliplut[bss].asm -include th02/music/polygons[bss].asm -word_F828 dw ? -word_F82A dw ? +include th02/music/music[bss].asm +public _screen_back_B +_screen_back_B dw ? unk_F82C db ? ; db ? ; word_F82E dw ? diff --git a/th04_op.asm b/th04_op.asm index 47452989..707b3106 100644 --- a/th04_op.asm +++ b/th04_op.asm @@ -2608,7 +2608,7 @@ arg_2 = byte ptr 6 enter 2, 0 mov al, 1 - sub al, byte ptr word_12DBC+1 + sub al, _music_page mov [bp+var_1], al graph_accesspage al push 10h @@ -2626,7 +2626,7 @@ arg_2 = byte ptr 6 mov bx, ax pushd _MUSIC_TITLES[bx] call graph_putsa_fx - graph_accesspage byte ptr word_12DBC+1 + graph_accesspage _music_page push 10h mov al, [bp+arg_2] mov ah, 0 @@ -2688,103 +2688,7 @@ loc_BF5E: retn 2 sub_BF41 endp - -; =============== S U B R O U T I N E ======================================= - -; Attributes: bp-based frame - -sub_BF68 proc near - push bp - mov bp, sp - push si - push 7D00h - call hmem_allocbyte - mov word_12DC0, ax - xor si, si - jmp short loc_BF90 -; --------------------------------------------------------------------------- - -loc_BF7B: - les bx, _VRAM_PLANE_B - add bx, si - mov eax, es:[bx] - mov es, word_12DC0 - mov es:[si], eax - add si, 4 - -loc_BF90: - cmp si, 7D00h - jl short loc_BF7B - pop si - pop bp - retn -sub_BF68 endp - - -; =============== S U B R O U T I N E ======================================= - -; Attributes: bp-based frame - -sub_BF99 proc near - push bp - mov bp, sp - push word_12DC0 - call hmem_free - pop bp - retn -sub_BF99 endp - - -; =============== S U B R O U T I N E ======================================= - -; Attributes: bp-based frame - -sub_BFA7 proc near - push bp - mov bp, sp - push si - push di - push ds - mov ax, GRAM_400 - mov es, ax - assume es:nothing - mov ax, word_12DC0 - mov ds, ax - xor di, di - xor si, si - mov cx, (ROW_SIZE * RES_Y) / 2 - rep movsw - pop ds - pop di - pop si - pop bp - retn -sub_BFA7 endp - -include th02/music/polygons.asm - -; =============== S U B R O U T I N E ======================================= - -; Attributes: bp-based frame - -sub_C244 proc near - push bp - mov bp, sp - call sub_BFA7 - call grcg_setcolor pascal, ((GC_RMW or GC_B) shl 16) + 15 - call polygons_update_and_render - GRCG_OFF_CLOBBERING dx - graph_showpage byte ptr word_12DBC+1 - mov al, 1 - sub al, byte ptr word_12DBC+1 - mov byte ptr word_12DBC+1, al - graph_accesspage al - push 1 - call frame_delay_2 - pop bp - retn -sub_C244 endp - +include th02/music/music.asm include th02/music/music_cmt_load.asm ; =============== S U B R O U T I N E ======================================= @@ -2848,9 +2752,9 @@ sub_C30E proc near loc_C317: mov _graph_putsa_fx_func, si call sub_C2C4 - call sub_C244 + call music_flip call sub_C2C4 - call sub_C244 + call music_flip inc si loc_C328: @@ -2858,7 +2762,7 @@ loc_C328: jl short loc_C317 mov _graph_putsa_fx_func, 2 call sub_C2C4 - call sub_C244 + call music_flip call sub_C2C4 pop si pop bp @@ -2877,7 +2781,7 @@ sub_C33F proc near push 1400040h push 1400140h call sub_E4F8 - call sub_C244 + call music_flip push 1400040h push 1400140h call sub_E4F8 @@ -2902,7 +2806,7 @@ sub_C36F proc near loc_C37C: call music_cmt_load pascal, [bp+@@track] - call sub_BFA7 + call screen_back_B_put push 1400040h push 1400140h call sub_E4F8 @@ -2915,11 +2819,11 @@ loc_C37C: loc_C3A2: mov byte_12DBE, 1 call sub_C2C4 - call sub_C244 + call music_flip call sub_C2C4 loc_C3B0: - call sub_BFA7 + call screen_back_B_put pop bp retn 2 sub_C36F endp @@ -2935,7 +2839,7 @@ sub_C3B7 proc near mov byte_12DBE, 0 call cdg_freeall call text_clear - mov byte ptr word_12DBC+1, 1 + mov _music_page, 1 mov PaletteTone, 0 call far ptr palette_show graph_showpage 0 @@ -2947,15 +2851,15 @@ sub_C3B7 proc near call pi_slot_put pascal, large 0, 0 freePISlotLarge 0 mov al, music_track_playing - mov byte ptr word_12DBC, al - push word_12DBC + mov _music_sel, al + push word ptr _music_sel call sub_BF41 push 0 call graph_copy_page call sub_E428 graph_accesspage 1 graph_showpage 0 - call sub_BF68 + call screen_back_B_snap mov al, music_track_playing mov ah, 0 call sub_C36F pascal, ax @@ -2966,7 +2870,7 @@ loc_C454: call far ptr _input_reset_sense cmp _key_det, INPUT_NONE jz short loc_C465 - call sub_C244 + call music_flip jmp short loc_C454 ; --------------------------------------------------------------------------- @@ -2974,50 +2878,50 @@ loc_C465: call far ptr _input_reset_sense test _key_det.lo, low INPUT_UP jz short loc_C4A0 - push word_12DBC + push word ptr _music_sel push 5 call sub_BED5 - cmp byte ptr word_12DBC, 0 + cmp _music_sel, 0 jbe short loc_C487 - dec byte ptr word_12DBC + dec _music_sel jmp short loc_C48C ; --------------------------------------------------------------------------- loc_C487: - mov byte ptr word_12DBC, 17h + mov _music_sel, 17h loc_C48C: - cmp byte ptr word_12DBC, 16h + cmp _music_sel, 16h jnz short loc_C497 - dec byte ptr word_12DBC + dec _music_sel loc_C497: - push word_12DBC + push word ptr _music_sel push 3 call sub_BED5 loc_C4A0: test _key_det.lo, low INPUT_DOWN jz short loc_C4D6 - push word_12DBC + push word ptr _music_sel push 5 call sub_BED5 - cmp byte ptr word_12DBC, 17h + cmp _music_sel, 17h jnb short loc_C4BD - inc byte ptr word_12DBC + inc _music_sel jmp short loc_C4C2 ; --------------------------------------------------------------------------- loc_C4BD: - mov byte ptr word_12DBC, 0 + mov _music_sel, 0 loc_C4C2: - cmp byte ptr word_12DBC, 16h + cmp _music_sel, 16h jnz short loc_C4CD - inc byte ptr word_12DBC + inc _music_sel loc_C4CD: - push word_12DBC + push word ptr _music_sel push 3 call sub_BED5 @@ -3028,14 +2932,14 @@ loc_C4D6: jz short loc_C51D loc_C4E4: - cmp byte ptr word_12DBC, 17h + cmp _music_sel, 17h jz short loc_C533 kajacall KAJA_SONG_FADE, 32 - mov al, byte ptr word_12DBC + mov al, _music_sel mov music_track_playing, al mov ah, 0 call sub_C36F pascal, ax - mov al, byte ptr word_12DBC + mov al, _music_sel mov ah, 0 shl ax, 2 mov bx, ax @@ -3047,7 +2951,7 @@ loc_C51D: jnz short loc_C533 cmp _key_det, INPUT_NONE jnz loc_C454 - call sub_C244 + call music_flip jmp loc_C465 ; --------------------------------------------------------------------------- @@ -3055,13 +2959,13 @@ loc_C533: call far ptr _input_reset_sense cmp _key_det, INPUT_NONE jz short loc_C544 - call sub_C244 + call music_flip jmp short loc_C533 ; --------------------------------------------------------------------------- loc_C544: kajacall KAJA_SONG_FADE, 16 - call sub_BF99 + call screen_back_B_free graph_showpage 0 graph_accesspage al push 1 @@ -6056,11 +5960,11 @@ include th04/zunsoft[bss].asm dd ? ; dd ? ; dd ? ; -include th02/music/polygons[bss].asm -word_12DBC dw ? +include th02/music/music[bss].asm byte_12DBE db ? db ? ; -word_12DC0 dw ? +public _screen_back_B +_screen_back_B dw ? dd ? ; dd ? ; dd ? ; diff --git a/th05_op.asm b/th05_op.asm index 35701f55..0beaeb0c 100644 --- a/th05_op.asm +++ b/th05_op.asm @@ -3043,104 +3043,7 @@ loc_BF6B: retn 2 sub_BF4D endp - -; =============== S U B R O U T I N E ======================================= - -; Attributes: bp-based frame - -sub_BFB7 proc near - push bp - mov bp, sp - push si - push 7D00h - call hmem_allocbyte - mov word_13E98, ax - xor si, si - jmp short loc_BFDF -; --------------------------------------------------------------------------- - -loc_BFCA: - les bx, _VRAM_PLANE_B - add bx, si - mov eax, es:[bx] - mov es, word_13E98 - mov es:[si], eax - add si, 4 - -loc_BFDF: - cmp si, 7D00h - jl short loc_BFCA - pop si - pop bp - retn -sub_BFB7 endp - - -; =============== S U B R O U T I N E ======================================= - -; Attributes: bp-based frame - -sub_BFE8 proc near - push bp - mov bp, sp - push word_13E98 - call hmem_free - pop bp - retn -sub_BFE8 endp - - -; =============== S U B R O U T I N E ======================================= - -; Attributes: bp-based frame - -sub_BFF6 proc near - push bp - mov bp, sp - push si - push di - push ds - mov ax, GRAM_400 - mov es, ax - assume es:nothing - mov ax, word_13E98 - mov ds, ax - xor di, di - xor si, si - mov cx, (ROW_SIZE * RES_Y) / 2 - rep movsw - pop ds - pop di - pop si - pop bp - retn -sub_BFF6 endp - -include th02/music/polygons.asm - -; =============== S U B R O U T I N E ======================================= - -; Attributes: bp-based frame - -sub_C293 proc near - push bp - mov bp, sp - call sub_BFF6 - call _piano_render - call grcg_setcolor pascal, ((GC_RMW or GC_B) shl 16) + 15 - call polygons_update_and_render - GRCG_OFF_CLOBBERING dx - push 1 - call frame_delay - graph_showpage byte ptr word_13E94+1 - mov al, 1 - sub al, byte ptr word_13E94+1 - mov byte ptr word_13E94+1, al - graph_accesspage al - pop bp - retn -sub_C293 endp - +include th02/music/music.asm include th05/music/music_cmt_load.asm ; =============== S U B R O U T I N E ======================================= @@ -3202,9 +3105,9 @@ sub_C376 proc near loc_C37F: mov _graph_putsa_fx_func, si call sub_C32D - call sub_C293 + call music_flip call sub_C32D - call sub_C293 + call music_flip inc si loc_C390: @@ -3212,7 +3115,7 @@ loc_C390: jl short loc_C37F mov _graph_putsa_fx_func, 2 call sub_C32D - call sub_C293 + call music_flip call sub_C32D pop si pop bp @@ -3234,7 +3137,7 @@ sub_C3A7 proc near push 14000B4h push 1400090h call sub_DB3C - call sub_C293 + call music_flip push 1400020h push 1400010h call sub_DB3C @@ -3262,7 +3165,7 @@ sub_C3F9 proc near loc_C406: call music_cmt_load pascal, [bp+@@track] - call sub_BFF6 + call screen_back_B_put push 1400040h push 1400100h call sub_DB3C @@ -3275,11 +3178,11 @@ loc_C406: loc_C42C: mov byte_13E96, 1 call sub_C32D - call sub_C293 + call music_flip call sub_C32D loc_C43A: - call sub_BFF6 + call screen_back_B_put pop bp retn 2 sub_C3F9 endp @@ -3305,7 +3208,7 @@ arg_0 = word ptr 4 call sub_DB3C push si call sub_BF4D - call sub_C293 + call music_flip pushd 20h ; ' ' push 1400010h call sub_DB3C @@ -3333,7 +3236,7 @@ var_1 = byte ptr -1 xor si, si mov word_1403A, 0 mov word_1403C, 0 - mov byte ptr word_13E94, 0 + mov _music_sel, 0 mov bx, music_game add bx, bx mov ax, MUSICROOM_TRACKCOUNTS[bx] @@ -3341,7 +3244,7 @@ var_1 = byte ptr -1 mov byte_13E96, 0 call cdg_freeall call text_clear - mov byte ptr word_13E94+1, 1 + mov _music_page, 1 mov PaletteTone, 0 call far ptr palette_show graph_showpage 0 @@ -3353,9 +3256,9 @@ var_1 = byte ptr -1 call pi_slot_put pascal, large 0, 0 call pi_slot_free pascal, 0 call _piano_setup - call sub_BFB7 + call screen_back_B_snap call sub_D688 - push word_13E94 + push word ptr _music_sel call sub_BF4D push 0 call graph_copy_page @@ -3365,7 +3268,7 @@ var_1 = byte ptr -1 push ds push offset aMusic_dat ; "music.dat" call pfstart - mov al, byte ptr word_13E94 + mov al, _music_sel mov ah, 0 call sub_C3F9 pascal, ax mov PaletteTone, 64h ; 'd' @@ -3389,7 +3292,7 @@ loc_C574: loc_C579: inc si - call sub_C293 + call music_flip jmp short loc_C555 ; --------------------------------------------------------------------------- @@ -3397,16 +3300,16 @@ loc_C57F: call _input_reset_sense_held test _key_det.lo, low INPUT_UP jz short loc_C5EB - mov al, byte ptr word_13E94 + mov al, _music_sel mov [bp+var_1], al - cmp byte ptr word_13E94, 0 + cmp _music_sel, 0 jbe short loc_C5D5 - dec byte ptr word_13E94 - mov al, byte ptr word_13E94 + dec _music_sel + mov al, _music_sel mov ah, 0 cmp ax, word_1403A jge short loc_C5AE - mov al, byte ptr word_13E94 + mov al, _music_sel mov ah, 0 jmp short loc_C61C ; --------------------------------------------------------------------------- @@ -3415,14 +3318,14 @@ loc_C5AE: push word ptr [bp+var_1] push 0 call sub_BE79 - push word_13E94 + push word ptr _music_sel push 1 call sub_BE79 - call sub_C293 + call music_flip push word ptr [bp+var_1] push 0 call sub_BE79 - push word_13E94 + push word ptr _music_sel push 1 call sub_BE79 jmp short loc_C5EB @@ -3430,7 +3333,7 @@ loc_C5AE: loc_C5D5: mov al, byte ptr musicroom_trackcount - mov byte ptr word_13E94, al + mov _music_sel, al mov ax, musicroom_trackcount add ax, 0FFF5h mov word_1403A, ax @@ -3440,25 +3343,25 @@ loc_C5D5: loc_C5EB: test _key_det.lo, low INPUT_DOWN jz short loc_C666 - mov al, byte ptr word_13E94 + mov al, _music_sel mov [bp+var_1], al mov ah, 0 cmp ax, musicroom_trackcount jge short loc_C652 - inc byte ptr word_13E94 - mov al, byte ptr word_13E94 + inc _music_sel + mov al, _music_sel mov ah, 0 mov dx, word_1403A add dx, 0Ch cmp ax, dx jl short loc_C62B - mov al, byte ptr word_13E94 + mov al, _music_sel mov ah, 0 add ax, 0FFF5h loc_C61C: mov word_1403A, ax - mov al, byte ptr word_13E94 + mov al, _music_sel mov ah, 0 push ax call sub_C441 @@ -3469,23 +3372,23 @@ loc_C62B: push word ptr [bp+var_1] push 0 call sub_BE79 - push word_13E94 + push word ptr _music_sel push 1 call sub_BE79 - call sub_C293 + call music_flip push word ptr [bp+var_1] push 0 call sub_BE79 - push word_13E94 + push word ptr _music_sel push 1 call sub_BE79 jmp short loc_C666 ; --------------------------------------------------------------------------- loc_C652: - mov byte ptr word_13E94, 0 + mov _music_sel, 0 mov word_1403A, 0 - mov al, byte ptr word_13E94 + mov al, _music_sel mov ah, 0 push ax call sub_C441 @@ -3509,7 +3412,7 @@ loc_C680: mov music_game, 0 loc_C698: - mov byte ptr word_13E94, 0 + mov _music_sel, 0 mov word_1403C, 0 mov word_1403A, 0 mov bx, music_game @@ -3532,35 +3435,35 @@ loc_C6E3: jz short loc_C767 loc_C6F1: - mov al, byte ptr word_13E94 + mov al, _music_sel mov ah, 0 cmp ax, musicroom_trackcount jz loc_C77F kajacall KAJA_SONG_FADE, 32 mov al, byte ptr word_1403C mov [bp+var_1], al - mov al, byte ptr word_13E94 + mov al, _music_sel mov ah, 0 mov word_1403C, ax push word ptr [bp+var_1] push 0 call sub_BE79 - push word_13E94 + push word ptr _music_sel push 1 call sub_BE79 - call sub_C293 + call music_flip push word ptr [bp+var_1] push 0 call sub_BE79 - push word_13E94 + push word ptr _music_sel push 1 call sub_BE79 - mov al, byte ptr word_13E94 + mov al, _music_sel mov ah, 0 call sub_C3F9 pascal, ax mov bx, music_game imul bx, 78h - mov al, byte ptr word_13E94 + mov al, _music_sel mov ah, 0 shl ax, 2 add bx, ax @@ -3573,7 +3476,7 @@ loc_C767: cmp _key_det, INPUT_NONE jnz loc_C555 xor si, si - call sub_C293 + call music_flip jmp loc_C57F ; --------------------------------------------------------------------------- @@ -3581,7 +3484,7 @@ loc_C77F: call _input_reset_sense_held cmp _key_det, INPUT_NONE jz short loc_C790 - call sub_C293 + call music_flip jmp short loc_C77F ; --------------------------------------------------------------------------- @@ -3591,7 +3494,7 @@ loc_C790: push offset aKaikidan1_dat1 call pfstart kajacall KAJA_SONG_FADE, 16 - call sub_BFE8 + call screen_back_B_free graph_showpage 0 graph_accesspage al push 1 @@ -6336,11 +6239,11 @@ include th04/zunsoft[bss].asm dd ? ; dd ? ; dd ? ; -include th02/music/polygons[bss].asm -word_13E94 dw ? +include th02/music/music[bss].asm byte_13E96 db ? db ? -word_13E98 dw ? +public _screen_back_B +_screen_back_B dw ? dd ? ; dd ? ; dd ? ;