; ; +-------------------------------------------------------------------------+ ; | This file has been generated by The Interactive Disassembler (IDA) | ; | Copyright (c) 2009 by Hex-Rays, | ; +-------------------------------------------------------------------------+ ; ; Input MD5 : E6F971B37336C0F9FCE53F895780031E ; File Name : th02/MAINE.EXE ; Format : MS-DOS executable (EXE) ; Base Address: 0h Range: 0h-FCF0h Loaded length: DE32h ; Entry Point : 0:0 ; OS type : MS DOS ; Application type: Executable 16bit .286 ; Force the .model directive to create 16-bit default segments... .model large maine_02_TEXT __LARGE__ equ 1 .386 ; ... then switch to what we actually need. ; And yes, we can't move this to an include file for some reason. include ReC98.inc include th02/th02.asm extern SCOPY@:proc extern _execl:proc ; =========================================================================== ; Segment type: Pure code _TEXT segment word public 'CODE' use16 assume cs:_TEXT assume es:nothing, ds:_DATA, fs:nothing, gs:nothing include libs/master.lib/bfnt_entry_pat.asm include libs/master.lib/bfnt_extend_header_skip.asm include libs/master.lib/bfnt_header_read.asm include libs/master.lib/bfnt_header_analysis.asm include libs/master.lib/bcloser.asm include libs/master.lib/bfill.asm include libs/master.lib/bfnt_palette_set.asm include libs/master.lib/bgetc.asm include libs/master.lib/palette_black_in.asm include libs/master.lib/palette_black_out.asm include libs/master.lib/bopenr.asm include libs/master.lib/bread.asm include libs/master.lib/bseek.asm include libs/master.lib/bseek_.asm include libs/master.lib/cutline.asm include libs/master.lib/dos_axdx.asm include libs/master.lib/dos_filesize.asm include libs/master.lib/dos_setvect.asm include libs/master.lib/egc.asm include libs/master.lib/egc_shift_down.asm include libs/master.lib/egc_shift_left.asm include libs/master.lib/file_append.asm include libs/master.lib/file_close.asm include libs/master.lib/file_exist.asm include libs/master.lib/file_read.asm include libs/master.lib/file_ropen.asm include libs/master.lib/file_seek.asm include libs/master.lib/file_size.asm include libs/master.lib/file_write.asm include libs/master.lib/dos_close.asm include libs/master.lib/dos_ropen.asm include libs/master.lib/grcg_boxfill.asm include libs/master.lib/grcg_line.asm include libs/master.lib/grcg_setcolor.asm include libs/master.lib/gaiji_backup.asm include libs/master.lib/gaiji_entry_bfnt.asm include libs/master.lib/gaiji_putca.asm include libs/master.lib/gaiji_putsa.asm include libs/master.lib/gaiji_read.asm include libs/master.lib/gaiji_write.asm include libs/master.lib/graph_400line.asm include libs/master.lib/graph_clear.asm include libs/master.lib/graph_copy_page.asm include libs/master.lib/graph_extmode.asm include libs/master.lib/graph_gaiji_putc.asm include libs/master.lib/graph_gaiji_puts.asm include libs/master.lib/graph_pi_free.asm include libs/master.lib/graph_pi_load_pack.asm include libs/master.lib/graph_pack_put_8.asm include libs/master.lib/key_sense.asm include libs/master.lib/over_put_8.asm include libs/master.lib/palette_show.asm include libs/master.lib/pfclose.asm include libs/master.lib/pfgetc.asm include libs/master.lib/pfread.asm include libs/master.lib/pfrewind.asm include libs/master.lib/pfseek.asm include libs/master.lib/palette_entry_rgb.asm include libs/master.lib/rottbl.asm include libs/master.lib/smem_release.asm include libs/master.lib/smem_wget.asm include libs/master.lib/text_clear.asm include libs/master.lib/vsync.asm include libs/master.lib/vsync_wait.asm include libs/master.lib/palette_white_in.asm include libs/master.lib/palette_white_out.asm include libs/master.lib/hmem_lallocate.asm include libs/master.lib/mem_assign_dos.asm include libs/master.lib/mem_assign.asm include libs/master.lib/memheap.asm include libs/master.lib/mem_unassign.asm include libs/master.lib/super_entry_pat.asm include libs/master.lib/super_entry_at.asm include libs/master.lib/super_entry_bfnt.asm include libs/master.lib/pfint21.asm db 0 include th02/formats/pfopen.asm include libs/master.lib/pf_str_ieq.asm _TEXT ends ; =========================================================================== ; Segment type: Pure code maine_01_TEXT segment byte public 'CODE' use16 assume cs:maine_01_TEXT ;org 3 assume es:nothing, ss:nothing, ds:_DATA, fs:nothing, gs:nothing ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_95A3 proc near var_2 = word ptr -2 arg_0 = dword ptr 4 enter 2, 0 pushd [bp+arg_0] call file_ropen call file_size mov [bp+var_2], ax push ds push offset unk_DE32 push ax call file_read call file_close leave retn 4 sub_95A3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_95CB proc near var_9 = byte ptr -9 var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = word ptr 8 arg_6 = word ptr 0Ah enter 0Ah, 0 push si push di mov di, 0A0h mov [bp+var_4], 989680h mov [bp+var_9], 0 xor si, si jmp short loc_9638 ; --------------------------------------------------------------------------- loc_95E4: mov eax, [bp+arg_0] cdq idiv [bp+var_4] mov ebx, 0Ah cdq idiv ebx mov [bp+var_8], edx mov eax, [bp+var_4] cdq idiv ebx mov [bp+var_4], eax mov ax, word ptr [bp+var_8] add ax, 0A0h mov di, ax cmp [bp+var_8], 0 jz short loc_961D mov [bp+var_9], 1 loc_961D: cmp [bp+var_9], 0 jz short loc_9637 mov ax, si shl ax, 4 add ax, [bp+arg_6] push ax push [bp+arg_4] push di push 0Fh call graph_gaiji_putc loc_9637: inc si loc_9638: cmp si, 8 jl short loc_95E4 pop di pop si leave retn 8 sub_95CB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_9643 proc near var_50 = byte ptr -50h arg_0 = word ptr 4 arg_2 = dword ptr 6 arg_6 = word ptr 0Ah arg_8 = word ptr 0Ch arg_A = word ptr 0Eh enter 50h, 0 push si push di lea ax, [bp+var_50] push ss push ax push ds push offset unk_D030 mov cx, 50h ; 'P' call SCOPY@ xor si, si xor di, di jmp short loc_96C4 ; --------------------------------------------------------------------------- loc_9660: call _input_sense les bx, [bp+arg_2] add bx, si mov al, es:[bx] mov [bp+si+var_50], al inc si mov bx, word ptr [bp+arg_2] add bx, si mov al, es:[bx] mov [bp+si+var_50], al inc si mov [bp+si+var_50], 0 push ss lea ax, [bp+var_50] push ax mov al, byte_F02A cbw push ax push [bp+arg_8] push [bp+arg_A] call _graph_putsa_fx add sp, 0Ah cmp byte_F02B, 0 jz short loc_96B9 cmp _input, 0 jz short loc_96B9 test di, 3 jz short loc_96C1 mov ax, [bp+arg_0] mov bx, 3 cwd idiv bx push ax jmp short loc_96BC ; --------------------------------------------------------------------------- loc_96B9: push [bp+arg_0] loc_96BC: call frame_delay loc_96C1: add di, 2 loc_96C4: cmp di, [bp+arg_6] jl short loc_9660 xor si, si jmp short loc_96EC ; --------------------------------------------------------------------------- loc_96CD: call _input_sense cmp byte_F02B, 0 jz short loc_96E4 cmp _input, 0 jz short loc_96E4 push 0 jmp short loc_96E6 ; --------------------------------------------------------------------------- loc_96E4: push 2 loc_96E6: call frame_delay inc si loc_96EC: cmp si, 14h jl short loc_96CD cmp byte_F02B, 0 jz short loc_96FB call sub_9A7E loc_96FB: pop di pop si leave retn 0Ch sub_9643 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_9701 proc far var_8 = word ptr -8 var_6 = word ptr -6 var_4 = word ptr -4 var_2 = word ptr -2 arg_0 = word ptr 6 arg_2 = word ptr 8 arg_4 = dword ptr 0Ah enter 8, 0 push si push di mov ax, [bp+arg_0] sar ax, 3 mov dx, [bp+arg_2] shl dx, 6 add ax, dx mov dx, [bp+arg_2] shl dx, 4 add ax, dx mov si, ax xor di, di jmp loc_97E6 ; --------------------------------------------------------------------------- loc_9724: mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al les bx, _VRAM_PLANE_B add bx, si mov ax, es:[bx] mov [bp+var_8], ax les bx, _VRAM_PLANE_R add bx, si mov ax, es:[bx] mov [bp+var_6], ax les bx, _VRAM_PLANE_G add bx, si mov ax, es:[bx] mov [bp+var_4], ax les bx, _VRAM_PLANE_E add bx, si mov ax, es:[bx] mov [bp+var_2], ax mov al, 0 out dx, al call grcg_setcolor pascal, (GC_RMW shl 16) + 0 mov ax, di add ax, ax les bx, [bp+arg_4] add bx, ax mov ax, es:[bx] les bx, _VRAM_PLANE_B add bx, si mov es:[bx], ax call grcg_off mov ax, di add ax, ax les bx, [bp+arg_4] add bx, ax mov ax, es:[bx] and ax, [bp+var_8] les bx, _VRAM_PLANE_B add bx, si or es:[bx], ax mov ax, di add ax, ax les bx, [bp+arg_4] add bx, ax mov ax, es:[bx] and ax, [bp+var_6] les bx, _VRAM_PLANE_R add bx, si or es:[bx], ax mov ax, di add ax, ax les bx, [bp+arg_4] add bx, ax mov ax, es:[bx] and ax, [bp+var_4] les bx, _VRAM_PLANE_G add bx, si or es:[bx], ax mov ax, di add ax, ax les bx, [bp+arg_4] add bx, ax mov ax, es:[bx] and ax, [bp+var_2] les bx, _VRAM_PLANE_E add bx, si or es:[bx], ax add si, 50h ; 'P' inc di loc_97E6: cmp di, 10h jl loc_9724 pop di pop si leave retf sub_9701 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_97F1 proc far var_60 = byte ptr -60h arg_0 = word ptr 6 arg_2 = word ptr 8 arg_4 = word ptr 0Ah enter 60h, 0 push si push di lea ax, [bp+var_60] push ss push ax push ds push offset aKkuukkuukkuukk ; "ェェUUェェUUェェUUェェUUェェUUェェUUェェUUェェUU3333フフフ"... mov cx, 60h call SCOPY@ xor di, di jmp short loc_983D ; --------------------------------------------------------------------------- loc_980C: xor si, si jmp short loc_9830 ; --------------------------------------------------------------------------- loc_9810: mov ax, di shl ax, 5 lea dx, [bp+var_60] add ax, dx push ss push ax push [bp+arg_2] mov ax, si shl ax, 4 add ax, [bp+arg_0] push ax call sub_9701 add sp, 8 inc si loc_9830: cmp si, [bp+arg_4] jl short loc_9810 push 0Ah call frame_delay inc di loc_983D: cmp di, 3 jl short loc_980C pop di pop si leave retf sub_97F1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_9846 proc near var_2 = byte ptr -2 var_1 = byte ptr -1 arg_0 = dword ptr 4 arg_4 = word ptr 8 enter 2, 0 push si push di mov di, [bp+arg_4] mov si, 64h ; 'd' mov [bp+var_2], 0 xor cx, cx jmp short loc_98A1 ; --------------------------------------------------------------------------- loc_985A: mov ax, di cwd idiv si mov [bp+var_1], al cmp [bp+var_2], 0 jnz short loc_986B mov [bp+var_2], al loc_986B: cmp [bp+var_2], 0 jnz short loc_9876 cmp cx, 2 jnz short loc_9885 loc_9876: les bx, [bp+arg_0] add bx, cx mov al, [bp+var_1] add al, 0A0h mov es:[bx], al jmp short loc_988E ; --------------------------------------------------------------------------- loc_9885: les bx, [bp+arg_0] add bx, cx mov byte ptr es:[bx], 0CFh ; 'マ' loc_988E: mov al, [bp+var_1] cbw imul si sub di, ax inc cx mov bx, 0Ah mov ax, si cwd idiv bx mov si, ax loc_98A1: cmp cx, 3 jl short loc_985A les bx, [bp+arg_0] add bx, cx mov byte ptr es:[bx], 0 pop di pop si leave retn 6 sub_9846 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_98B5 proc near var_6 = word ptr -6 var_4 = word ptr -4 var_2 = word ptr -2 arg_0 = word ptr 4 enter 6, 0 push si push di cmp [bp+arg_0], 0 jnz short loc_98C5 xor ax, ax jmp short loc_98DE ; --------------------------------------------------------------------------- loc_98C5: cmp [bp+arg_0], 1 jnz short loc_98D0 mov ax, 28h ; '(' jmp short loc_98DE ; --------------------------------------------------------------------------- loc_98D0: cmp [bp+arg_0], 2 jnz short loc_98DB mov ax, 3E80h jmp short loc_98DE ; --------------------------------------------------------------------------- loc_98DB: mov ax, 3EA8h loc_98DE: mov si, ax mov di, 1F54h call egc_start_copy mov [bp+var_2], 0 jmp short loc_9930 ; --------------------------------------------------------------------------- loc_98EF: mov [bp+var_4], 0 jmp short loc_9921 ; --------------------------------------------------------------------------- loc_98F6: mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al les bx, _VRAM_PLANE_B add bx, si mov ax, es:[bx] mov [bp+var_6], ax mov al, 0 out dx, al mov bx, word ptr _VRAM_PLANE_B add bx, di mov ax, [bp+var_6] mov es:[bx], ax add [bp+var_4], 2 add si, 2 add di, 2 loc_9921: cmp [bp+var_4], 28h ; '(' jl short loc_98F6 inc [bp+var_2] add di, 28h ; '(' add si, 28h ; '(' loc_9930: cmp [bp+var_2], 0C8h ; 'ネ' jl short loc_98EF call egc_off pop di pop si leave retn 2 sub_98B5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_9942 proc near var_6 = word ptr -6 var_4 = word ptr -4 var_2 = word ptr -2 arg_0 = word ptr 4 arg_2 = word ptr 6 arg_4 = word ptr 8 enter 6, 0 push si push di cmp [bp+arg_0], 0 jnz short loc_9952 xor ax, ax jmp short loc_996B ; --------------------------------------------------------------------------- loc_9952: cmp [bp+arg_0], 1 jnz short loc_995D mov ax, 28h ; '(' jmp short loc_996B ; --------------------------------------------------------------------------- loc_995D: cmp [bp+arg_0], 2 jnz short loc_9968 mov ax, 3E80h jmp short loc_996B ; --------------------------------------------------------------------------- loc_9968: mov ax, 3EA8h loc_996B: mov si, ax mov ax, [bp+arg_4] sar ax, 3 mov dx, [bp+arg_2] shl dx, 6 add ax, dx mov dx, [bp+arg_2] shl dx, 4 add ax, dx mov di, ax call egc_start_copy mov [bp+var_2], 0 jmp short loc_99D2 ; --------------------------------------------------------------------------- loc_9991: mov [bp+var_4], 0 jmp short loc_99C3 ; --------------------------------------------------------------------------- loc_9998: mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al les bx, _VRAM_PLANE_B add bx, si mov ax, es:[bx] mov [bp+var_6], ax mov al, 0 out dx, al mov bx, word ptr _VRAM_PLANE_B add bx, di mov ax, [bp+var_6] mov es:[bx], ax add [bp+var_4], 2 add si, 2 add di, 2 loc_99C3: cmp [bp+var_4], 28h ; '(' jl short loc_9998 inc [bp+var_2] add di, 28h ; '(' add si, 28h ; '(' loc_99D2: cmp [bp+var_2], 0C8h ; 'ネ' jl short loc_9991 call egc_off pop di pop si leave retn 6 sub_9942 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_99E4 proc near var_6 = word ptr -6 var_4 = word ptr -4 var_2 = word ptr -2 arg_0 = word ptr 4 arg_2 = word ptr 6 arg_4 = word ptr 8 enter 6, 0 push si push di cmp [bp+arg_4], 0 jnz short loc_99F4 xor ax, ax jmp short loc_9A0D ; --------------------------------------------------------------------------- loc_99F4: cmp [bp+arg_4], 1 jnz short loc_99FF mov ax, 28h ; '(' jmp short loc_9A0D ; --------------------------------------------------------------------------- loc_99FF: cmp [bp+arg_4], 2 jnz short loc_9A0A mov ax, 3E80h jmp short loc_9A0D ; --------------------------------------------------------------------------- loc_9A0A: mov ax, 3EA8h loc_9A0D: mov si, ax mov di, 1F54h mov ax, [bp+arg_2] imul ax, 50h add si, ax call egc_start_copy mov ax, [bp+arg_2] mov [bp+var_2], ax jmp short loc_9A68 ; --------------------------------------------------------------------------- loc_9A27: mov [bp+var_4], 0 jmp short loc_9A59 ; --------------------------------------------------------------------------- loc_9A2E: mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al les bx, _VRAM_PLANE_B add bx, si mov ax, es:[bx] mov [bp+var_6], ax mov al, 0 out dx, al mov bx, word ptr _VRAM_PLANE_B add bx, di mov ax, [bp+var_6] mov es:[bx], ax add [bp+var_4], 2 add si, 2 add di, 2 loc_9A59: cmp [bp+var_4], 28h ; '(' jl short loc_9A2E inc [bp+var_2] add di, 28h ; '(' add si, 28h ; '(' loc_9A68: mov ax, [bp+arg_0] add ax, [bp+arg_2] cmp ax, [bp+var_2] jg short loc_9A27 call egc_off pop di pop si leave retn 6 sub_99E4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_9A7E proc near var_2 = word ptr -2 enter 2, 0 push si push di call grcg_setcolor pascal, (GC_RMW shl 16) + 0 mov si, 14Ch jmp short loc_9AC5 ; --------------------------------------------------------------------------- loc_9A94: mov di, 90h jmp short loc_9ABE ; --------------------------------------------------------------------------- loc_9A99: mov ax, di sar ax, 3 mov dx, si shl dx, 6 add ax, dx mov dx, si shl dx, 4 add ax, dx mov [bp+var_2], ax les bx, _VRAM_PLANE_B add bx, [bp+var_2] mov word ptr es:[bx], 0FFFFh add di, 10h loc_9ABE: cmp di, 1F0h jl short loc_9A99 inc si loc_9AC5: cmp si, 15Ch jl short loc_9A94 call grcg_off pop di pop si leave retn sub_9A7E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_9AD4 proc near push bp mov bp, sp push si push ds push (offset aKkuukkuukkuukk+60h) call sub_95A3 push 1Eh call frame_delay push 1 call palette_white_out call _snd_load c, offset aEnding_m, ds, SND_LOAD_SONG kajacall KAJA_SONG_PLAY pop cx call sub_9A7E push 4 call palette_white_in push 5 call _snd_delay_until_measure pop cx mov si, 0A0h jmp short loc_9B5C ; --------------------------------------------------------------------------- loc_9B1B: push si push 64h ; 'd' lea ax, [si+13Fh] push ax push 12B0004h call egc_shift_left call grcg_setcolor pascal, (GC_RMW shl 16) + 0 lea ax, [si+138h] push ax push 64h ; 'd' lea ax, [si+13Fh] push ax push 12Bh call grcg_boxfill call grcg_off push 1 call frame_delay sub si, 4 loc_9B5C: cmp si, 24h ; '$' jg short loc_9B1B pop si pop bp retn sub_9AD4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_9B64 proc near push bp mov bp, sp push si push ds push offset aEnd1_txt ; "end1.txt" call sub_95A3 call _snd_load c, offset aEnd1_m, ds, SND_LOAD_SONG kajacall KAJA_SONG_PLAY pop cx mov PaletteTone, 0 call far ptr palette_show mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al call _pi_slot_load c, 0, offset aEd01_pi, ds call _pi_slot_palette_apply stdcall, 0 pop cx call _pi_slot_put c, 0, large 0 freePISlotLarge 0 push 2 call palette_black_in push 28h ; '(' call frame_delay push 0 call sub_98B5 mov byte_F02A, 2Fh ; '/' mov byte_F02B, 1 push 90014Ch push 2Ch ; ',' push ds push offset unk_DE32 push 6 call sub_9643 push 14h call frame_delay push 1 call palette_black_out push 1 call sub_98B5 push 1 call palette_black_in mov si, 1 jmp short loc_9C2D ; --------------------------------------------------------------------------- loc_9C15: push 90014Ch push 2Ch ; ',' mov ax, si imul ax, 2Eh add ax, 0EB2h push ds push ax push 6 call sub_9643 inc si loc_9C2D: cmp si, 3 jle short loc_9C15 push 2 call sub_98B5 mov si, 4 jmp short loc_9C54 ; --------------------------------------------------------------------------- loc_9C3C: push 90014Ch push 2Ch ; ',' mov ax, si imul ax, 2Eh add ax, 0EB2h push ds push ax push 6 call sub_9643 inc si loc_9C54: cmp si, 5 jle short loc_9C3C mov byte_F02A, 26h ; '&' push 90014Ch push 2Ch ; ',' push ds push offset unk_DF46 push 6 call sub_9643 mov byte_F02A, 2Fh ; '/' mov si, 7 jmp short loc_9C91 ; --------------------------------------------------------------------------- loc_9C79: push 90014Ch push 2Ch ; ',' mov ax, si imul ax, 2Eh add ax, 0EB2h push ds push ax push 6 call sub_9643 inc si loc_9C91: cmp si, 9 jle short loc_9C79 mov byte_F02A, 26h ; '&' push 90014Ch push 2Ch ; ',' push ds push offset unk_DFFE push 6 call sub_9643 mov byte_F02A, 2Fh ; '/' push 90014Ch push 2Ch ; ',' push ds push offset unk_E02C push 6 call sub_9643 push 14h call frame_delay push 90014Ch push 2Ch ; ',' push ds push offset unk_E05A push 6 call sub_9643 xor si, si jmp short loc_9D10 ; --------------------------------------------------------------------------- loc_9CDE: mov dx, 0A6h ; 'ヲ' mov al, 0 out dx, al push 0A00064h push 1DF0129h push 2 call egc_shift_down push 3 mov ax, si add ax, ax mov dx, 0C6h ; 'ニ' sub dx, ax push dx push 2 call sub_99E4 push 1 call frame_delay inc si loc_9D10: cmp si, 64h ; 'd' jl short loc_9CDE push 90014Ch push 2Ch ; ',' push ds push offset unk_E088 push 6 call sub_9643 mov byte_F02A, 26h ; '&' mov si, 0Eh jmp short loc_9D48 ; --------------------------------------------------------------------------- loc_9D30: push 90014Ch push 2Ch ; ',' mov ax, si imul ax, 2Eh add ax, 0EB2h push ds push ax push 6 call sub_9643 inc si loc_9D48: cmp si, 0Fh jle short loc_9D30 mov byte_F02A, 2Fh ; '/' mov si, 10h jmp short loc_9D6F ; --------------------------------------------------------------------------- loc_9D57: push 90014Ch push 2Ch ; ',' mov ax, si imul ax, 2Eh add ax, 0EB2h push ds push ax push 6 call sub_9643 inc si loc_9D6F: cmp si, 11h jle short loc_9D57 mov byte_F02A, 26h ; '&' mov si, 12h jmp short loc_9D96 ; --------------------------------------------------------------------------- loc_9D7E: push 90014Ch push 2Ch ; ',' mov ax, si imul ax, 2Eh add ax, 0EB2h push ds push ax push 6 call sub_9643 inc si loc_9D96: cmp si, 14h jle short loc_9D7E mov byte_F02A, 2Fh ; '/' push 90014Ch push 2Ch ; ',' push ds push offset unk_E1F8 push 6 call sub_9643 mov byte_F02A, 26h ; '&' push 90014Ch push 2Ch ; ',' push ds push offset unk_E226 push 6 call sub_9643 mov byte_F02A, 2Fh ; '/' push 90014Ch push 2Ch ; ',' push ds push offset unk_E254 push 6 call sub_9643 mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al call _pi_slot_load c, 0, offset aEd02_pi, ds call _pi_slot_palette_apply stdcall, 0 pop cx call _pi_slot_put c, 0, large 0 freePISlotLarge 0 push 2 call palette_black_out les bx, _mikoconfig cmp es:[bx+mikoconfig_t.shottype], 0 jnz short loc_9E2A push 0 jmp short loc_9E3B ; --------------------------------------------------------------------------- loc_9E2A: les bx, _mikoconfig cmp es:[bx+mikoconfig_t.shottype], 1 jnz short loc_9E39 push 2 jmp short loc_9E3B ; --------------------------------------------------------------------------- loc_9E39: push 3 loc_9E3B: call sub_98B5 push 2 call palette_black_in mov byte_F02A, 26h ; '&' push 90014Ch push 2Ch ; ',' push ds push offset unk_E282 push 6 call sub_9643 mov byte_F02A, 2Fh ; '/' mov si, 19h jmp short loc_9E7D ; --------------------------------------------------------------------------- loc_9E65: push 90014Ch push 2Ch ; ',' mov ax, si imul ax, 2Eh add ax, 0EB2h push ds push ax push 6 call sub_9643 inc si loc_9E7D: cmp si, 1Ah jle short loc_9E65 mov byte_F02A, 26h ; '&' les bx, _mikoconfig cmp es:[bx+mikoconfig_t.shottype], 0 jnz loc_9F22 mov si, 1Bh jmp short loc_9EB1 ; --------------------------------------------------------------------------- loc_9E99: push 90014Ch push 2Ch ; ',' mov ax, si imul ax, 2Eh add ax, 0EB2h push ds push ax push 6 call sub_9643 inc si loc_9EB1: cmp si, 1Ch jle short loc_9E99 mov byte_F02A, 2Fh ; '/' mov si, 1Dh jmp short loc_9ED8 ; --------------------------------------------------------------------------- loc_9EC0: push 90014Ch push 2Ch ; ',' mov ax, si imul ax, 2Eh add ax, 0EB2h push ds push ax push 6 call sub_9643 inc si loc_9ED8: cmp si, 1Eh jle short loc_9EC0 push 1 call sub_98B5 mov byte_F02A, 26h ; '&' push 90014Ch push 2Ch ; ',' push ds push offset unk_E3C4 push 6 call sub_9643 mov byte_F02A, 2Fh ; '/' push 90014Ch push 2Ch ; ',' push ds push offset unk_E3F2 push 0Ch call sub_9643 mov byte_F02B, 0 push 90014Ch push 2Ch ; ',' push ds push offset unk_E420 jmp loc_A092 ; --------------------------------------------------------------------------- loc_9F22: les bx, _mikoconfig cmp es:[bx+mikoconfig_t.shottype], 1 jnz loc_9FD3 push 90014Ch push 2Ch ; ',' push ds push offset unk_E44E push 6 call sub_9643 mov byte_F02A, 2Fh ; '/' push 90014Ch push 2Ch ; ',' push ds push offset unk_E47C push 6 call sub_9643 mov byte_F02A, 26h ; '&' push 90014Ch push 2Ch ; ',' push ds push offset unk_E4AA push 6 call sub_9643 mov byte_F02A, 2Fh ; '/' mov si, 25h ; '%' jmp short loc_9F8E ; --------------------------------------------------------------------------- loc_9F76: push 90014Ch push 2Ch ; ',' mov ax, si imul ax, 2Eh add ax, 0EB2h push ds push ax push 6 call sub_9643 inc si loc_9F8E: cmp si, 26h ; '&' jle short loc_9F76 mov byte_F02A, 26h ; '&' push 90014Ch push 2Ch ; ',' push ds push offset unk_E534 push 6 call sub_9643 mov byte_F02A, 2Fh ; '/' push 90014Ch push 2Ch ; ',' push ds push offset unk_E562 push 0Ch call sub_9643 mov byte_F02B, 0 push 90014Ch push 2Ch ; ',' push ds push offset unk_E590 jmp loc_A092 ; --------------------------------------------------------------------------- loc_9FD3: les bx, _mikoconfig cmp es:[bx+mikoconfig_t.shottype], 2 jnz loc_A097 push 90014Ch push 2Ch ; ',' push ds push offset unk_E5BE push 6 call sub_9643 mov byte_F02A, 2Fh ; '/' push 90014Ch push 2Ch ; ',' push ds push offset unk_E5EC push 6 call sub_9643 mov byte_F02A, 26h ; '&' mov si, 2Ch ; ',' jmp short loc_A029 ; --------------------------------------------------------------------------- loc_A011: push 90014Ch push 2Ch ; ',' mov ax, si imul ax, 2Eh add ax, 0EB2h push ds push ax push 6 call sub_9643 inc si loc_A029: cmp si, 2Dh ; '-' jle short loc_A011 mov byte_F02A, 2Fh ; '/' mov si, 2Eh ; '.' jmp short loc_A050 ; --------------------------------------------------------------------------- loc_A038: push 90014Ch push 2Ch ; ',' mov ax, si imul ax, 2Eh add ax, 0EB2h push ds push ax push 6 call sub_9643 inc si loc_A050: cmp si, 2Fh ; '/' jle short loc_A038 mov byte_F02A, 26h ; '&' push 90014Ch push 2Ch ; ',' push ds push offset unk_E6D2 push 6 call sub_9643 mov byte_F02A, 2Fh ; '/' push 90014Ch push 2Ch ; ',' push ds push offset unk_E700 push 0Ch call sub_9643 mov byte_F02B, 0 push 90014Ch push 2Ch ; ',' push ds push offset unk_E72E loc_A092: push 9 call sub_9643 loc_A097: call sub_9AD4 pop si pop bp retn sub_9B64 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_A09D proc near push bp mov bp, sp push si push ds push offset aEnd2_txt ; "end2.txt" call sub_95A3 call _snd_load c, offset aEnd1_m, ds, SND_LOAD_SONG kajacall KAJA_SONG_PLAY pop cx mov PaletteTone, 0 call far ptr palette_show mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al call _pi_slot_load c, 0, offset aEd01_pi, ds call _pi_slot_palette_apply stdcall, 0 pop cx call _pi_slot_put c, 0, large 0 freePISlotLarge 0 push 2 call palette_black_in push 28h ; '(' call frame_delay push 0 call sub_98B5 mov byte_F02A, 2Fh ; '/' mov byte_F02B, 1 push 90014Ch push 2Ch ; ',' push ds push offset unk_DE32 push 6 call sub_9643 push 14h call frame_delay push 1 call palette_black_out mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al call _pi_slot_load c, 0, offset aEd03_pi, ds call _pi_slot_palette_apply stdcall, 0 pop cx call _pi_slot_put c, 0, large 0 freePISlotLarge 0 push 0 call sub_98B5 push 1 call palette_black_in mov si, 1 jmp short loc_A19D ; --------------------------------------------------------------------------- loc_A185: push 90014Ch push 2Ch ; ',' mov ax, si imul ax, 2Eh add ax, 0EB2h push ds push ax push 6 call sub_9643 inc si loc_A19D: cmp si, 3 jle short loc_A185 push 1 call sub_98B5 mov si, 4 jmp short loc_A1C4 ; --------------------------------------------------------------------------- loc_A1AC: push 90014Ch push 2Ch ; ',' mov ax, si imul ax, 2Eh add ax, 0EB2h push ds push ax push 6 call sub_9643 inc si loc_A1C4: cmp si, 9 jle short loc_A1AC push 2 call sub_98B5 mov si, 0Ah jmp short loc_A1EB ; --------------------------------------------------------------------------- loc_A1D3: push 90014Ch push 2Ch ; ',' mov ax, si imul ax, 2Eh add ax, 0EB2h push ds push ax push 6 call sub_9643 inc si loc_A1EB: cmp si, 0Bh jle short loc_A1D3 push 3 call sub_98B5 mov si, 0Ch jmp short loc_A212 ; --------------------------------------------------------------------------- loc_A1FA: push 90014Ch push 2Ch ; ',' mov ax, si imul ax, 2Eh add ax, 0EB2h push ds push ax push 6 call sub_9643 inc si loc_A212: cmp si, 0Dh jle short loc_A1FA push ds push offset aEd03a_rgb ; "ed03a.rgb" call palette_entry_rgb call far ptr palette_show mov byte_F02A, 29h ; ')' mov si, 0Eh jmp short loc_A247 ; --------------------------------------------------------------------------- loc_A22F: push 90014Ch push 2Ch ; ',' mov ax, si imul ax, 2Eh add ax, 0EB2h push ds push ax push 6 call sub_9643 inc si loc_A247: cmp si, 0Fh jle short loc_A22F push 2 call palette_black_out mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al call _pi_slot_load c, 0, offset aEd04_pi, ds call _pi_slot_palette_apply stdcall, 0 pop cx call _pi_slot_put c, 0, large 0 freePISlotLarge 0 mov dx, 0A6h ; 'ヲ' mov al, 0 out dx, al push 0 call sub_98B5 push 2 call palette_black_in mov byte_F02A, 2Fh ; '/' push 90014Ch push 2Ch ; ',' push ds push offset unk_E112 push 6 call sub_9643 mov byte_F02A, 29h ; ')' push 90014Ch push 2Ch ; ',' push ds push offset unk_E140 push 6 call sub_9643 mov byte_F02A, 2Fh ; '/' mov si, 12h jmp short loc_A2EA ; --------------------------------------------------------------------------- loc_A2D2: push 90014Ch push 2Ch ; ',' mov ax, si imul ax, 2Eh add ax, 0EB2h push ds push ax push 6 call sub_9643 inc si loc_A2EA: cmp si, 13h jle short loc_A2D2 push 1 call sub_98B5 mov byte_F02A, 29h ; ')' mov si, 14h jmp short loc_A316 ; --------------------------------------------------------------------------- loc_A2FE: push 90014Ch push 2Ch ; ',' mov ax, si imul ax, 2Eh add ax, 0EB2h push ds push ax push 6 call sub_9643 inc si loc_A316: cmp si, 15h jle short loc_A2FE mov byte_F02A, 2Fh ; '/' push 90014Ch push 2Ch ; ',' push ds push offset unk_E226 push 6 call sub_9643 mov byte_F02A, 29h ; ')' mov si, 17h jmp short loc_A353 ; --------------------------------------------------------------------------- loc_A33B: push 90014Ch push 2Ch ; ',' mov ax, si imul ax, 2Eh add ax, 0EB2h push ds push ax push 6 call sub_9643 inc si loc_A353: cmp si, 18h jle short loc_A33B mov byte_F02A, 2Fh ; '/' push 90014Ch push 2Ch ; ',' push ds push offset unk_E2B0 push 6 call sub_9643 mov byte_F02A, 29h ; ')' push 90014Ch push 2Ch ; ',' push ds push offset unk_E2DE push 6 call sub_9643 push 0Ah call frame_delay les bx, _mikoconfig cmp es:[bx+mikoconfig_t.shottype], 0 jnz loc_A4EC push 90014Ch push 2Ch ; ',' push ds push offset unk_E30C push 6 call sub_9643 push 1Eh call frame_delay push 2 call sub_98B5 mov byte_F02A, 2Fh ; '/' push 90014Ch push 2Ch ; ',' push ds push offset unk_E33A push 6 call sub_9643 push 3 call sub_98B5 push 90014Ch push 2Ch ; ',' push ds push offset unk_E368 push 6 call sub_9643 mov byte_F02A, 29h ; ')' mov si, 1Eh jmp short loc_A403 ; --------------------------------------------------------------------------- loc_A3EB: push 90014Ch push 2Ch ; ',' mov ax, si imul ax, 2Eh add ax, 0EB2h push ds push ax push 6 call sub_9643 inc si loc_A403: cmp si, 1Fh jle short loc_A3EB mov byte_F02A, 2Fh ; '/' mov si, 20h ; ' ' jmp short loc_A42A ; --------------------------------------------------------------------------- loc_A412: push 90014Ch push 2Ch ; ',' mov ax, si imul ax, 2Eh add ax, 0EB2h push ds push ax push 6 call sub_9643 inc si loc_A42A: cmp si, 24h ; '$' jle short loc_A412 mov byte_F02A, 29h ; ')' mov si, 25h ; '%' jmp short loc_A451 ; --------------------------------------------------------------------------- loc_A439: push 90014Ch push 2Ch ; ',' mov ax, si imul ax, 2Eh add ax, 0EB2h push ds push ax push 6 call sub_9643 inc si loc_A451: cmp si, 26h ; '&' jle short loc_A439 mov byte_F02A, 2Fh ; '/' push 90014Ch push 2Ch ; ',' push ds push offset unk_E534 push 6 call sub_9643 push 2 call palette_black_out mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al call _pi_slot_load c, 0, offset aEd05_pi, ds call _pi_slot_palette_apply stdcall, 0 pop cx call _pi_slot_put c, 0, large 0 freePISlotLarge 0 push 0 call sub_98B5 push 2 call palette_black_in mov si, 28h ; '(' jmp short loc_A4D3 ; --------------------------------------------------------------------------- loc_A4BB: push 90014Ch push 2Ch ; ',' mov ax, si imul ax, 2Eh add ax, 0EB2h push ds push ax push 6 call sub_9643 inc si loc_A4D3: cmp si, 2Eh ; '.' jle short loc_A4BB mov byte_F02B, 0 push 90014Ch push 2Ch ; ',' push ds push offset unk_E6A4 jmp loc_A869 ; --------------------------------------------------------------------------- loc_A4EC: les bx, _mikoconfig cmp es:[bx+mikoconfig_t.shottype], 1 jnz loc_A6B6 push 90014Ch push 2Ch ; ',' push ds push offset unk_E6D2 push 6 call sub_9643 push 90014Ch push 2Ch ; ',' push ds push offset unk_E700 push 6 call sub_9643 mov byte_F02A, 2Fh ; '/' push 90014Ch push 2Ch ; ',' push ds push offset unk_E72E push 6 call sub_9643 mov byte_F02A, 29h ; ')' push 90014Ch push 2Ch ; ',' push ds push offset unk_E75C push 6 call sub_9643 push 1Eh call frame_delay push 2 call sub_98B5 mov byte_F02A, 2Fh ; '/' push 90014Ch push 2Ch ; ',' push ds push offset unk_E78A push 6 call sub_9643 push 3 call sub_98B5 push 90014Ch push 2Ch ; ',' push ds push offset unk_E7B8 push 6 call sub_9643 mov byte_F02A, 29h ; ')' push 90014Ch push 2Ch ; ',' push ds push offset unk_E7E6 push 6 call sub_9643 mov byte_F02A, 2Fh ; '/' push 90014Ch push 2Ch ; ',' push ds push offset unk_E814 push 6 call sub_9643 mov byte_F02A, 29h ; ')' push 90014Ch push 2Ch ; ',' push ds push offset unk_E842 push 6 call sub_9643 mov byte_F02A, 2Fh ; '/' push 90014Ch push 2Ch ; ',' push ds push offset unk_E870 push 6 call sub_9643 mov byte_F02A, 29h ; ')' mov si, 3Ah ; ':' jmp short loc_A5F9 ; --------------------------------------------------------------------------- loc_A5E1: push 90014Ch push 2Ch ; ',' mov ax, si imul ax, 2Eh add ax, 0EB2h push ds push ax push 6 call sub_9643 inc si loc_A5F9: cmp si, 3Dh ; '=' jle short loc_A5E1 mov byte_F02A, 2Fh ; '/' mov si, 3Eh ; '>' jmp short loc_A620 ; --------------------------------------------------------------------------- loc_A608: push 90014Ch push 2Ch ; ',' mov ax, si imul ax, 2Eh add ax, 0EB2h push ds push ax push 6 call sub_9643 inc si loc_A620: cmp si, 42h ; 'B' jle short loc_A608 push 2 call palette_black_out mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al call _pi_slot_load c, 0, offset aEd05_pi, ds call _pi_slot_palette_apply stdcall, 0 pop cx call _pi_slot_put c, 0, large 0 freePISlotLarge 0 push 1 call sub_98B5 push 2 call palette_black_in mov si, 43h ; 'C' jmp short loc_A68C ; --------------------------------------------------------------------------- loc_A674: push 90014Ch push 2Ch ; ',' mov ax, si imul ax, 2Eh add ax, 0EB2h push ds push ax push 6 call sub_9643 inc si loc_A68C: cmp si, 44h ; 'D' jle short loc_A674 push 90014Ch push 2Ch ; ',' push ds push offset unk_EA98 push 0Ch call sub_9643 mov byte_F02B, 0 push 90014Ch push 2Ch ; ',' push ds push offset unk_EAC6 jmp loc_A869 ; --------------------------------------------------------------------------- loc_A6B6: push 90014Ch push 2Ch ; ',' push ds push offset unk_EAF4 push 6 call sub_9643 mov byte_F02A, 2Fh ; '/' push 90014Ch push 2Ch ; ',' push ds push offset unk_EB22 push 6 call sub_9643 mov byte_F02A, 29h ; ')' push 90014Ch push 2Ch ; ',' push ds push offset unk_EB50 push 6 call sub_9643 push 1Eh call frame_delay push 2 call sub_98B5 mov byte_F02A, 2Fh ; '/' push 90014Ch push 2Ch ; ',' push ds push offset unk_EB7E push 6 call sub_9643 push 3 call sub_98B5 push 90014Ch push 2Ch ; ',' push ds push offset unk_EBAC push 6 call sub_9643 mov byte_F02A, 29h ; ')' push 90014Ch push 2Ch ; ',' push ds push offset unk_EBDA push 6 call sub_9643 mov byte_F02A, 2Fh ; '/' push 90014Ch push 2Ch ; ',' push ds push offset unk_EC08 push 6 call sub_9643 mov byte_F02A, 29h ; ')' push 90014Ch push 2Ch ; ',' push ds push offset unk_EC36 push 6 call sub_9643 mov byte_F02A, 2Fh ; '/' push 90014Ch push 2Ch ; ',' push ds push offset unk_EC64 push 6 call sub_9643 mov byte_F02A, 29h ; ')' push 90014Ch push 2Ch ; ',' push ds push offset unk_EC92 push 6 call sub_9643 mov byte_F02A, 2Fh ; '/' push 90014Ch push 2Ch ; ',' push ds push offset unk_ECC0 push 6 call sub_9643 mov byte_F02A, 29h ; ')' push 90014Ch push 2Ch ; ',' push ds push offset unk_ECEE push 6 call sub_9643 mov byte_F02A, 2Fh ; '/' push 90014Ch push 2Ch ; ',' push ds push offset unk_ED1C push 6 call sub_9643 push 2 call palette_black_out mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al call _pi_slot_load c, 0, offset aEd05_pi, ds call _pi_slot_palette_apply stdcall, 0 pop cx call _pi_slot_put c, 0, large 0 freePISlotLarge 0 push 2 call sub_98B5 push 2 call palette_black_in mov si, 54h ; 'T' jmp short loc_A842 ; --------------------------------------------------------------------------- loc_A82A: push 90014Ch push 2Ch ; ',' mov ax, si imul ax, 2Eh add ax, 0EB2h push ds push ax push 6 call sub_9643 inc si loc_A842: cmp si, 5Bh ; '[' jle short loc_A82A push 90014Ch push 2Ch ; ',' push ds push offset unk_EEBA push 6 call sub_9643 mov byte_F02B, 0 push 90014Ch push 2Ch ; ',' push ds push offset unk_EEE8 loc_A869: push 0Ch call sub_9643 call sub_9AD4 pop si pop bp retn sub_A09D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_A874 proc near var_2 = word ptr -2 arg_0 = word ptr 4 arg_2 = word ptr 6 arg_4 = word ptr 8 enter 2, 0 push si push di mov si, [bp+arg_4] mov di, [bp+arg_0] mov [bp+var_2], 0 jmp short loc_A898 ; --------------------------------------------------------------------------- loc_A887: push si push [bp+arg_2] push di call over_put_8 inc [bp+var_2] inc di add si, 10h loc_A898: cmp [bp+var_2], 5 jl short loc_A887 pop di pop si leave retn 6 sub_A874 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_A8A4 proc near push bp mov bp, sp call grcg_setcolor pascal, (GC_RMW shl 16) + 0 push 1A000C0h push 27F010Fh call grcg_boxfill call grcg_off pop bp retn sub_A8A4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame rotrect proc near arg_0 = word ptr 4 arg_2 = word ptr 6 arg_4 = word ptr 8 push bp mov bp, sp push [bp+arg_4] push [bp+arg_0] call rotrect_animate push 200064h push [bp+arg_2] call sub_9942 push 4 call frame_delay mov PaletteTone, 64h ; 'd' call far ptr palette_show pop bp retn 6 rotrect endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_A8FA proc near var_4 = byte ptr -4 enter 4, 0 push si push di push 6 call _snd_delay_until_measure pop cx xor si, si jmp short loc_A920 ; --------------------------------------------------------------------------- loc_A90C: push 1B000B8h push si call sub_A874 push 4 call frame_delay add si, 5 loc_A920: cmp si, 37h ; '7' jl short loc_A90C push ds push offset aVer1_00 ; "ver 1.00" push 2F00C0h push 210h call _graph_putsa_fx add sp, 0Ah push 8 call _snd_delay_until_measure pop cx mov si, 0B8h jmp short loc_A992 ; --------------------------------------------------------------------------- loc_A947: call grcg_setcolor pascal, (GC_RMW shl 16) + 0 push 210h lea ax, [si+4] push ax push 24Fh lea ax, [si+13h] push ax call grcg_boxfill call grcg_off push 1B0h push si push 32h ; '2' call sub_A874 push ds push offset aVer1_00 ; "ver 1.00" push 2Fh ; '/' lea ax, [si+8] push ax push 210h call _graph_putsa_fx add sp, 0Ah push 1 call frame_delay add si, 4 loc_A992: cmp si, 170h jl short loc_A947 push 9 call _snd_delay_until_measure pop cx mov byte_F02A, 2Fh ; '/' push 1B000C0h push 14h push ds push offset aXxcvsB@b@vrvsv ; "封魔録  STAFF" push 0Ch call sub_9643 push 0Dh call _snd_delay_until_measure pop cx mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al call _pi_slot_load c, 0, offset aEd06_pi, ds call _pi_slot_palette_apply stdcall, 0 pop cx call _pi_slot_put c, 0, large 0 freePISlotLarge 0 mov dx, 0A6h ; 'ヲ' mov al, 0 out dx, al push 4 push 0 push 29h ; ')' call rotrect call sub_A8A4 push ds push offset aGvgngogigab@b@ ; "プログラム   ZUN" push 2F00C0h push 1A0h call _graph_putsa_fx add sp, 0Ah push 11h call _snd_delay_until_measure pop cx push ds push offset aEd06b_rgb ; "ed06b.rgb" call palette_entry_rgb call far ptr palette_show push 0FCh push 2 push 29h ; ')' call rotrect push 15h call _snd_delay_until_measure pop cx push 200064h push 3 call sub_9942 push ds push offset aEd06c_rgb ; "ed06c.rgb" call palette_entry_rgb call far ptr palette_show push 4 push 3 push 29h ; ')' call rotrect mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al call _pi_slot_load c, 0, offset aEd07_pi, ds call _pi_slot_put c, 0, large 0 freePISlotLarge 0 mov dx, 0A6h ; 'ヲ' mov al, 0 out dx, al push 19h call _snd_delay_until_measure pop cx call sub_A8A4 push ds push offset aGogigtgbgbgnb@ ; "グラフィック ZUN" push 2F00C0h push 1A0h call _graph_putsa_fx add sp, 0Ah push ds push offset aB@b@b@b@b@b@b@ ; "       高附日向" push 2F00E0h push 1A0h call _graph_putsa_fx add sp, 0Ah push ds push offset aB@b@b@b@bigibG ; "    (オールクリア画)" push 2F00F0h push 1A0h call _graph_putsa_fx add sp, 0Ah push ds push offset aEd07a_rgb ; "ed07a.rgb" call palette_entry_rgb call far ptr palette_show push 0FCh push 0 push 29h ; ')' call rotrect push 1Dh call _snd_delay_until_measure pop cx push ds push offset aEd07b_rgb ; "ed07b.rgb" call palette_entry_rgb call far ptr palette_show push 8 push 1 push 0E9h call rotrect push 21h ; '!' call _snd_delay_until_measure pop cx push 200064h push 2 call sub_9942 push 0F8h push 2 push 0E9h call rotrect push 25h ; '%' call _snd_delay_until_measure pop cx call sub_A8A4 push ds push offset aVlvtvrvhvbb@b@ ; "MUSIC  ZUN" push 2F00C0h push 1B0h call _graph_putsa_fx add sp, 0Ah push ds push offset aEd07b_rgb ; "ed07b.rgb" call palette_entry_rgb call far ptr palette_show push 8 push 3 push 0E9h call rotrect mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al call _pi_slot_load c, 0, offset aEd08_pi, ds call _pi_slot_put c, 0, large 0 mov dx, 0A6h ; 'ヲ' mov al, 0 out dx, al push 29h ; ')' call _snd_delay_until_measure pop cx call _pi_slot_palette_apply stdcall, 0 pop cx freePISlotLarge 0 push 0F8h push 0 push 0E9h call rotrect push 2Dh ; '-' call _snd_delay_until_measure pop cx push ds push offset aEd08a_rgb ; "ed08a.rgb" call palette_entry_rgb call far ptr palette_show push 0Ch push 1 push 29h ; ')' call rotrect push 31h ; '1' call _snd_delay_until_measure pop cx call sub_A8A4 push ds push offset aVsvdvrvsb@vovk ; "TEST PLAYER" push 2F00C0h push 1A0h call _graph_putsa_fx add sp, 0Ah push ds push offset aB@b@b@b@vivivs ; "    かおる" push 2F00E0h push 1A0h call _graph_putsa_fx add sp, 0Ah push ds push offset aB@b@b@b@vbbVv ; "    C−W" push 2F00F8h push 1A0h call _graph_putsa_fx add sp, 0Ah push ds push offset aB@b@Orucb@mbiS ; "   山田 恵一郎" push 2F0110h push 1A0h call _graph_putsa_fx add sp, 0Ah push ds push offset aVVSSxrivVVVV ; " その他大勢のみなさん" push 2F0128h push 1A0h call _graph_putsa_fx add sp, 0Ah push ds push offset aEd08b_rgb ; "ed08b.rgb" call palette_entry_rgb call far ptr palette_show push 0F4h push 2 push 29h ; ')' call rotrect push 35h ; '5' call _snd_delay_until_measure pop cx push ds push offset aEd08c_rgb ; "ed08c.rgb" call palette_entry_rgb call far ptr palette_show push 0Ch push 3 push 29h ; ')' call rotrect push 39h ; '9' call _snd_delay_until_measure pop cx push 4 call palette_black_out mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al call _pi_slot_load c, 0, offset aEd09_pi, ds call _pi_slot_palette_apply stdcall, 0 pop cx call _pi_slot_put c, 0, large 0 freePISlotLarge 0 push 0 call graph_copy_page push 4 call palette_black_in push 64h ; 'd' call frame_delay mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al push ds push offset aVsvivbvovlb@vs mov al, byte_F02A cbw push ax push 600018h call _graph_putsa_fx add sp, 0Ah push 150060h push 18h call sub_97F1 add sp, 6 push 0C8h ; 'ネ' call frame_delay mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al push ds push offset aB@nPiuU_ ; " 最終得点" mov al, byte_F02A cbw push ax push 800040h call _graph_putsa_fx add sp, 0Ah push 0C00080h pushd [_score] call sub_95CB push 100080h push 40h call sub_97F1 add sp, 6 push 64h ; 'd' call frame_delay mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al push ds push offset aGrgugegbgjgeb ; "コンティニュー" mov al, byte_F02A cbw push ax push 0A00040h call _graph_putsa_fx add sp, 0Ah push 10000A0h les bx, _mikoconfig mov ax, es:[bx+mikoconfig_t.continues_used] add ax, 0A0h push ax push 0Fh call graph_gaiji_putc push 1000A0h push 40h call sub_97F1 add sp, 6 push 64h ; 'd' call frame_delay mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al push ds push offset aB@Gigugn ; "  ランク" mov al, byte_F02A cbw push ax push 0C00040h call _graph_putsa_fx add sp, 0Ah push 0D000C0h push 10h push ds mov al, _rank cbw shl ax, 3 add ax, 90h push ax push 0Fh call graph_gaiji_puts push 1000C0h push 40h call sub_97F1 add sp, 6 push 64h ; 'd' call frame_delay mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al push ds push offset aGvgmgcgdbPik ; "プレイヤー初期" mov al, byte_F02A cbw push ax push 0E00040h call _graph_putsa_fx add sp, 0Ah push 10000E0h les bx, _mikoconfig mov al, es:[bx+mikoconfig_t.start_lives] mov ah, 0 add ax, 0A1h ; '。' push ax push 0Fh call graph_gaiji_putc push 1000E0h push 40h call sub_97F1 add sp, 6 push 64h ; 'd' call frame_delay mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al push ds push offset aCMvpik ; " 霊撃初期数" mov al, byte_F02A cbw push ax push 1000040h call _graph_putsa_fx add sp, 0Ah push 1000100h les bx, _mikoconfig mov al, es:[bx+mikoconfig_t.start_bombs] mov ah, 0 add ax, 0A0h push ax push 0Fh call graph_gaiji_putc push 100100h push 40h call sub_97F1 add sp, 6 push 96h call frame_delay mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al les bx, _mikoconfig mov di, es:[bx+mikoconfig_t.skill] cmp di, 64h ; 'd' jle short loc_AEAC mov di, 64h ; 'd' jmp short loc_AEB2 ; --------------------------------------------------------------------------- loc_AEAC: or di, di jge short loc_AEB2 xor di, di loc_AEB2: push ds push offset aVavVVSrso ; "あなたの腕前" mov al, byte_F02A cbw push ax push 1200040h call _graph_putsa_fx add sp, 0Ah push di push ss lea ax, [bp+var_4] push ax call sub_9846 push 0C00120h push 10h push ss lea ax, [bp+var_4] push ax push 0Fh call graph_gaiji_puts cmp di, 64h ; 'd' jnz short loc_AEEF xor si, si jmp short loc_AF56 ; --------------------------------------------------------------------------- loc_AEEF: cmp di, 5Ah ; 'Z' jl short loc_AEF9 mov si, 1 jmp short loc_AF56 ; --------------------------------------------------------------------------- loc_AEF9: cmp di, 50h ; 'P' jl short loc_AF03 mov si, 2 jmp short loc_AF56 ; --------------------------------------------------------------------------- loc_AF03: cmp di, 46h ; 'F' jl short loc_AF17 cmp di, 4Dh ; 'M' jnz short loc_AF12 mov si, 3 jmp short loc_AF56 ; --------------------------------------------------------------------------- loc_AF12: mov si, 4 jmp short loc_AF56 ; --------------------------------------------------------------------------- loc_AF17: cmp di, 3Ch ; '<' jl short loc_AF21 mov si, 5 jmp short loc_AF56 ; --------------------------------------------------------------------------- loc_AF21: cmp di, 32h ; '2' jl short loc_AF2B mov si, 6 jmp short loc_AF56 ; --------------------------------------------------------------------------- loc_AF2B: cmp di, 28h ; '(' jl short loc_AF35 mov si, 7 jmp short loc_AF56 ; --------------------------------------------------------------------------- loc_AF35: cmp di, 1Eh jl short loc_AF3F mov si, 8 jmp short loc_AF56 ; --------------------------------------------------------------------------- loc_AF3F: cmp di, 14h jl short loc_AF49 mov si, 9 jmp short loc_AF56 ; --------------------------------------------------------------------------- loc_AF49: cmp di, 0Ah jl short loc_AF53 mov si, 0Ah jmp short loc_AF56 ; --------------------------------------------------------------------------- loc_AF53: mov si, 0Bh loc_AF56: mov ax, si imul ax, 2Eh add ax, 0EB2h push ds push ax mov al, byte_F02A cbw push ax push 12000F0h call _graph_putsa_fx add sp, 0Ah push 60120h push 40h call sub_97F1 add sp, 6 push 78h ; 'x' call frame_delay push 180120h push 0C0h call sub_97F1 add sp, 6 push 0C8h ; 'ネ' call frame_delay mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al push ds push offset aVpvxvxvvb@vyvt ; "1997 ZUN (Amusement Makers)" mov al, byte_F02A cbw push ax push 1600040h call _graph_putsa_fx add sp, 0Ah push 120160h push 40h call sub_97F1 add sp, 6 call _key_delay push 5 call palette_black_out nopcall sub_AFE7 call graph_clear pop di pop si leave retn sub_A8FA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_AFE7 proc far push bp mov bp, sp call score_extra_unlocked or ax, ax jz loc_B07D les bx, _mikoconfig cmp es:[bx+mikoconfig_t.continues_used], 0 jnz short loc_B07D call _pi_slot_load c, 0, offset aAll_pi, ds call _pi_slot_palette_apply stdcall, 0 pop cx call _pi_slot_put c, 0, large 0 freePISlotLarge 0 push 2 call palette_black_in push 96h call frame_delay call _pi_slot_load c, 0, offset aBut_pi, ds call _pi_slot_palette_apply stdcall, 0 pop cx call _pi_slot_put c, 0, large 0 freePISlotLarge 0 call _key_delay push 5 call palette_black_out loc_B07D: pop bp retf sub_AFE7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_B07F proc far push bp mov bp, sp call score_extra_unlocked or ax, ax jz loc_B115 mov PaletteTone, 0 call far ptr palette_show call _pi_slot_load c, 0, offset aAll_pi, ds call _pi_slot_palette_apply stdcall, 0 pop cx call _pi_slot_put c, 0, large 0 freePISlotLarge 0 push 2 call palette_black_in push 96h call frame_delay call _pi_slot_load c, 0, offset aExtra_pi, ds call _pi_slot_palette_apply stdcall, 0 pop cx call _pi_slot_put c, 0, large 0 freePISlotLarge 0 call _key_delay push 5 call palette_black_out loc_B115: pop bp retf sub_B07F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl main(int _argc, const char **_argv, const char **_envp) public _main _main proc far _argc = word ptr 6 _argv = dword ptr 8 _envp = dword ptr 0Ch push bp mov bp, sp call cfg_load or ax, ax jz loc_B1FE les bx, _mikoconfig cmp es:[bx+mikoconfig_t.stage], 7Fh jnz loc_B1FE call _game_init_main call gaiji_backup push ds push offset aMikoft_bft ; "MIKOFT.bft" call gaiji_entry_bfnt call _snd_pmd_resident call _snd_mmd_resident les bx, _mikoconfig cmp es:[bx+mikoconfig_t.bgm_mode], 0 jnz short loc_B161 mov _snd_midi_active, 0 jmp short loc_B189 ; --------------------------------------------------------------------------- loc_B161: les bx, _mikoconfig cmp es:[bx+mikoconfig_t.bgm_mode], 1 jnz short loc_B173 mov _snd_midi_active, 0 jmp short loc_B184 ; --------------------------------------------------------------------------- loc_B173: les bx, _mikoconfig cmp es:[bx+mikoconfig_t.bgm_mode], 2 jnz short loc_B189 mov al, _snd_midi_possible mov _snd_midi_active, al loc_B184: call _snd_determine_mode loc_B189: mov dx, 0A6h ; 'ヲ' mov al, 0 out dx, al mov dx, 0A4h out dx, al push ds push offset aEndft_bft ; "endft.bft" call super_entry_bfnt push 64h ; 'd' call frame_delay les bx, _mikoconfig cmp es:[bx+mikoconfig_t.rank], 4 jz short loc_B1C2 cmp es:[bx+mikoconfig_t.continues_used], 0 jz short loc_B1BA call sub_9B64 jmp short loc_B1BD ; --------------------------------------------------------------------------- loc_B1BA: call sub_A09D loc_B1BD: call sub_A8FA jmp short loc_B1C6 ; --------------------------------------------------------------------------- loc_B1C2: call sub_B07F loc_B1C6: mov PaletteTone, 32h ; '2' call far ptr palette_show call score_enter mov PaletteTone, 0 call far ptr palette_show call gaiji_restore call _game_exit pushd 0 push ds push offset path ; "op" push ds push offset path ; "op" call _execl add sp, 0Ch loc_B1FE: pop bp retf _main endp maine_01_TEXT ends ; =========================================================================== maine_02_TEXT segment word public 'CODE' use16 extern _graph_putsa_fx:proc extern _key_delay:proc extern _vram_planes_set:proc extern _pi_slot_load:proc extern FRAME_DELAY:proc extern _input_sense:proc extern _game_exit:proc extern _snd_mmd_resident:proc extern _snd_determine_mode:proc extern _snd_pmd_resident:proc extern _snd_load:proc extern _game_init_main:proc extern _pi_slot_palette_apply:proc extern _pi_slot_put:proc extern _snd_kaja_interrupt:proc extern _snd_delay_until_measure:proc maine_02_TEXT ends ; =========================================================================== maine_03_TEXT segment byte public 'CODE' use16 extern CFG_LOAD:proc maine_03_TEXT ends ; =========================================================================== maine_04_TEXT segment byte public 'CODE' use16 extern SCORE_EXTRA_UNLOCKED:proc extern SCORE_ENTER:proc maine_04_TEXT ends ; =========================================================================== maine_05_TEXT segment byte public 'CODE' use16 extern EGC_START_COPY:proc extern ROTRECT_ANIMATE:proc maine_05_TEXT ends .data include th02/strings/ranks_center[data].asm unk_D030 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 aKkuukkuukkuukk db 'ェェUUェェUUェェUUェェUUェェUUェェUUェェUUェェUU3333フフフフ3333フフフフ3333フフフフ3333フフフフフ' db 'フフフ3333フフフフ3333フフフフ3333フフフフ3333end3.txt',0 aEnding_m db 'ending.m',0 aEnd1_txt db 'end1.txt',0 aEnd1_m db 'end1.m',0 aEd01_pi db 'ed01.pi',0 aEd02_pi db 'ed02.pi',0 aEnd2_txt db 'end2.txt',0 aEd03_pi db 'ed03.pi',0 aEd03a_rgb db 'ed03a.rgb',0 aEd04_pi db 'ed04.pi',0 aEd05_pi db 'ed05.pi',0 aVer1_00 db 'ver 1.00',0 aXxcvsB@b@vrvsv db '封魔録  STAFF',0 aEd06_pi db 'ed06.pi',0 aGvgngogigab@b@ db 'プログラム   ZUN',0 aEd06b_rgb db 'ed06b.rgb',0 aEd06c_rgb db 'ed06c.rgb',0 aEd07_pi db 'ed07.pi',0 aGogigtgbgbgnb@ db 'グラフィック ZUN',0 aB@b@b@b@b@b@b@ db '       高附日向',0 aB@b@b@b@bigibG db '    (オールクリア画)',0 aEd07a_rgb db 'ed07a.rgb',0 aEd07b_rgb db 'ed07b.rgb',0 aVlvtvrvhvbb@b@ db 'MUSIC  ZUN',0 aEd08_pi db 'ed08.pi',0 aEd08a_rgb db 'ed08a.rgb',0 aVsvdvrvsb@vovk db 'TEST PLAYER',0 aB@b@b@b@vivivs db '    かおる',0 aB@b@b@b@vbbVv db '    C−W',0 aB@b@Orucb@mbiS db '   山田 恵一郎',0 aVVSSxrivVVVV db ' その他大勢のみなさん',0 aEd08b_rgb db 'ed08b.rgb',0 aEd08c_rgb db 'ed08c.rgb',0 aEd09_pi db 'ED09.pi',0 aVsvivbvovlb@vs db 'Thank you for playing',0 aB@nPiuU_ db ' 最終得点',0 aGrgugegbgjgeb db 'コンティニュー',0 aB@Gigugn db '  ランク',0 aGvgmgcgdbPik db 'プレイヤー初期',0 aCMvpik db ' 霊撃初期数',0 aVavVVSrso db 'あなたの腕前',0 aVpvxvxvvb@vyvt db '1997 ZUN (Amusement Makers)',0 aAll_pi db 'all.pi',0 aBut_pi db 'but.pi',0 aExtra_pi db 'extra.pi',0 aMikoft_bft db 'MIKOFT.bft',0 aEndft_bft db 'endft.bft',0 ; char path[] path db 'op',0 include libs/master.lib/bfnt_id[data].asm include libs/master.lib/clip[data].asm include libs/master.lib/edges[data].asm include libs/master.lib/fil[data].asm include libs/master.lib/dos_ropen[data].asm include libs/master.lib/gaiji_backup[data].asm include libs/master.lib/gaiji_entry_bfnt[data].asm include libs/master.lib/grp[data].asm include libs/master.lib/pal[data].asm include libs/master.lib/pf[data].asm include libs/master.lib/sin8[data].asm include libs/master.lib/tx[data].asm include libs/master.lib/version[data].asm include libs/master.lib/vs[data].asm include libs/master.lib/mem[data].asm include libs/master.lib/super_entry_bfnt[data].asm include libs/master.lib/superpa[data].asm public _key_delay_groups _key_delay_groups db 5, 3, 0 db 0 include th02/formats/pfopen[data].asm extern _rank:byte .data? ; TODO: Missing clip[bss].asm (8 bytes) somewhere in there... unk_DE32 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; db ? ; db ? ; unk_DF46 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; db ? ; db ? ; unk_DFFE db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_E02C db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_E05A db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_E088 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_E112 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_E140 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; db ? ; db ? ; unk_E1F8 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_E226 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_E254 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_E282 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_E2B0 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_E2DE db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_E30C db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_E33A db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_E368 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; db ? ; db ? ; unk_E3C4 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_E3F2 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_E420 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_E44E db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_E47C db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_E4AA db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_E534 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_E562 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_E590 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_E5BE db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_E5EC db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; db ? ; db ? ; unk_E6A4 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_E6D2 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_E700 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_E72E db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_E75C db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_E78A db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_E7B8 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_E7E6 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_E814 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_E842 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_E870 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; db ? ; db ? ; unk_EA98 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_EAC6 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_EAF4 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_EB22 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_EB50 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_EB7E db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_EBAC db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_EBDA db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_EC08 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_EC36 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_EC64 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_EC92 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_ECC0 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_ECEE db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_ED1C db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_EEBA db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; unk_EEE8 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; byte_F02A db ? byte_F02B db ? dd ? ; dd ? ; dd ? ; dd ? ; include libs/master.lib/fil[bss].asm include libs/master.lib/pal[bss].asm include libs/master.lib/vs[bss].asm include libs/master.lib/vsync[bss].asm include libs/master.lib/mem[bss].asm include libs/master.lib/superpa[bss].asm include th01/hardware/vram_planes[bss].asm include th02/formats/pi_slots[bss].asm include libs/master.lib/pfint21[bss].asm include th02/hardware/input_sense[bss].asm include th02/snd/snd[bss].asm include th02/snd/load[bss].asm extern _mikoconfig:dword extern _score:dword end