ReC98/th02_maine.asm

3176 lines
61 KiB
NASM
Raw Blame History

;
; +-------------------------------------------------------------------------+
; | This file has been generated by The Interactive Disassembler (IDA) |
; | Copyright (c) 2009 by Hex-Rays, <support@hex-rays.com> |
; +-------------------------------------------------------------------------+
;
; 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
.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.inc
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 end_buf
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
@@y = word ptr 8
@@x = word ptr 0Ah
enter 0Ah, 0
push si
push di
mov di, gb_0_
mov [bp+var_4], 10000000
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, 10
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, gb_0_
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+@@x]
call graph_gaiji_putc pascal, ax, [bp+@@y], di, 15
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 _key_det, 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 _key_det, 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:
graph_accesspage 1
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 byte_D080
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 ; '<27>'
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:
graph_accesspage 1
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 ; '<27>'
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:
graph_accesspage 1
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 ; '<27>'
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:
graph_accesspage 1
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 aEnd3_txt ; "end3.txt"
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 100
lea ax, [si+319]
push ax
push (299 shl 16) or 4
call egc_shift_left
call grcg_setcolor pascal, (GC_RMW shl 16) + 0
lea ax, [si+312]
push ax
push 100
lea ax, [si+319]
push ax
push 299
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
graph_accesspage 1
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 end_buf
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, END_LINE_LEN
add ax, offset end_buf
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, END_LINE_LEN
add ax, offset end_buf
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 end_buf + (END_LINE_LEN * 6)
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, END_LINE_LEN
add ax, offset end_buf
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 end_buf + (END_LINE_LEN * 10)
push 6
call sub_9643
mov byte_F02A, 2Fh ; '/'
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 11)
push 6
call sub_9643
push 14h
call frame_delay
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 12)
push 6
call sub_9643
xor si, si
jmp short loc_9D10
; ---------------------------------------------------------------------------
loc_9CDE:
graph_accesspage 0
call egc_shift_down pascal, (160 shl 16) or 100, (479 shl 16) or 297, 2
push 3
mov ax, si
add ax, ax
mov dx, 0C6h ; '<27>'
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 end_buf + (END_LINE_LEN * 13)
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, END_LINE_LEN
add ax, offset end_buf
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, END_LINE_LEN
add ax, offset end_buf
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, END_LINE_LEN
add ax, offset end_buf
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 end_buf + (END_LINE_LEN * 21)
push 6
call sub_9643
mov byte_F02A, 26h ; '&'
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 22)
push 6
call sub_9643
mov byte_F02A, 2Fh ; '/'
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 23)
push 6
call sub_9643
graph_accesspage 1
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, _resident
cmp es:[bx+mikoconfig_t.shottype], 0
jnz short loc_9E2A
push 0
jmp short loc_9E3B
; ---------------------------------------------------------------------------
loc_9E2A:
les bx, _resident
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 end_buf + (END_LINE_LEN * 24)
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, END_LINE_LEN
add ax, offset end_buf
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, _resident
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, END_LINE_LEN
add ax, offset end_buf
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, END_LINE_LEN
add ax, offset end_buf
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 end_buf + (END_LINE_LEN * 31)
push 6
call sub_9643
mov byte_F02A, 2Fh ; '/'
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 32)
push 0Ch
call sub_9643
mov byte_F02B, 0
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 33)
jmp loc_A092
; ---------------------------------------------------------------------------
loc_9F22:
les bx, _resident
cmp es:[bx+mikoconfig_t.shottype], 1
jnz loc_9FD3
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 34)
push 6
call sub_9643
mov byte_F02A, 2Fh ; '/'
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 35)
push 6
call sub_9643
mov byte_F02A, 26h ; '&'
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 36)
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, END_LINE_LEN
add ax, offset end_buf
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 end_buf + (END_LINE_LEN * 39)
push 6
call sub_9643
mov byte_F02A, 2Fh ; '/'
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 40)
push 0Ch
call sub_9643
mov byte_F02B, 0
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 41)
jmp loc_A092
; ---------------------------------------------------------------------------
loc_9FD3:
les bx, _resident
cmp es:[bx+mikoconfig_t.shottype], 2
jnz loc_A097
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 42)
push 6
call sub_9643
mov byte_F02A, 2Fh ; '/'
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 43)
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, END_LINE_LEN
add ax, offset end_buf
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, END_LINE_LEN
add ax, offset end_buf
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 end_buf + (END_LINE_LEN * 48)
push 6
call sub_9643
mov byte_F02A, 2Fh ; '/'
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 49)
push 0Ch
call sub_9643
mov byte_F02B, 0
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 50)
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
graph_accesspage 1
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 end_buf
push 6
call sub_9643
push 14h
call frame_delay
push 1
call palette_black_out
graph_accesspage 1
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, END_LINE_LEN
add ax, offset end_buf
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, END_LINE_LEN
add ax, offset end_buf
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, END_LINE_LEN
add ax, offset end_buf
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, END_LINE_LEN
add ax, offset end_buf
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, END_LINE_LEN
add ax, offset end_buf
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
graph_accesspage 1
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
graph_accesspage 0
push 0
call sub_98B5
push 2
call palette_black_in
mov byte_F02A, 2Fh ; '/'
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 16)
push 6
call sub_9643
mov byte_F02A, 29h ; ')'
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 17)
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, END_LINE_LEN
add ax, offset end_buf
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, END_LINE_LEN
add ax, offset end_buf
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 end_buf + (END_LINE_LEN * 22)
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, END_LINE_LEN
add ax, offset end_buf
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 end_buf + (END_LINE_LEN * 25)
push 6
call sub_9643
mov byte_F02A, 29h ; ')'
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 26)
push 6
call sub_9643
push 0Ah
call frame_delay
les bx, _resident
cmp es:[bx+mikoconfig_t.shottype], 0
jnz loc_A4EC
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 27)
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 end_buf + (END_LINE_LEN * 28)
push 6
call sub_9643
push 3
call sub_98B5
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 29)
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, END_LINE_LEN
add ax, offset end_buf
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, END_LINE_LEN
add ax, offset end_buf
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, END_LINE_LEN
add ax, offset end_buf
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 end_buf + (END_LINE_LEN * 39)
push 6
call sub_9643
push 2
call palette_black_out
graph_accesspage 1
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, END_LINE_LEN
add ax, offset end_buf
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 end_buf + (END_LINE_LEN * 47)
jmp loc_A869
; ---------------------------------------------------------------------------
loc_A4EC:
les bx, _resident
cmp es:[bx+mikoconfig_t.shottype], 1
jnz loc_A6B6
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 48)
push 6
call sub_9643
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 49)
push 6
call sub_9643
mov byte_F02A, 2Fh ; '/'
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 50)
push 6
call sub_9643
mov byte_F02A, 29h ; ')'
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 51)
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 end_buf + (END_LINE_LEN * 52)
push 6
call sub_9643
push 3
call sub_98B5
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 53)
push 6
call sub_9643
mov byte_F02A, 29h ; ')'
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 54)
push 6
call sub_9643
mov byte_F02A, 2Fh ; '/'
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 55)
push 6
call sub_9643
mov byte_F02A, 29h ; ')'
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 56)
push 6
call sub_9643
mov byte_F02A, 2Fh ; '/'
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 57)
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, END_LINE_LEN
add ax, offset end_buf
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, END_LINE_LEN
add ax, offset end_buf
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
graph_accesspage 1
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, END_LINE_LEN
add ax, offset end_buf
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 end_buf + (END_LINE_LEN * 69)
push 0Ch
call sub_9643
mov byte_F02B, 0
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 70)
jmp loc_A869
; ---------------------------------------------------------------------------
loc_A6B6:
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 71)
push 6
call sub_9643
mov byte_F02A, 2Fh ; '/'
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 72)
push 6
call sub_9643
mov byte_F02A, 29h ; ')'
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 73)
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 end_buf + (END_LINE_LEN * 74)
push 6
call sub_9643
push 3
call sub_98B5
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 75)
push 6
call sub_9643
mov byte_F02A, 29h ; ')'
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 76)
push 6
call sub_9643
mov byte_F02A, 2Fh ; '/'
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 77)
push 6
call sub_9643
mov byte_F02A, 29h ; ')'
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 78)
push 6
call sub_9643
mov byte_F02A, 2Fh ; '/'
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 79)
push 6
call sub_9643
mov byte_F02A, 29h ; ')'
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 80)
push 6
call sub_9643
mov byte_F02A, 2Fh ; '/'
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 81)
push 6
call sub_9643
mov byte_F02A, 29h ; ')'
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 82)
push 6
call sub_9643
mov byte_F02A, 2Fh ; '/'
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 83)
push 6
call sub_9643
push 2
call palette_black_out
graph_accesspage 1
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, END_LINE_LEN
add ax, offset end_buf
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 end_buf + (END_LINE_LEN * 92)
push 6
call sub_9643
mov byte_F02B, 0
push 90014Ch
push 2Ch ; ','
push ds
push offset end_buf + (END_LINE_LEN * 93)
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, 100
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
@@g_str = 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 528
lea ax, [si+4]
push ax
push 591
lea ax, [si+19]
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 ; "<22><><EFBFBD><EFBFBD><EFBFBD>^<5E>@<40>@<40>r<EFBFBD>s<EFBFBD>`<60>e<EFBFBD>e"
push 0Ch
call sub_9643
push 0Dh
call _snd_delay_until_measure
pop cx
graph_accesspage 1
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
graph_accesspage 0
push 4
push 0
push 29h ; ')'
call rotrect
call sub_A8A4
push ds
push offset aGvgngogigab@b@ ; "<22>v<EFBFBD><76><EFBFBD>O<EFBFBD><4F><EFBFBD><EFBFBD><EFBFBD>@<40>@<40>@<40>y<EFBFBD>t<EFBFBD>m"
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
graph_accesspage 1
call _pi_slot_load c, 0, offset aEd07_pi, ds
call _pi_slot_put c, 0, large 0
freePISlotLarge 0
graph_accesspage 0
push 19h
call _snd_delay_until_measure
pop cx
call sub_A8A4
push ds
push offset aGogigtgbgbgnb@ ; "<22>O<EFBFBD><4F><EFBFBD>t<EFBFBD>B<EFBFBD>b<EFBFBD>N<EFBFBD>@<40>y<EFBFBD>t<EFBFBD>m"
push 2F00C0h
push 1A0h
call _graph_putsa_fx
add sp, 0Ah
push ds
push offset aB@b@b@b@b@b@b@ ; "<22>@<40>@<40>@<40>@<40>@<40>@<40>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
push 2F00E0h
push 1A0h
call _graph_putsa_fx
add sp, 0Ah
push ds
push offset aB@b@b@b@bigibG ; "<22>@<40>@<40>@<40>@<40>i<EFBFBD>I<EFBFBD>[<5B><><EFBFBD>N<EFBFBD><4E><EFBFBD>A<EFBFBD><41><EFBFBD>j"
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@ ; "<22>l<EFBFBD>t<EFBFBD>r<EFBFBD>h<EFBFBD>b<EFBFBD>@<40>@<40>y<EFBFBD>t<EFBFBD>m"
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
graph_accesspage 1
call _pi_slot_load c, 0, offset aEd08_pi, ds
call _pi_slot_put c, 0, large 0
graph_accesspage 0
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 ; "<22>s<EFBFBD>d<EFBFBD>r<EFBFBD>s<EFBFBD>@<40>o<EFBFBD>k<EFBFBD>`<60>x<EFBFBD>d<EFBFBD>q"
push 2F00C0h
push 1A0h
call _graph_putsa_fx
add sp, 0Ah
push ds
push offset aB@b@b@b@vivivs ; "<22>@<40>@<40>@<40>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
push 2F00E0h
push 1A0h
call _graph_putsa_fx
add sp, 0Ah
push ds
push offset aB@b@b@b@vbbVv ; "<22>@<40>@<40>@<40>@<40>b<EFBFBD>|<7C>v"
push 2F00F8h
push 1A0h
call _graph_putsa_fx
add sp, 0Ah
push ds
push offset aB@b@Orucb@mbiS ; "<22>@<40>@ <20>R<EFBFBD>c<EFBFBD>@<40>b<EFBFBD><62><EFBFBD>Y"
push 2F0110h
push 1A0h
call _graph_putsa_fx
add sp, 0Ah
push ds
push offset aVVSSxrivVVVV ; " <20><><EFBFBD>̑<EFBFBD><CC91><EFBFBD>݂̂Ȃ<DD82><C882><EFBFBD>"
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
graph_accesspage 1
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
call graph_copy_page pascal, 0
push 4
call palette_black_in
push 64h ; 'd'
call frame_delay
graph_accesspage 1
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 ; '<27>'
call frame_delay
graph_accesspage 1
push ds
push offset aB@nPiuU_ ; "<22>@<40>ŏI<C58F><49><EFBFBD>_"
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
graph_accesspage 1
push ds
push offset aGrgugegbgjgeb ; "<22>R<EFBFBD><52><EFBFBD>e<EFBFBD>B<EFBFBD>j<EFBFBD><6A><EFBFBD>["
mov al, byte_F02A
cbw
push ax
push 0A00040h
call _graph_putsa_fx
add sp, 0Ah
push (256 shl 16) or 160
les bx, _resident
mov ax, es:[bx+mikoconfig_t.continues_used]
add ax, gb_0_
push ax
push 15
call graph_gaiji_putc
push 1000A0h
push 40h
call sub_97F1
add sp, 6
push 64h ; 'd'
call frame_delay
graph_accesspage 1
push ds
push offset aB@Gigugn ; "<22>@ <20><><EFBFBD><EFBFBD><EFBFBD>N"
mov al, byte_F02A
cbw
push ax
push 0C00040h
call _graph_putsa_fx
add sp, 0Ah
push (208 shl 16) or 192
push GAIJI_W
push ds
mov al, _rank
cbw
shl ax, 3
add ax, offset _RANKS_CENTER
push ax
push 15
call graph_gaiji_puts
push 1000C0h
push 40h
call sub_97F1
add sp, 6
push 64h ; 'd'
call frame_delay
graph_accesspage 1
push ds
push offset aGvgmgcgdbPik ; "<22>v<EFBFBD><76><EFBFBD>C<EFBFBD><43><EFBFBD>[<5B><><EFBFBD><EFBFBD>"
mov al, byte_F02A
cbw
push ax
push 0E00040h
call _graph_putsa_fx
add sp, 0Ah
push (256 shl 16) or 224
les bx, _resident
mov al, es:[bx+mikoconfig_t.start_lives]
mov ah, 0
add ax, gb_1_
push ax
push 15
call graph_gaiji_putc
push 1000E0h
push 40h
call sub_97F1
add sp, 6
push 64h ; 'd'
call frame_delay
graph_accesspage 1
push ds
push offset aCMvpik ; " <20><EFBFBD><EC8C82><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
mov al, byte_F02A
cbw
push ax
push 1000040h
call _graph_putsa_fx
add sp, 0Ah
push (256 shl 16) or 256
les bx, _resident
mov al, es:[bx+mikoconfig_t.start_bombs]
mov ah, 0
add ax, gb_0_
push ax
push 15
call graph_gaiji_putc
push 100100h
push 40h
call sub_97F1
add sp, 6
push 96h
call frame_delay
graph_accesspage 1
les bx, _resident
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 ; "<22><><EFBFBD>Ȃ<EFBFBD><C882>̘r<CC98>O"
mov al, byte_F02A
cbw
push ax
push 1200040h
call _graph_putsa_fx
add sp, 0Ah
push di
push ss
lea ax, [bp+@@g_str]
push ax
call sub_9846
push (192 shl 16) or 288
push GAIJI_W
push ss
lea ax, [bp+@@g_str]
push ax
push 15
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, END_LINE_LEN
add ax, offset end_buf
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 ; '<27>'
call frame_delay
graph_accesspage 1
push ds
push offset aVpvxvxvvb@vyvt ; "<22>P<EFBFBD>X<EFBFBD>X<EFBFBD>V<EFBFBD>@<40>y<EFBFBD>t<EFBFBD>m (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 scoredat_is_extra_unlocked
or ax, ax
jz loc_B07D
les bx, _resident
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 scoredat_is_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, _resident
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, _resident
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, _resident
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, _resident
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:
graph_accesspage 0
mov dx, 0A4h
out dx, al
call super_entry_bfnt pascal, ds, offset aEndft_bft ; "endft.bft"
push 64h ; 'd'
call frame_delay
les bx, _resident
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, 50
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 SCOREDAT_IS_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 50h dup(0)
label byte_D080 byte
db 0AAh, 0AAh, 55h, 55h, 0AAh, 0AAh, 55h, 55h
db 0AAh, 0AAh, 55h, 55h, 0AAh, 0AAh, 55h, 55h
db 0AAh, 0AAh, 55h, 55h, 0AAh, 0AAh, 55h, 55h
db 0AAh, 0AAh, 55h, 55h, 0AAh, 0AAh, 55h, 55h
db 33h, 33h, 33h, 33h, 0CCh, 0CCh, 0CCh, 0CCh
db 33h, 33h, 33h, 33h, 0CCh, 0CCh, 0CCh, 0CCh
db 33h, 33h, 33h, 33h, 0CCh, 0CCh, 0CCh, 0CCh
db 33h, 33h, 33h, 33h, 0CCh, 0CCh, 0CCh, 0CCh
db 0CCh, 0CCh, 0CCh, 0CCh, 33h, 33h, 33h, 33h
db 0CCh, 0CCh, 0CCh, 0CCh, 33h, 33h, 33h, 33h
db 0CCh, 0CCh, 0CCh, 0CCh, 33h, 33h, 33h, 33h
db 0CCh, 0CCh, 0CCh, 0CCh, 33h, 33h, 33h, 33h
aEnd3_txt db 'end3.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 '<27><><EFBFBD><EFBFBD><EFBFBD>^<5E>@<40>@<40>r<EFBFBD>s<EFBFBD>`<60>e<EFBFBD>e',0
aEd06_pi db 'ed06.pi',0
aGvgngogigab@b@ db '<27>v<EFBFBD><76><EFBFBD>O<EFBFBD><4F><EFBFBD><EFBFBD><EFBFBD>@<40>@<40>@<40>y<EFBFBD>t<EFBFBD>m',0
aEd06b_rgb db 'ed06b.rgb',0
aEd06c_rgb db 'ed06c.rgb',0
aEd07_pi db 'ed07.pi',0
aGogigtgbgbgnb@ db '<27>O<EFBFBD><4F><EFBFBD>t<EFBFBD>B<EFBFBD>b<EFBFBD>N<EFBFBD>@<40>y<EFBFBD>t<EFBFBD>m',0
aB@b@b@b@b@b@b@ db '<27>@<40>@<40>@<40>@<40>@<40>@<40>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
aB@b@b@b@bigibG db '<27>@<40>@<40>@<40>@<40>i<EFBFBD>I<EFBFBD>[<5B><><EFBFBD>N<EFBFBD><4E><EFBFBD>A<EFBFBD><41><EFBFBD>j',0
aEd07a_rgb db 'ed07a.rgb',0
aEd07b_rgb db 'ed07b.rgb',0
aVlvtvrvhvbb@b@ db '<27>l<EFBFBD>t<EFBFBD>r<EFBFBD>h<EFBFBD>b<EFBFBD>@<40>@<40>y<EFBFBD>t<EFBFBD>m',0
aEd08_pi db 'ed08.pi',0
aEd08a_rgb db 'ed08a.rgb',0
aVsvdvrvsb@vovk db '<27>s<EFBFBD>d<EFBFBD>r<EFBFBD>s<EFBFBD>@<40>o<EFBFBD>k<EFBFBD>`<60>x<EFBFBD>d<EFBFBD>q',0
aB@b@b@b@vivivs db '<27>@<40>@<40>@<40>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
aB@b@b@b@vbbVv db '<27>@<40>@<40>@<40>@<40>b<EFBFBD>|<7C>v',0
aB@b@Orucb@mbiS db '<27>@<40>@ <20>R<EFBFBD>c<EFBFBD>@<40>b<EFBFBD><62><EFBFBD>Y',0
aVVSSxrivVVVV db ' <20><><EFBFBD>̑<EFBFBD><CC91><EFBFBD>݂̂Ȃ<DD82><C882><EFBFBD>',0
aEd08b_rgb db 'ed08b.rgb',0
aEd08c_rgb db 'ed08c.rgb',0
aEd09_pi db 'ED09.pi',0
aVsvivbvovlb@vs db '<27>s<EFBFBD><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
aB@nPiuU_ db '<27>@<40>ŏI<C58F><49><EFBFBD>_',0
aGrgugegbgjgeb db '<27>R<EFBFBD><52><EFBFBD>e<EFBFBD>B<EFBFBD>j<EFBFBD><6A><EFBFBD>[',0
aB@Gigugn db '<27>@ <20><><EFBFBD><EFBFBD><EFBFBD>N',0
aGvgmgcgdbPik db '<27>v<EFBFBD><76><EFBFBD>C<EFBFBD><43><EFBFBD>[<5B><><EFBFBD><EFBFBD>',0
aCMvpik db ' <20><EFBFBD><EC8C82><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
aVavVVSrso db '<27><><EFBFBD>Ȃ<EFBFBD><C882>̘r<CC98>O',0
aVpvxvxvvb@vyvt db '<27>P<EFBFBD>X<EFBFBD>X<EFBFBD>V<EFBFBD>@<40>y<EFBFBD>t<EFBFBD>m (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?
end_buf db 100 dup(END_LINE_LEN dup(?))
byte_F02A db ?
byte_F02B db ?
include libs/master.lib/clip[bss].asm
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 _resident:dword
extern _score:dword
end