mirror of https://github.com/nmlgc/ReC98.git
8148 lines
134 KiB
NASM
8148 lines
134 KiB
NASM
;
|
||
; +-------------------------------------------------------------------------+
|
||
; | This file has been generated by The Interactive Disassembler (IDA) |
|
||
; | Copyright (c) 2009 by Hex-Rays, <support@hex-rays.com> |
|
||
; +-------------------------------------------------------------------------+
|
||
;
|
||
; Input MD5 : 50C37C4BDDEC04B753524F5D3B030A96
|
||
|
||
; File Name : th04/MAINE.EXE
|
||
; Format : MS-DOS executable (EXE)
|
||
; Base Address: 0h Range: 0h-126D0h Loaded length: 10062h
|
||
; 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
|
||
__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 th04/th04.asm
|
||
|
||
extern _execl:proc
|
||
extern _memcpy:proc
|
||
extern _tolower: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/atrtcmod.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/dos_axdx.asm
|
||
include libs/master.lib/dos_filesize.asm
|
||
include libs/master.lib/dos_keyclear.asm
|
||
include libs/master.lib/dos_read.asm
|
||
include libs/master.lib/dos_seek.asm
|
||
include libs/master.lib/dos_setvect.asm
|
||
include libs/master.lib/egc.asm
|
||
include libs/master.lib/file_append.asm
|
||
include libs/master.lib/file_close.asm
|
||
include libs/master.lib/file_create.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_byteboxfill_x.asm
|
||
include libs/master.lib/grcg_setcolor.asm
|
||
include libs/master.lib/gdc_outpw.asm
|
||
include libs/master.lib/get_machine_98.asm
|
||
include libs/master.lib/get_machine_at.asm
|
||
include libs/master.lib/get_machine_dosbox.asm
|
||
include libs/master.lib/check_machine_fmr.asm
|
||
include libs/master.lib/get_machine.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_hide.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/graph_scrollup.asm
|
||
include libs/master.lib/graph_show.asm
|
||
include libs/master.lib/js_end.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/random.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/soundio.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_free.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/super_cancel_pat.asm
|
||
include libs/master.lib/super_put.asm
|
||
include libs/master.lib/pfint21.asm
|
||
db 0
|
||
include libs/master.lib/js_start.asm
|
||
include th03/formats/pfopen.asm
|
||
include libs/master.lib/pf_str_ieq.asm
|
||
include libs/master.lib/js_sense.asm
|
||
include libs/master.lib/bgm_bell_org.asm
|
||
include libs/master.lib/bgm_mget.asm
|
||
include libs/master.lib/bgm_read_sdata.asm
|
||
include libs/master.lib/bgm_timer.asm
|
||
include libs/master.lib/bgm_pinit.asm
|
||
include libs/master.lib/bgm_timerhook.asm
|
||
include libs/master.lib/bgm_play.asm
|
||
include libs/master.lib/bgm_sound.asm
|
||
include libs/master.lib/bgm_effect_sound.asm
|
||
include libs/master.lib/bgm_stop_play.asm
|
||
include libs/master.lib/bgm_set_tempo.asm
|
||
include libs/master.lib/bgm_init_finish.asm
|
||
include libs/master.lib/bgm_stop_sound.asm
|
||
include libs/master.lib/graph_pack_put_8_noclip.asm
|
||
include libs/master.lib/graph_gaiji_puts.asm
|
||
include libs/master.lib/graph_gaiji_putc.asm
|
||
_TEXT ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
maine_01_TEXT segment byte public 'CODE' use16
|
||
assume cs:maine_01_TEXT
|
||
;org 9
|
||
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_A059 proc near
|
||
|
||
var_A = byte ptr -0Ah
|
||
var_4 = word ptr -4
|
||
|
||
enter 0Ah, 0
|
||
push si
|
||
push ds
|
||
push offset aMiko_cfg ; "MIKO.CFG"
|
||
call file_ropen
|
||
push ss
|
||
lea ax, [bp+var_A]
|
||
push ax
|
||
push 0Ah
|
||
call file_read
|
||
call file_close
|
||
mov si, [bp+var_4]
|
||
mov word ptr dword_F3CE+2, si
|
||
mov word ptr dword_F3CE, 0
|
||
mov ax, si
|
||
pop si
|
||
leave
|
||
retn
|
||
sub_A059 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
; int __stdcall sub_A08A(char *arg0)
|
||
sub_A08A proc near
|
||
|
||
_arg0 = dword ptr 4
|
||
|
||
push bp
|
||
mov bp, sp
|
||
call _cdg_freeall
|
||
call graph_hide
|
||
call text_clear
|
||
call gaiji_restore
|
||
call sub_D3F4
|
||
pushd 0
|
||
pushd [bp+_arg0] ; arg0
|
||
pushd [bp+_arg0] ; path
|
||
call _execl
|
||
add sp, 0Ch
|
||
pop bp
|
||
retn 4
|
||
sub_A08A endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A0BD proc near
|
||
push bp
|
||
mov bp, sp
|
||
les bx, dword_F3CE
|
||
mov al, es:[bx+12h]
|
||
les bx, off_E5C0
|
||
mov es:[bx+3], al
|
||
les bx, dword_F3CE
|
||
mov al, es:[bx+19h]
|
||
add al, 30h ; '0'
|
||
les bx, off_E5C0
|
||
mov es:[bx+4], al
|
||
les bx, dword_F3CE
|
||
mov al, es:[bx+25h]
|
||
les bx, off_E5C0
|
||
mov es:[bx+5], al
|
||
push word ptr off_E5C0+2
|
||
push bx
|
||
call sub_A292
|
||
call sub_ADFC
|
||
call sub_A2D1
|
||
pop bp
|
||
retn
|
||
sub_A0BD 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
|
||
|
||
var_4 = dword ptr -4
|
||
_argc = word ptr 6
|
||
_argv = dword ptr 8
|
||
_envp = dword ptr 0Ch
|
||
|
||
enter 4, 0
|
||
mov word ptr [bp+var_4+2], ds
|
||
mov word ptr [bp+var_4], 0A8h ; '<27>'
|
||
call sub_A059
|
||
or ax, ax
|
||
jz locret_A290
|
||
les bx, dword_F3CE
|
||
mov al, es:[bx+12h]
|
||
les bx, [bp+var_4]
|
||
mov es:[bx+4], al
|
||
mov word_10070, 5208h
|
||
push ds
|
||
push offset aMSzlEd_dat ; "<22><><EFBFBD>z<EFBFBD><7A>ed.dat"
|
||
call sub_D43C
|
||
call gaiji_backup
|
||
push ds
|
||
push offset aGameft_bft ; "GAMEFT.bft"
|
||
call gaiji_entry_bfnt
|
||
les bx, dword_F3CE
|
||
mov al, es:[bx+10h]
|
||
mov ah, 0
|
||
push ax
|
||
mov al, es:[bx+18h]
|
||
mov ah, 0
|
||
push ax
|
||
call snd_determine_modes
|
||
call graph_show
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+30h], 0FEh
|
||
jb loc_A1FE
|
||
call sub_A0BD
|
||
call sub_B44D
|
||
call sub_C0F8
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+30h], 0FFh
|
||
jz short loc_A187
|
||
cmp byte ptr es:[bx+0Fh], 0
|
||
jnz short loc_A1E9
|
||
|
||
loc_A187:
|
||
les bx, [bp+var_4]
|
||
mov al, es:[bx+5]
|
||
les bx, dword_F3CE
|
||
add al, es:[bx+0Fh]
|
||
les bx, [bp+var_4]
|
||
mov es:[bx+5], al
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call pi_slot_load pascal, 0, word ptr [bp+var_4+2], bx
|
||
call pi_slot_palette_apply pascal, 0
|
||
call pi_slot_put pascal, large 0, 0
|
||
freePISlotLarge 0
|
||
push 0
|
||
call graph_copy_page
|
||
push 1
|
||
call palette_black_in
|
||
push 0
|
||
call _input_wait_for_change
|
||
push 4
|
||
call palette_black_out
|
||
|
||
loc_A1E9:
|
||
kajacall KAJA_SONG_FADE, 4
|
||
push 64h ; 'd'
|
||
call frame_delay
|
||
call sub_C814
|
||
jmp loc_A281
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A1FE:
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+30h], 0FDh
|
||
jnz short loc_A274
|
||
push 64h ; 'd'
|
||
call frame_delay
|
||
call sub_C814
|
||
les bx, [bp+var_4]
|
||
mov byte ptr es:[bx+5], 34h ; '4'
|
||
mov PaletteTone, 0
|
||
call far ptr palette_show
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call pi_slot_load pascal, 0, large [bp+var_4]
|
||
call pi_slot_palette_apply pascal, 0
|
||
call pi_slot_put pascal, large 0, 0
|
||
freePISlotLarge 0
|
||
push 0
|
||
call graph_copy_page
|
||
push 1
|
||
call palette_black_in
|
||
push 0
|
||
call _input_wait_for_change
|
||
push 4
|
||
call palette_black_out
|
||
jmp short loc_A27E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A274:
|
||
push 64h ; 'd'
|
||
call frame_delay
|
||
call sub_C814
|
||
|
||
loc_A27E:
|
||
call sub_C0F8
|
||
|
||
loc_A281:
|
||
kajacall KAJA_SONG_FADE, 4
|
||
push ds
|
||
push offset arg0 ; "op"
|
||
call sub_A08A
|
||
|
||
locret_A290:
|
||
leave
|
||
retf
|
||
_main endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A292 proc near
|
||
|
||
var_2 = word ptr -2
|
||
arg_0 = dword ptr 4
|
||
|
||
enter 2, 0
|
||
call sub_A2D1
|
||
pushd [bp+arg_0]
|
||
call file_ropen
|
||
or ax, ax
|
||
jnz short loc_A2AD
|
||
mov ax, 1
|
||
leave
|
||
retn 4
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A2AD:
|
||
call file_size
|
||
mov [bp+var_2], ax
|
||
mov word_12478, 1F48h
|
||
push ds
|
||
push word_12478
|
||
push ax
|
||
call file_read
|
||
call file_close
|
||
xor ax, ax
|
||
leave
|
||
retn 4
|
||
sub_A292 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A2D1 proc near
|
||
push bp
|
||
mov bp, sp
|
||
pop bp
|
||
retn
|
||
sub_A2D1 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A2D6 proc near
|
||
push bp
|
||
mov bp, sp
|
||
call egc_on
|
||
EGC_SETUP_COPY
|
||
pop bp
|
||
retn
|
||
sub_A2D6 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A30A proc near
|
||
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
|
||
enter 4, 0
|
||
push si
|
||
push di
|
||
mov ax, [bp+arg_2]
|
||
sar ax, 3
|
||
mov dx, [bp+arg_0]
|
||
shl dx, 6
|
||
add ax, dx
|
||
mov dx, [bp+arg_0]
|
||
shl dx, 4
|
||
add ax, dx
|
||
mov si, ax
|
||
call sub_A2D6
|
||
xor di, di
|
||
jmp short loc_A368
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A32F:
|
||
mov [bp+var_2], 0
|
||
jmp short loc_A35E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A336:
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
les bx, _VRAM_PLANE_B
|
||
add bx, si
|
||
mov ax, es:[bx]
|
||
mov [bp+var_4], ax
|
||
mov al, 1
|
||
out dx, al
|
||
mov bx, word ptr _VRAM_PLANE_B
|
||
add bx, si
|
||
mov ax, [bp+var_4]
|
||
mov es:[bx], ax
|
||
add [bp+var_2], 2
|
||
add si, 2
|
||
|
||
loc_A35E:
|
||
cmp [bp+var_2], 28h ; '('
|
||
jl short loc_A336
|
||
inc di
|
||
add si, 28h ; '('
|
||
|
||
loc_A368:
|
||
cmp di, 0C8h
|
||
jl short loc_A32F
|
||
call egc_off
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 4
|
||
sub_A30A endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A37F proc near
|
||
|
||
var_8 = dword ptr -8
|
||
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
|
||
arg_6 = word ptr 0Ah
|
||
|
||
enter 8, 0
|
||
push si
|
||
push di
|
||
mov eax, _pi_slot_buffers
|
||
mov [bp+var_8], eax
|
||
cmp [bp+arg_2], 1
|
||
jnz short loc_A39A
|
||
add word ptr [bp+var_8], 0A0h
|
||
jmp short loc_A3B2
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A39A:
|
||
cmp [bp+arg_2], 2
|
||
jnz short loc_A3A7
|
||
add word ptr [bp+var_8], 0FA00h
|
||
jmp short loc_A3B2
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A3A7:
|
||
cmp [bp+arg_2], 3
|
||
jnz short loc_A3B2
|
||
add word ptr [bp+var_8], 0FAA0h
|
||
|
||
loc_A3B2:
|
||
mov eax, [bp+var_8]
|
||
shr eax, 10h
|
||
mov dx, word ptr [bp+var_8]
|
||
shr dx, 4
|
||
add ax, dx
|
||
mov dx, word ptr [bp+var_8]
|
||
and dx, 0Fh
|
||
mov word ptr [bp+var_8+2], ax
|
||
mov word ptr [bp+var_8], dx
|
||
mov dx, 0A4h
|
||
mov al, 1
|
||
out dx, al
|
||
mov ax, [bp+arg_6]
|
||
sar ax, 3
|
||
mov dx, [bp+arg_4]
|
||
shl dx, 6
|
||
add ax, dx
|
||
mov dx, [bp+arg_4]
|
||
shl dx, 4
|
||
add ax, dx
|
||
mov si, ax
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
xor di, di
|
||
jmp loc_A491
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A3F7:
|
||
call graph_pack_put_8_noclip pascal, large 400, [bp+var_8], 320
|
||
call sub_A2D6
|
||
egc_selectpat
|
||
egc_setrop EGC_COMPAREREAD or EGC_WS_PATREG or EGC_RL_MEMREAD
|
||
outw2 EGC_BITLENGTHREG, 0Fh
|
||
mov bx, [bp+arg_0]
|
||
shl bx, 3
|
||
mov ax, di
|
||
and ax, 3
|
||
add ax, ax
|
||
add bx, ax
|
||
outw2 EGC_MASKREG, [bx+60Ch]
|
||
mov [bp+var_4], 7D00h
|
||
mov [bp+var_2], 0
|
||
jmp short loc_A461
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A444:
|
||
les bx, _VRAM_PLANE_B
|
||
add bx, [bp+var_4]
|
||
mov ax, es:[bx]
|
||
mov bx, word ptr _VRAM_PLANE_B
|
||
add bx, si
|
||
mov es:[bx], ax
|
||
inc [bp+var_2]
|
||
add si, 2
|
||
add [bp+var_4], 2
|
||
|
||
loc_A461:
|
||
cmp [bp+var_2], 14h
|
||
jl short loc_A444
|
||
call egc_off
|
||
add si, 28h ; '('
|
||
add word ptr [bp+var_8], 140h
|
||
mov eax, [bp+var_8]
|
||
shr eax, 10h
|
||
mov dx, word ptr [bp+var_8]
|
||
shr dx, 4
|
||
add ax, dx
|
||
mov dx, word ptr [bp+var_8]
|
||
and dx, 0Fh
|
||
mov word ptr [bp+var_8+2], ax
|
||
mov word ptr [bp+var_8], dx
|
||
inc di
|
||
|
||
loc_A491:
|
||
cmp di, 0C8h
|
||
jl loc_A3F7
|
||
mov dx, 0A4h
|
||
mov al, 0
|
||
out dx, al
|
||
push [bp+arg_6]
|
||
push [bp+arg_4]
|
||
call sub_A30A
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 8
|
||
sub_A37F endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A4AE proc near
|
||
|
||
var_8 = word ptr -8
|
||
var_6 = word ptr -6
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
|
||
enter 8, 0
|
||
push si
|
||
push di
|
||
call sub_A57F
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
push 3C00h
|
||
call hmem_allocbyte
|
||
mov word ptr dword_1247A+2, ax
|
||
mov word ptr dword_1247A, 0
|
||
xor si, si
|
||
mov di, 140h
|
||
mov [bp+var_4], 0
|
||
jmp loc_A573
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A4DB:
|
||
mov [bp+var_2], 50h ; 'P'
|
||
mov [bp+var_6], 0
|
||
jmp loc_A567
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A4E8:
|
||
mov ax, [bp+var_2]
|
||
sar ax, 3
|
||
mov dx, di
|
||
shl dx, 6
|
||
add ax, dx
|
||
mov dx, di
|
||
shl dx, 4
|
||
add ax, dx
|
||
mov [bp+var_8], ax
|
||
les bx, _VRAM_PLANE_B
|
||
add bx, [bp+var_8]
|
||
mov ax, es:[bx]
|
||
mov dx, si
|
||
add dx, dx
|
||
les bx, dword_1247A
|
||
add bx, dx
|
||
mov es:[bx], ax
|
||
inc si
|
||
les bx, _VRAM_PLANE_R
|
||
add bx, [bp+var_8]
|
||
mov ax, es:[bx]
|
||
mov dx, si
|
||
add dx, dx
|
||
les bx, dword_1247A
|
||
add bx, dx
|
||
mov es:[bx], ax
|
||
inc si
|
||
les bx, _VRAM_PLANE_G
|
||
add bx, [bp+var_8]
|
||
mov ax, es:[bx]
|
||
mov dx, si
|
||
add dx, dx
|
||
les bx, dword_1247A
|
||
add bx, dx
|
||
mov es:[bx], ax
|
||
inc si
|
||
les bx, _VRAM_PLANE_E
|
||
add bx, [bp+var_8]
|
||
mov ax, es:[bx]
|
||
mov dx, si
|
||
add dx, dx
|
||
les bx, dword_1247A
|
||
add bx, dx
|
||
mov es:[bx], ax
|
||
inc si
|
||
add [bp+var_6], 2
|
||
add [bp+var_2], 10h
|
||
|
||
loc_A567:
|
||
cmp [bp+var_6], 3Ch ; '<'
|
||
jl loc_A4E8
|
||
inc [bp+var_4]
|
||
inc di
|
||
|
||
loc_A573:
|
||
cmp [bp+var_4], 40h
|
||
jl loc_A4DB
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn
|
||
sub_A4AE endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A57F proc near
|
||
push bp
|
||
mov bp, sp
|
||
cmp dword_1247A, 0
|
||
jz short loc_A59C
|
||
push word ptr dword_1247A+2
|
||
call hmem_free
|
||
mov dword_1247A, 0
|
||
|
||
loc_A59C:
|
||
pop bp
|
||
retn
|
||
sub_A57F endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A59E proc near
|
||
|
||
var_6 = word ptr -6
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
|
||
enter 6, 0
|
||
push si
|
||
push di
|
||
xor cx, cx
|
||
mov si, 140h
|
||
mov [bp+var_4], 0
|
||
jmp loc_A641
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A5B1:
|
||
mov [bp+var_2], 50h ; 'P'
|
||
mov [bp+var_6], 0
|
||
jmp short loc_A637
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A5BD:
|
||
mov ax, [bp+var_2]
|
||
sar ax, 3
|
||
mov dx, si
|
||
shl dx, 6
|
||
add ax, dx
|
||
mov dx, si
|
||
shl dx, 4
|
||
add ax, dx
|
||
mov di, ax
|
||
mov ax, cx
|
||
add ax, ax
|
||
les bx, dword_1247A
|
||
add bx, ax
|
||
mov ax, es:[bx]
|
||
les bx, _VRAM_PLANE_B
|
||
add bx, di
|
||
mov es:[bx], ax
|
||
inc cx
|
||
mov ax, cx
|
||
add ax, ax
|
||
les bx, dword_1247A
|
||
add bx, ax
|
||
mov ax, es:[bx]
|
||
les bx, _VRAM_PLANE_R
|
||
add bx, di
|
||
mov es:[bx], ax
|
||
inc cx
|
||
mov ax, cx
|
||
add ax, ax
|
||
les bx, dword_1247A
|
||
add bx, ax
|
||
mov ax, es:[bx]
|
||
les bx, _VRAM_PLANE_G
|
||
add bx, di
|
||
mov es:[bx], ax
|
||
inc cx
|
||
mov ax, cx
|
||
add ax, ax
|
||
les bx, dword_1247A
|
||
add bx, ax
|
||
mov ax, es:[bx]
|
||
les bx, _VRAM_PLANE_E
|
||
add bx, di
|
||
mov es:[bx], ax
|
||
inc cx
|
||
add [bp+var_6], 2
|
||
add [bp+var_2], 10h
|
||
|
||
loc_A637:
|
||
cmp [bp+var_6], 3Ch ; '<'
|
||
jl short loc_A5BD
|
||
inc [bp+var_4]
|
||
inc si
|
||
|
||
loc_A641:
|
||
cmp [bp+var_4], 40h
|
||
jl loc_A5B1
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn
|
||
sub_A59E endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A64D proc near
|
||
|
||
var_2 = byte ptr -2
|
||
var_1 = byte ptr -1
|
||
arg_0 = dword ptr 4
|
||
|
||
enter 2, 0
|
||
mov bx, word_12478
|
||
mov cl, [bx]
|
||
inc word_12478
|
||
mov bx, word_12478
|
||
mov al, [bx]
|
||
mov [bp+var_1], al
|
||
inc word_12478
|
||
mov bx, word_12478
|
||
mov al, [bx]
|
||
mov [bp+var_2], al
|
||
inc word_12478
|
||
mov al, cl
|
||
mov ah, 0
|
||
mov bx, ax
|
||
test byte ptr [bx+0B69h], 2
|
||
jnz short loc_A694
|
||
les bx, [bp+arg_0]
|
||
mov ax, word_124C4
|
||
mov es:[bx], ax
|
||
sub word_12478, 3
|
||
leave
|
||
retn 4
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A694:
|
||
mov al, [bp+var_1]
|
||
mov ah, 0
|
||
mov bx, ax
|
||
test byte ptr [bx+0B69h], 2
|
||
jnz short loc_A6B8
|
||
mov al, cl
|
||
mov ah, 0
|
||
add ax, 0FFD0h
|
||
les bx, [bp+arg_0]
|
||
mov es:[bx], ax
|
||
sub word_12478, 2
|
||
leave
|
||
retn 4
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A6B8:
|
||
mov al, [bp+var_2]
|
||
mov ah, 0
|
||
mov bx, ax
|
||
test byte ptr [bx+0B69h], 2
|
||
jnz short loc_A6E8
|
||
mov al, cl
|
||
mov ah, 0
|
||
add ax, 0FFD0h
|
||
imul ax, 0Ah
|
||
mov dl, [bp+var_1]
|
||
mov dh, 0
|
||
add ax, dx
|
||
add ax, 0FFD0h
|
||
les bx, [bp+arg_0]
|
||
mov es:[bx], ax
|
||
dec word_12478
|
||
leave
|
||
retn 4
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A6E8:
|
||
mov al, cl
|
||
mov ah, 0
|
||
add ax, 0FFD0h
|
||
imul ax, 64h
|
||
mov dl, [bp+var_1]
|
||
mov dh, 0
|
||
add dx, 0FFD0h
|
||
imul dx, 0Ah
|
||
add ax, dx
|
||
mov dl, [bp+var_2]
|
||
mov dh, 0
|
||
add ax, dx
|
||
add ax, 0FFD0h
|
||
les bx, [bp+arg_0]
|
||
mov es:[bx], ax
|
||
leave
|
||
retn 4
|
||
sub_A64D endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A713 proc near
|
||
|
||
arg_0 = dword ptr 4
|
||
|
||
push bp
|
||
mov bp, sp
|
||
mov bx, word_12478
|
||
cmp byte ptr [bx], 2Ch ; ','
|
||
jnz short loc_A72E
|
||
inc word_12478
|
||
pushd [bp+arg_0]
|
||
call sub_A64D
|
||
pop bp
|
||
retn 4
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A72E:
|
||
les bx, [bp+arg_0]
|
||
mov ax, word_124C4
|
||
mov es:[bx], ax
|
||
pop bp
|
||
retn 4
|
||
sub_A713 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A73B proc near
|
||
push bp
|
||
mov bp, sp
|
||
add word_124BC, 10h
|
||
cmp word_124BC, 230h
|
||
jl short loc_A78D
|
||
add word_124BE, 10h
|
||
mov word_124BC, 90h
|
||
cmp word_124BE, 180h
|
||
jl short loc_A78D
|
||
call sub_A815
|
||
cmp byte_1247E, 0
|
||
jnz short loc_A76F
|
||
push 0
|
||
call _input_wait_for_change
|
||
|
||
loc_A76F:
|
||
mov word_124BC, 50h ; 'P'
|
||
mov word_124BE, 140h
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call sub_A59E
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
call sub_A59E
|
||
|
||
loc_A78D:
|
||
pop bp
|
||
retn
|
||
sub_A73B endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A78F proc near
|
||
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
mov cx, 140h
|
||
jmp short loc_A809
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A79A:
|
||
egc_selectpat
|
||
egc_setrop EGC_COMPAREREAD or EGC_WS_PATREG or EGC_RL_MEMREAD
|
||
outw2 EGC_BITLENGTHREG, 0Fh
|
||
mov bx, [bp+arg_0]
|
||
shl bx, 3
|
||
mov ax, cx
|
||
and ax, 3
|
||
add ax, ax
|
||
add bx, ax
|
||
outw2 EGC_MASKREG, [bx+62Ch]
|
||
mov ax, cx
|
||
shl ax, 6
|
||
mov dx, cx
|
||
shl dx, 4
|
||
add ax, dx
|
||
add ax, 0Ah
|
||
mov si, ax
|
||
xor di, di
|
||
jmp short loc_A802
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A7DB:
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
les bx, _VRAM_PLANE_B
|
||
add bx, si
|
||
mov ax, es:[bx]
|
||
mov [bp+var_2], ax
|
||
mov al, 0
|
||
out dx, al
|
||
mov bx, word ptr _VRAM_PLANE_B
|
||
add bx, si
|
||
mov ax, [bp+var_2]
|
||
mov es:[bx], ax
|
||
add di, 10h
|
||
add si, 2
|
||
|
||
loc_A802:
|
||
cmp di, 1E0h
|
||
jl short loc_A7DB
|
||
inc cx
|
||
|
||
loc_A809:
|
||
cmp cx, 180h
|
||
jl short loc_A79A
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 2
|
||
sub_A78F endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A815 proc near
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
call sub_A2D6
|
||
cmp byte_1247E, 0
|
||
jnz short loc_A83A
|
||
xor si, si
|
||
jmp short loc_A835
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A827:
|
||
push si
|
||
call sub_A78F
|
||
push word_124C0
|
||
call frame_delay
|
||
inc si
|
||
|
||
loc_A835:
|
||
cmp si, 4
|
||
jl short loc_A827
|
||
|
||
loc_A83A:
|
||
push 4
|
||
call sub_A78F
|
||
call egc_off
|
||
pop si
|
||
pop bp
|
||
retn
|
||
sub_A815 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A847 proc near
|
||
|
||
var_16 = byte ptr -16h
|
||
var_6 = word ptr -6
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
arg_0 = byte ptr 4
|
||
|
||
enter 16h, 0
|
||
push si
|
||
mov al, [bp+arg_0]
|
||
mov ah, 0
|
||
push ax ; ch
|
||
call _tolower
|
||
pop cx
|
||
mov [bp+arg_0], al
|
||
mov ah, 0
|
||
mov [bp+var_6], ax
|
||
mov cx, 10h ; switch 16 cases
|
||
mov bx, offset word_ADBC
|
||
|
||
loc_A866:
|
||
mov ax, cs:[bx]
|
||
cmp ax, [bp+var_6]
|
||
jz short loc_A876
|
||
add bx, 2
|
||
loop loc_A866
|
||
jmp loc_ADB5 ; default
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A876:
|
||
jmp word ptr cs:[bx+20h] ; switch jump
|
||
|
||
loc_A87A:
|
||
add word_124BE, 10h ; jumptable 0000A876 case 110
|
||
mov word_124BC, 50h ; 'P'
|
||
cmp word_124BE, 180h
|
||
jl loc_ADB5 ; default
|
||
|
||
loc_A88F:
|
||
mov bx, word_12478 ; jumptable 0000A876 case 115
|
||
mov al, [bx]
|
||
mov [bp+arg_0], al
|
||
call sub_A815
|
||
cmp [bp+arg_0], 2Dh ; '-'
|
||
jz short loc_A8C0
|
||
mov word_124C4, 0
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
cmp byte_1247E, 0
|
||
jnz short loc_A8C4
|
||
push [bp+var_2]
|
||
call _input_wait_for_change
|
||
jmp short loc_A8C4
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A8C0:
|
||
inc word_12478
|
||
|
||
loc_A8C4:
|
||
mov word_124BC, 50h ; 'P'
|
||
mov word_124BE, 140h
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call sub_A59E
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
call sub_A59E
|
||
jmp loc_ADB5 ; default
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A8E5:
|
||
mov word_124C4, 0Fh ; jumptable 0000A876 case 99
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
mov al, byte ptr [bp+var_2]
|
||
mov byte_124C2, al
|
||
jmp loc_ADB5 ; default
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A8FC:
|
||
mov word_124C4, 2 ; jumptable 0000A876 case 98
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
mov ax, [bp+var_2]
|
||
mov word_EB2C, ax
|
||
jmp loc_ADB5 ; default
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A913:
|
||
mov bx, word_12478 ; jumptable 0000A876 case 119
|
||
mov al, [bx]
|
||
mov ah, 0
|
||
push ax ; ch
|
||
call _tolower
|
||
pop cx
|
||
mov [bp+arg_0], al
|
||
cmp [bp+arg_0], 6Fh ; 'o'
|
||
jz short loc_A931
|
||
cmp [bp+arg_0], 69h ; 'i'
|
||
jnz short loc_A95F
|
||
|
||
loc_A931:
|
||
inc word_12478
|
||
mov word_124C4, 1
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
cmp [bp+arg_0], 69h ; 'i'
|
||
jnz short loc_A954
|
||
push [bp+var_2]
|
||
call palette_white_in
|
||
jmp loc_AD2B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A954:
|
||
push [bp+var_2]
|
||
call palette_white_out
|
||
jmp loc_AD2B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A95F:
|
||
call sub_A815
|
||
mov word_124C4, 40h
|
||
cmp [bp+arg_0], 6Dh ; 'm'
|
||
jz short loc_A994
|
||
cmp [bp+arg_0], 6Bh ; 'k'
|
||
jnz short loc_A978
|
||
inc word_12478
|
||
|
||
loc_A978:
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
cmp byte_1247E, 0
|
||
jnz loc_ADB5 ; default
|
||
push [bp+var_2]
|
||
call frame_delay
|
||
jmp loc_AD2B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A994:
|
||
inc word_12478
|
||
mov bx, word_12478
|
||
mov al, [bx]
|
||
mov [bp+arg_0], al
|
||
cmp [bp+arg_0], 6Bh ; 'k'
|
||
jnz short loc_A9AB
|
||
inc word_12478
|
||
|
||
loc_A9AB:
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
push ss
|
||
lea ax, [bp+var_4]
|
||
push ax
|
||
call sub_A713
|
||
cmp byte_1247E, 0
|
||
jnz loc_ADB5 ; default
|
||
push [bp+var_2]
|
||
push [bp+var_4]
|
||
call sub_D046
|
||
jmp loc_ACFF
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A9D2:
|
||
mov bx, word_12478 ; jumptable 0000A876 case 118
|
||
cmp byte ptr [bx], 70h ; 'p'
|
||
jz short loc_A9F2
|
||
mov word_124C4, 1
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
mov ax, [bp+var_2]
|
||
mov word_124C0, ax
|
||
jmp loc_ADB5 ; default
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A9F2:
|
||
inc word_12478
|
||
mov word_124C4, 0
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
mov dx, 0A4h
|
||
mov al, byte ptr [bp+var_2]
|
||
out dx, al
|
||
jmp loc_ADB5 ; default
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AA0E:
|
||
mov word_124C4, 64h ; 'd' ; jumptable 0000A876 case 116
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
cmp byte_1247E, 0
|
||
jnz short loc_AA2A
|
||
push 1
|
||
call frame_delay
|
||
|
||
loc_AA2A:
|
||
mov ax, [bp+var_2]
|
||
mov PaletteTone, ax
|
||
call far ptr palette_show
|
||
jmp loc_ADB5 ; default
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AA38:
|
||
mov bx, word_12478 ; jumptable 0000A876 case 102
|
||
mov al, [bx]
|
||
mov [bp+arg_0], al
|
||
cmp [bp+arg_0], 6Dh ; 'm'
|
||
jz short loc_AA83
|
||
cmp [bp+arg_0], 69h ; 'i'
|
||
jz short loc_AA55
|
||
cmp [bp+arg_0], 6Fh ; 'o'
|
||
jnz loc_ADB5 ; default
|
||
|
||
loc_AA55:
|
||
inc word_12478
|
||
mov word_124C4, 1
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
cmp [bp+arg_0], 69h ; 'i'
|
||
jnz short loc_AA78
|
||
push [bp+var_2]
|
||
call palette_black_in
|
||
jmp loc_AD2B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AA78:
|
||
push [bp+var_2]
|
||
call palette_black_out
|
||
jmp loc_AD2B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AA83:
|
||
inc word_12478
|
||
mov word_124C4, 1
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
mov ax, [bp+var_2]
|
||
add ax, 200h
|
||
push ax
|
||
jmp loc_AD26
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AA9F:
|
||
mov bx, word_12478 ; jumptable 0000A876 case 103
|
||
cmp byte ptr [bx], 61h ; 'a'
|
||
jz short loc_AAF2
|
||
mov word_124C4, 8
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
mov [bp+var_4], 0
|
||
jmp short loc_AAE0
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AABD:
|
||
test byte ptr [bp+var_4], 1
|
||
jz short loc_AAC7
|
||
push 4
|
||
jmp short loc_AACA
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AAC7:
|
||
push 18Ch
|
||
|
||
loc_AACA:
|
||
call graph_scrollup
|
||
cmp byte_1247E, 0
|
||
jnz short loc_AADD
|
||
push 1
|
||
call frame_delay
|
||
|
||
loc_AADD:
|
||
inc [bp+var_4]
|
||
|
||
loc_AAE0:
|
||
mov ax, [bp+var_4]
|
||
cmp ax, [bp+var_2]
|
||
jle short loc_AABD
|
||
push 0
|
||
call graph_scrollup
|
||
jmp loc_AD2B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AAF2:
|
||
inc word_12478
|
||
mov word_124C4, 0
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
push word_124BC
|
||
push word_124BE
|
||
push [bp+var_2]
|
||
mov al, byte_124C2
|
||
mov ah, 0
|
||
push ax
|
||
call graph_gaiji_putc
|
||
call sub_A73B
|
||
jmp loc_ADB5 ; default
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AB26:
|
||
mov word_124C4, 0 ; jumptable 0000A876 case 107
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
cmp byte_1247E, 0
|
||
jnz loc_ADB5 ; default
|
||
push [bp+var_2]
|
||
call _input_wait_for_change
|
||
jmp loc_AD2B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AB48:
|
||
mov dx, 0A6h ; '<27>' ; jumptable 0000A876 case 64
|
||
mov al, 1
|
||
out dx, al
|
||
call graph_clear
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
call graph_clear
|
||
jmp loc_ADB5 ; default
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AB61:
|
||
mov bx, word_12478 ; jumptable 0000A876 case 112
|
||
mov al, [bx]
|
||
mov [bp+arg_0], al
|
||
inc word_12478
|
||
cmp [bp+arg_0], 3Dh ; '='
|
||
jz short loc_AB7A
|
||
cmp [bp+arg_0], 40h
|
||
jnz short loc_ABAA
|
||
|
||
loc_AB7A:
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
cmp [bp+arg_0], 3Dh ; '='
|
||
jnz short loc_AB8D
|
||
call pi_slot_palette_apply pascal, 0
|
||
|
||
loc_AB8D:
|
||
call pi_slot_put pascal, large 0, 0
|
||
push 0
|
||
call graph_copy_page
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
call sub_A4AE
|
||
jmp loc_ADB5 ; default
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ABAA:
|
||
cmp [bp+arg_0], 2Dh ; '-'
|
||
jnz short loc_ABC1
|
||
freePISlotLarge 0
|
||
jmp loc_ADB5 ; default
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ABC1:
|
||
cmp [bp+arg_0], 70h ; 'p'
|
||
jnz short loc_ABD1
|
||
call pi_slot_palette_apply pascal, 0
|
||
jmp loc_AD2B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ABD1:
|
||
cmp [bp+arg_0], 2Ch ; ','
|
||
jz short loc_ABDE
|
||
dec word_12478
|
||
jmp loc_ADB5 ; default
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ABDE:
|
||
mov [bp+var_2], 0
|
||
jmp short loc_AC12
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ABE5:
|
||
mov bx, word_12478
|
||
mov al, [bx]
|
||
mov [bp+arg_0], al
|
||
inc word_12478
|
||
mov ah, 0
|
||
mov bx, ax
|
||
test byte ptr [bx+0B69h], 20h
|
||
jnz short loc_AC18
|
||
cmp [bp+arg_0], 20h ; ' '
|
||
jz short loc_AC18
|
||
lea bx, [bp+var_16]
|
||
add bx, [bp+var_2]
|
||
mov al, [bp+arg_0]
|
||
mov ss:[bx], al
|
||
inc [bp+var_2]
|
||
|
||
loc_AC12:
|
||
cmp [bp+var_2], 0Ch
|
||
jl short loc_ABE5
|
||
|
||
loc_AC18:
|
||
lea bx, [bp+var_16]
|
||
add bx, [bp+var_2]
|
||
mov byte ptr ss:[bx], 0
|
||
freePISlotLarge 0
|
||
push 0
|
||
push ss
|
||
lea ax, [bp+var_16]
|
||
push ax
|
||
call pi_slot_load
|
||
jmp loc_ADB5 ; default
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AC3F:
|
||
mov word_124C4, 4 ; jumptable 0000A876 case 61
|
||
mov bx, word_12478
|
||
mov al, [bx]
|
||
mov [bp+arg_0], al
|
||
cmp [bp+arg_0], 3Dh ; '='
|
||
jz short loc_AC94
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
mov dx, 0A4h
|
||
mov al, 1
|
||
out dx, al
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
cmp [bp+var_2], 4
|
||
jge short loc_AC70
|
||
jmp short loc_ACE0
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AC70:
|
||
call grcg_setcolor pascal, (GC_RMW shl 16) + 0
|
||
push 140040h
|
||
push 3B0107h
|
||
call grcg_byteboxfill_x
|
||
GRCG_OFF_CLOBBERING dx
|
||
jmp short loc_ACF0
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AC94:
|
||
inc word_12478
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
mov word_124C4, 1
|
||
push ss
|
||
lea ax, [bp+var_4]
|
||
push ax
|
||
call sub_A713
|
||
xor si, si
|
||
jmp short loc_ACCF
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ACB2:
|
||
push 0A00040h
|
||
push [bp+var_2]
|
||
push si
|
||
call sub_A37F
|
||
cmp byte_1247E, 0
|
||
jnz short loc_ACCE
|
||
push [bp+var_4]
|
||
call frame_delay
|
||
|
||
loc_ACCE:
|
||
inc si
|
||
|
||
loc_ACCF:
|
||
cmp si, 4
|
||
jl short loc_ACB2
|
||
mov dx, 0A4h
|
||
mov al, 1
|
||
out dx, al
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
|
||
loc_ACE0:
|
||
call pi_slot_put_quarter pascal, (160 shl 16) + 64, 0, [bp+var_2]
|
||
|
||
loc_ACF0:
|
||
mov dx, 0A4h
|
||
mov al, 0
|
||
out dx, al
|
||
push 0A00040h
|
||
call sub_A30A
|
||
|
||
loc_ACFF:
|
||
jmp loc_ADB5 ; default
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AD02:
|
||
mov bx, word_12478 ; jumptable 0000A876 case 109
|
||
mov al, [bx]
|
||
mov [bp+arg_0], al
|
||
cmp [bp+arg_0], 24h ; '$'
|
||
jnz short loc_AD1A
|
||
inc word_12478
|
||
push (KAJA_SONG_STOP shl 8)
|
||
jmp short loc_AD26
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AD1A:
|
||
cmp [bp+arg_0], 2Ah ; '*'
|
||
jnz short loc_AD2E
|
||
inc word_12478
|
||
|
||
loc_AD24:
|
||
push (KAJA_SONG_PLAY shl 8)
|
||
|
||
loc_AD26:
|
||
call snd_kaja_interrupt
|
||
|
||
loc_AD2B:
|
||
; Hack
|
||
db 0e9h
|
||
db 087h
|
||
db 000h
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AD2E:
|
||
cmp [bp+arg_0], 2Ch ; ','
|
||
; Hack
|
||
db 00fh
|
||
db 085h
|
||
db 07fh
|
||
db 000h
|
||
inc word_12478
|
||
mov [bp+var_2], 0
|
||
jmp short loc_AD6E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AD41:
|
||
mov bx, word_12478
|
||
mov al, [bx]
|
||
mov [bp+arg_0], al
|
||
inc word_12478
|
||
mov ah, 0
|
||
mov bx, ax
|
||
test byte ptr [bx+0B69h], 20h
|
||
jnz short loc_AD74
|
||
cmp [bp+arg_0], 20h ; ' '
|
||
jz short loc_AD74
|
||
lea bx, [bp+var_16]
|
||
add bx, [bp+var_2]
|
||
mov al, [bp+arg_0]
|
||
mov ss:[bx], al
|
||
inc [bp+var_2]
|
||
|
||
loc_AD6E:
|
||
cmp [bp+var_2], 0Ch
|
||
jl short loc_AD41
|
||
|
||
loc_AD74:
|
||
lea bx, [bp+var_16]
|
||
add bx, [bp+var_2]
|
||
mov byte ptr ss:[bx], 0
|
||
kajacall KAJA_SONG_STOP
|
||
push ss
|
||
lea ax, [bp+var_16]
|
||
push ax
|
||
push SND_LOAD_SONG
|
||
call snd_load
|
||
jmp short loc_AD24
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AD95:
|
||
push ss ; jumptable 0000A876 case 101
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
call snd_se_reset
|
||
call snd_se_play pascal, [bp+var_2]
|
||
call snd_se_update
|
||
jmp short loc_ADB5 ; default
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ADB1:
|
||
mov al, 0FFh ; jumptable 0000A876 case 36
|
||
jmp short loc_ADB7
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ADB5:
|
||
mov al, 0 ; default
|
||
|
||
loc_ADB7:
|
||
pop si
|
||
leave
|
||
retn 2
|
||
sub_A847 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
word_ADBC dw 24h, 3Dh, 40h, 62h
|
||
dw 63h, 65h, 66h, 67h ; value table for switch statement
|
||
dw 6Bh, 6Dh, 6Eh, 70h
|
||
dw 73h, 74h, 76h, 77h
|
||
dw offset loc_ADB1 ; jump table for switch statement
|
||
dw offset loc_AC3F
|
||
dw offset loc_AB48
|
||
dw offset loc_A8FC
|
||
dw offset loc_A8E5
|
||
dw offset loc_AD95
|
||
dw offset loc_AA38
|
||
dw offset loc_AA9F
|
||
dw offset loc_AB26
|
||
dw offset loc_AD02
|
||
dw offset loc_A87A
|
||
dw offset loc_AB61
|
||
dw offset loc_A88F
|
||
dw offset loc_AA0E
|
||
dw offset loc_A9D2
|
||
dw offset loc_A913
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_ADFC proc near
|
||
|
||
var_6 = dword ptr -6
|
||
var_1 = byte ptr -1
|
||
|
||
enter 6, 0
|
||
mov word ptr [bp+var_6+2], ds
|
||
mov word ptr [bp+var_6], 654h
|
||
mov word_124BC, 50h ; 'P'
|
||
mov word_124BE, 140h
|
||
mov word_124C0, 1
|
||
mov byte_124C2, 0Fh
|
||
mov word_EB2C, 2
|
||
call sub_A4AE
|
||
mov byte_1247E, 0
|
||
|
||
loc_AE2D:
|
||
call far ptr _input_reset_sense
|
||
test _input.hi, high INPUT_CANCEL
|
||
jz short loc_AE40
|
||
mov byte_1247E, 1
|
||
jmp short loc_AE45
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AE40:
|
||
mov byte_1247E, 0
|
||
|
||
loc_AE45:
|
||
mov bx, word_12478
|
||
mov al, [bx]
|
||
mov [bp+var_1], al
|
||
inc word_12478
|
||
mov ah, 0
|
||
mov bx, ax
|
||
test byte ptr [bx+0B69h], 20h
|
||
jnz short loc_AE2D
|
||
cmp [bp+var_1], 20h ; ' '
|
||
jz short loc_AE2D
|
||
cmp [bp+var_1], 5Ch
|
||
jnz short loc_AE82
|
||
mov bx, word_12478
|
||
mov al, [bx]
|
||
mov [bp+var_1], al
|
||
inc word_12478
|
||
push word ptr [bp+var_1]
|
||
call sub_A847
|
||
cmp al, 0FFh
|
||
jnz short loc_AE2D
|
||
jmp short loc_AEC8
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AE82:
|
||
les bx, [bp+var_6]
|
||
mov al, [bp+var_1]
|
||
mov es:[bx], al
|
||
mov bx, word_12478
|
||
mov al, [bx]
|
||
mov [bp+var_1], al
|
||
mov bx, word ptr [bp+var_6]
|
||
mov es:[bx+1], al
|
||
inc word_12478
|
||
mov dx, 0A4h
|
||
mov al, 0
|
||
out dx, al
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
push word_124BC
|
||
push word_124BE
|
||
mov al, byte_124C2
|
||
mov ah, 0
|
||
push ax
|
||
push word ptr [bp+var_6+2]
|
||
push bx
|
||
call far ptr loc_D1FC
|
||
call sub_A73B
|
||
jmp loc_AE2D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AEC8:
|
||
call sub_A59E
|
||
call sub_A57F
|
||
leave
|
||
retn
|
||
sub_ADFC endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_AED0 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_0]
|
||
or si, si
|
||
jnz short loc_AEF1
|
||
push [bp+arg_4]
|
||
push [bp+arg_2]
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
push ax
|
||
call _cdg_put
|
||
jmp loc_B027
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AEF1:
|
||
call grcg_setcolor pascal, (GC_RMW shl 16) + 15
|
||
mov bx, 4
|
||
mov ax, si
|
||
cwd
|
||
idiv bx
|
||
mov si, ax
|
||
push [bp+arg_4]
|
||
push ax
|
||
mov al, byte_124C7
|
||
mov ah, 0
|
||
add ax, ax
|
||
mov bx, ax
|
||
push _CosTable8[bx]
|
||
call vector1_at
|
||
mov di, ax
|
||
push [bp+arg_2]
|
||
push si
|
||
mov al, byte_124C7
|
||
mov ah, 0
|
||
add ax, ax
|
||
mov bx, ax
|
||
push _SinTable8[bx]
|
||
call vector1_at
|
||
mov [bp+var_2], ax
|
||
push di
|
||
push ax
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
inc ax
|
||
push ax
|
||
push 0
|
||
call _cdg_put_plane
|
||
mov al, byte_124C7
|
||
add al, 40h
|
||
mov byte_124C7, al
|
||
push [bp+arg_4]
|
||
push si
|
||
mov ah, 0
|
||
add ax, ax
|
||
mov bx, ax
|
||
push _CosTable8[bx]
|
||
call vector1_at
|
||
mov di, ax
|
||
push [bp+arg_2]
|
||
push si
|
||
mov al, byte_124C7
|
||
mov ah, 0
|
||
add ax, ax
|
||
mov bx, ax
|
||
push _SinTable8[bx]
|
||
call vector1_at
|
||
mov [bp+var_2], ax
|
||
push di
|
||
push ax
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
inc ax
|
||
push ax
|
||
push 1
|
||
call _cdg_put_plane
|
||
mov al, byte_124C7
|
||
add al, 40h
|
||
mov byte_124C7, al
|
||
push [bp+arg_4]
|
||
push si
|
||
mov ah, 0
|
||
add ax, ax
|
||
mov bx, ax
|
||
push _CosTable8[bx]
|
||
call vector1_at
|
||
mov di, ax
|
||
push [bp+arg_2]
|
||
push si
|
||
mov al, byte_124C7
|
||
mov ah, 0
|
||
add ax, ax
|
||
mov bx, ax
|
||
push _SinTable8[bx]
|
||
call vector1_at
|
||
mov [bp+var_2], ax
|
||
push di
|
||
push ax
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
inc ax
|
||
push ax
|
||
push 2
|
||
call _cdg_put_plane
|
||
mov al, byte_124C7
|
||
add al, 40h
|
||
mov byte_124C7, al
|
||
push [bp+arg_4]
|
||
push si
|
||
mov ah, 0
|
||
add ax, ax
|
||
mov bx, ax
|
||
push _CosTable8[bx]
|
||
call vector1_at
|
||
mov di, ax
|
||
push [bp+arg_2]
|
||
push si
|
||
mov al, byte_124C7
|
||
mov ah, 0
|
||
add ax, ax
|
||
mov bx, ax
|
||
push _SinTable8[bx]
|
||
call vector1_at
|
||
mov [bp+var_2], ax
|
||
push di
|
||
push ax
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
inc ax
|
||
push ax
|
||
push 3
|
||
call _cdg_put_plane
|
||
mov al, byte_124C7
|
||
add al, 40h
|
||
mov byte_124C7, al
|
||
GRCG_OFF_CLOBBERING dx
|
||
|
||
loc_B027:
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 6
|
||
sub_AED0 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B02D 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_0]
|
||
or si, si
|
||
jnz short loc_B04E
|
||
push [bp+arg_4]
|
||
push [bp+arg_2]
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
push ax
|
||
call _cdg_put
|
||
jmp loc_B13E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B04E:
|
||
call grcg_setcolor pascal, (GC_RMW shl 16) + 15
|
||
mov ax, si
|
||
cwd
|
||
sub ax, dx
|
||
sar ax, 1
|
||
mov si, ax
|
||
push [bp+arg_4]
|
||
cwd
|
||
sub ax, dx
|
||
sar ax, 1
|
||
push ax
|
||
push _CosTable8+192
|
||
call vector1_at
|
||
mov di, ax
|
||
push [bp+arg_2]
|
||
mov ax, si
|
||
cwd
|
||
sub ax, dx
|
||
sar ax, 1
|
||
push ax
|
||
push _CosTable8+64
|
||
call vector1_at
|
||
mov [bp+var_2], ax
|
||
push di
|
||
push ax
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
inc ax
|
||
push ax
|
||
push 0
|
||
call _cdg_put_plane
|
||
push [bp+arg_4]
|
||
push si
|
||
push _CosTable8+128
|
||
call vector1_at
|
||
mov di, ax
|
||
push [bp+arg_2]
|
||
push si
|
||
push _CosTable8
|
||
call vector1_at
|
||
mov [bp+var_2], ax
|
||
push di
|
||
push ax
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
inc ax
|
||
push ax
|
||
push 1
|
||
call _cdg_put_plane
|
||
push [bp+arg_4]
|
||
mov ax, si
|
||
cwd
|
||
sub ax, dx
|
||
sar ax, 1
|
||
push ax
|
||
push _CosTable8+448
|
||
call vector1_at
|
||
mov di, ax
|
||
push [bp+arg_2]
|
||
mov ax, si
|
||
cwd
|
||
sub ax, dx
|
||
sar ax, 1
|
||
push ax
|
||
push _CosTable8+320
|
||
call vector1_at
|
||
mov [bp+var_2], ax
|
||
push di
|
||
push ax
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
inc ax
|
||
push ax
|
||
push 2
|
||
call _cdg_put_plane
|
||
push [bp+arg_4]
|
||
push si
|
||
push _CosTable8+384
|
||
call vector1_at
|
||
mov di, ax
|
||
push [bp+arg_2]
|
||
push si
|
||
push _CosTable8+256
|
||
call vector1_at
|
||
mov [bp+var_2], ax
|
||
push di
|
||
push ax
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
inc ax
|
||
push ax
|
||
push 3
|
||
call _cdg_put_plane
|
||
GRCG_OFF_CLOBBERING dx
|
||
|
||
loc_B13E:
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 6
|
||
sub_B02D endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B144 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_0]
|
||
or si, si
|
||
jnz short loc_B165
|
||
push [bp+arg_4]
|
||
push [bp+arg_2]
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
push ax
|
||
call _cdg_put
|
||
jmp loc_B255
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B165:
|
||
call grcg_setcolor pascal, (GC_RMW shl 16) + 15
|
||
mov ax, si
|
||
cwd
|
||
sub ax, dx
|
||
sar ax, 1
|
||
mov si, ax
|
||
push [bp+arg_4]
|
||
cwd
|
||
sub ax, dx
|
||
sar ax, 1
|
||
push ax
|
||
push _CosTable8
|
||
call vector1_at
|
||
mov di, ax
|
||
push [bp+arg_2]
|
||
mov ax, si
|
||
cwd
|
||
sub ax, dx
|
||
sar ax, 1
|
||
push ax
|
||
push _SinTable8
|
||
call vector1_at
|
||
mov [bp+var_2], ax
|
||
push di
|
||
push ax
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
inc ax
|
||
push ax
|
||
push 0
|
||
call _cdg_put_plane
|
||
push [bp+arg_4]
|
||
push si
|
||
push _CosTable8
|
||
call vector1_at
|
||
mov di, ax
|
||
push [bp+arg_2]
|
||
push si
|
||
push _SinTable8
|
||
call vector1_at
|
||
mov [bp+var_2], ax
|
||
push di
|
||
push ax
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
inc ax
|
||
push ax
|
||
push 1
|
||
call _cdg_put_plane
|
||
push [bp+arg_4]
|
||
mov ax, si
|
||
cwd
|
||
sub ax, dx
|
||
sar ax, 1
|
||
push ax
|
||
push _CosTable8+256
|
||
call vector1_at
|
||
mov di, ax
|
||
push [bp+arg_2]
|
||
mov ax, si
|
||
cwd
|
||
sub ax, dx
|
||
sar ax, 1
|
||
push ax
|
||
push _CosTable8+128
|
||
call vector1_at
|
||
mov [bp+var_2], ax
|
||
push di
|
||
push ax
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
inc ax
|
||
push ax
|
||
push 2
|
||
call _cdg_put_plane
|
||
push [bp+arg_4]
|
||
push si
|
||
push _CosTable8+256
|
||
call vector1_at
|
||
mov di, ax
|
||
push [bp+arg_2]
|
||
push si
|
||
push _CosTable8+128
|
||
call vector1_at
|
||
mov [bp+var_2], ax
|
||
push di
|
||
push ax
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
inc ax
|
||
push ax
|
||
push 3
|
||
call _cdg_put_plane
|
||
GRCG_OFF_CLOBBERING dx
|
||
|
||
loc_B255:
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 6
|
||
sub_B144 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B25B proc near
|
||
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
arg_4 = word ptr 8
|
||
arg_6 = word ptr 0Ah
|
||
arg_8 = word ptr 0Ch
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
mov si, [bp+arg_0]
|
||
mov ax, si
|
||
cwd
|
||
sub ax, dx
|
||
sar ax, 1
|
||
mov si, ax
|
||
mov ax, [bp+arg_8]
|
||
sub ax, si
|
||
push ax
|
||
mov ax, [bp+arg_6]
|
||
sub ax, si
|
||
push ax
|
||
mov ax, si
|
||
add ax, ax
|
||
add ax, [bp+arg_4]
|
||
push ax
|
||
mov ax, si
|
||
add ax, ax
|
||
add ax, [bp+arg_2]
|
||
push ax
|
||
call sub_D6F6
|
||
pop si
|
||
pop bp
|
||
retn 0Ah
|
||
sub_B25B endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B291 proc near
|
||
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
mov di, [bp+arg_2]
|
||
mov si, 3Fh ; '?'
|
||
mov [bp+var_2], 0
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
mov dx, 0A4h
|
||
mov al, 1
|
||
jmp short loc_B30B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B2AF:
|
||
push di
|
||
push [bp+arg_0]
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
shl ax, 4
|
||
mov bx, ax
|
||
push _cdg_slots.pixel_width[bx]
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
shl ax, 4
|
||
mov bx, ax
|
||
push _cdg_slots.pixel_height[bx]
|
||
lea ax, [si+1]
|
||
push ax
|
||
call sub_B25B
|
||
dec si
|
||
mov al, byte_124C7
|
||
add al, 8
|
||
mov byte_124C7, al
|
||
push di
|
||
push [bp+arg_0]
|
||
push si
|
||
call fp_124C8
|
||
|
||
loc_B2E8:
|
||
cmp vsync_Count1, 2
|
||
jb short loc_B2E8
|
||
mov vsync_Count1, 0
|
||
mov dx, 0A4h
|
||
mov al, byte ptr [bp+var_2]
|
||
out dx, al
|
||
mov ax, 1
|
||
sub ax, [bp+var_2]
|
||
mov [bp+var_2], ax
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, byte ptr [bp+var_2]
|
||
|
||
loc_B30B:
|
||
out dx, al
|
||
or si, si
|
||
jg short loc_B2AF
|
||
push [bp+var_2]
|
||
call graph_copy_page
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 4
|
||
sub_B291 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B31E proc near
|
||
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
mov di, [bp+arg_2]
|
||
xor si, si
|
||
mov [bp+var_2], 0
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
mov dx, 0A4h
|
||
mov al, 1
|
||
|
||
loc_B339:
|
||
out dx, al
|
||
push di
|
||
push [bp+arg_0]
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
shl ax, 4
|
||
mov bx, ax
|
||
push _cdg_slots.pixel_width[bx]
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
shl ax, 4
|
||
mov bx, ax
|
||
push _cdg_slots.pixel_height[bx]
|
||
push si
|
||
call sub_B25B
|
||
inc si
|
||
mov al, byte_124C7
|
||
add al, 8
|
||
mov byte_124C7, al
|
||
cmp si, 40h
|
||
jge short loc_B39A
|
||
push di
|
||
push [bp+arg_0]
|
||
push si
|
||
call fp_124C8
|
||
|
||
loc_B375:
|
||
cmp vsync_Count1, 2
|
||
jb short loc_B375
|
||
mov vsync_Count1, 0
|
||
mov dx, 0A4h
|
||
mov al, byte ptr [bp+var_2]
|
||
out dx, al
|
||
mov ax, 1
|
||
sub ax, [bp+var_2]
|
||
mov [bp+var_2], ax
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, byte ptr [bp+var_2]
|
||
jmp short loc_B339
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B39A:
|
||
mov ax, 1
|
||
sub ax, [bp+var_2]
|
||
push ax
|
||
call graph_copy_page
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 4
|
||
sub_B31E endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B3AC proc near
|
||
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
arg_4 = word ptr 8
|
||
arg_6 = word ptr 0Ah
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
mov di, [bp+arg_6]
|
||
xor si, si
|
||
mov [bp+var_2], 0
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
mov dx, 0A4h
|
||
mov al, 1
|
||
|
||
loc_B3C7:
|
||
out dx, al
|
||
push di
|
||
push [bp+arg_4]
|
||
push _cdg_slots.pixel_width + (size CDGSlot * 2)
|
||
push _cdg_slots.pixel_height + (size CDGSlot * 2)
|
||
push si
|
||
call sub_B25B
|
||
push [bp+arg_2]
|
||
push [bp+arg_0]
|
||
push _cdg_slots.pixel_width + (size CDGSlot * 0)
|
||
push _cdg_slots.pixel_height + (size CDGSlot * 0)
|
||
push si
|
||
call sub_B25B
|
||
inc si
|
||
mov al, byte_124C7
|
||
add al, 0F8h
|
||
mov byte_124C7, al
|
||
cmp si, 40h
|
||
jge short loc_B43B
|
||
mov byte_124C6, 2
|
||
push di
|
||
push [bp+arg_4]
|
||
push si
|
||
call fp_124C8
|
||
mov byte_124C6, 0
|
||
push [bp+arg_2]
|
||
push [bp+arg_0]
|
||
push si
|
||
call fp_124C8
|
||
|
||
loc_B416:
|
||
cmp vsync_Count1, 2
|
||
jb short loc_B416
|
||
mov vsync_Count1, 0
|
||
mov dx, 0A4h
|
||
mov al, byte ptr [bp+var_2]
|
||
out dx, al
|
||
mov ax, 1
|
||
sub ax, [bp+var_2]
|
||
mov [bp+var_2], ax
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, byte ptr [bp+var_2]
|
||
jmp short loc_B3C7
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B43B:
|
||
mov ax, 1
|
||
sub ax, [bp+var_2]
|
||
push ax
|
||
call graph_copy_page
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 8
|
||
sub_B3AC endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B44D proc near
|
||
push bp
|
||
mov bp, sp
|
||
mov PaletteTone, 0
|
||
call far ptr palette_show
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call pi_slot_load pascal, 0, ds, offset aSff1_pi
|
||
call pi_slot_palette_apply pascal, 0
|
||
call pi_slot_put pascal, large 0, 0
|
||
freePISlotLarge 0
|
||
push 0
|
||
call graph_copy_page
|
||
call sub_D626
|
||
kajacall KAJA_SONG_STOP
|
||
call snd_load pascal, ds, offset aStaff, SND_LOAD_SONG
|
||
kajacall KAJA_SONG_PLAY
|
||
push 0Ch
|
||
call palette_black_in
|
||
call _cdg_load_single pascal, 0, ds, offset aSff1_cdg, 0
|
||
call _cdg_load_single_noalpha pascal, 1, ds, offset aSff1b_cdg, 0
|
||
push 30040h
|
||
call sub_D046
|
||
mov byte_124C6, 0
|
||
mov fp_124C8, offset sub_AED0
|
||
push 16000A0h
|
||
call sub_B291
|
||
call _cdg_load_single pascal, 2, ds, offset aSff2_cdg, 0
|
||
call _cdg_load_single_noalpha pascal, 3, ds, offset aSff2b_cdg, 0
|
||
push 700A0h
|
||
call sub_D046
|
||
mov fp_124C8, offset sub_B02D
|
||
push 16000A0h
|
||
call sub_B31E
|
||
mov byte_124C6, 2
|
||
mov fp_124C8, offset sub_B144
|
||
push 0C00080h
|
||
call sub_B291
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
mov byte_124C6, 0
|
||
call _cdg_load_single pascal, 0, ds, offset aSff3_cdg, 0
|
||
call _cdg_load_single_noalpha pascal, 1, ds, offset aSff3b_cdg, 0
|
||
push 0B00A0h
|
||
call sub_D046
|
||
push 12000C8h
|
||
call sub_B291
|
||
push 1300A0h
|
||
call sub_D046
|
||
mov fp_124C8, offset sub_B02D
|
||
push 0C00080h
|
||
push 12000C8h
|
||
call sub_B3AC
|
||
push 4
|
||
call palette_black_out
|
||
call _cdg_freeall
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call pi_slot_load pascal, 0, ds, offset aSff2_pi
|
||
call pi_slot_palette_apply pascal, 0
|
||
call pi_slot_put pascal, large 0, 0
|
||
freePISlotLarge 0
|
||
push 0
|
||
call graph_copy_page
|
||
call sub_D626
|
||
push 4
|
||
call palette_black_in
|
||
call _cdg_load_single pascal, 2, ds, offset aSff4_cdg, 0
|
||
call _cdg_load_single_noalpha pascal, 3, ds, offset aSff4b_cdg, 0
|
||
push 1700A0h
|
||
call sub_D046
|
||
mov byte_124C6, 2
|
||
mov fp_124C8, offset sub_B144
|
||
push 200070h
|
||
call sub_B291
|
||
call _cdg_free pascal, 2
|
||
call _cdg_load_single pascal, 4, ds, offset aSff5_cdg, 0
|
||
call _cdg_load_single_noalpha pascal, 5, ds, offset aSff5b_cdg, 0
|
||
push 1B00A0h
|
||
call sub_D046
|
||
mov byte_124C6, 4
|
||
mov fp_124C8, offset sub_B02D
|
||
push 2000B8h
|
||
call sub_B291
|
||
call _cdg_load_single pascal, 0, ds, offset aSff8_cdg, 0
|
||
call _cdg_load_single_noalpha pascal, 1, ds, offset aSff8b_cdg, 0
|
||
push 1F00A0h
|
||
call sub_D046
|
||
mov fp_124C8, offset sub_B144
|
||
push 2000B8h
|
||
call sub_B31E
|
||
mov byte_124C6, 0
|
||
push 4000B8h
|
||
call sub_B291
|
||
call _cdg_load_single pascal, 4, ds, offset aSff9_cdg, 0
|
||
call _cdg_load_single_noalpha pascal, 5, ds, offset aSff9b_cdg, 0
|
||
push 2300A0h
|
||
call sub_D046
|
||
mov fp_124C8, offset sub_AED0
|
||
push 4000B8h
|
||
call sub_B31E
|
||
mov byte_124C6, 4
|
||
push 4000B8h
|
||
call sub_B291
|
||
call _cdg_load_single pascal, 0, ds, offset aSff6_cdg, 0
|
||
call _cdg_load_single_noalpha pascal, 1, ds, offset aSff6b_cdg, 0
|
||
push 2700A0h
|
||
call sub_D046
|
||
mov fp_124C8, offset sub_B02D
|
||
push 4000B8h
|
||
call sub_B31E
|
||
mov byte_124C6, 0
|
||
push 2000B8h
|
||
call sub_B291
|
||
push 2B00A0h
|
||
call sub_D046
|
||
mov fp_124C8, offset sub_B144
|
||
push 200070h
|
||
push 2000B8h
|
||
call sub_B3AC
|
||
call _cdg_load_single pascal, 0, ds, offset aSff7_cdg, 0
|
||
call _cdg_load_single_noalpha pascal, 1, ds, offset aSff7b_cdg, 0
|
||
mov byte_124C6, 0
|
||
push 200150h
|
||
call sub_B291
|
||
push 3000A0h
|
||
call sub_D046
|
||
call sub_D6C4
|
||
call _cdg_freeall
|
||
push 4
|
||
call palette_black_out
|
||
pop bp
|
||
retn
|
||
sub_B44D endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B787 proc near
|
||
|
||
var_6 = word ptr -6
|
||
var_4 = byte ptr -4
|
||
var_3 = byte ptr -3
|
||
var_2 = byte ptr -2
|
||
var_1 = byte ptr -1
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
arg_4 = word ptr 8
|
||
|
||
enter 6, 0
|
||
push si
|
||
xor si, si
|
||
mov [bp+var_4], 2
|
||
mov ax, [bp+arg_0]
|
||
mov bx, 64h ; 'd'
|
||
xor dx, dx
|
||
div bx
|
||
mov [bp+var_6], ax
|
||
mov ax, [bp+arg_0]
|
||
xor dx, dx
|
||
div bx
|
||
mov [bp+arg_0], dx
|
||
cmp byte_EC73, 0
|
||
jnz short loc_B7C5
|
||
or si, [bp+var_6]
|
||
or si, si
|
||
jz short loc_B7C1
|
||
mov al, byte ptr [bp+var_6]
|
||
add al, 0A0h
|
||
mov [bp+var_4], al
|
||
jmp short loc_B7C5
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B7C1:
|
||
mov [bp+var_4], 2
|
||
|
||
loc_B7C5:
|
||
mov ax, [bp+arg_0]
|
||
mov bx, 0Ah
|
||
xor dx, dx
|
||
div bx
|
||
mov [bp+var_6], ax
|
||
mov ax, [bp+arg_0]
|
||
xor dx, dx
|
||
div bx
|
||
mov [bp+arg_0], dx
|
||
or si, [bp+var_6]
|
||
mov al, byte_EC73
|
||
mov ah, 0
|
||
or si, ax
|
||
or si, si
|
||
jz short loc_B7F4
|
||
mov al, byte ptr [bp+var_6]
|
||
add al, 0A0h
|
||
mov [bp+var_3], al
|
||
jmp short loc_B7F8
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B7F4:
|
||
mov [bp+var_3], 2
|
||
|
||
loc_B7F8:
|
||
mov al, byte ptr [bp+arg_0]
|
||
add al, 0A0h
|
||
mov [bp+var_2], al
|
||
mov [bp+var_1], 0
|
||
push [bp+arg_4]
|
||
push [bp+arg_2]
|
||
push 10h
|
||
push ss
|
||
lea ax, [bp+var_4]
|
||
push ax
|
||
push 0Eh
|
||
call graph_gaiji_puts
|
||
pop si
|
||
leave
|
||
retn 6
|
||
sub_B787 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B81D proc near
|
||
|
||
var_C = byte ptr -0Ch
|
||
var_4 = byte ptr -4
|
||
var_2 = byte ptr -2
|
||
var_1 = byte ptr -1
|
||
|
||
enter 0Ch, 0
|
||
push si
|
||
mov [bp+var_2], 0
|
||
xor si, si
|
||
jmp short loc_B851
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B82A:
|
||
mov ax, 7
|
||
sub ax, si
|
||
les bx, dword_F3CE
|
||
add bx, ax
|
||
mov al, es:[bx+1Dh]
|
||
mov [bp+var_1], al
|
||
or [bp+var_2], al
|
||
cmp [bp+var_2], 0
|
||
jz short loc_B84C
|
||
add al, 0A0h
|
||
mov [bp+si+var_C], al
|
||
jmp short loc_B850
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B84C:
|
||
mov [bp+si+var_C], 2
|
||
|
||
loc_B850:
|
||
inc si
|
||
|
||
loc_B851:
|
||
cmp si, 8
|
||
jl short loc_B82A
|
||
mov [bp+var_4], 0
|
||
push 0A00060h
|
||
push 10h
|
||
push ss
|
||
lea ax, [bp+var_C]
|
||
push ax
|
||
push 0Eh
|
||
call graph_gaiji_puts
|
||
mov [bp+var_2], 1
|
||
push 1200060h
|
||
push 0Eh
|
||
push ds
|
||
push offset aU_ ; "<22>_"
|
||
call far ptr loc_D1FC
|
||
pop si
|
||
leave
|
||
retn
|
||
sub_B81D endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B886 proc near
|
||
|
||
var_6 = dword ptr -6
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
arg_4 = word ptr 8
|
||
arg_6 = word ptr 0Ah
|
||
|
||
enter 6, 0
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_6]
|
||
mov di, [bp+arg_4]
|
||
cmp [bp+arg_2], 0
|
||
jz short loc_B8A2
|
||
mov [bp+var_6], 0F4240h
|
||
jmp short loc_B8AA
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B8A2:
|
||
mov [bp+var_6], 0
|
||
|
||
loc_B8AA:
|
||
mov ax, [bp+arg_2]
|
||
cmp ax, [bp+arg_0]
|
||
jz short loc_B8E3
|
||
cmp [bp+arg_2], 0
|
||
jz short loc_B8CD
|
||
movzx ebx, [bp+arg_2]
|
||
mov eax, [bp+var_6]
|
||
xor edx, edx
|
||
div ebx
|
||
mov [bp+var_6], eax
|
||
jmp short loc_B8D5
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B8CD:
|
||
mov [bp+var_6], 0
|
||
|
||
loc_B8D5:
|
||
movzx eax, [bp+arg_0]
|
||
imul eax, [bp+var_6]
|
||
mov [bp+var_6], eax
|
||
|
||
loc_B8E3:
|
||
cmp byte_EC4A, 0
|
||
jnz short loc_B8F4
|
||
mov eax, dword_124CE
|
||
add eax, [bp+var_6]
|
||
jmp short loc_B8FC
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B8F4:
|
||
mov eax, dword_124CE
|
||
sub eax, [bp+var_6]
|
||
|
||
loc_B8FC:
|
||
mov dword_124CE, eax
|
||
mov eax, [bp+var_6]
|
||
mov ebx, 2710h
|
||
xor edx, edx
|
||
div ebx
|
||
mov [bp+var_2], ax
|
||
push si
|
||
push di
|
||
push ax
|
||
call sub_B787
|
||
mov ebx, 2710h
|
||
mov eax, [bp+var_6]
|
||
xor edx, edx
|
||
div ebx
|
||
mov [bp+var_6], edx
|
||
mov eax, [bp+var_6]
|
||
mov ebx, 64h ; 'd'
|
||
xor edx, edx
|
||
div ebx
|
||
mov [bp+var_2], ax
|
||
mov byte_EC73, 1
|
||
lea ax, [si+30h]
|
||
push ax
|
||
push di
|
||
push [bp+var_2]
|
||
call sub_B787
|
||
mov byte_EC73, 0
|
||
lea ax, [si+30h]
|
||
push ax
|
||
push di
|
||
push 0Eh
|
||
push ds
|
||
push offset aBd ; "<22>D"
|
||
call far ptr loc_D1FC
|
||
lea ax, [si+60h]
|
||
push ax
|
||
push di
|
||
push 0Eh
|
||
push ds
|
||
push offset aBu ; "<22><>"
|
||
call far ptr loc_D1FC
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 8
|
||
sub_B886 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B97B proc near
|
||
|
||
var_2 = word ptr -2
|
||
arg_0 = dword ptr 4
|
||
arg_4 = word ptr 8
|
||
arg_6 = word ptr 0Ah
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_6]
|
||
mov di, [bp+arg_4]
|
||
mov eax, [bp+arg_0]
|
||
mov ebx, 2710h
|
||
xor edx, edx
|
||
div ebx
|
||
mov [bp+var_2], ax
|
||
push si
|
||
push di
|
||
push ax
|
||
call sub_B787
|
||
mov ebx, 2710h
|
||
mov eax, [bp+arg_0]
|
||
xor edx, edx
|
||
div ebx
|
||
mov [bp+arg_0], edx
|
||
mov eax, [bp+arg_0]
|
||
mov ebx, 64h ; 'd'
|
||
xor edx, edx
|
||
div ebx
|
||
mov [bp+var_2], ax
|
||
mov byte_EC73, 1
|
||
lea ax, [si+30h]
|
||
push ax
|
||
push di
|
||
push [bp+var_2]
|
||
call sub_B787
|
||
mov byte_EC73, 0
|
||
lea ax, [si+30h]
|
||
push ax
|
||
push di
|
||
push 0Eh
|
||
push ds
|
||
push offset aBd_0 ; "<22>D"
|
||
call far ptr loc_D1FC
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 8
|
||
sub_B97B endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B9F2 proc near
|
||
|
||
var_8 = dword ptr -8
|
||
var_4 = dword ptr -4
|
||
|
||
enter 8, 0
|
||
les bx, dword_F3CE
|
||
mov eax, es:[bx+14h]
|
||
mov random_seed, eax
|
||
mov al, es:[bx+0Ch]
|
||
mov ah, 0
|
||
dec ax
|
||
mov bx, ax
|
||
cmp bx, 5
|
||
ja short loc_BA52
|
||
add bx, bx
|
||
jmp cs:off_BB75[bx]
|
||
|
||
loc_BA18:
|
||
mov [bp+var_4], 9C4h
|
||
jmp short loc_BA52
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BA22:
|
||
mov [bp+var_4], 7D0h
|
||
jmp short loc_BA52
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BA2C:
|
||
mov [bp+var_4], 5DCh
|
||
jmp short loc_BA52
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BA36:
|
||
mov [bp+var_4], 3E8h
|
||
jmp short loc_BA52
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BA40:
|
||
mov [bp+var_4], 1F4h
|
||
jmp short loc_BA52
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BA4A:
|
||
mov [bp+var_4], 0
|
||
|
||
loc_BA52:
|
||
les bx, dword_F3CE
|
||
mov al, es:[bx+0Eh]
|
||
mov ah, 0
|
||
or ax, ax
|
||
jz short loc_BA67
|
||
cmp ax, 1
|
||
jz short loc_BA71
|
||
jmp short loc_BA79
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BA67:
|
||
add [bp+var_4], 9C4h
|
||
jmp short loc_BA79
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BA71:
|
||
add [bp+var_4], 5DCh
|
||
|
||
loc_BA79:
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+49h], 0
|
||
jz short loc_BA8C
|
||
add [bp+var_4], 7D0h
|
||
|
||
loc_BA8C:
|
||
les bx, dword_F3CE
|
||
cmp word ptr es:[bx+38h], 0
|
||
jz short loc_BAA5
|
||
mov ax, es:[bx+38h]
|
||
add ax, ax
|
||
movzx eax, ax
|
||
add [bp+var_4], eax
|
||
|
||
loc_BAA5:
|
||
mov [bp+var_8], 0F4240h
|
||
les bx, dword_F3CE
|
||
mov ax, es:[bx+28h]
|
||
cmp ax, es:[bx+2Ah]
|
||
jz short loc_BAF3
|
||
cmp word ptr es:[bx+28h], 0
|
||
jz short loc_BAD8
|
||
movzx ebx, word ptr es:[bx+28h]
|
||
mov eax, [bp+var_8]
|
||
xor edx, edx
|
||
div ebx
|
||
mov [bp+var_8], eax
|
||
jmp short loc_BAE0
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BAD8:
|
||
mov [bp+var_8], 0
|
||
|
||
loc_BAE0:
|
||
les bx, dword_F3CE
|
||
movzx eax, word ptr es:[bx+2Ah]
|
||
imul eax, [bp+var_8]
|
||
mov [bp+var_8], eax
|
||
|
||
loc_BAF3:
|
||
mov eax, 0F4240h
|
||
sub eax, [bp+var_8]
|
||
mov [bp+var_8], eax
|
||
mov ebx, 64h ; 'd'
|
||
xor edx, edx
|
||
div ebx
|
||
mov [bp+var_8], eax
|
||
cmp [bp+var_8], 0
|
||
jz short loc_BB2A
|
||
call IRand
|
||
cwde
|
||
xor edx, edx
|
||
div [bp+var_8]
|
||
add [bp+var_4], edx
|
||
|
||
loc_BB2A:
|
||
mov eax, [bp+var_4]
|
||
imul eax, 64h
|
||
mov [bp+var_4], eax
|
||
cmp [bp+var_4], 0F4240h
|
||
jbe short loc_BB48
|
||
mov [bp+var_4], 0F4240h
|
||
|
||
loc_BB48:
|
||
mov eax, dword_124CE
|
||
add eax, [bp+var_4]
|
||
mov dword_124CE, eax
|
||
push 0C00108h
|
||
pushd [bp+var_4]
|
||
call sub_B97B
|
||
push 1200108h
|
||
push 0Eh
|
||
push ds
|
||
push offset aBu_0 ; "<22><>"
|
||
call far ptr loc_D1FC
|
||
leave
|
||
retn
|
||
sub_B9F2 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
db 0
|
||
off_BB75 dw offset loc_BA18
|
||
dw offset loc_BA22
|
||
dw offset loc_BA2C
|
||
dw offset loc_BA36
|
||
dw offset loc_BA40
|
||
dw offset loc_BA4A
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_BB81 proc near
|
||
|
||
var_4 = dword ptr -4
|
||
|
||
enter 4, 0
|
||
push si
|
||
mov word_EB2C, 2
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
mov dx, 0A4h
|
||
out dx, al
|
||
push 100030h
|
||
push 0Fh
|
||
push ds
|
||
push offset aB@b@b@b@b@b@b@ ; "<22>@<40>@<40>@<40>@<40>@<40>@<40>@ <20>r<EFBFBD>O<EFBFBD><4F><EFBFBD><EFBFBD>"
|
||
call far ptr loc_D1FC
|
||
push 100048h
|
||
push 0Fh
|
||
push ds
|
||
push offset aUqiUx ; "<22><><EFBFBD>Փx"
|
||
call far ptr loc_D1FC
|
||
push 100060h
|
||
push 0Fh
|
||
push ds
|
||
push offset aNPiuU_ ; "<22>ŏI<C58F><49><EFBFBD>_"
|
||
call far ptr loc_D1FC
|
||
push 100078h
|
||
push 0Fh
|
||
push ds
|
||
push offset aGGxi ; "<22>~<7E>X<EFBFBD><58><EFBFBD><EFBFBD>"
|
||
call far ptr loc_D1FC
|
||
push 100090h
|
||
push 0Fh
|
||
push ds
|
||
push offset aGGaogcpi ; "<22>{<7B><><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD><EFBFBD>"
|
||
call far ptr loc_D1FC
|
||
push 1000A8h
|
||
push 0Fh
|
||
push ds
|
||
push offset aGqbGatbrmcj ; "<22>Q<EFBFBD>[<5B><><EFBFBD>B<EFBFBD><42><EFBFBD><EFBFBD>"
|
||
call far ptr loc_D1FC
|
||
push 1000C0h
|
||
push 0Fh
|
||
push ds
|
||
push offset aIlcSObcj ; "<22><><EFBFBD><EFBFBD><EFBFBD>ގ<EFBFBD><DE8E><EFBFBD>"
|
||
call far ptr loc_D1FC
|
||
push 1000D8h
|
||
push 0Fh
|
||
push ds
|
||
push offset aGagcgegai ; "<22>A<EFBFBD>C<EFBFBD>e<EFBFBD><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||
call far ptr loc_D1FC
|
||
push 1000F0h
|
||
push 0Fh
|
||
push ds
|
||
push offset aUU_gagcgeganNv ; "<22><><EFBFBD>_<EFBFBD>A<EFBFBD>C<EFBFBD>e<EFBFBD><65><EFBFBD>ō<EFBFBD><C58D>_<EFBFBD><5F>"
|
||
call far ptr loc_D1FC
|
||
push 100108h
|
||
push 0Fh
|
||
push ds
|
||
push offset aLcnzvv ; "<22>C<EFBFBD><43><EFBFBD><EFBFBD>"
|
||
call far ptr loc_D1FC
|
||
push 100120h
|
||
push 0Fh
|
||
push ds
|
||
push offset aPicacovCj ; "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||
call far ptr loc_D1FC
|
||
push 100150h
|
||
push 0Fh
|
||
push ds
|
||
push offset aVavVVSrso ; "<22><><EFBFBD>Ȃ<EFBFBD><C882>̘r<CC98>O"
|
||
call far ptr loc_D1FC
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+11h], 6
|
||
jnz short loc_BC71
|
||
mov al, 4
|
||
jmp short loc_BC79
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BC71:
|
||
les bx, dword_F3CE
|
||
mov al, es:[bx+0Fh]
|
||
|
||
loc_BC79:
|
||
mov byte_124D2, al
|
||
push 0B00048h
|
||
push 10h
|
||
push ds
|
||
mov ah, 0
|
||
shl ax, 3
|
||
add ax, offset grEASY
|
||
push ax
|
||
push 0Eh
|
||
call graph_gaiji_puts
|
||
call sub_B81D
|
||
push 0F00078h
|
||
les bx, dword_F3CE
|
||
mov al, es:[bx+31h]
|
||
mov ah, 0
|
||
push ax
|
||
call sub_B787
|
||
push 0F00090h
|
||
les bx, dword_F3CE
|
||
mov al, es:[bx+32h]
|
||
mov ah, 0
|
||
push ax
|
||
call sub_B787
|
||
push 1200078h
|
||
push 0Eh
|
||
push ds
|
||
push offset aTimes ; "<22><>"
|
||
call far ptr loc_D1FC
|
||
push 1200090h
|
||
push 0Eh
|
||
push ds
|
||
push offset aTimes_0 ; "<22><>"
|
||
call far ptr loc_D1FC
|
||
mov byte_124CC, 1
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+11h], 6
|
||
jz short loc_BD0A
|
||
cmp byte ptr es:[bx+30h], 0FFh
|
||
jnz short loc_BCFF
|
||
mov word ptr es:[bx+26h], 0ABE0h
|
||
|
||
loc_BCFF:
|
||
push 0C000A8h
|
||
push 0ABE0h
|
||
jmp short loc_BD24
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BD0A:
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+30h], 0FDh
|
||
jnz short loc_BD1B
|
||
mov word ptr es:[bx+26h], 2EE0h
|
||
|
||
loc_BD1B:
|
||
push 0C000A8h
|
||
push 2EE0h
|
||
|
||
loc_BD24:
|
||
les bx, dword_F3CE
|
||
push word ptr es:[bx+26h]
|
||
call sub_B886
|
||
mov byte_124CC, 0
|
||
push 0C000C0h
|
||
les bx, dword_F3CE
|
||
push word ptr es:[bx+34h]
|
||
push word ptr es:[bx+36h]
|
||
call sub_B886
|
||
push 0C000D8h
|
||
les bx, dword_F3CE
|
||
push word ptr es:[bx+28h]
|
||
push word ptr es:[bx+2Ah]
|
||
call sub_B886
|
||
push 0C000F0h
|
||
les bx, dword_F3CE
|
||
push word ptr es:[bx+2Ch]
|
||
push word ptr es:[bx+2Eh]
|
||
call sub_B886
|
||
call sub_B9F2
|
||
push 0C00120h
|
||
les bx, dword_F3CE
|
||
mov eax, es:[bx+44h]
|
||
mov ebx, 0Ah
|
||
xor edx, edx
|
||
div ebx
|
||
push ax
|
||
mov bx, word ptr dword_F3CE
|
||
mov eax, es:[bx+40h]
|
||
mov ebx, 0Ah
|
||
xor edx, edx
|
||
div ebx
|
||
push ax
|
||
call sub_B886
|
||
mov ebx, 5
|
||
mov eax, dword_124CE
|
||
cdq
|
||
idiv ebx
|
||
mov dword_124CE, eax
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+24h], 9
|
||
jb short loc_BDD4
|
||
add dword_124CE, 927C0h
|
||
jmp short loc_BE08
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BDD4:
|
||
les bx, dword_F3CE
|
||
movzx eax, byte ptr es:[bx+23h]
|
||
imul eax, 2710h
|
||
add dword_124CE, eax
|
||
cmp byte ptr es:[bx+24h], 3
|
||
jbe short loc_BE08
|
||
mov al, es:[bx+24h]
|
||
mov ah, 0
|
||
add ax, 0FFFDh
|
||
cwde
|
||
imul eax, 186A0h
|
||
add dword_124CE, eax
|
||
|
||
loc_BE08:
|
||
mov al, byte_124D2
|
||
mov ah, 0
|
||
mov bx, ax
|
||
cmp bx, 4
|
||
ja short loc_BE6F
|
||
add bx, bx
|
||
jmp cs:off_C0EE[bx]
|
||
|
||
loc_BE1B:
|
||
sub dword_124CE, 0C350h
|
||
mov [bp+var_4], 0C3500h
|
||
jmp short loc_BE6F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BE2E:
|
||
mov [bp+var_4], 0F4240h
|
||
jmp short loc_BE6F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BE38:
|
||
add dword_124CE, 249F0h
|
||
mov [bp+var_4], 124F80h
|
||
jmp short loc_BE6F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BE4B:
|
||
add dword_124CE, 493E0h
|
||
mov [bp+var_4], 155CC0h
|
||
jmp short loc_BE6F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BE5E:
|
||
add dword_124CE, 6DDD0h
|
||
mov [bp+var_4], 16E360h
|
||
|
||
loc_BE6F:
|
||
les bx, dword_F3CE
|
||
mov al, es:[bx+0Ch]
|
||
mov ah, 0
|
||
dec ax
|
||
mov bx, ax
|
||
cmp bx, 5
|
||
ja short loc_BECA
|
||
add bx, bx
|
||
jmp cs:off_C0E2[bx]
|
||
|
||
loc_BE88:
|
||
add dword_124CE, 0C350h
|
||
add [bp+var_4], 186A0h
|
||
jmp short loc_BECA
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BE9B:
|
||
add dword_124CE, 61A8h
|
||
add [bp+var_4], 0C350h
|
||
jmp short loc_BECA
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BEAE:
|
||
sub [bp+var_4], 61A8h
|
||
jmp short loc_BECA
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BEB8:
|
||
sub [bp+var_4], 0C350h
|
||
jmp short loc_BECA
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BEC2:
|
||
sub [bp+var_4], 124F8h
|
||
|
||
loc_BECA:
|
||
les bx, dword_F3CE
|
||
mov al, es:[bx+0Eh]
|
||
mov ah, 0
|
||
or ax, ax
|
||
jz short loc_BEDF
|
||
cmp ax, 1
|
||
jz short loc_BEF2
|
||
jmp short loc_BF03
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BEDF:
|
||
add dword_124CE, 0C350h
|
||
add [bp+var_4], 186A0h
|
||
jmp short loc_BF03
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BEF2:
|
||
add dword_124CE, 4E20h
|
||
add [bp+var_4], 0C350h
|
||
|
||
loc_BF03:
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+49h], 0
|
||
jnz short loc_BF17
|
||
sub dword_124CE, 186A0h
|
||
|
||
loc_BF17:
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+31h], 0Fh
|
||
jb short loc_BF2D
|
||
sub dword_124CE, 493E0h
|
||
jmp short loc_BF43
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BF2D:
|
||
les bx, dword_F3CE
|
||
movzx eax, byte ptr es:[bx+31h]
|
||
imul eax, 4E20h
|
||
sub dword_124CE, eax
|
||
|
||
loc_BF43:
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+32h], 1Eh
|
||
jb short loc_BF59
|
||
sub dword_124CE, 15F90h
|
||
jmp short loc_BF6F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BF59:
|
||
les bx, dword_F3CE
|
||
movzx eax, byte ptr es:[bx+32h]
|
||
imul eax, 0BB8h
|
||
sub dword_124CE, eax
|
||
|
||
loc_BF6F:
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+30h], 0FDh
|
||
jnb short loc_BFA1
|
||
cmp byte_124D2, 4
|
||
jz short loc_BF96
|
||
mov ebx, 2
|
||
mov eax, dword_124CE
|
||
cdq
|
||
idiv ebx
|
||
mov dword_124CE, eax
|
||
jmp short loc_BFB4
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BF96:
|
||
sub dword_124CE, 30D40h
|
||
jmp short loc_BFB4
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BFA1:
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+30h], 0FEh
|
||
jnz short loc_BFB4
|
||
sub [bp+var_4], 186A0h
|
||
|
||
loc_BFB4:
|
||
cmp dword_124CE, 0
|
||
jge short loc_BFC7
|
||
mov dword_124CE, 0
|
||
jmp short loc_BFD9
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BFC7:
|
||
mov eax, dword_124CE
|
||
cmp eax, [bp+var_4]
|
||
jbe short loc_BFD9
|
||
mov eax, [bp+var_4]
|
||
mov dword_124CE, eax
|
||
|
||
loc_BFD9:
|
||
les bx, dword_F3CE
|
||
mov eax, es:[bx+44h]
|
||
shr eax, 1
|
||
cmp eax, es:[bx+40h]
|
||
jbe loc_C0AE
|
||
push 0C00150h
|
||
pushd [dword_124CE]
|
||
call sub_B97B
|
||
push 1200150h
|
||
push 0Eh
|
||
push ds
|
||
push offset aPoint ; "<22>_"
|
||
call far ptr loc_D1FC
|
||
push ds
|
||
push offset a_ude_txt ; "_ude.txt"
|
||
call file_ropen
|
||
cmp dword_124CE, 16E360h
|
||
jge short loc_C084
|
||
cmp dword_124CE, 0
|
||
jnz short loc_C02E
|
||
mov si, 19h
|
||
jmp short loc_C074
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C02E:
|
||
cmp dword_124CE, 100590h
|
||
jge short loc_C051
|
||
mov eax, dword_124CE
|
||
mov ebx, 0C350h
|
||
cdq
|
||
idiv ebx
|
||
mov dx, 18h
|
||
sub dx, ax
|
||
mov si, dx
|
||
jmp short loc_C074
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C051:
|
||
cmp dword_124CE, 124F80h
|
||
jge short loc_C061
|
||
mov si, 3
|
||
jmp short loc_C074
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C061:
|
||
cmp dword_124CE, 149970h
|
||
jge short loc_C071
|
||
mov si, 2
|
||
jmp short loc_C074
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C071:
|
||
mov si, 1
|
||
|
||
loc_C074:
|
||
mov ax, si
|
||
imul ax, 1Eh
|
||
cwde
|
||
push eax
|
||
push 0
|
||
call file_seek
|
||
|
||
loc_C084:
|
||
push ds
|
||
push offset unk_124D3
|
||
push 1Eh
|
||
call file_read
|
||
mov byte_124EF, 0
|
||
call file_close
|
||
push 40h
|
||
call frame_delay
|
||
push 400168h
|
||
push 0Fh
|
||
push ds
|
||
push offset unk_124D3
|
||
jmp short loc_C0CB
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C0AE:
|
||
push 0C00150h
|
||
push 0Eh
|
||
push ds
|
||
push offset aBhbhbhbhbhbhu_ ; "<22>H<EFBFBD>H<EFBFBD>H<EFBFBD>H<EFBFBD>H<EFBFBD>H<EFBFBD>_"
|
||
call far ptr loc_D1FC
|
||
push 400168h
|
||
push 0Fh
|
||
push ds
|
||
push offset aPicacovVVcvsfT ; "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɂ<EFBFBD><C982>锻<EFBFBD><E994BB><EFBFBD>s<EFBFBD><73>"
|
||
|
||
loc_C0CB:
|
||
call far ptr loc_D1FC
|
||
push 0
|
||
call _input_wait_for_change
|
||
push 2
|
||
call palette_black_out
|
||
pop si
|
||
leave
|
||
retn
|
||
sub_BB81 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
db 0
|
||
off_C0E2 dw offset loc_BE88
|
||
dw offset loc_BE9B
|
||
dw offset loc_BECA
|
||
dw offset loc_BEAE
|
||
dw offset loc_BEB8
|
||
dw offset loc_BEC2
|
||
off_C0EE dw offset loc_BE1B
|
||
dw offset loc_BE2E
|
||
dw offset loc_BE38
|
||
dw offset loc_BE4B
|
||
dw offset loc_BE5E
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C0F8 proc near
|
||
push bp
|
||
mov bp, sp
|
||
mov PaletteTone, 0
|
||
call far ptr palette_show
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call pi_slot_load pascal, 0, ds, offset aUde_pi
|
||
call pi_slot_palette_apply pascal, 0
|
||
call pi_slot_put pascal, large 0, 0
|
||
freePISlotLarge 0
|
||
push 0
|
||
call graph_copy_page
|
||
push 4
|
||
call palette_black_in
|
||
call sub_BB81
|
||
pop bp
|
||
retn
|
||
sub_C0F8 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C149 proc near
|
||
|
||
var_1 = byte ptr -1
|
||
|
||
enter 2, 0
|
||
push si
|
||
mov si, 4
|
||
jmp short loc_C176
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C153:
|
||
mov al, [si+3FC3h]
|
||
mov [bp+var_1], al
|
||
mov al, byte_124F3
|
||
ror [bp+var_1], 3
|
||
xor [bp+var_1], al
|
||
mov al, [si+3FC2h]
|
||
mov dl, byte_124F2
|
||
add dl, [bp+var_1]
|
||
add al, dl
|
||
mov [si+3FC2h], al
|
||
inc si
|
||
|
||
loc_C176:
|
||
cmp si, 0C3h
|
||
jl short loc_C153
|
||
mov al, byte_124F2
|
||
add [si+3FC2h], al
|
||
xor cx, cx
|
||
mov si, 4
|
||
jmp short loc_C193
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C18A:
|
||
mov al, [si+3FC2h]
|
||
mov ah, 0
|
||
add cx, ax
|
||
inc si
|
||
|
||
loc_C193:
|
||
cmp si, 0C4h ; '<27>'
|
||
jl short loc_C18A
|
||
mov al, byte ptr word_124F4
|
||
sub al, cl
|
||
pop si
|
||
leave
|
||
retn
|
||
sub_C149 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C1A1 proc near
|
||
|
||
var_1 = byte ptr -1
|
||
|
||
enter 2, 0
|
||
push si
|
||
mov word_124F4, 0
|
||
mov si, 4
|
||
jmp short loc_C1BC
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C1B1:
|
||
mov al, [si+3FC2h]
|
||
mov ah, 0
|
||
add word_124F4, ax
|
||
inc si
|
||
|
||
loc_C1BC:
|
||
cmp si, 0C4h ; '<27>'
|
||
jl short loc_C1B1
|
||
call IRand
|
||
mov byte_124F2, al
|
||
call IRand
|
||
mov byte_124F3, al
|
||
mov [bp+var_1], 0
|
||
mov si, 0C3h
|
||
jmp short loc_C1FE
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C1DB:
|
||
mov al, [si+3FC2h]
|
||
mov dl, byte_124F2
|
||
add dl, [bp+var_1]
|
||
sub al, dl
|
||
mov [si+3FC2h], al
|
||
mov al, [si+3FC2h]
|
||
mov [bp+var_1], al
|
||
mov al, byte_124F3
|
||
ror [bp+var_1], 3
|
||
xor [bp+var_1], al
|
||
dec si
|
||
|
||
loc_C1FE:
|
||
cmp si, 4
|
||
jge short loc_C1DB
|
||
pop si
|
||
leave
|
||
retn
|
||
sub_C1A1 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C206 proc near
|
||
|
||
var_1 = byte ptr -1
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
mov [bp+var_1], 0A9h ; '<27>'
|
||
xor si, si
|
||
jmp short loc_C27A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C214:
|
||
mov byte_125A0, 19h
|
||
xor di, di
|
||
jmp short loc_C228
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C21D:
|
||
mov bx, si
|
||
shl bx, 3
|
||
mov byte ptr [bx+di+4020h], 0A0h
|
||
inc di
|
||
|
||
loc_C228:
|
||
cmp di, 8
|
||
jl short loc_C21D
|
||
or si, si
|
||
jnz short loc_C23D
|
||
mov bx, si
|
||
shl bx, 3
|
||
mov byte ptr [bx+4025h], 0A1h ; '<27>'
|
||
jmp short loc_C24C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C23D:
|
||
mov bx, si
|
||
shl bx, 3
|
||
mov al, [bp+var_1]
|
||
mov [bx+4024h], al
|
||
dec [bp+var_1]
|
||
|
||
loc_C24C:
|
||
mov ax, si
|
||
cwd
|
||
sub ax, dx
|
||
sar ax, 1
|
||
mov dl, 0A5h ; '<27>'
|
||
sub dl, al
|
||
mov [si+4072h], dl
|
||
xor di, di
|
||
jmp short loc_C26A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C25F:
|
||
mov bx, si
|
||
imul bx, 9
|
||
mov byte ptr [bx+di+3FC6h], 0C4h ; '<27>'
|
||
inc di
|
||
|
||
loc_C26A:
|
||
cmp di, 8
|
||
jl short loc_C25F
|
||
mov bx, si
|
||
imul bx, 9
|
||
mov byte ptr [bx+3FCEh], 0
|
||
inc si
|
||
|
||
loc_C27A:
|
||
cmp si, 0Ah
|
||
jl short loc_C214
|
||
push ds
|
||
push offset aGensou_scr ; "GENSOU.SCR"
|
||
call file_create
|
||
xor si, si
|
||
jmp short loc_C29F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C28C:
|
||
call sub_C1A1
|
||
push ds
|
||
push offset byte_124F2
|
||
push 0C4h ; '<27>'
|
||
call file_write
|
||
call sub_C149
|
||
inc si
|
||
|
||
loc_C29F:
|
||
cmp si, 0Ah
|
||
jl short loc_C28C
|
||
call file_close
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn
|
||
sub_C206 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C2AD proc near
|
||
|
||
arg_0 = byte ptr 4
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push ds
|
||
push offset aGensou_scr_0 ; "GENSOU.SCR"
|
||
call file_exist
|
||
or ax, ax
|
||
jz short loc_C307
|
||
push ds
|
||
push offset aGensou_scr_1 ; "GENSOU.SCR"
|
||
call file_ropen
|
||
mov al, byte_125B7
|
||
mov ah, 0
|
||
imul ax, 0C4h
|
||
movzx eax, ax
|
||
push eax
|
||
push 0
|
||
call file_seek
|
||
cmp [bp+arg_0], 0
|
||
jz short loc_C2EF
|
||
pushd 3D4h
|
||
push 1
|
||
call file_seek
|
||
|
||
loc_C2EF:
|
||
push ds
|
||
push offset byte_124F2
|
||
push 0C4h ; '<27>'
|
||
call file_read
|
||
call file_close
|
||
call sub_C149
|
||
or al, al
|
||
jz short loc_C310
|
||
|
||
loc_C307:
|
||
call sub_C206
|
||
mov al, 1
|
||
pop bp
|
||
retn 2
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C310:
|
||
mov al, 0
|
||
pop bp
|
||
retn 2
|
||
sub_C2AD endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C316 proc near
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
call sub_C1A1
|
||
push ds
|
||
push offset aGensou_scr_2 ; "GENSOU.SCR"
|
||
call file_append
|
||
mov al, byte_125B7
|
||
mov ah, 0
|
||
imul ax, 0C4h
|
||
movzx eax, ax
|
||
push eax
|
||
push 0
|
||
call file_seek
|
||
cmp byte ptr word_125B8, 0
|
||
jz short loc_C350
|
||
pushd 3D4h
|
||
push 1
|
||
call file_seek
|
||
|
||
loc_C350:
|
||
push ds
|
||
push offset byte_124F2
|
||
push 0C4h ; '<27>'
|
||
call file_write
|
||
xor si, si
|
||
jmp short loc_C3A5
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C360:
|
||
mov ax, si
|
||
imul ax, 0C4h
|
||
movzx eax, ax
|
||
push eax
|
||
push 0
|
||
call file_seek
|
||
push ds
|
||
push offset byte_124F2
|
||
push 0C4h ; '<27>'
|
||
call file_read
|
||
call sub_C149
|
||
call sub_C1A1
|
||
mov ax, si
|
||
imul ax, 0C4h
|
||
movzx eax, ax
|
||
push eax
|
||
push 0
|
||
call file_seek
|
||
push ds
|
||
push offset byte_124F2
|
||
push 0C4h ; '<27>'
|
||
call file_write
|
||
inc si
|
||
|
||
loc_C3A5:
|
||
cmp si, 0Ah
|
||
jl short loc_C360
|
||
call file_close
|
||
pop si
|
||
pop bp
|
||
retn
|
||
sub_C316 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C3B2 proc near
|
||
|
||
var_2 = word ptr -2
|
||
|
||
enter 2, 0
|
||
mov [bp+var_2], 9
|
||
jmp short loc_C40E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C3BD:
|
||
mov cx, 7
|
||
jmp short loc_C407
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C3C2:
|
||
les bx, dword_F3CE
|
||
add bx, cx
|
||
mov al, es:[bx+1Dh]
|
||
mov ah, 0
|
||
mov bx, [bp+var_2]
|
||
shl bx, 3
|
||
add bx, cx
|
||
mov dl, [bx+4020h]
|
||
mov dh, 0
|
||
add dx, 0FF60h
|
||
cmp ax, dx
|
||
jg short loc_C40B
|
||
les bx, dword_F3CE
|
||
add bx, cx
|
||
mov al, es:[bx+1Dh]
|
||
mov ah, 0
|
||
mov bx, [bp+var_2]
|
||
shl bx, 3
|
||
add bx, cx
|
||
mov dl, [bx+4020h]
|
||
mov dh, 0
|
||
add dx, 0FF60h
|
||
cmp ax, dx
|
||
jl short loc_C41B
|
||
dec cx
|
||
|
||
loc_C407:
|
||
or cx, cx
|
||
jge short loc_C3C2
|
||
|
||
loc_C40B:
|
||
dec [bp+var_2]
|
||
|
||
loc_C40E:
|
||
cmp [bp+var_2], 0
|
||
jge short loc_C3BD
|
||
mov byte_125B6, 0
|
||
jmp short loc_C430
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C41B:
|
||
cmp [bp+var_2], 9
|
||
jnz short loc_C428
|
||
mov byte_125B6, 0FFh
|
||
leave
|
||
retn
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C428:
|
||
mov al, byte ptr [bp+var_2]
|
||
inc al
|
||
mov byte_125B6, al
|
||
|
||
loc_C430:
|
||
mov [bp+var_2], 8
|
||
jmp short loc_C489
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C437:
|
||
mov cx, 7
|
||
jmp short loc_C455
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C43C:
|
||
mov bx, [bp+var_2]
|
||
imul bx, 9
|
||
add bx, cx
|
||
mov al, [bx+3FC6h]
|
||
mov bx, [bp+var_2]
|
||
imul bx, 9
|
||
add bx, cx
|
||
mov [bx+3FCFh], al
|
||
dec cx
|
||
|
||
loc_C455:
|
||
or cx, cx
|
||
jge short loc_C43C
|
||
mov cx, 7
|
||
jmp short loc_C477
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C45E:
|
||
mov bx, [bp+var_2]
|
||
shl bx, 3
|
||
add bx, cx
|
||
mov al, [bx+4020h]
|
||
mov bx, [bp+var_2]
|
||
shl bx, 3
|
||
add bx, cx
|
||
mov [bx+4028h], al
|
||
dec cx
|
||
|
||
loc_C477:
|
||
or cx, cx
|
||
jge short loc_C45E
|
||
mov bx, [bp+var_2]
|
||
mov al, [bx+4072h]
|
||
mov [bx+4073h], al
|
||
dec [bp+var_2]
|
||
|
||
loc_C489:
|
||
mov al, byte_125B6
|
||
mov ah, 0
|
||
cmp ax, [bp+var_2]
|
||
jle short loc_C437
|
||
mov cx, 7
|
||
jmp short loc_C4AA
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C498:
|
||
mov al, byte_125B6
|
||
mov ah, 0
|
||
imul ax, 9
|
||
add ax, cx
|
||
mov bx, ax
|
||
mov byte ptr [bx+3FC6h], 0C4h ; '<27>'
|
||
dec cx
|
||
|
||
loc_C4AA:
|
||
or cx, cx
|
||
jge short loc_C498
|
||
mov cx, 7
|
||
jmp short loc_C4D1
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C4B3:
|
||
les bx, dword_F3CE
|
||
add bx, cx
|
||
mov al, es:[bx+1Dh]
|
||
add al, 0A0h
|
||
mov dl, byte_125B6
|
||
mov dh, 0
|
||
shl dx, 3
|
||
add dx, cx
|
||
mov bx, dx
|
||
mov [bx+4020h], al
|
||
dec cx
|
||
|
||
loc_C4D1:
|
||
or cx, cx
|
||
jge short loc_C4B3
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+30h], 0FDh
|
||
jb short loc_C4EE
|
||
mov al, byte_125B6
|
||
mov ah, 0
|
||
mov bx, ax
|
||
mov byte ptr [bx+4072h], 0E9h
|
||
leave
|
||
retn
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C4EE:
|
||
les bx, dword_F3CE
|
||
mov al, es:[bx+11h]
|
||
add al, 0A1h ; '<27>'
|
||
mov dl, byte_125B6
|
||
mov dh, 0
|
||
mov bx, dx
|
||
mov [bx+4072h], al
|
||
leave
|
||
retn
|
||
sub_C3B2 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C506 proc near
|
||
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
arg_0 = byte ptr 4
|
||
arg_2 = word ptr 6
|
||
|
||
enter 4, 0
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_2]
|
||
or si, si
|
||
jnz short loc_C518
|
||
mov ax, 60h
|
||
jmp short loc_C520
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C518:
|
||
mov ax, si
|
||
shl ax, 4
|
||
add ax, 70h ; 'p'
|
||
|
||
loc_C520:
|
||
mov [bp+var_4], ax
|
||
cmp [bp+arg_0], 0
|
||
jnz short loc_C52E
|
||
mov ax, 0ACh ; '<27>'
|
||
jmp short loc_C531
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C52E:
|
||
mov ax, 1E0h
|
||
|
||
loc_C531:
|
||
mov di, ax
|
||
mov al, byte_125B6
|
||
mov ah, 0
|
||
cmp ax, si
|
||
jnz short loc_C549
|
||
mov al, [bp+arg_0]
|
||
cmp al, byte ptr word_125B8
|
||
jnz short loc_C549
|
||
mov al, 0Ah
|
||
jmp short loc_C54B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C549:
|
||
mov al, 0
|
||
|
||
loc_C54B:
|
||
mov [bp+arg_0], al
|
||
mov bx, si
|
||
shl bx, 3
|
||
mov al, [bx+4027h]
|
||
mov ah, 0
|
||
add ax, 0FF60h
|
||
cmp ax, 0Ah
|
||
jl short loc_C589
|
||
lea ax, [di-20h]
|
||
push ax
|
||
push [bp+var_4]
|
||
mov bx, si
|
||
shl bx, 3
|
||
mov al, [bx+4027h]
|
||
mov ah, 0
|
||
add ax, 0FF60h
|
||
mov bx, 0Ah
|
||
cwd
|
||
idiv bx
|
||
mov dl, [bp+arg_0]
|
||
mov dh, 0
|
||
add ax, dx
|
||
push ax
|
||
call super_put
|
||
|
||
loc_C589:
|
||
lea ax, [di-10h]
|
||
push ax
|
||
push [bp+var_4]
|
||
mov bx, si
|
||
shl bx, 3
|
||
mov al, [bx+4027h]
|
||
mov ah, 0
|
||
add ax, 0FF60h
|
||
mov bx, 0Ah
|
||
cwd
|
||
idiv bx
|
||
mov al, [bp+arg_0]
|
||
mov ah, 0
|
||
add dx, ax
|
||
push dx
|
||
call super_put
|
||
mov [bp+var_2], 6
|
||
jmp short loc_C5E0
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C5B8:
|
||
push di
|
||
push [bp+var_4]
|
||
mov bx, si
|
||
shl bx, 3
|
||
add bx, [bp+var_2]
|
||
mov al, [bx+4020h]
|
||
mov ah, 0
|
||
mov dl, [bp+arg_0]
|
||
mov dh, 0
|
||
add ax, dx
|
||
add ax, 0FF60h
|
||
push ax
|
||
call super_put
|
||
dec [bp+var_2]
|
||
add di, 10h
|
||
|
||
loc_C5E0:
|
||
cmp [bp+var_2], 0
|
||
jge short loc_C5B8
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 4
|
||
sub_C506 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C5EC proc near
|
||
|
||
var_5 = byte ptr -5
|
||
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
|
||
mov si, [bp+arg_4]
|
||
mov di, [bp+arg_2]
|
||
mov al, byte_125B6
|
||
mov ah, 0
|
||
cmp ax, si
|
||
jnz short loc_C60E
|
||
mov al, byte ptr word_125B8
|
||
mov ah, 0
|
||
cmp ax, di
|
||
jnz short loc_C60E
|
||
mov al, 7
|
||
jmp short loc_C610
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C60E:
|
||
mov al, 0Ch
|
||
|
||
loc_C610:
|
||
mov [bp+var_5], al
|
||
or si, si
|
||
jnz short loc_C61C
|
||
mov ax, 60h
|
||
jmp short loc_C624
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C61C:
|
||
mov ax, si
|
||
shl ax, 4
|
||
add ax, 70h ; 'p'
|
||
|
||
loc_C624:
|
||
mov [bp+var_4], ax
|
||
or di, di
|
||
jnz short loc_C630
|
||
mov ax, 124h
|
||
jmp short loc_C633
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C630:
|
||
mov ax, 258h
|
||
|
||
loc_C633:
|
||
mov [bp+var_2], ax
|
||
add ax, 2
|
||
push ax
|
||
mov ax, [bp+var_4]
|
||
add ax, 2
|
||
push ax
|
||
push [bp+arg_0]
|
||
push 0Eh
|
||
call graph_gaiji_putc
|
||
push [bp+var_2]
|
||
push [bp+var_4]
|
||
push [bp+arg_0]
|
||
mov al, [bp+var_5]
|
||
mov ah, 0
|
||
push ax
|
||
call graph_gaiji_putc
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 6
|
||
sub_C5EC endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C665 proc near
|
||
|
||
var_2 = word ptr -2
|
||
arg_0 = byte ptr 4
|
||
arg_2 = byte ptr 6
|
||
arg_4 = word ptr 8
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_4]
|
||
cmp [bp+arg_2], 0
|
||
jnz short loc_C679
|
||
mov ax, 2
|
||
jmp short loc_C67C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C679:
|
||
mov ax, 28h ; '('
|
||
|
||
loc_C67C:
|
||
mov di, ax
|
||
or si, si
|
||
jnz short loc_C687
|
||
mov ax, 6
|
||
jmp short loc_C68A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C687:
|
||
lea ax, [si+7]
|
||
|
||
loc_C68A:
|
||
mov [bp+var_2], ax
|
||
mov ax, di
|
||
shl ax, 3
|
||
add ax, 2
|
||
push ax
|
||
mov ax, [bp+var_2]
|
||
shl ax, 4
|
||
add ax, 2
|
||
push ax
|
||
push 800010h
|
||
call sub_CBF3
|
||
mov ax, di
|
||
shl ax, 3
|
||
add ax, 2
|
||
push ax
|
||
mov ax, [bp+var_2]
|
||
shl ax, 4
|
||
add ax, 2
|
||
push ax
|
||
push 10h
|
||
mov ax, si
|
||
imul ax, 9
|
||
add ax, 3FC6h
|
||
push ds
|
||
push ax
|
||
push 0Eh
|
||
call graph_gaiji_puts
|
||
push di
|
||
push [bp+var_2]
|
||
mov ax, si
|
||
imul ax, 9
|
||
add ax, 3FC6h
|
||
push ds
|
||
push ax
|
||
push TX_RED
|
||
call gaiji_putsa
|
||
mov al, [bp+arg_0]
|
||
mov ah, 0
|
||
add ax, ax
|
||
add ax, di
|
||
push ax
|
||
push [bp+var_2]
|
||
mov bx, si
|
||
imul bx, 9
|
||
mov al, [bp+arg_0]
|
||
mov ah, 0
|
||
add bx, ax
|
||
mov al, [bx+3FC6h]
|
||
mov ah, 0
|
||
push ax
|
||
push TX_RED + TX_REVERSE
|
||
call gaiji_putca
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 6
|
||
sub_C665 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C711 proc near
|
||
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_2]
|
||
cmp byte ptr [bp+arg_0], 0
|
||
jnz short loc_C725
|
||
mov ax, 10h
|
||
jmp short loc_C728
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C725:
|
||
mov ax, 140h
|
||
|
||
loc_C728:
|
||
mov [bp+var_2], ax
|
||
or si, si
|
||
jnz short loc_C734
|
||
mov ax, 60h
|
||
jmp short loc_C73C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C734:
|
||
mov ax, si
|
||
shl ax, 4
|
||
add ax, 70h ; 'p'
|
||
|
||
loc_C73C:
|
||
mov di, ax
|
||
mov ax, [bp+var_2]
|
||
add ax, 2
|
||
push ax
|
||
lea ax, [di+2]
|
||
push ax
|
||
push 10h
|
||
mov ax, si
|
||
imul ax, 9
|
||
add ax, 3FC6h
|
||
push ds
|
||
push ax
|
||
push 0Eh
|
||
call graph_gaiji_puts
|
||
mov al, byte_125B6
|
||
mov ah, 0
|
||
cmp ax, si
|
||
jnz short loc_C76E
|
||
mov al, byte ptr [bp+arg_0]
|
||
cmp al, byte ptr word_125B8
|
||
jz short loc_C787
|
||
|
||
loc_C76E:
|
||
push [bp+var_2]
|
||
push di
|
||
push 10h
|
||
mov ax, si
|
||
imul ax, 9
|
||
add ax, 3FC6h
|
||
push ds
|
||
push ax
|
||
push 0Ch
|
||
call graph_gaiji_puts
|
||
jmp short loc_C7AB
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C787:
|
||
mov ax, [bp+var_2]
|
||
mov bx, 8
|
||
cwd
|
||
idiv bx
|
||
push ax
|
||
mov ax, di
|
||
mov bx, 10h
|
||
cwd
|
||
idiv bx
|
||
push ax
|
||
mov ax, si
|
||
imul ax, 9
|
||
add ax, 3FC6h
|
||
push ds
|
||
push ax
|
||
push TX_RED
|
||
call gaiji_putsa
|
||
|
||
loc_C7AB:
|
||
push si
|
||
push [bp+arg_0]
|
||
call sub_C506
|
||
push si
|
||
mov al, byte ptr [bp+arg_0]
|
||
mov ah, 0
|
||
push ax
|
||
mov al, [si+4072h]
|
||
mov ah, 0
|
||
push ax
|
||
call sub_C5EC
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 4
|
||
sub_C711 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C7C9 proc near
|
||
|
||
arg_0 = word ptr 4
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
xor si, si
|
||
jmp short loc_C7D9
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C7D1:
|
||
push si
|
||
push [bp+arg_0]
|
||
call sub_C711
|
||
inc si
|
||
|
||
loc_C7D9:
|
||
cmp si, 0Ah
|
||
jl short loc_C7D1
|
||
pop si
|
||
pop bp
|
||
retn 2
|
||
sub_C7C9 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C7E3 proc near
|
||
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
arg_4 = word ptr 8
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_4]
|
||
mov di, [bp+arg_2]
|
||
mov ax, si
|
||
add ax, ax
|
||
add ax, 17h
|
||
push ax
|
||
lea ax, [di+12h]
|
||
push ax
|
||
mov bx, di
|
||
imul bx, 11h
|
||
mov al, [bx+si+82Ch]
|
||
mov ah, 0
|
||
push ax
|
||
push [bp+arg_0]
|
||
call gaiji_putca
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retn 6
|
||
sub_C7E3 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C814 proc near
|
||
|
||
var_A = byte ptr -0Ah
|
||
var_9 = byte ptr -9
|
||
var_8 = word ptr -8
|
||
var_6 = word ptr -6
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
|
||
enter 0Ah, 0
|
||
push si
|
||
push di
|
||
xor si, si
|
||
mov [bp+var_9], 0
|
||
mov PaletteTone, 0
|
||
call far ptr palette_show
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call pi_slot_load pascal, 0, ds, offset aHi01_pi
|
||
call pi_slot_palette_apply pascal, 0
|
||
call pi_slot_put pascal, large 0, 0
|
||
freePISlotLarge 0
|
||
push 0
|
||
call graph_copy_page
|
||
push ds
|
||
push offset aScnum2_bft ; "scnum2.bft"
|
||
call super_entry_bfnt
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+11h], 6
|
||
jnz short loc_C87A
|
||
mov al, 4
|
||
jmp short loc_C882
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C87A:
|
||
les bx, dword_F3CE
|
||
mov al, es:[bx+0Fh]
|
||
|
||
loc_C882:
|
||
mov byte_125B7, al
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+12h], 31h ; '1'
|
||
jnz short loc_C895
|
||
mov ax, 1
|
||
jmp short loc_C897
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C895:
|
||
xor ax, ax
|
||
|
||
loc_C897:
|
||
mov byte ptr word_125B8, al
|
||
mov al, 1
|
||
sub al, byte ptr word_125B8
|
||
push ax
|
||
call sub_C2AD
|
||
mov al, byte ptr word_125B8
|
||
mov ah, 0
|
||
mov dx, 1
|
||
sub dx, ax
|
||
push dx
|
||
call sub_C7C9
|
||
push word_125B8
|
||
call sub_C2AD
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+49h], 0
|
||
jnz short loc_C8CB
|
||
cmp byte_125B7, 4
|
||
jnz short loc_C8D9
|
||
|
||
loc_C8CB:
|
||
call sub_C3B2
|
||
mov al, byte ptr word_125B8
|
||
mov ah, 0
|
||
push ax
|
||
call sub_C7C9
|
||
jmp short loc_C909
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C8D9:
|
||
mov byte_125B6, 0FFh
|
||
mov al, byte ptr word_125B8
|
||
mov ah, 0
|
||
push ax
|
||
call sub_C7C9
|
||
push 7C00C4h
|
||
push 9
|
||
push ds
|
||
push offset aGxgnbGvbGhvVGv ; "<22>X<EFBFBD><58><EFBFBD>[<5B><><EFBFBD>[<5B>h<EFBFBD>ł̃v<CC83><76><EFBFBD>C<EFBFBD>ł́A<CD81>X<EFBFBD>R<EFBFBD>A<EFBFBD>͋L<CD8B>E...
|
||
call far ptr loc_D1FC
|
||
push 7800C0h
|
||
push 2
|
||
push ds
|
||
push offset aGxgnbGvbGhvV_1 ; "<22>X<EFBFBD><58><EFBFBD>[<5B><><EFBFBD>[<5B>h<EFBFBD>ł̃v<CC83><76><EFBFBD>C<EFBFBD>ł́A<CD81>X<EFBFBD>R<EFBFBD>A<EFBFBD>͋L<CD8B>E...
|
||
call far ptr loc_D1FC
|
||
|
||
loc_C909:
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+30h], 0FFh
|
||
jz short loc_C922
|
||
cmp byte ptr es:[bx+30h], 0FDh
|
||
jz short loc_C922
|
||
cmp byte_125B7, 0
|
||
jnz short loc_C95E
|
||
|
||
loc_C922:
|
||
mov al, byte_125A0
|
||
mov [bp+var_A], al
|
||
cmp [bp+var_A], 4
|
||
jb short loc_C944
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+19h], 0
|
||
jnz short loc_C93D
|
||
mov al, 1
|
||
jmp short loc_C93F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C93D:
|
||
mov al, 2
|
||
|
||
loc_C93F:
|
||
mov [bp+var_A], al
|
||
jmp short loc_C958
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C944:
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+19h], 0
|
||
jnz short loc_C953
|
||
mov al, 1
|
||
jmp short loc_C955
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C953:
|
||
mov al, 2
|
||
|
||
loc_C955:
|
||
or [bp+var_A], al
|
||
|
||
loc_C958:
|
||
mov al, [bp+var_A]
|
||
mov byte_125A0, al
|
||
|
||
loc_C95E:
|
||
kajacall KAJA_SONG_STOP
|
||
call snd_load pascal, ds, offset aName, SND_LOAD_SONG
|
||
kajacall KAJA_SONG_PLAY
|
||
push 2
|
||
call palette_black_in
|
||
cmp byte_125B6, 0FFh
|
||
jz loc_CB7F
|
||
mov [bp+var_6], 0
|
||
jmp short loc_C9CB
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C990:
|
||
mov [bp+var_8], 0
|
||
jmp short loc_C9C2
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C997:
|
||
mov ax, [bp+var_8]
|
||
add ax, ax
|
||
add ax, 23
|
||
push ax
|
||
mov ax, [bp+var_6]
|
||
add ax, 18
|
||
push ax
|
||
mov bx, [bp+var_6]
|
||
imul bx, 11h
|
||
add bx, [bp+var_8]
|
||
mov al, [bx+82Ch]
|
||
mov ah, 0
|
||
push ax
|
||
push TX_WHITE
|
||
call gaiji_putca
|
||
inc [bp+var_8]
|
||
|
||
loc_C9C2:
|
||
cmp [bp+var_8], 11h
|
||
jl short loc_C997
|
||
inc [bp+var_6]
|
||
|
||
loc_C9CB:
|
||
cmp [bp+var_6], 3
|
||
jl short loc_C990
|
||
push (23 shl 16) + 18
|
||
mov al, gALPHABET
|
||
mov ah, 0
|
||
push ax
|
||
push TX_GREEN + TX_REVERSE
|
||
call gaiji_putca
|
||
xor di, di
|
||
mov [bp+var_2], 0
|
||
call far ptr _input_reset_sense
|
||
mov [bp+var_4], 1
|
||
|
||
loc_C9F6:
|
||
call _input_sense
|
||
cmp [bp+var_4], 0
|
||
jnz loc_CB3B
|
||
test _input.lo, low INPUT_MOVEMENT
|
||
jz short loc_CA6A
|
||
push di
|
||
push [bp+var_2]
|
||
push TX_WHITE
|
||
call sub_C7E3
|
||
test _input.lo, low INPUT_UP
|
||
jz short loc_CA1E
|
||
dec [bp+var_2]
|
||
|
||
loc_CA1E:
|
||
test _input.lo, low INPUT_DOWN
|
||
jz short loc_CA28
|
||
inc [bp+var_2]
|
||
|
||
loc_CA28:
|
||
test _input.lo, low INPUT_LEFT
|
||
jz short loc_CA30
|
||
dec di
|
||
|
||
loc_CA30:
|
||
test _input.lo, low INPUT_RIGHT
|
||
jz short loc_CA38
|
||
inc di
|
||
|
||
loc_CA38:
|
||
cmp [bp+var_2], 0
|
||
jge short loc_CA45
|
||
mov [bp+var_2], 2
|
||
jmp short loc_CA50
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CA45:
|
||
cmp [bp+var_2], 2
|
||
jle short loc_CA50
|
||
mov [bp+var_2], 0
|
||
|
||
loc_CA50:
|
||
or di, di
|
||
jge short loc_CA59
|
||
mov di, 10h
|
||
jmp short loc_CA60
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CA59:
|
||
cmp di, 10h
|
||
jle short loc_CA60
|
||
xor di, di
|
||
|
||
loc_CA60:
|
||
push di
|
||
push [bp+var_2]
|
||
push TX_GREEN + TX_REVERSE
|
||
call sub_C7E3
|
||
|
||
loc_CA6A:
|
||
test _input.lo, low INPUT_SHOT
|
||
jnz short loc_CA7A
|
||
test _input.hi, high INPUT_OK
|
||
jz loc_CB03
|
||
|
||
loc_CA7A:
|
||
mov bx, [bp+var_2]
|
||
imul bx, 11h
|
||
mov al, [bx+di+82Ch]
|
||
mov [bp+var_A], al
|
||
mov ah, 0
|
||
sub ax, 0CDh ; '<27>'
|
||
mov bx, ax
|
||
cmp bx, 8
|
||
ja short loc_CABD
|
||
add bx, bx
|
||
jmp cs:off_CB9E[bx]
|
||
|
||
loc_CA9A:
|
||
mov [bp+var_A], 2
|
||
jmp short loc_CABD
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CAA0:
|
||
mov al, byte_125B6
|
||
mov ah, 0
|
||
imul ax, 9
|
||
mov bx, ax
|
||
mov byte ptr [bx+si+3FC6h], 2
|
||
or si, si
|
||
jle short loc_CAF5
|
||
dec si
|
||
jmp short loc_CAF5
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CAB6:
|
||
cmp si, 7
|
||
jge short loc_CAF5
|
||
jmp short loc_CAF4
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CABD:
|
||
mov al, byte_125B6
|
||
mov ah, 0
|
||
imul ax, 9
|
||
mov dl, [bp+var_A]
|
||
mov bx, ax
|
||
mov [bx+si+3FC6h], dl
|
||
cmp si, 7
|
||
jnz short loc_CAEF
|
||
push di
|
||
push [bp+var_2]
|
||
push TX_WHITE
|
||
call sub_C7E3
|
||
mov di, 10h
|
||
mov [bp+var_2], 2
|
||
push di
|
||
push [bp+var_2]
|
||
push TX_GREEN + TX_REVERSE
|
||
call sub_C7E3
|
||
|
||
loc_CAEF:
|
||
cmp si, 7
|
||
jge short loc_CAF5
|
||
|
||
loc_CAF4:
|
||
inc si
|
||
|
||
loc_CAF5:
|
||
mov al, byte_125B6
|
||
mov ah, 0
|
||
push ax
|
||
push word_125B8
|
||
push si
|
||
call sub_C665
|
||
|
||
loc_CB03:
|
||
test _input.lo, low INPUT_BOMB
|
||
jz short loc_CB2C
|
||
mov al, byte_125B6
|
||
mov ah, 0
|
||
imul ax, 9
|
||
mov bx, ax
|
||
mov byte ptr [bx+si+3FC6h], 2
|
||
or si, si
|
||
jle short loc_CB1E
|
||
dec si
|
||
|
||
loc_CB1E:
|
||
mov al, byte_125B6
|
||
mov ah, 0
|
||
push ax
|
||
push word_125B8
|
||
push si
|
||
call sub_C665
|
||
|
||
loc_CB2C:
|
||
test _input.hi, high INPUT_CANCEL
|
||
jnz short loc_CB7A
|
||
mov ax, _input
|
||
mov [bp+var_4], ax
|
||
jmp short loc_CB6B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CB3B:
|
||
mov ax, _input
|
||
cmp ax, [bp+var_4]
|
||
jnz short loc_CB59
|
||
inc [bp+var_9]
|
||
cmp [bp+var_9], 1Eh
|
||
jbe short loc_CB6B
|
||
test [bp+var_9], 1
|
||
jnz short loc_CB6B
|
||
mov [bp+var_4], 0
|
||
jmp short loc_CB6B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CB59:
|
||
cmp _input, INPUT_NONE
|
||
jz short loc_CB62
|
||
jmp short loc_CB67
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CB62:
|
||
mov [bp+var_4], 0
|
||
|
||
loc_CB67:
|
||
mov [bp+var_9], 0
|
||
|
||
loc_CB6B:
|
||
call far ptr _input_reset_sense
|
||
push 1
|
||
call frame_delay
|
||
jmp loc_C9F6
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CB7A:
|
||
call sub_C316
|
||
jmp short loc_CB89
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CB7F:
|
||
call sub_C316
|
||
push 0
|
||
call _input_wait_for_change
|
||
|
||
loc_CB89:
|
||
call super_free
|
||
call text_clear
|
||
push 1
|
||
call palette_black_out
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn
|
||
sub_C814 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
off_CB9E dw offset loc_CA9A
|
||
dw offset loc_CAA0
|
||
dw offset loc_CAB6
|
||
dw offset loc_CABD
|
||
dw offset loc_CABD
|
||
dw offset loc_CABD
|
||
dw offset loc_CABD
|
||
dw offset loc_CABD
|
||
dw offset loc_CB7A
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_CBB0 proc near
|
||
push bp
|
||
mov bp, sp
|
||
GRCG_OFF_VIA_MOV al
|
||
mov al, 7
|
||
out 6Ah, al ; PC-98 GDC (6a):
|
||
;
|
||
mov al, 5
|
||
out 6Ah, al ; PC-98 GDC (6a):
|
||
;
|
||
GRCG_SETMODE_VIA_MOV al, GC_TDW
|
||
mov al, 6
|
||
out 6Ah, al ; PC-98 GDC (6a):
|
||
;
|
||
EGC_SETUP_COPY
|
||
pop bp
|
||
retn
|
||
sub_CBB0 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_CBF3 proc near
|
||
|
||
var_8 = word ptr -8
|
||
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
|
||
arg_6 = word ptr 0Ah
|
||
|
||
enter 8, 0
|
||
push si
|
||
push di
|
||
mov di, [bp+arg_2]
|
||
call sub_CBB0
|
||
mov ax, [bp+arg_6]
|
||
sar ax, 3
|
||
mov dx, [bp+arg_4]
|
||
shl dx, 6
|
||
add ax, dx
|
||
mov dx, [bp+arg_4]
|
||
shl dx, 4
|
||
add ax, dx
|
||
mov [bp+var_6], ax
|
||
mov bx, 10h
|
||
mov ax, di
|
||
cwd
|
||
idiv bx
|
||
mov di, ax
|
||
mov [bp+var_4], 0
|
||
jmp short loc_CC66
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CC29:
|
||
mov [bp+var_2], 0
|
||
mov si, [bp+var_6]
|
||
jmp short loc_CC5A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CC33:
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
les bx, _VRAM_PLANE_B
|
||
add bx, si
|
||
mov ax, es:[bx]
|
||
mov [bp+var_8], ax
|
||
mov al, 0
|
||
out dx, al
|
||
mov bx, word ptr _VRAM_PLANE_B
|
||
add bx, si
|
||
mov ax, [bp+var_8]
|
||
mov es:[bx], ax
|
||
inc [bp+var_2]
|
||
add si, 2
|
||
|
||
loc_CC5A:
|
||
cmp [bp+var_2], di
|
||
jl short loc_CC33
|
||
inc [bp+var_4]
|
||
add [bp+var_6], 50h ; 'P'
|
||
|
||
loc_CC66:
|
||
mov ax, [bp+var_4]
|
||
cmp ax, [bp+arg_0]
|
||
jl short loc_CC29
|
||
call egc_off
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 8
|
||
sub_CBF3 endp
|
||
db 0
|
||
|
||
maine_01_TEXT ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
maine_02_TEXT segment word public 'CODE' use16
|
||
assume cs:maine_02_TEXT
|
||
;org 0Ah
|
||
assume es:nothing, ss:nothing, ds:_DATA, fs:nothing, gs:nothing
|
||
|
||
include th01/hardware/vram_planes_set.asm
|
||
include th02/hardware/frame_delay.asm
|
||
include th02/formats/pi_slot_palette_apply.asm
|
||
include th02/formats/pi_slot_put.asm
|
||
include th02/formats/pi_slot_load.asm
|
||
include th03/formats/pi_slot_put_quarter.asm
|
||
include th03/formats/hfliplut.asm
|
||
include th04/hardware/input_wait.asm
|
||
include th04/math/vector1_at.asm
|
||
include th04/math/vector2_at.asm
|
||
include th04/snd/pmd_res.asm
|
||
include th02/snd/mmd_res.asm
|
||
include th04/snd/kajaint.asm
|
||
include th04/snd/detmodes.asm
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_D046 proc far
|
||
|
||
arg_0 = word ptr 6
|
||
arg_2 = word ptr 8
|
||
|
||
push bp
|
||
mov bp, sp
|
||
cmp _snd_bgm_mode, SND_BGM_OFF
|
||
jnz short loc_D05C
|
||
push [bp+arg_0]
|
||
nopcall frame_delay
|
||
pop bp
|
||
retf 4
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D05C:
|
||
mov ah, KAJA_GET_SONG_MEASURE
|
||
cmp _snd_bgm_mode, SND_BGM_MIDI
|
||
jz short loc_D069
|
||
int 60h ; - FTP Packet Driver - BASIC FUNC - TERMINATE DRIVER FOR HANDLE
|
||
; BX = handle
|
||
; Return: CF set on error, DH = error code
|
||
; CF clear if successful
|
||
jmp short loc_D06E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D069:
|
||
mov dx, 0C0h
|
||
int 61h ; reserved for user interrupt
|
||
|
||
loc_D06E:
|
||
cmp ax, [bp+arg_2]
|
||
jb short loc_D05C
|
||
pop bp
|
||
retf 4
|
||
sub_D046 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
db 0
|
||
include th04/formats/cdg_put_plane.asm
|
||
include th04/snd/load.asm
|
||
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D1FC:
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
push ds
|
||
mov dx, [bp+0Ah]
|
||
GRCG_NOINT_SETMODE_VIA_MOV al, GC_RMW
|
||
GRCG_SETCOLOR_DIRECT dx
|
||
mov ax, GRAM_400
|
||
mov es, ax
|
||
assume es:nothing
|
||
mov dx, [bp+0Ch]
|
||
shl dx, 6
|
||
mov di, dx
|
||
shr dx, 2
|
||
add di, dx
|
||
mov cx, [bp+0Eh]
|
||
mov al, 0Bh
|
||
out 68h, al
|
||
mov bx, word_EB2C
|
||
add bx, bx
|
||
cmp bx, 8
|
||
jb short loc_D258
|
||
cmp bx, 10h
|
||
jnb short loc_D258
|
||
mov ax, [bx+5CCh]
|
||
mov word ptr cs:loc_D350+3, ax
|
||
mov bx, 8
|
||
|
||
loc_D258:
|
||
mov ax, [bx+5C0h]
|
||
mov word ptr cs:loc_D2BA+1, ax
|
||
mov ax, [bx+5CAh]
|
||
mov word ptr cs:loc_D30C+1, ax
|
||
mov ax, word_EB2E
|
||
mov word ptr cs:loc_D2D9+1, ax
|
||
mov word ptr cs:loc_D320+1, ax
|
||
push ds
|
||
pop fs
|
||
assume fs:_DATA
|
||
lds si, [bp+6]
|
||
lodsb
|
||
or al, al
|
||
jz short loc_D2E5
|
||
|
||
loc_D27E:
|
||
mov dx, cx
|
||
shr dx, 3
|
||
add di, dx
|
||
and cx, 7
|
||
mov ah, 9
|
||
test al, 0E0h
|
||
jns short loc_D2F7
|
||
jp short loc_D2F4
|
||
mov ah, al
|
||
lodsb
|
||
shl ah, 1
|
||
cmp al, 9Fh
|
||
jnb short loc_D29E
|
||
cmp al, 80h
|
||
adc ax, 0FEDFh
|
||
|
||
loc_D29E:
|
||
sbb al, 0FEh
|
||
and ax, 7F7Fh
|
||
out 0A1h, al
|
||
mov al, ah
|
||
out 0A3h, al
|
||
nop
|
||
|
||
loc_D2AA:
|
||
mov al, ch
|
||
or al, 20h
|
||
out 0A5h, al
|
||
in al, 0A9h
|
||
mov ah, al
|
||
mov al, ch
|
||
out 0A5h, al
|
||
in al, 0A9h
|
||
|
||
loc_D2BA:
|
||
call sub_D335
|
||
mov bh, al
|
||
mov bl, 0
|
||
shr ax, cl
|
||
shr bx, cl
|
||
xchg ah, al
|
||
stosw
|
||
mov es:[di], bl
|
||
add di, ROW_SIZE - 2
|
||
inc ch
|
||
cmp ch, 10h
|
||
jb short loc_D2AA
|
||
sub di, 500h
|
||
|
||
loc_D2D9:
|
||
mov dx, 1234h
|
||
|
||
loc_D2DC:
|
||
xor ch, ch
|
||
add cx, dx
|
||
lodsb
|
||
or al, al
|
||
jnz short loc_D27E
|
||
|
||
loc_D2E5:
|
||
mov al, 0Ah
|
||
out 68h, al
|
||
GRCG_OFF_VIA_XOR al
|
||
pop ds
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retf 0Ah
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D2F4:
|
||
add ax, 80h
|
||
|
||
loc_D2F7:
|
||
cmp al, 20h ; ' '
|
||
jz short loc_D320
|
||
out 0A1h, al
|
||
mov al, ah
|
||
out 0A3h, al
|
||
nop
|
||
|
||
loc_D302:
|
||
mov al, ch
|
||
or al, 20h
|
||
out 0A5h, al
|
||
in al, 0A9h
|
||
xor ah, ah
|
||
|
||
loc_D30C:
|
||
call sub_D335
|
||
ror ax, cl
|
||
stosw
|
||
add di, 4Eh ; 'N'
|
||
inc ch
|
||
cmp ch, 10h
|
||
jb short loc_D302
|
||
sub di, 500h
|
||
|
||
loc_D320:
|
||
mov dx, 1234h
|
||
shr dx, 1
|
||
jmp short loc_D2DC
|
||
; ---------------------------------------------------------------------------
|
||
nop
|
||
mov dx, ax
|
||
add dx, dx
|
||
or ax, dx
|
||
retn
|
||
; ---------------------------------------------------------------------------
|
||
mov dx, ax
|
||
shl dx, 1
|
||
or ax, dx
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_D335 proc near
|
||
mov dx, ax
|
||
mov bp, ax
|
||
add bp, bp
|
||
or ax, bp
|
||
xor dx, ax
|
||
add dx, dx
|
||
not dx
|
||
and ax, dx
|
||
retn
|
||
sub_D335 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
call sub_D335
|
||
mov bl, ch
|
||
and bx, 3
|
||
add bx, bx
|
||
|
||
loc_D350:
|
||
and ax, fs:[bx+1234h]
|
||
retn
|
||
|
||
include th04/formats/cdg_put.asm
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_D3F4 proc far
|
||
push bp
|
||
mov bp, sp
|
||
call pfend
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call graph_clear
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
call graph_clear
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
mov dx, 0A4h
|
||
out dx, al
|
||
call mem_unassign
|
||
call vsync_end
|
||
call text_clear
|
||
call js_end
|
||
call egc_start
|
||
call bgm_finish
|
||
pop bp
|
||
retf
|
||
sub_D3F4 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_D43C proc far
|
||
|
||
arg_0 = dword ptr 6
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push word_10070
|
||
call mem_assign_dos
|
||
or ax, ax
|
||
jz short loc_D453
|
||
mov ax, 1
|
||
pop bp
|
||
retf 4
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D453:
|
||
mov bbufsiz, 1000h
|
||
nopcall vram_planes_set
|
||
call vsync_start
|
||
call egc_start
|
||
call graph_400line
|
||
call js_start
|
||
pushd [bp+arg_0]
|
||
call pfstart
|
||
push 800h
|
||
call bgm_init
|
||
xor ax, ax
|
||
pop bp
|
||
retf 4
|
||
sub_D43C endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
db 0
|
||
include th04/hardware/input_sense.asm
|
||
include th04/snd/se.asm
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_D626 proc far
|
||
push si
|
||
push di
|
||
cmp word_EB32, 0
|
||
jnz short loc_D65B
|
||
push 7D00h
|
||
call hmem_allocbyte
|
||
mov word_EB32, ax
|
||
push 7D00h
|
||
call hmem_allocbyte
|
||
mov word_EB34, ax
|
||
push 7D00h
|
||
call hmem_allocbyte
|
||
mov word_EB36, ax
|
||
push 7D00h
|
||
call hmem_allocbyte
|
||
mov word_EB38, ax
|
||
|
||
loc_D65B:
|
||
mov dl, 4
|
||
push ds
|
||
push 0E000h
|
||
push word_EB38
|
||
push 0B800h
|
||
push word_EB36
|
||
push 0B000h
|
||
push word_EB34
|
||
push 0A800h
|
||
push word_EB32
|
||
|
||
loc_D67A:
|
||
pop es
|
||
assume es:nothing
|
||
pop ds
|
||
xor si, si
|
||
xor di, di
|
||
mov cx, (ROW_SIZE * RES_Y) / 4
|
||
rep movsd
|
||
dec dl
|
||
jnz short loc_D67A
|
||
pop ds
|
||
pop di
|
||
pop si
|
||
retf
|
||
sub_D626 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
push si
|
||
push di
|
||
mov dl, 4
|
||
push ds
|
||
push 0E000h
|
||
push word_EB38
|
||
push 0B800h
|
||
push word_EB36
|
||
push 0B000h
|
||
push word_EB34
|
||
push 0A800h
|
||
push word_EB32
|
||
|
||
loc_D6AF:
|
||
pop ds
|
||
pop es
|
||
xor si, si
|
||
xor di, di
|
||
mov cx, (ROW_SIZE * RES_Y) / 4
|
||
rep movsd
|
||
dec dl
|
||
jnz short loc_D6AF
|
||
pop ds
|
||
pop di
|
||
pop si
|
||
retf
|
||
; ---------------------------------------------------------------------------
|
||
nop
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_D6C4 proc far
|
||
cmp word_EB32, 0
|
||
jz short locret_D6F5
|
||
push word_EB32
|
||
call hmem_free
|
||
push word_EB34
|
||
call hmem_free
|
||
push word_EB36
|
||
call hmem_free
|
||
push word_EB38
|
||
call hmem_free
|
||
mov word_EB32, 0
|
||
|
||
locret_D6F5:
|
||
retf
|
||
sub_D6C4 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_D6F6 proc far
|
||
|
||
arg_0 = word ptr 6
|
||
arg_2 = word ptr 8
|
||
arg_4 = word ptr 0Ah
|
||
arg_6 = word ptr 0Ch
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push di
|
||
push si
|
||
push ds
|
||
cld
|
||
mov ax, [bp+arg_6]
|
||
mov dx, [bp+arg_4]
|
||
mov bx, ax
|
||
sar bx, 4
|
||
shl bx, 1
|
||
shl dx, 6
|
||
add bx, dx
|
||
shr dx, 2
|
||
add bx, dx
|
||
mov word ptr cs:loc_D75B+1, bx
|
||
and ax, 0Fh
|
||
mov cx, ax
|
||
add ax, [bp+arg_2]
|
||
shr ax, 4
|
||
or cx, cx
|
||
jz short loc_D729
|
||
inc ax
|
||
|
||
loc_D729:
|
||
mov word ptr cs:loc_D760+1, ax
|
||
jmp short $+2
|
||
mov cx, 28h ; '('
|
||
sub cx, ax
|
||
shl cx, 1
|
||
mov ax, [bp+arg_0]
|
||
mov bp, cx
|
||
push 0E000h
|
||
push word_EB38
|
||
push 0B800h
|
||
push word_EB36
|
||
push 0B000h
|
||
push word_EB34
|
||
push 0A800h
|
||
push word_EB32
|
||
mov dl, 4
|
||
|
||
loc_D759:
|
||
mov bx, ax
|
||
|
||
loc_D75B:
|
||
mov di, 1234h
|
||
pop ds
|
||
pop es
|
||
|
||
loc_D760:
|
||
mov cx, 1234h
|
||
mov si, di
|
||
rep movsw
|
||
add di, bp
|
||
dec bx
|
||
jns short loc_D760
|
||
dec dl
|
||
jnz short loc_D759
|
||
pop ds
|
||
pop si
|
||
pop di
|
||
pop bp
|
||
retf 8
|
||
sub_D6F6 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
nop
|
||
include th04/formats/cdg_load.asm
|
||
maine_02_TEXT ends
|
||
|
||
.data
|
||
|
||
off_E5C0 dd a_ed000_txt
|
||
; "_ED000.TXT"
|
||
aMiko_cfg db 'MIKO.CFG',0
|
||
a_ed000_txt db '_ED000.TXT',0
|
||
aCong00_pi db 'CONG00.pi',0
|
||
aMSzlEd_dat db '<27><><EFBFBD>z<EFBFBD><7A>ed.dat',0
|
||
aGameft_bft db 'GAMEFT.bft',0
|
||
; char arg0[]
|
||
arg0 db 'op',0
|
||
db 0
|
||
include libs/master.lib/atrtcmod[data].asm
|
||
include libs/master.lib/bfnt_id[data].asm
|
||
include libs/master.lib/clip[data].asm
|
||
include libs/master.lib/fil[data].asm
|
||
include libs/master.lib/dos_ropen[data].asm
|
||
include libs/master.lib/get_machine_98[data].asm
|
||
include libs/master.lib/get_machine_at[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/js[data].asm
|
||
include libs/master.lib/machine[data].asm
|
||
include libs/master.lib/pal[data].asm
|
||
include libs/master.lib/pf[data].asm
|
||
include libs/master.lib/rand[data].asm
|
||
include libs/master.lib/sin8[data].asm
|
||
include libs/master.lib/tx[data].asm
|
||
include libs/master.lib/vs[data].asm
|
||
include libs/master.lib/wordmask[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
|
||
include th02/formats/pfopen[data].asm
|
||
include libs/master.lib/bgm_timerhook[data].asm
|
||
include libs/master.lib/bgm[data].asm
|
||
include th04/snd/se_priority[data].asm
|
||
include th04/formats/cdg_put_plane[data].asm
|
||
include th04/snd/snd[data].asm
|
||
db 0
|
||
include th04/snd/load[data].asm
|
||
db 71h ; q
|
||
db 0
|
||
db 6Bh ; k
|
||
db 0
|
||
db 78h ; x
|
||
db 0
|
||
db 72h ; r
|
||
db 0
|
||
db 89h
|
||
db 0
|
||
db 1Fh
|
||
db 0
|
||
db 19h
|
||
db 0
|
||
db 26h ; &
|
||
db 0
|
||
db 20h
|
||
db 0
|
||
db 37h ; 7
|
||
db 0
|
||
db 0DCh
|
||
db 5
|
||
db 0E4h ; <20>E
|
||
db 5
|
||
db 0ECh
|
||
db 5
|
||
db 0F4h
|
||
db 5
|
||
db 88h
|
||
db 88h
|
||
db 0
|
||
db 0
|
||
db 22h ; "
|
||
db 22h ; "
|
||
db 0
|
||
db 0
|
||
db 88h
|
||
db 88h
|
||
db 44h ; D
|
||
db 44h ; D
|
||
db 22h ; "
|
||
db 22h ; "
|
||
db 11h
|
||
db 11h
|
||
db 0AAh ; <20>
|
||
db 0AAh ; <20>
|
||
db 44h ; D
|
||
db 44h ; D
|
||
db 0AAh ; <20>
|
||
db 0AAh ; <20>
|
||
db 11h
|
||
db 11h
|
||
db 0AAh ; <20>
|
||
db 0AAh ; <20>
|
||
db 55h ; U
|
||
db 55h ; U
|
||
db 0AAh ; <20>
|
||
db 0AAh ; <20>
|
||
db 55h ; U
|
||
db 55h ; U
|
||
word_EB2C dw 2
|
||
word_EB2E dw 10h
|
||
include th03/snd/se_state[data].asm
|
||
word_EB32 dw 0
|
||
word_EB34 dw 0
|
||
word_EB36 dw 0
|
||
word_EB38 dw 0
|
||
include th03/formats/cdg[data].asm
|
||
db 0
|
||
db 0
|
||
db 11h
|
||
db 11h
|
||
db 0
|
||
db 0
|
||
db 44h ; D
|
||
db 44h ; D
|
||
db 88h
|
||
db 88h
|
||
db 11h
|
||
db 11h
|
||
db 22h ; "
|
||
db 22h ; "
|
||
db 44h ; D
|
||
db 44h ; D
|
||
db 0AAh ; <20>
|
||
db 0AAh ; <20>
|
||
db 55h ; U
|
||
db 55h ; U
|
||
db 0AAh ; <20>
|
||
db 0AAh ; <20>
|
||
db 55h ; U
|
||
db 55h ; U
|
||
db 0EEh
|
||
db 0EEh
|
||
db 77h ; w
|
||
db 77h ; w
|
||
db 0BBh ; <20>
|
||
db 0BBh ; <20>
|
||
db 0DDh
|
||
db 0DDh
|
||
db 88h
|
||
db 88h
|
||
db 0
|
||
db 0
|
||
db 22h ; "
|
||
db 22h ; "
|
||
db 0
|
||
db 0
|
||
db 88h
|
||
db 88h
|
||
db 44h ; D
|
||
db 44h ; D
|
||
db 22h ; "
|
||
db 22h ; "
|
||
db 11h
|
||
db 11h
|
||
db 0AAh ; <20>
|
||
db 0AAh ; <20>
|
||
db 44h ; D
|
||
db 44h ; D
|
||
db 0AAh ; <20>
|
||
db 0AAh ; <20>
|
||
db 11h
|
||
db 11h
|
||
db 0AAh ; <20>
|
||
db 0AAh ; <20>
|
||
db 44h ; D
|
||
db 44h ; D
|
||
db 0AAh ; <20>
|
||
db 0AAh ; <20>
|
||
db 55h ; U
|
||
db 55h ; U
|
||
db 0FFh
|
||
db 0FFh
|
||
db 0FFh
|
||
db 0FFh
|
||
db 0FFh
|
||
db 0FFh
|
||
db 0FFh
|
||
db 0FFh
|
||
db 20h
|
||
db 20h
|
||
db 0
|
||
db 0
|
||
aSff1_pi db 'sff1.pi',0
|
||
aStaff db 'staff',0
|
||
aSff1_cdg db 'sff1.cdg',0
|
||
aSff1b_cdg db 'sff1b.cdg',0
|
||
aSff2_cdg db 'sff2.cdg',0
|
||
aSff2b_cdg db 'sff2b.cdg',0
|
||
aSff3_cdg db 'sff3.cdg',0
|
||
aSff3b_cdg db 'sff3b.cdg',0
|
||
aSff2_pi db 'sff2.pi',0
|
||
aSff4_cdg db 'sff4.cdg',0
|
||
aSff4b_cdg db 'sff4b.cdg',0
|
||
aSff5_cdg db 'sff5.cdg',0
|
||
aSff5b_cdg db 'sff5b.cdg',0
|
||
aSff8_cdg db 'sff8.cdg',0
|
||
aSff8b_cdg db 'sff8b.cdg',0
|
||
aSff9_cdg db 'sff9.cdg',0
|
||
aSff9b_cdg db 'sff9b.cdg',0
|
||
aSff6_cdg db 'sff6.cdg',0
|
||
aSff6b_cdg db 'sff6b.cdg',0
|
||
aSff7_cdg db 'sff7.cdg',0
|
||
aSff7b_cdg db 'sff7b.cdg',0
|
||
db 0
|
||
byte_EC4A db 0
|
||
include th04/strings/verdict[data].asm
|
||
byte_EC73 db 0
|
||
aU_ db '<27>_',0
|
||
aBd db '<27>D',0
|
||
aBu db '<27><>',0
|
||
aBd_0 db '<27>D',0
|
||
aBu_0 db '<27><>',0
|
||
aB@b@b@b@b@b@b@ db '<27>@<40>@<40>@<40>@<40>@<40>@<40>@ <20>r<EFBFBD>O<EFBFBD><4F><EFBFBD><EFBFBD>',0
|
||
aUqiUx db '<27><><EFBFBD>Փx',0
|
||
aNPiuU_ db '<27>ŏI<C58F><49><EFBFBD>_',0
|
||
aGGxi db '<27>~<7E>X<EFBFBD><58><EFBFBD><EFBFBD>',0
|
||
aGGaogcpi db '<27>{<7B><><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD><EFBFBD>',0
|
||
aGqbGatbrmcj db '<27>Q<EFBFBD>[<5B><><EFBFBD>B<EFBFBD><42><EFBFBD><EFBFBD>',0
|
||
aIlcSObcj db '<27><><EFBFBD><EFBFBD><EFBFBD>ގ<EFBFBD><DE8E><EFBFBD>',0
|
||
aGagcgegai db '<27>A<EFBFBD>C<EFBFBD>e<EFBFBD><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
|
||
aUU_gagcgeganNv db '<27><><EFBFBD>_<EFBFBD>A<EFBFBD>C<EFBFBD>e<EFBFBD><65><EFBFBD>ō<EFBFBD><C58D>_<EFBFBD><5F>',0
|
||
aLcnzvv db '<27>C<EFBFBD><43><EFBFBD><EFBFBD>',0
|
||
aPicacovCj db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
|
||
aVavVVSrso db '<27><><EFBFBD>Ȃ<EFBFBD><C882>̘r<CC98>O',0
|
||
aTimes db '<27><>',0
|
||
aTimes_0 db '<27><>',0
|
||
aPoint db '<27>_',0
|
||
a_ude_txt db '_ude.txt',0
|
||
aBhbhbhbhbhbhu_ db '<27>H<EFBFBD>H<EFBFBD>H<EFBFBD>H<EFBFBD>H<EFBFBD>H<EFBFBD>_',0
|
||
aPicacovVVcvsfT db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɂ<EFBFBD><C982>锻<EFBFBD><E994BB><EFBFBD>s<EFBFBD><73>',0
|
||
aUde_pi db 'ude.pi',0
|
||
db 0
|
||
gALPHABET db 0AAh, 0ABh, 0ACh, 0ADh, 0AEh, 0AFh, 0B0h, 0B1h, 0B2h
|
||
db 0B3h, 0B4h, 0B5h, 0B6h, 0B7h, 0B8h, 0B9h, 0BAh, 0BBh
|
||
db 0BCh, 0BDh, 0BEh, 0BFh, 0C0h, 0C1h, 0C2h, 0C3h, 0C4h
|
||
db 0C5h, 3, 6, 7, 8, 0Ch, 0Fh, 0A0h, 0A1h, 0A2h, 0A3h
|
||
db 0A4h, 0A5h, 0A6h, 0A7h, 0A8h, 0A9h, 0E6h, 0E7h, 0E8h
|
||
db 0CEh, 0CFh, 0CDh, 0D5h
|
||
aGensou_scr db 'GENSOU.SCR',0
|
||
aGensou_scr_0 db 'GENSOU.SCR',0
|
||
aGensou_scr_1 db 'GENSOU.SCR',0
|
||
aGensou_scr_2 db 'GENSOU.SCR',0
|
||
aHi01_pi db 'hi01.pi',0
|
||
aScnum2_bft db 'scnum2.bft',0
|
||
aGxgnbGvbGhvVGv db '<27>X<EFBFBD><58><EFBFBD>[<5B><><EFBFBD>[<5B>h<EFBFBD>ł̃v<CC83><76><EFBFBD>C<EFBFBD>ł́A<CD81>X<EFBFBD>R<EFBFBD>A<EFBFBD>͋L<CD8B>^<5E><><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82><EFBFBD>',0
|
||
aGxgnbGvbGhvV_1 db '<27>X<EFBFBD><58><EFBFBD>[<5B><><EFBFBD>[<5B>h<EFBFBD>ł̃v<CC83><76><EFBFBD>C<EFBFBD>ł́A<CD81>X<EFBFBD>R<EFBFBD>A<EFBFBD>͋L<CD8B>^<5E><><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82><EFBFBD>',0
|
||
aName db 'name',0
|
||
db 0
|
||
|
||
.data?
|
||
|
||
; TODO: Missing clip[bss].asm (16 bytes) somewhere in there...
|
||
dword_F3CE dd ?
|
||
dd ?
|
||
dd ?
|
||
dd ?
|
||
dd ?
|
||
include libs/master.lib/fil[bss].asm
|
||
include libs/master.lib/js[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 libs/master.lib/pfint21[bss].asm
|
||
include th02/formats/pi_slots[bss].asm
|
||
include th03/formats/hfliplut[bss].asm
|
||
include th04/snd/interrupt[bss].asm
|
||
include libs/master.lib/bgm[bss].asm
|
||
include th02/snd/load[bss].asm
|
||
word_10070 dw ?
|
||
include th04/hardware/input[bss].asm
|
||
include th04/formats/cdg[bss].asm
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
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 ?
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
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 ? ;
|
||
word_12478 dw ?
|
||
dword_1247A dd ?
|
||
byte_1247E db ?
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
word_124BC dw ?
|
||
word_124BE dw ?
|
||
word_124C0 dw ?
|
||
byte_124C2 db ?
|
||
db ? ;
|
||
word_124C4 dw ?
|
||
byte_124C6 db ?
|
||
byte_124C7 db ?
|
||
fp_124C8 dw ?
|
||
dw ?
|
||
byte_124CC db ?
|
||
db ? ;
|
||
dword_124CE dd ?
|
||
byte_124D2 db ?
|
||
unk_124D3 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
db ? ;
|
||
db ? ;
|
||
byte_124EF db ?
|
||
db ? ;
|
||
db ? ;
|
||
byte_124F2 db ?
|
||
byte_124F3 db ?
|
||
word_124F4 dw ?
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
db ? ;
|
||
word_12530 dw ?
|
||
word_12532 dw ?
|
||
dword_12534 dd ?
|
||
word_12538 dw ?
|
||
word_1253A dw ?
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
byte_125A0 db ?
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
byte_125B6 db ?
|
||
byte_125B7 db ?
|
||
word_125B8 dw ?
|
||
|
||
end
|