mirror of https://github.com/nmlgc/ReC98.git
4936 lines
99 KiB
NASM
4936 lines
99 KiB
NASM
;
|
||
; +-------------------------------------------------------------------------+
|
||
; | This file has been generated by The Interactive Disassembler (IDA) |
|
||
; | Copyright (c) 2009 by Hex-Rays, <support@hex-rays.com> |
|
||
; +-------------------------------------------------------------------------+
|
||
;
|
||
; Input MD5 : 2CAAD6F798E32B912A08DA327A97DDB4
|
||
|
||
; File Name : th01/FUUIN.EXE
|
||
; Format : MS-DOS executable (EXE)
|
||
; Base Address: 0h Range: 0h-147E0h Loaded length: 13ED8h
|
||
; 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
|
||
.386 ; ... then switch to what we actually need.
|
||
; And yes, we can't move this to an include file for some reason.
|
||
|
||
BINARY = 'E'
|
||
|
||
include ReC98.inc
|
||
include th01/th01.inc
|
||
|
||
option emulator
|
||
|
||
extern @$bdla$qnv:proc
|
||
extern @$bnwa$qui:proc
|
||
extern FTOL@:proc
|
||
extern F_LUDIV@:proc
|
||
extern LUMOD@:proc
|
||
extern LXLSH@:proc
|
||
extern LXMUL@:proc
|
||
extern SCOPY@:proc
|
||
extern __mbcjmstojis:proc
|
||
extern __setargv__:proc ; main() needs both to be set
|
||
extern __setenvp__:proc
|
||
extern _access:proc
|
||
extern _close:proc
|
||
extern _execl:proc
|
||
extern _exit:proc
|
||
extern _farfree:proc
|
||
extern _farmalloc:proc
|
||
extern _fclose:proc
|
||
extern _filelength:proc
|
||
extern _fopen:proc
|
||
extern _int86:proc
|
||
extern _intdosx:proc
|
||
extern _memcmp:proc
|
||
extern _open:proc
|
||
extern _printf:proc
|
||
extern _proc:proc
|
||
extern _puts:proc
|
||
extern _read:proc
|
||
extern _segread:proc
|
||
extern _strcmp:proc
|
||
extern _strcpy:proc
|
||
extern _vsprintf:proc
|
||
extern _write:proc
|
||
|
||
fuuin_02 group fuuin_02_TEXT, fuuin_02__TEXT
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
_TEXT segment word public 'CODE' use16
|
||
assume cs:_TEXT
|
||
assume es:nothing, ds:_DATA, fs:nothing, gs:nothing
|
||
|
||
include libs/piloadc/piloadc.asm
|
||
include libs/master.lib/graph_400line.asm
|
||
include libs/master.lib/graph_clear.asm
|
||
include libs/master.lib/graph_show.asm
|
||
include libs/master.lib/graph_start.asm
|
||
include libs/master.lib/graph_scrollup.asm
|
||
include libs/master.lib/palette_show.asm
|
||
include libs/master.lib/palette_init.asm
|
||
include libs/master.lib/respal_exist.asm
|
||
include libs/master.lib/respal_free.asm
|
||
include libs/master.lib/resdata.asm
|
||
include libs/master.lib/file_read.asm
|
||
include libs/master.lib/file_close.asm
|
||
include libs/master.lib/file_ropen.asm
|
||
include libs/master.lib/file_seek.asm
|
||
include libs/master.lib/key_sense.asm
|
||
include libs/master.lib/dos_ropen.asm
|
||
include libs/master.lib/egc.asm
|
||
include libs/master.lib/gdc_outpw.asm
|
||
db 0
|
||
include libs/master.lib/random.asm
|
||
_TEXT ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
fuuin_01_TEXT segment byte public 'CODE' use16
|
||
assume cs:fuuin_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_9F49 proc far
|
||
|
||
var_4 = dword ptr -4
|
||
|
||
enter 4, 0
|
||
push si
|
||
push di
|
||
push ds
|
||
push offset aReiidenconfig ; "ReiidenConfig"
|
||
push 0Dh
|
||
push 5
|
||
call resdata_exist
|
||
mov di, ax
|
||
or di, di
|
||
jnz short loc_9F65
|
||
jmp loc_A05D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9F65:
|
||
mov word ptr [bp+reiidenconfig+2], di
|
||
mov word ptr [bp+reiidenconfig], 0
|
||
les bx, [bp+reiidenconfig]
|
||
cmp es:[bx+reiidenconfig_t.end_flag], 0
|
||
jnz short loc_9F7A
|
||
jmp loc_A053
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9F7A:
|
||
les bx, [bp+reiidenconfig]
|
||
mov dx, word ptr es:[bx+reiidenconfig_t.score+2]
|
||
mov ax, word ptr es:[bx+reiidenconfig_t.score]
|
||
mov word ptr _score+2, dx
|
||
mov word ptr _score, ax
|
||
mov word ptr _continues_total+2, 0
|
||
mov word ptr _continues_total, 0
|
||
les bx, [bp+reiidenconfig]
|
||
mov al, es:[bx+reiidenconfig_t.end_flag]
|
||
mov byte_14021, al
|
||
les bx, [bp+reiidenconfig]
|
||
mov al, es:[bx+reiidenconfig_t.rank]
|
||
mov _rank, al
|
||
les bx, [bp+reiidenconfig]
|
||
mov dx, word ptr es:[bx+reiidenconfig_t.score_highest+2]
|
||
mov ax, word ptr es:[bx+reiidenconfig_t.score_highest]
|
||
mov word ptr _score_highest+2, dx
|
||
mov word ptr _score_highest, ax
|
||
xor si, si
|
||
jmp short loc_A003
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9FC2:
|
||
mov ax, si
|
||
add ax, ax
|
||
les bx, [bp+reiidenconfig]
|
||
add bx, ax
|
||
mov ax, es:[bx+reiidenconfig_t.continues_per_scene]
|
||
mov bx, si
|
||
shl bx, 2
|
||
mov word ptr [bx+143Eh], 0
|
||
mov [bx+143Ch], ax
|
||
mov ax, si
|
||
add ax, ax
|
||
les bx, [bp+reiidenconfig]
|
||
add bx, ax
|
||
mov es:[bx+reiidenconfig_t.continues_per_scene], 0
|
||
mov bx, si
|
||
shl bx, 2
|
||
mov dx, [bx+143Eh]
|
||
mov ax, [bx+143Ch]
|
||
add word ptr _continues_total, ax
|
||
adc word ptr _continues_total+2, dx
|
||
inc si
|
||
|
||
loc_A003:
|
||
cmp si, 4
|
||
jl short loc_9FC2
|
||
les bx, [bp+reiidenconfig]
|
||
mov dx, word ptr es:[bx+reiidenconfig_t.rand+2]
|
||
mov ax, word ptr es:[bx+reiidenconfig_t.rand]
|
||
mov word ptr random_seed+2, dx
|
||
mov word ptr random_seed, ax
|
||
les bx, [bp+reiidenconfig]
|
||
mov al, es:[bx+reiidenconfig_t.start_lives_extra]
|
||
mov byte_14020, al
|
||
les bx, [bp+reiidenconfig]
|
||
mov word ptr es:[bx+reiidenconfig_t.score+2], 0
|
||
mov word ptr es:[bx+reiidenconfig_t.score], 0
|
||
les bx, [bp+reiidenconfig]
|
||
mov word ptr es:[bx+reiidenconfig_t.continues_total+2], 0
|
||
mov word ptr es:[bx+reiidenconfig_t.continues_total], 0
|
||
les bx, [bp+reiidenconfig]
|
||
mov word ptr es:[bx+reiidenconfig_t.score_highest+2], 0
|
||
mov word ptr es:[bx+reiidenconfig_t.score_highest], 0
|
||
jmp short loc_A05B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A053:
|
||
push ds
|
||
push offset aErrorEnd_flagI ; "ERROR : end_flag is not ture !!"
|
||
jmp short loc_A061
|
||
; ---------------------------------------------------------------------------
|
||
jmp short loc_A069
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A05B:
|
||
jmp short loc_A06D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A05D:
|
||
push ds
|
||
push offset s ; "ERROR : cfg_id is not alloc!!"
|
||
|
||
loc_A061:
|
||
call _puts
|
||
add sp, 4
|
||
|
||
loc_A069:
|
||
xor ax, ax
|
||
jmp short loc_A072
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A06D:
|
||
mov ax, 1
|
||
jmp short $+2
|
||
|
||
loc_A072:
|
||
pop di
|
||
pop si
|
||
leave
|
||
retf
|
||
sub_9F49 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A076 proc far
|
||
|
||
reiidenconfig = dword ptr -4
|
||
|
||
enter 4, 0
|
||
push si
|
||
push di
|
||
push ds
|
||
push offset aReiidenconfi_0 ; "ReiidenConfig"
|
||
push 0Dh
|
||
push 5
|
||
call resdata_exist
|
||
mov di, ax
|
||
or di, di
|
||
jz short loc_A0EE
|
||
mov word ptr [bp+reiidenconfig+2], di
|
||
mov word ptr [bp+reiidenconfig], 0
|
||
les bx, [bp+reiidenconfig]
|
||
mov word ptr es:[bx+reiidenconfig_t.score+2], 0
|
||
mov word ptr es:[bx+reiidenconfig_t.score], 0
|
||
les bx, [bp+reiidenconfig]
|
||
mov word ptr es:[bx+reiidenconfig_t.continues_total+2], 0
|
||
mov word ptr es:[bx+reiidenconfig_t.continues_total], 0
|
||
les bx, [bp+reiidenconfig]
|
||
mov es:[bx+reiidenconfig_t.end_flag], 0
|
||
les bx, [bp+reiidenconfig]
|
||
mov word ptr es:[bx+reiidenconfig_t.score_highest+2], 0
|
||
mov word ptr es:[bx+reiidenconfig_t.score_highest], 0
|
||
xor si, si
|
||
jmp short loc_A0E0
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A0D0:
|
||
mov ax, si
|
||
add ax, ax
|
||
les bx, [bp+reiidenconfig]
|
||
add bx, ax
|
||
mov es:[bx+reiidenconfig_t.continues_per_scene], 0
|
||
inc si
|
||
|
||
loc_A0E0:
|
||
cmp si, 4
|
||
jl short loc_A0D0
|
||
les bx, [bp+reiidenconfig]
|
||
mov es:[bx+reiidenconfig_t.stage], 0
|
||
|
||
loc_A0EE:
|
||
mov ax, 1
|
||
jmp short $+2
|
||
pop di
|
||
pop si
|
||
leave
|
||
retf
|
||
sub_A076 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
; int __cdecl main(int argc, const char **argv, const char **envp)
|
||
public _main
|
||
_main proc far
|
||
|
||
_argc = word ptr 6
|
||
_argv = dword ptr 8
|
||
_envp = dword ptr 0Ch
|
||
|
||
push bp
|
||
mov bp, sp
|
||
call _mdrv2_resident
|
||
or ax, ax
|
||
jnz short loc_A105
|
||
pop bp
|
||
retf
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A105:
|
||
les bx, [bp+_argv]
|
||
les bx, es:[bx+4]
|
||
mov al, es:[bx]
|
||
cbw
|
||
cmp ax, 74h ; 't'
|
||
jz short loc_A121
|
||
call sub_9F49
|
||
or ax, ax
|
||
jnz short loc_A11F
|
||
pop bp
|
||
retf
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A11F:
|
||
jmp short loc_A13E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A121:
|
||
les bx, [bp+_argv]
|
||
les bx, es:[bx+4]
|
||
mov al, es:[bx+1]
|
||
cbw
|
||
cmp ax, 31h ; '1'
|
||
jnz short loc_A139
|
||
mov byte_14021, 1
|
||
jmp short loc_A13E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A139:
|
||
mov byte_14021, 2
|
||
|
||
loc_A13E:
|
||
call _mdrv2_check_board
|
||
call _game_init
|
||
call sub_B945
|
||
call _game_switch_binary
|
||
push 0
|
||
push 0
|
||
push ds
|
||
push offset arg0 ; "op"
|
||
push ds
|
||
push offset path ; "op"
|
||
call _execl
|
||
add sp, 0Ch
|
||
pop bp
|
||
retf
|
||
_main endp
|
||
|
||
fuuin_01_TEXT ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
fuuin_02_TEXT segment byte public 'CODE' use16
|
||
assume cs:fuuin_02_TEXT
|
||
;org 8
|
||
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_A168 proc far
|
||
|
||
var_30 = byte ptr -30h
|
||
var_8 = word ptr -8
|
||
var_6 = word ptr -6
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 6
|
||
arg_2 = word ptr 8
|
||
arg_4 = word ptr 0Ah
|
||
arg_6 = word ptr 0Ch
|
||
arg_8 = word ptr 0Eh
|
||
arg_A = word ptr 10h
|
||
arg_C = word ptr 12h
|
||
arg_E = word ptr 14h
|
||
arg_10 = word ptr 16h
|
||
|
||
enter 30h, 0
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_0]
|
||
mov [bp+var_6], 0
|
||
mov [bp+var_8], 1
|
||
lea ax, [bp+var_30]
|
||
push ss
|
||
push ax
|
||
push ds
|
||
push offset FULLWIDTH_NUMBERS
|
||
mov cx, 28h ; '('
|
||
call SCOPY@
|
||
xor di, di
|
||
jmp short loc_A1A7
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A190:
|
||
xor cx, cx
|
||
mov bx, 0Ah
|
||
mov dx, [bp+var_6]
|
||
mov ax, [bp+var_8]
|
||
call LXMUL@
|
||
mov [bp+var_6], dx
|
||
mov [bp+var_8], ax
|
||
inc di
|
||
|
||
loc_A1A7:
|
||
cmp di, [bp+arg_6]
|
||
jl short loc_A190
|
||
|
||
loc_A1AC:
|
||
push 0
|
||
push 0Ah
|
||
push [bp+var_6]
|
||
push [bp+var_8]
|
||
call far ptr F_LUDIV@
|
||
mov [bp+var_6], dx
|
||
mov [bp+var_8], ax
|
||
cmp si, 270h
|
||
jle short loc_A1CA
|
||
jmp loc_A261
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A1CA:
|
||
push 0
|
||
push 0Ah
|
||
push [bp+var_6]
|
||
push [bp+var_8]
|
||
push [bp+arg_A]
|
||
push [bp+arg_8]
|
||
call far ptr F_LUDIV@
|
||
push dx
|
||
push ax
|
||
call far ptr LUMOD@
|
||
mov [bp+var_2], ax
|
||
push 0
|
||
push 0Ah
|
||
push [bp+var_6]
|
||
push [bp+var_8]
|
||
push [bp+arg_E]
|
||
push [bp+arg_C]
|
||
call far ptr F_LUDIV@
|
||
push dx
|
||
push ax
|
||
call far ptr LUMOD@
|
||
mov [bp+var_4], ax
|
||
cmp [bp+var_2], 0
|
||
jz short loc_A213
|
||
mov [bp+arg_10], 1
|
||
|
||
loc_A213:
|
||
cmp [bp+arg_10], 0
|
||
jz short loc_A24A
|
||
mov ax, [bp+var_2]
|
||
cmp ax, [bp+var_4]
|
||
jnz short loc_A229
|
||
mov ax, [bp+arg_C]
|
||
or ax, [bp+arg_E]
|
||
jnz short loc_A24A
|
||
|
||
loc_A229:
|
||
mov bx, [bp+var_2]
|
||
shl bx, 2
|
||
lea ax, [bp+var_30]
|
||
add bx, ax
|
||
call _graph_putsa_fx c, si, [bp+arg_2], [bp+arg_4], word ptr ss:[bx], word ptr ss:[bx+2]
|
||
|
||
loc_A24A:
|
||
add si, 10h
|
||
cmp [bp+var_6], 0
|
||
jbe short loc_A256
|
||
jmp loc_A1AC
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A256:
|
||
jnz short loc_A261
|
||
cmp [bp+var_8], 1
|
||
jbe short loc_A261
|
||
jmp loc_A1AC
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A261:
|
||
pop di
|
||
pop si
|
||
leave
|
||
retf
|
||
sub_A168 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A265 proc far
|
||
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 6
|
||
|
||
enter 4, 0
|
||
cmp [bp+arg_0], 1
|
||
jnz short loc_A2A5
|
||
mov byte_14039, 0
|
||
mov byte_1403A, 0
|
||
mov byte_1403B, 0
|
||
mov byte_1403C, 0
|
||
mov byte_1403D, 0
|
||
mov byte_1403E, 0
|
||
mov byte_1403F, 0
|
||
mov byte_14040, 0
|
||
mov byte_14041, 0
|
||
mov byte_14042, 0
|
||
leave
|
||
retf
|
||
; ---------------------------------------------------------------------------
|
||
leave
|
||
retf
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A2A5:
|
||
push 7
|
||
call key_sense
|
||
mov [bp+var_2], ax
|
||
push 5
|
||
call key_sense
|
||
mov [bp+var_4], ax
|
||
push 7
|
||
call key_sense
|
||
or [bp+var_2], ax
|
||
push 5
|
||
call key_sense
|
||
or [bp+var_4], ax
|
||
mov al, byte_14039
|
||
mov ah, 0
|
||
mov dx, [bp+var_2]
|
||
and dx, 4
|
||
cmp ax, dx
|
||
jz short loc_A2EE
|
||
test byte ptr [bp+var_2], 4
|
||
jz short loc_A2E9
|
||
mov byte_12BA2, 1
|
||
jmp short loc_A2EE
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A2E9:
|
||
mov byte_12BA2, 0
|
||
|
||
loc_A2EE:
|
||
mov al, byte ptr [bp+var_2]
|
||
and al, 4
|
||
mov byte_14039, al
|
||
mov al, byte_1403A
|
||
mov ah, 0
|
||
mov dx, [bp+var_2]
|
||
and dx, 20h
|
||
cmp ax, dx
|
||
jz short loc_A317
|
||
test byte ptr [bp+var_2], 20h
|
||
jz short loc_A312
|
||
mov byte_12BA3, 1
|
||
jmp short loc_A317
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A312:
|
||
mov byte_12BA3, 0
|
||
|
||
loc_A317:
|
||
mov al, byte ptr [bp+var_2]
|
||
and al, 20h
|
||
mov byte_1403A, al
|
||
mov al, byte_1403B
|
||
mov ah, 0
|
||
mov dx, [bp+var_2]
|
||
and dx, 8
|
||
cmp ax, dx
|
||
jz short loc_A340
|
||
test byte ptr [bp+var_2], 8
|
||
jz short loc_A33B
|
||
or byte_12B99, 2
|
||
jmp short loc_A340
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A33B:
|
||
and byte_12B99, 0FDh
|
||
|
||
loc_A340:
|
||
mov al, byte ptr [bp+var_2]
|
||
and al, 8
|
||
mov byte_1403B, al
|
||
mov al, byte_1403C
|
||
mov ah, 0
|
||
mov dx, [bp+var_2]
|
||
and dx, 10h
|
||
cmp ax, dx
|
||
jz short loc_A369
|
||
test byte ptr [bp+var_2], 10h
|
||
jz short loc_A364
|
||
or byte_12B99, 1
|
||
jmp short loc_A369
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A364:
|
||
and byte_12B99, 0FEh
|
||
|
||
loc_A369:
|
||
mov al, byte ptr [bp+var_2]
|
||
and al, 10h
|
||
mov byte_1403C, al
|
||
mov al, byte_1403D
|
||
mov ah, 0
|
||
mov dx, [bp+var_4]
|
||
and dx, 2
|
||
cmp ax, dx
|
||
jz short loc_A392
|
||
test byte ptr [bp+var_4], 2
|
||
jz short loc_A38D
|
||
mov byte_12B9C, 1
|
||
jmp short loc_A392
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A38D:
|
||
mov byte_12B9C, 0
|
||
|
||
loc_A392:
|
||
mov al, byte ptr [bp+var_4]
|
||
and al, 2
|
||
mov byte_1403D, al
|
||
mov al, byte_1403E
|
||
mov ah, 0
|
||
mov dx, [bp+var_4]
|
||
and dx, 4
|
||
cmp ax, dx
|
||
jz short loc_A3BB
|
||
test byte ptr [bp+var_4], 4
|
||
jz short loc_A3B6
|
||
mov byte_12BA1, 1
|
||
jmp short loc_A3BB
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A3B6:
|
||
mov byte_12BA1, 0
|
||
|
||
loc_A3BB:
|
||
mov al, byte ptr [bp+var_4]
|
||
and al, 4
|
||
mov byte_1403E, al
|
||
push 0
|
||
call key_sense
|
||
mov [bp+var_2], ax
|
||
push 3
|
||
call key_sense
|
||
mov [bp+var_4], ax
|
||
push 0
|
||
call key_sense
|
||
or [bp+var_2], ax
|
||
push 3
|
||
call key_sense
|
||
or [bp+var_4], ax
|
||
mov al, byte_1403F
|
||
mov ah, 0
|
||
mov dx, [bp+var_2]
|
||
and dx, 1
|
||
cmp ax, dx
|
||
jz short loc_A409
|
||
test byte ptr [bp+var_2], 1
|
||
jz short loc_A409
|
||
mov al, 1
|
||
sub al, byte_12B9F
|
||
mov byte_12B9F, al
|
||
|
||
loc_A409:
|
||
mov al, byte ptr [bp+var_2]
|
||
and al, 1
|
||
mov byte_1403F, al
|
||
mov al, byte_14040
|
||
mov ah, 0
|
||
mov dx, [bp+var_4]
|
||
and dx, 10h
|
||
cmp ax, dx
|
||
jz short loc_A445
|
||
test byte ptr [bp+var_4], 10h
|
||
jz short loc_A440
|
||
cmp byte_12B9F, 1
|
||
jnz short loc_A439
|
||
cmp byte_12B9C, 1
|
||
jnz short loc_A439
|
||
mov byte_12B9D, 1
|
||
|
||
loc_A439:
|
||
mov byte_12BA0, 1
|
||
jmp short loc_A445
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A440:
|
||
mov byte_12BA0, 0
|
||
|
||
loc_A445:
|
||
mov al, byte ptr [bp+var_4]
|
||
and al, 10h
|
||
mov byte_14040, al
|
||
leave
|
||
retf
|
||
sub_A265 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A44F proc far
|
||
push bp
|
||
mov bp, sp
|
||
mov byte_12B99, 0
|
||
mov byte_12BA2, 0
|
||
mov byte_12BA3, 0
|
||
mov byte_12BA0, 0
|
||
mov byte_12B9F, 0
|
||
mov byte_12B9C, 0
|
||
mov byte_12BA1, 0
|
||
mov byte_12B9A, 0
|
||
mov byte_12B9B, 0
|
||
push 1
|
||
call sub_A265
|
||
pop cx
|
||
pop bp
|
||
retf
|
||
sub_A44F endp
|
||
|
||
extern _scoredat_name_byte_encode:proc
|
||
extern _scoredat_load:proc
|
||
extern _scoredat_name_get:proc
|
||
fuuin_02_TEXT ends
|
||
|
||
fuuin_02__TEXT segment byte public 'CODE' use16
|
||
assume cs:fuuin_02
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A801 proc far
|
||
|
||
var_2 = word ptr -2
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
mov [bp+var_2], 27h ; '''
|
||
mov di, 8282h
|
||
mov si, 1
|
||
jmp short loc_A84F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A814:
|
||
mov ax, di
|
||
and ax, 0FFh
|
||
push ax
|
||
mov ax, di
|
||
shr ax, 8
|
||
push ax ; arglist
|
||
push ds
|
||
push offset aCC ; "%c%c"
|
||
push [bp+var_2] ; int
|
||
mov ax, si
|
||
mov bx, 12h
|
||
cwd
|
||
idiv bx
|
||
imul ax, 18h
|
||
add ax, 0F0h
|
||
push ax ; int
|
||
mov ax, si
|
||
mov bx, 12h
|
||
cwd
|
||
idiv bx
|
||
shl dx, 5
|
||
add dx, 20h ; ' '
|
||
push dx ; int
|
||
call _graph_printf_fx
|
||
add sp, 0Eh
|
||
inc di
|
||
inc si
|
||
|
||
loc_A84F:
|
||
cmp si, 1Ah
|
||
jl short loc_A814
|
||
call _graph_putsa_fx c, 32, 240, FX_REVERSE or 23h, offset aVb, ds ; "<22><>"
|
||
mov di, 8260h
|
||
xor si, si
|
||
jmp short loc_A8AA
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A86F:
|
||
mov ax, di
|
||
and ax, 0FFh
|
||
push ax
|
||
mov ax, di
|
||
shr ax, 8
|
||
push ax ; arglist
|
||
push ds
|
||
push offset aCC_0 ; "%c%c"
|
||
push [bp+var_2] ; int
|
||
mov ax, si
|
||
mov bx, 12h
|
||
cwd
|
||
idiv bx
|
||
imul ax, 18h
|
||
add ax, 120h
|
||
push ax ; int
|
||
mov ax, si
|
||
mov bx, 12h
|
||
cwd
|
||
idiv bx
|
||
shl dx, 5
|
||
add dx, 20h ; ' '
|
||
push dx ; int
|
||
call _graph_printf_fx
|
||
add sp, 0Eh
|
||
inc di
|
||
inc si
|
||
|
||
loc_A8AA:
|
||
cmp si, 1Ah
|
||
jl short loc_A86F
|
||
xor si, si
|
||
jmp short loc_A8F5
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A8B3:
|
||
mov bx, si
|
||
add bx, bx
|
||
mov di, [bx+108h]
|
||
mov ax, di
|
||
and ax, 0FFh
|
||
push ax
|
||
mov ax, di
|
||
shr ax, 8
|
||
push ax ; arglist
|
||
push ds
|
||
push offset aCC_1 ; "%c%c"
|
||
push [bp+var_2] ; int
|
||
mov ax, si
|
||
mov bx, 12h
|
||
cwd
|
||
idiv bx
|
||
imul ax, 18h
|
||
add ax, 150h
|
||
push ax ; int
|
||
mov ax, si
|
||
mov bx, 12h
|
||
cwd
|
||
idiv bx
|
||
shl dx, 5
|
||
add dx, 20h ; ' '
|
||
push dx ; int
|
||
call _graph_printf_fx
|
||
add sp, 0Eh
|
||
inc si
|
||
|
||
loc_A8F5:
|
||
cmp si, 12h
|
||
jl short loc_A8B3
|
||
mov di, 824Fh
|
||
xor si, si
|
||
jmp short loc_A93C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A901:
|
||
mov ax, di
|
||
and ax, 0FFh
|
||
push ax
|
||
mov ax, di
|
||
shr ax, 8
|
||
push ax ; arglist
|
||
push ds
|
||
push offset aCC_2 ; "%c%c"
|
||
push [bp+var_2] ; int
|
||
mov ax, si
|
||
mov bx, 12h
|
||
cwd
|
||
idiv bx
|
||
imul ax, 18h
|
||
add ax, 168h
|
||
push ax ; int
|
||
mov ax, si
|
||
mov bx, 12h
|
||
cwd
|
||
idiv bx
|
||
shl dx, 5
|
||
add dx, 20h ; ' '
|
||
push dx ; int
|
||
call _graph_printf_fx
|
||
add sp, 0Eh
|
||
inc di
|
||
inc si
|
||
|
||
loc_A93C:
|
||
cmp si, 0Ah
|
||
jl short loc_A901
|
||
push ds
|
||
push offset aSp ; "SP"
|
||
push [bp+var_2] ; int
|
||
mov ax, si
|
||
mov bx, 12h
|
||
cwd
|
||
idiv bx
|
||
imul ax, 18h
|
||
add ax, 168h
|
||
push ax ; int
|
||
mov ax, si
|
||
mov bx, 12h
|
||
cwd
|
||
idiv bx
|
||
shl dx, 5
|
||
add dx, 20h ; ' '
|
||
push dx ; int
|
||
call _graph_printf_fx
|
||
add sp, 0Ah
|
||
mov si, 0Fh
|
||
push ds
|
||
push offset aBi ; "<22><>"
|
||
push [bp+var_2] ; int
|
||
mov ax, si
|
||
mov bx, 12h
|
||
cwd
|
||
idiv bx
|
||
imul ax, 18h
|
||
add ax, 168h
|
||
push ax ; int
|
||
mov ax, si
|
||
mov bx, 12h
|
||
cwd
|
||
idiv bx
|
||
shl dx, 5
|
||
add dx, 20h ; ' '
|
||
push dx ; int
|
||
call _graph_printf_fx
|
||
add sp, 0Ah
|
||
inc si
|
||
push ds
|
||
push offset aBi_0 ; "<22><>"
|
||
push [bp+var_2] ; int
|
||
mov ax, si
|
||
mov bx, 12h
|
||
cwd
|
||
idiv bx
|
||
imul ax, 18h
|
||
add ax, 168h
|
||
push ax ; int
|
||
mov ax, si
|
||
mov bx, 12h
|
||
cwd
|
||
idiv bx
|
||
shl dx, 5
|
||
add dx, 20h ; ' '
|
||
push dx ; int
|
||
call _graph_printf_fx
|
||
add sp, 0Ah
|
||
inc si
|
||
push ds
|
||
push offset aPi ; "<22>I"
|
||
push [bp+var_2] ; int
|
||
mov ax, si
|
||
mov bx, 12h
|
||
cwd
|
||
idiv bx
|
||
imul ax, 18h
|
||
add ax, 168h
|
||
push ax ; int
|
||
mov ax, si
|
||
mov bx, 12h
|
||
cwd
|
||
idiv bx
|
||
shl dx, 5
|
||
add dx, 20h ; ' '
|
||
push dx ; int
|
||
call _graph_printf_fx
|
||
add sp, 0Ah
|
||
inc si
|
||
pop di
|
||
pop si
|
||
leave
|
||
retf
|
||
sub_A801 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A9FF proc far
|
||
|
||
var_12 = byte ptr -12h
|
||
arg_0 = word ptr 6
|
||
arg_2 = word ptr 8
|
||
arg_4 = word ptr 0Ah
|
||
arg_6 = word ptr 0Ch
|
||
arg_8 = dword ptr 0Eh
|
||
arg_C = word ptr 12h
|
||
arg_E = word ptr 14h
|
||
|
||
enter 12h, 0
|
||
push si
|
||
push di
|
||
mov di, [bp+arg_0]
|
||
lea ax, [bp+var_12]
|
||
push ss
|
||
push ax
|
||
push ds
|
||
push offset aBqbqbqbqbqbqbq ; "<22>Q<EFBFBD>Q<EFBFBD>Q<EFBFBD>Q<EFBFBD>Q<EFBFBD>Q<EFBFBD>Q<EFBFBD>Q"
|
||
mov cx, 11h
|
||
call SCOPY@
|
||
push 0
|
||
call _graph_accesspage_func
|
||
pop cx
|
||
call _graph_putsa_fx c, 32, 48, 33h, offset aB@cB@iB@, ds ; "<22>@<40><><EFBFBD>@<40>ʁ@"
|
||
call _graph_putsa_fx c, 144, 48, 33h, offset aB@b@cB@b@sob@b, ds ; "<22>@<40>@<40><><EFBFBD>@<40>@<40>O<EFBFBD>@<40>@"
|
||
call _graph_putsa_fx c, 352, 48, 33h, offset aB@b@uB@b@u_b@b, ds ; "<22>@<40>@<40><><EFBFBD>@<40>@<40>_<EFBFBD>@<40>@"
|
||
call _graph_putsa_fx c, 512, 48, 33h, offset aGxgebGwbeglbGg, ds ; "<22>X<EFBFBD>e<EFBFBD>[<5B>W<EFBFBD>E<EFBFBD><45><EFBFBD>[<5B>g"
|
||
xor si, si
|
||
jmp loc_AD66
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AA71:
|
||
mov bx, si
|
||
cmp bx, 9
|
||
jbe short loc_AA7B
|
||
jmp loc_AB4F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AA7B:
|
||
add bx, bx
|
||
jmp cs:off_AD72[bx]
|
||
|
||
loc_AA82:
|
||
push ds
|
||
push offset aB@sB@r_b@ ; "<22>@<40>ˁ@<40>_<EFBFBD>@"
|
||
cmp si, di
|
||
jnz short loc_AA8F
|
||
mov ax, 3
|
||
jmp short loc_AA92
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AA8F:
|
||
mov ax, 7
|
||
|
||
loc_AA92:
|
||
jmp loc_AB36
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AA95:
|
||
push ds
|
||
push offset aSMRgcId ; "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||
cmp si, di
|
||
jnz short loc_AAA2
|
||
mov ax, 3
|
||
jmp short loc_AAA5
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AAA2:
|
||
mov ax, 7
|
||
|
||
loc_AAA5:
|
||
jmp loc_AB36
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AAA8:
|
||
push ds
|
||
push offset aB@uvb@rxb@ ; "<22>@<40>V<EFBFBD>@<40><><EFBFBD>@"
|
||
cmp si, di
|
||
jnz short loc_AAB5
|
||
mov ax, 3
|
||
jmp short loc_AAB8
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AAB5:
|
||
mov ax, 7
|
||
|
||
loc_AAB8:
|
||
jmp short loc_AB36
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AABA:
|
||
push ds
|
||
push offset aB@r_b@rxb@ ; "<22>@<40>_<EFBFBD>@<40><><EFBFBD>@"
|
||
cmp si, di
|
||
jnz short loc_AAC7
|
||
mov ax, 3
|
||
jmp short loc_AACA
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AAC7:
|
||
mov ax, 7
|
||
|
||
loc_AACA:
|
||
jmp short loc_AB36
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AACC:
|
||
push ds
|
||
push offset aB@tnb@rxb@ ; "<22>@<40>n<EFBFBD>@<40><><EFBFBD>@"
|
||
cmp si, di
|
||
jnz short loc_AAD9
|
||
mov ax, 3
|
||
jmp short loc_AADC
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AAD9:
|
||
mov ax, 7
|
||
|
||
loc_AADC:
|
||
jmp short loc_AB36
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AADE:
|
||
push ds
|
||
push offset aB@rlb@rxb@ ; "<22>@<40>l<EFBFBD>@<40><><EFBFBD>@"
|
||
cmp si, di
|
||
jnz short loc_AAEB
|
||
mov ax, 3
|
||
jmp short loc_AAEE
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AAEB:
|
||
mov ax, 7
|
||
|
||
loc_AAEE:
|
||
jmp short loc_AB36
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AAF0:
|
||
push ds
|
||
push offset aB@rxb@pcb@ ; "<22>@<40><><EFBFBD>@<40><><EFBFBD>@"
|
||
cmp si, di
|
||
jnz short loc_AAFD
|
||
mov ax, 3
|
||
jmp short loc_AB00
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AAFD:
|
||
mov ax, 7
|
||
|
||
loc_AB00:
|
||
jmp short loc_AB36
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AB02:
|
||
push ds
|
||
push offset aIab@czb@ot ; "<22>A<EFBFBD>@<40>z<EFBFBD>@<40>t"
|
||
cmp si, di
|
||
jnz short loc_AB0F
|
||
mov ax, 3
|
||
jmp short loc_AB12
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AB0F:
|
||
mov ax, 7
|
||
|
||
loc_AB12:
|
||
jmp short loc_AB36
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AB14:
|
||
push ds
|
||
push offset aSB@fB@ot ; "<22>ˁ@<40>}<7D>@<40>t"
|
||
cmp si, di
|
||
jnz short loc_AB21
|
||
mov ax, 3
|
||
jmp short loc_AB24
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AB21:
|
||
mov ax, 7
|
||
|
||
loc_AB24:
|
||
jmp short loc_AB36
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AB26:
|
||
push ds
|
||
push offset aPcb@lB@o ; "<22>C<EFBFBD>@<40>Ɓ@<40><>"
|
||
cmp si, di
|
||
jnz short loc_AB33
|
||
mov ax, 3
|
||
jmp short loc_AB36
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AB33:
|
||
mov ax, 7
|
||
|
||
loc_AB36:
|
||
or ax, 20h
|
||
push ax
|
||
mov ax, si
|
||
shl ax, 4
|
||
add ax, 64
|
||
push ax
|
||
push 32
|
||
call _graph_putsa_fx
|
||
add sp, 0Ah
|
||
jmp short $+2
|
||
|
||
loc_AB4F:
|
||
cmp si, di
|
||
jnz short loc_AB5A
|
||
mov dx, ss
|
||
lea ax, [bp+var_12]
|
||
jmp short loc_AB69
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AB5A:
|
||
mov ax, si
|
||
imul ax, 12h
|
||
mov dx, [bp+arg_E]
|
||
push ax
|
||
mov ax, [bp+arg_C]
|
||
pop bx
|
||
add ax, bx
|
||
|
||
loc_AB69:
|
||
push dx
|
||
push ax
|
||
cmp si, di
|
||
jnz short loc_AB74
|
||
mov ax, 3
|
||
jmp short loc_AB77
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AB74:
|
||
mov ax, 7
|
||
|
||
loc_AB77:
|
||
or ax, 20h
|
||
push ax
|
||
mov ax, si
|
||
shl ax, 4
|
||
add ax, 64
|
||
push ax
|
||
push 144
|
||
call _graph_putsa_fx
|
||
add sp, 0Ah
|
||
push 0
|
||
push 0
|
||
push 0
|
||
cmp di, si
|
||
jnz short loc_ABA1
|
||
mov dx, [bp+arg_4]
|
||
mov ax, [bp+arg_2]
|
||
jmp short loc_ABB3
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ABA1:
|
||
mov ax, si
|
||
shl ax, 2
|
||
les bx, _scoredat_points
|
||
add bx, ax
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
|
||
loc_ABB3:
|
||
push dx
|
||
push ax
|
||
push 7
|
||
cmp si, di
|
||
jnz short loc_ABC0
|
||
mov ax, 3
|
||
jmp short loc_ABC3
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ABC0:
|
||
mov ax, 7
|
||
|
||
loc_ABC3:
|
||
or ax, 30h
|
||
push ax
|
||
mov ax, si
|
||
shl ax, 4
|
||
add ax, 40h
|
||
push ax
|
||
push 160h
|
||
call fuuin_02:sub_A168
|
||
add sp, 12h
|
||
cmp si, di
|
||
jz short loc_ABEE
|
||
mov ax, si
|
||
add ax, ax
|
||
les bx, _scoredat_stages
|
||
add bx, ax
|
||
cmp word ptr es:[bx], SCOREDAT_CLEARED
|
||
jl short loc_ABF8
|
||
|
||
loc_ABEE:
|
||
cmp si, di
|
||
jnz short loc_AC3F
|
||
cmp [bp+arg_6], SCOREDAT_CLEARED
|
||
jge short loc_AC3F
|
||
|
||
loc_ABF8:
|
||
push 0
|
||
push 0
|
||
push 0
|
||
cmp si, di
|
||
jnz short loc_AC07
|
||
mov ax, [bp+arg_6]
|
||
jmp short loc_AC14
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AC07:
|
||
mov ax, si
|
||
add ax, ax
|
||
les bx, _scoredat_stages
|
||
add bx, ax
|
||
mov ax, es:[bx]
|
||
|
||
loc_AC14:
|
||
cwd
|
||
push dx
|
||
push ax
|
||
push 2
|
||
cmp si, di
|
||
jnz short loc_AC22
|
||
mov ax, 3
|
||
jmp short loc_AC25
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AC22:
|
||
mov ax, 7
|
||
|
||
loc_AC25:
|
||
or ax, 20h
|
||
push ax
|
||
mov ax, si
|
||
shl ax, 4
|
||
add ax, 40h
|
||
push ax
|
||
push 210h
|
||
call fuuin_02:sub_A168
|
||
add sp, 12h
|
||
jmp loc_ACCD
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AC3F:
|
||
cmp si, di
|
||
jz short loc_AC53
|
||
mov ax, si
|
||
add ax, ax
|
||
les bx, _scoredat_stages
|
||
add bx, ax
|
||
cmp word ptr es:[bx], SCOREDAT_CLEARED_MAKAI
|
||
jz short loc_AC5D
|
||
|
||
loc_AC53:
|
||
cmp si, di
|
||
jnz short loc_AC87
|
||
cmp [bp+arg_6], SCOREDAT_CLEARED_MAKAI
|
||
jnz short loc_AC87
|
||
|
||
loc_AC5D:
|
||
push ds
|
||
push offset aCvke ; "<22><><EFBFBD>E"
|
||
cmp si, di
|
||
jnz short loc_AC6A
|
||
mov ax, 3
|
||
jmp short loc_AC6D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AC6A:
|
||
mov ax, 7
|
||
|
||
loc_AC6D:
|
||
or ax, 20h
|
||
push ax
|
||
mov ax, si
|
||
shl ax, 4
|
||
add ax, 64
|
||
push ax
|
||
push 528
|
||
call _graph_putsa_fx
|
||
add sp, 0Ah
|
||
jmp short loc_ACCD
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AC87:
|
||
cmp si, di
|
||
jz short loc_AC9B
|
||
mov ax, si
|
||
add ax, ax
|
||
les bx, _scoredat_stages
|
||
add bx, ax
|
||
cmp word ptr es:[bx], SCOREDAT_CLEARED_JIGOKU
|
||
jz short loc_ACA5
|
||
|
||
loc_AC9B:
|
||
cmp si, di
|
||
jnz short loc_ACCD
|
||
cmp [bp+arg_6], SCOREDAT_CLEARED_JIGOKU
|
||
jnz short loc_ACCD
|
||
|
||
loc_ACA5:
|
||
push ds
|
||
push offset aTnnc ; "<22>n<EFBFBD><6E>"
|
||
cmp si, di
|
||
jnz short loc_ACB2
|
||
mov ax, 3
|
||
jmp short loc_ACB5
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ACB2:
|
||
mov ax, 7
|
||
|
||
loc_ACB5:
|
||
or ax, 20h
|
||
push ax
|
||
mov ax, si
|
||
shl ax, 4
|
||
add ax, 64
|
||
push ax
|
||
push 528
|
||
call _graph_putsa_fx
|
||
add sp, 0Ah
|
||
|
||
loc_ACCD:
|
||
push ds
|
||
push offset aB ; "<22>|"
|
||
cmp si, di
|
||
jnz short loc_ACDA
|
||
mov ax, 3
|
||
jmp short loc_ACDD
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ACDA:
|
||
mov ax, 7
|
||
|
||
loc_ACDD:
|
||
or ax, 20h
|
||
push ax
|
||
mov ax, si
|
||
shl ax, 4
|
||
add ax, 64
|
||
push ax
|
||
push 560
|
||
call _graph_putsa_fx
|
||
add sp, 0Ah
|
||
cmp si, di
|
||
jnz short loc_ACFE
|
||
les bx, [bp+arg_8]
|
||
jmp short loc_AD0A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ACFE:
|
||
mov bx, si
|
||
add bx, bx
|
||
mov es, word ptr _scoredat_routes+2
|
||
add bx, word ptr _scoredat_routes
|
||
|
||
loc_AD0A:
|
||
mov al, es:[bx+1]
|
||
cbw
|
||
push ax
|
||
cmp si, di
|
||
jnz short loc_AD19
|
||
les bx, [bp+arg_8]
|
||
jmp short loc_AD23
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AD19:
|
||
mov ax, si
|
||
add ax, ax
|
||
les bx, _scoredat_routes
|
||
add bx, ax
|
||
|
||
loc_AD23:
|
||
mov al, es:[bx]
|
||
cbw
|
||
push ax ; arglist
|
||
push ds
|
||
push offset aCC_3 ; "%c%c"
|
||
cmp si, di
|
||
jnz short loc_AD35
|
||
mov ax, 3
|
||
jmp short loc_AD38
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AD35:
|
||
mov ax, 7
|
||
|
||
loc_AD38:
|
||
or ax, 20h
|
||
push ax ; int
|
||
mov ax, si
|
||
shl ax, 4
|
||
add ax, 40h
|
||
push ax ; int
|
||
push 240h ; int
|
||
call _graph_printf_fx
|
||
add sp, 0Eh
|
||
cmp di, si
|
||
jnz short loc_AD65
|
||
mov _name_entered_left, 144
|
||
mov ax, si
|
||
shl ax, 4
|
||
add ax, 64
|
||
mov _name_entered_top, ax
|
||
|
||
loc_AD65:
|
||
inc si
|
||
|
||
loc_AD66:
|
||
cmp si, SCOREDAT_PLACES
|
||
jge short loc_AD6E
|
||
jmp loc_AA71
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AD6E:
|
||
pop di
|
||
pop si
|
||
leave
|
||
retf
|
||
sub_A9FF endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
off_AD72 dw offset loc_AA82
|
||
dw offset loc_AA95
|
||
dw offset loc_AAA8
|
||
dw offset loc_AABA
|
||
dw offset loc_AACC
|
||
dw offset loc_AADE
|
||
dw offset loc_AAF0
|
||
dw offset loc_AB02
|
||
dw offset loc_AB14
|
||
dw offset loc_AB26
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_AD86 proc far
|
||
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
@@left = word ptr 6
|
||
@@top = word ptr 8
|
||
arg_4 = word ptr 0Ah
|
||
|
||
enter 4, 0
|
||
push si
|
||
push di
|
||
mov si, [bp+@@left]
|
||
mov di, [bp+@@top]
|
||
mov [bp+var_2], 0
|
||
call _egc_copy_rect_1_to_0 c, si, di, 32, 16
|
||
cmp [bp+arg_4], 0
|
||
jnz short loc_ADB0
|
||
mov ax, 7
|
||
jmp short loc_ADB3
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ADB0:
|
||
mov ax, 803h
|
||
|
||
loc_ADB3:
|
||
or ax, 20h
|
||
mov [bp+var_4], ax
|
||
cmp di, 0F0h
|
||
jnz short loc_ADD1
|
||
lea ax, [si-20h]
|
||
mov bx, 20h ; ' '
|
||
cwd
|
||
idiv bx
|
||
add ax, 8281h
|
||
mov [bp+var_2], ax
|
||
jmp loc_AECD
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ADD1:
|
||
cmp di, 108h
|
||
jnz short loc_ADE9
|
||
lea ax, [si-20h]
|
||
mov bx, 20h ; ' '
|
||
cwd
|
||
idiv bx
|
||
add ax, 8293h
|
||
mov [bp+var_2], ax
|
||
jmp loc_AECD
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ADE9:
|
||
cmp di, 120h
|
||
jnz short loc_AE01
|
||
lea ax, [si-20h]
|
||
mov bx, 20h ; ' '
|
||
cwd
|
||
idiv bx
|
||
add ax, 8260h
|
||
mov [bp+var_2], ax
|
||
jmp loc_AECD
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AE01:
|
||
cmp di, 138h
|
||
jnz short loc_AE19
|
||
lea ax, [si-20h]
|
||
mov bx, 20h ; ' '
|
||
cwd
|
||
idiv bx
|
||
add ax, 8272h
|
||
mov [bp+var_2], ax
|
||
jmp loc_AECD
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AE19:
|
||
cmp di, 150h
|
||
jnz short loc_AE36
|
||
lea ax, [si-20h]
|
||
mov bx, 20h ; ' '
|
||
cwd
|
||
idiv bx
|
||
add ax, ax
|
||
mov bx, ax
|
||
mov ax, [bx+108h]
|
||
mov [bp+var_2], ax
|
||
jmp loc_AECD
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AE36:
|
||
cmp di, 168h
|
||
jnz short loc_AE53
|
||
cmp si, 160h
|
||
jge short loc_AE53
|
||
lea ax, [si-20h]
|
||
mov bx, 20h ; ' '
|
||
cwd
|
||
idiv bx
|
||
add ax, 824Fh
|
||
mov [bp+var_2], ax
|
||
jmp short loc_AECD
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AE53:
|
||
cmp di, 168h
|
||
jnz short loc_AE72
|
||
cmp si, 160h
|
||
jnz short loc_AE72
|
||
push ds
|
||
push offset aSp_0 ; "SP"
|
||
push [bp+var_4] ; int
|
||
push di ; int
|
||
push si ; int
|
||
call _graph_printf_fx
|
||
add sp, 0Ah
|
||
jmp short loc_AECD
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AE72:
|
||
cmp di, 168h
|
||
jnz short loc_AE91
|
||
cmp si, 200h
|
||
jnz short loc_AE91
|
||
push ds
|
||
push offset aBi_1 ; "<22><>"
|
||
push [bp+var_4] ; int
|
||
push di ; int
|
||
push si ; int
|
||
call _graph_printf_fx
|
||
add sp, 0Ah
|
||
jmp short loc_AECD
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AE91:
|
||
cmp di, 168h
|
||
jnz short loc_AEB0
|
||
cmp si, 220h
|
||
jnz short loc_AEB0
|
||
push ds
|
||
push offset aBi_2 ; "<22><>"
|
||
push [bp+var_4] ; int
|
||
push di ; int
|
||
push si ; int
|
||
call _graph_printf_fx
|
||
add sp, 0Ah
|
||
jmp short loc_AECD
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AEB0:
|
||
cmp di, 168h
|
||
jnz short loc_AECD
|
||
cmp si, 240h
|
||
jnz short loc_AECD
|
||
push ds
|
||
push offset aPi_0 ; "<22>I"
|
||
push [bp+var_4] ; int
|
||
push di ; int
|
||
push si ; int
|
||
call _graph_printf_fx
|
||
add sp, 0Ah
|
||
|
||
loc_AECD:
|
||
cmp [bp+var_2], 0
|
||
jz short loc_AEF2
|
||
mov ax, [bp+var_2]
|
||
and ax, 0FFh
|
||
push ax
|
||
mov ax, [bp+var_2]
|
||
sar ax, 8
|
||
push ax ; arglist
|
||
push ds
|
||
push offset aCC_4 ; "%c%c"
|
||
push [bp+var_4] ; int
|
||
push di ; int
|
||
push si ; int
|
||
call _graph_printf_fx
|
||
add sp, 0Eh
|
||
|
||
loc_AEF2:
|
||
pop di
|
||
pop si
|
||
leave
|
||
retf
|
||
sub_AD86 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
; int __cdecl __far sub_AEF6(int, int, char arglist, int, __int32)
|
||
sub_AEF6 proc far
|
||
|
||
var_14 = byte ptr -14h
|
||
var_13 = byte ptr -13h
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 6
|
||
arg_2 = word ptr 8
|
||
_arglist = byte ptr 0Ah
|
||
arg_8 = dword ptr 0Eh
|
||
|
||
enter 14h, 0
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_0]
|
||
mov di, [bp+arg_2]
|
||
mov [bp+var_2], 0
|
||
lea ax, [bp+var_14]
|
||
push ss
|
||
push ax
|
||
push ds
|
||
push offset aB@b@b@b@b@b@b@ ; "<22>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@"
|
||
mov cx, 11h
|
||
call SCOPY@
|
||
cmp di, 0F0h
|
||
jnz short loc_AF30
|
||
lea ax, [si-20h]
|
||
mov bx, 20h ; ' '
|
||
cwd
|
||
idiv bx
|
||
add ax, 8281h
|
||
mov [bp+var_2], ax
|
||
jmp loc_B021
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AF30:
|
||
cmp di, 108h
|
||
jnz short loc_AF48
|
||
lea ax, [si-20h]
|
||
mov bx, 20h ; ' '
|
||
cwd
|
||
idiv bx
|
||
add ax, 8293h
|
||
mov [bp+var_2], ax
|
||
jmp loc_B021
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AF48:
|
||
cmp di, 120h
|
||
jnz short loc_AF60
|
||
lea ax, [si-20h]
|
||
mov bx, 20h ; ' '
|
||
cwd
|
||
idiv bx
|
||
add ax, 8260h
|
||
mov [bp+var_2], ax
|
||
jmp loc_B021
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AF60:
|
||
cmp di, 138h
|
||
jnz short loc_AF78
|
||
lea ax, [si-20h]
|
||
mov bx, 20h ; ' '
|
||
cwd
|
||
idiv bx
|
||
add ax, 8272h
|
||
mov [bp+var_2], ax
|
||
jmp loc_B021
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AF78:
|
||
cmp di, 150h
|
||
jnz short loc_AF95
|
||
lea ax, [si-20h]
|
||
mov bx, 20h ; ' '
|
||
cwd
|
||
idiv bx
|
||
add ax, ax
|
||
mov bx, ax
|
||
mov ax, [bx+108h]
|
||
mov [bp+var_2], ax
|
||
jmp loc_B021
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AF95:
|
||
cmp di, 168h
|
||
jnz short loc_AFB2
|
||
cmp si, 160h
|
||
jge short loc_AFB2
|
||
lea ax, [si-20h]
|
||
mov bx, 20h ; ' '
|
||
cwd
|
||
idiv bx
|
||
add ax, 824Fh
|
||
mov [bp+var_2], ax
|
||
jmp short loc_B021
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AFB2:
|
||
cmp di, 168h
|
||
jnz short loc_AFC5
|
||
cmp si, 160h
|
||
jnz short loc_AFC5
|
||
mov [bp+var_2], 8140h
|
||
jmp short loc_B021
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AFC5:
|
||
cmp di, 168h
|
||
jnz short loc_AFEA
|
||
cmp si, 200h
|
||
jnz short loc_AFEA
|
||
les bx, [bp+arg_8]
|
||
dec word ptr es:[bx]
|
||
les bx, [bp+arg_8]
|
||
cmp word ptr es:[bx], 0
|
||
jge short loc_AFE8
|
||
les bx, [bp+arg_8]
|
||
mov word ptr es:[bx], 0
|
||
|
||
loc_AFE8:
|
||
jmp short loc_B021
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AFEA:
|
||
cmp di, 168h
|
||
jnz short loc_B00F
|
||
cmp si, 220h
|
||
jnz short loc_B00F
|
||
les bx, [bp+arg_8]
|
||
inc word ptr es:[bx]
|
||
les bx, [bp+arg_8]
|
||
cmp word ptr es:[bx], 7
|
||
jle short loc_B00D
|
||
les bx, [bp+arg_8]
|
||
mov word ptr es:[bx], 7
|
||
|
||
loc_B00D:
|
||
jmp short loc_B021
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B00F:
|
||
cmp di, 168h
|
||
jnz short loc_B021
|
||
cmp si, 240h
|
||
jnz short loc_B021
|
||
mov ax, 1
|
||
jmp loc_B0D5
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B021:
|
||
cmp [bp+var_2], 0
|
||
jz short loc_B063
|
||
mov ax, [bp+var_2]
|
||
sar ax, 8
|
||
les bx, [bp+arg_8]
|
||
mov dx, es:[bx]
|
||
add dx, dx
|
||
les bx, dword ptr [bp+_arglist]
|
||
add bx, dx
|
||
mov es:[bx], al
|
||
les bx, [bp+arg_8]
|
||
mov bx, es:[bx]
|
||
add bx, bx
|
||
mov es, word ptr [bp+0Ch]
|
||
add bx, word ptr [bp+_arglist]
|
||
mov al, byte ptr [bp+var_2]
|
||
and al, 0FFh
|
||
mov es:[bx+1], al
|
||
les bx, [bp+arg_8]
|
||
cmp word ptr es:[bx], 7
|
||
jge short loc_B063
|
||
les bx, [bp+arg_8]
|
||
inc word ptr es:[bx]
|
||
|
||
loc_B063:
|
||
call _egc_copy_rect_1_to_0 c, _name_entered_left, _name_entered_top, 128, 16
|
||
push word ptr [bp+0Ch]
|
||
push word ptr [bp+_arglist] ; arglist
|
||
push ds
|
||
push offset aS ; "%s"
|
||
push 23h ; '#' ; int
|
||
push _name_entered_top ; int
|
||
push _name_entered_left ; int
|
||
call _graph_printf_fx
|
||
add sp, 0Eh
|
||
les bx, [bp+arg_8]
|
||
mov bx, es:[bx]
|
||
add bx, bx
|
||
lea ax, [bp+var_14]
|
||
add bx, ax
|
||
mov byte ptr ss:[bx], 81h
|
||
les bx, [bp+arg_8]
|
||
mov bx, es:[bx]
|
||
add bx, bx
|
||
lea ax, [bp+var_13]
|
||
add bx, ax
|
||
mov byte ptr ss:[bx], 51h ; 'Q'
|
||
push ss
|
||
lea ax, [bp+var_14]
|
||
push ax ; arglist
|
||
push ds
|
||
push offset aS_0 ; "%s"
|
||
push 3 ; int
|
||
push _name_entered_top ; int
|
||
push _name_entered_left ; int
|
||
call _graph_printf_fx
|
||
add sp, 0Eh
|
||
xor ax, ax
|
||
jmp short $+2
|
||
|
||
loc_B0D5:
|
||
pop di
|
||
pop si
|
||
leave
|
||
retf
|
||
sub_AEF6 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
; int __cdecl __far sub_B0D9(__int32, __int32, char arglist, int, __int32)
|
||
sub_B0D9 proc far
|
||
|
||
arg_0 = dword ptr 6
|
||
arg_4 = dword ptr 0Ah
|
||
_arglist = byte ptr 0Eh
|
||
arg_A = word ptr 10h
|
||
arg_C = dword ptr 12h
|
||
|
||
push bp
|
||
mov bp, sp
|
||
cmp byte_12BA2, 1
|
||
jz short loc_B0E6
|
||
jmp loc_B18F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B0E6:
|
||
push 0
|
||
les bx, [bp+arg_4]
|
||
push word ptr es:[bx]
|
||
les bx, [bp+arg_0]
|
||
push word ptr es:[bx]
|
||
call sub_AD86
|
||
add sp, 6
|
||
les bx, [bp+arg_4]
|
||
sub word ptr es:[bx], 18h
|
||
les bx, [bp+arg_4]
|
||
cmp word ptr es:[bx], 0F0h
|
||
jge short loc_B114
|
||
les bx, [bp+arg_4]
|
||
mov word ptr es:[bx], 168h
|
||
|
||
loc_B114:
|
||
les bx, [bp+arg_4]
|
||
cmp word ptr es:[bx], 108h
|
||
jnz short loc_B130
|
||
les bx, [bp+arg_0]
|
||
cmp word ptr es:[bx], 120h
|
||
jl short loc_B130
|
||
les bx, [bp+arg_4]
|
||
mov word ptr es:[bx], 0F0h
|
||
|
||
loc_B130:
|
||
les bx, [bp+arg_4]
|
||
cmp word ptr es:[bx], 138h
|
||
jnz short loc_B14C
|
||
les bx, [bp+arg_0]
|
||
cmp word ptr es:[bx], 120h
|
||
jl short loc_B14C
|
||
les bx, [bp+arg_4]
|
||
mov word ptr es:[bx], 120h
|
||
|
||
loc_B14C:
|
||
les bx, [bp+arg_4]
|
||
cmp word ptr es:[bx], 168h
|
||
jnz short loc_B172
|
||
les bx, [bp+arg_0]
|
||
cmp word ptr es:[bx], 160h
|
||
jle short loc_B172
|
||
les bx, [bp+arg_0]
|
||
cmp word ptr es:[bx], 200h
|
||
jge short loc_B172
|
||
les bx, [bp+arg_4]
|
||
mov word ptr es:[bx], 150h
|
||
|
||
loc_B172:
|
||
push 1
|
||
les bx, [bp+arg_4]
|
||
push word ptr es:[bx]
|
||
les bx, [bp+arg_0]
|
||
push word ptr es:[bx]
|
||
call sub_AD86
|
||
add sp, 6
|
||
mov byte_12BA2, 0
|
||
jmp loc_B408
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B18F:
|
||
cmp byte_12BA3, 1
|
||
jz short loc_B199
|
||
jmp loc_B242
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B199:
|
||
push 0
|
||
les bx, [bp+arg_4]
|
||
push word ptr es:[bx]
|
||
les bx, [bp+arg_0]
|
||
push word ptr es:[bx]
|
||
call sub_AD86
|
||
add sp, 6
|
||
les bx, [bp+arg_4]
|
||
add word ptr es:[bx], 18h
|
||
les bx, [bp+arg_4]
|
||
cmp word ptr es:[bx], 168h
|
||
jle short loc_B1C7
|
||
les bx, [bp+arg_4]
|
||
mov word ptr es:[bx], 0F0h
|
||
|
||
loc_B1C7:
|
||
les bx, [bp+arg_4]
|
||
cmp word ptr es:[bx], 108h
|
||
jnz short loc_B1E3
|
||
les bx, [bp+arg_0]
|
||
cmp word ptr es:[bx], 120h
|
||
jl short loc_B1E3
|
||
les bx, [bp+arg_4]
|
||
mov word ptr es:[bx], 120h
|
||
|
||
loc_B1E3:
|
||
les bx, [bp+arg_4]
|
||
cmp word ptr es:[bx], 138h
|
||
jnz short loc_B1FF
|
||
les bx, [bp+arg_0]
|
||
cmp word ptr es:[bx], 120h
|
||
jl short loc_B1FF
|
||
les bx, [bp+arg_4]
|
||
mov word ptr es:[bx], 150h
|
||
|
||
loc_B1FF:
|
||
les bx, [bp+arg_4]
|
||
cmp word ptr es:[bx], 168h
|
||
jnz short loc_B225
|
||
les bx, [bp+arg_0]
|
||
cmp word ptr es:[bx], 160h
|
||
jle short loc_B225
|
||
les bx, [bp+arg_0]
|
||
cmp word ptr es:[bx], 200h
|
||
jge short loc_B225
|
||
les bx, [bp+arg_4]
|
||
mov word ptr es:[bx], 0F0h
|
||
|
||
loc_B225:
|
||
push 1
|
||
les bx, [bp+arg_4]
|
||
push word ptr es:[bx]
|
||
les bx, [bp+arg_0]
|
||
push word ptr es:[bx]
|
||
call sub_AD86
|
||
add sp, 6
|
||
mov byte_12BA3, 0
|
||
jmp loc_B408
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B242:
|
||
cmp byte_12B99, 2
|
||
jz short loc_B24C
|
||
jmp loc_B2F4
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B24C:
|
||
push 0
|
||
les bx, [bp+arg_4]
|
||
push word ptr es:[bx]
|
||
les bx, [bp+arg_0]
|
||
push word ptr es:[bx]
|
||
call sub_AD86
|
||
add sp, 6
|
||
les bx, [bp+arg_0]
|
||
sub word ptr es:[bx], 20h ; ' '
|
||
les bx, [bp+arg_0]
|
||
cmp word ptr es:[bx], 20h ; ' '
|
||
jge short loc_B279
|
||
les bx, [bp+arg_0]
|
||
mov word ptr es:[bx], 240h
|
||
|
||
loc_B279:
|
||
les bx, [bp+arg_4]
|
||
cmp word ptr es:[bx], 108h
|
||
jnz short loc_B295
|
||
les bx, [bp+arg_0]
|
||
cmp word ptr es:[bx], 120h
|
||
jl short loc_B295
|
||
les bx, [bp+arg_0]
|
||
mov word ptr es:[bx], 100h
|
||
|
||
loc_B295:
|
||
les bx, [bp+arg_4]
|
||
cmp word ptr es:[bx], 138h
|
||
jnz short loc_B2B1
|
||
les bx, [bp+arg_0]
|
||
cmp word ptr es:[bx], 120h
|
||
jl short loc_B2B1
|
||
les bx, [bp+arg_0]
|
||
mov word ptr es:[bx], 100h
|
||
|
||
loc_B2B1:
|
||
les bx, [bp+arg_4]
|
||
cmp word ptr es:[bx], 168h
|
||
jnz short loc_B2D7
|
||
les bx, [bp+arg_0]
|
||
cmp word ptr es:[bx], 160h
|
||
jle short loc_B2D7
|
||
les bx, [bp+arg_0]
|
||
cmp word ptr es:[bx], 200h
|
||
jge short loc_B2D7
|
||
les bx, [bp+arg_0]
|
||
mov word ptr es:[bx], 160h
|
||
|
||
loc_B2D7:
|
||
push 1
|
||
les bx, [bp+arg_4]
|
||
push word ptr es:[bx]
|
||
les bx, [bp+arg_0]
|
||
push word ptr es:[bx]
|
||
call sub_AD86
|
||
add sp, 6
|
||
mov byte_12B99, 0
|
||
jmp loc_B408
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B2F4:
|
||
cmp byte_12B99, 1
|
||
jz short loc_B2FE
|
||
jmp loc_B3A6
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B2FE:
|
||
push 0
|
||
les bx, [bp+arg_4]
|
||
push word ptr es:[bx]
|
||
les bx, [bp+arg_0]
|
||
push word ptr es:[bx]
|
||
call sub_AD86
|
||
add sp, 6
|
||
les bx, [bp+arg_0]
|
||
add word ptr es:[bx], 20h ; ' '
|
||
les bx, [bp+arg_0]
|
||
cmp word ptr es:[bx], 240h
|
||
jle short loc_B32C
|
||
les bx, [bp+arg_0]
|
||
mov word ptr es:[bx], 20h ; ' '
|
||
|
||
loc_B32C:
|
||
les bx, [bp+arg_4]
|
||
cmp word ptr es:[bx], 108h
|
||
jnz short loc_B348
|
||
les bx, [bp+arg_0]
|
||
cmp word ptr es:[bx], 120h
|
||
jl short loc_B348
|
||
les bx, [bp+arg_0]
|
||
mov word ptr es:[bx], 20h ; ' '
|
||
|
||
loc_B348:
|
||
les bx, [bp+arg_4]
|
||
cmp word ptr es:[bx], 138h
|
||
jnz short loc_B364
|
||
les bx, [bp+arg_0]
|
||
cmp word ptr es:[bx], 120h
|
||
jl short loc_B364
|
||
les bx, [bp+arg_0]
|
||
mov word ptr es:[bx], 20h ; ' '
|
||
|
||
loc_B364:
|
||
les bx, [bp+arg_4]
|
||
cmp word ptr es:[bx], 168h
|
||
jnz short loc_B38A
|
||
les bx, [bp+arg_0]
|
||
cmp word ptr es:[bx], 160h
|
||
jle short loc_B38A
|
||
les bx, [bp+arg_0]
|
||
cmp word ptr es:[bx], 200h
|
||
jge short loc_B38A
|
||
les bx, [bp+arg_0]
|
||
mov word ptr es:[bx], 200h
|
||
|
||
loc_B38A:
|
||
push 1
|
||
les bx, [bp+arg_4]
|
||
push word ptr es:[bx]
|
||
les bx, [bp+arg_0]
|
||
push word ptr es:[bx]
|
||
call sub_AD86
|
||
add sp, 6
|
||
mov byte_12B99, 0
|
||
jmp short loc_B408
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B3A6:
|
||
cmp byte_12B9C, 1
|
||
jnz short loc_B3DC
|
||
push word ptr [bp+arg_C+2]
|
||
push word ptr [bp+arg_C] ; __int32
|
||
push [bp+arg_A] ; int
|
||
push word ptr [bp+_arglist] ; arglist
|
||
les bx, [bp+arg_4]
|
||
push word ptr es:[bx] ; int
|
||
les bx, [bp+arg_0]
|
||
push word ptr es:[bx] ; int
|
||
call sub_AEF6
|
||
add sp, 0Ch
|
||
or ax, ax
|
||
jz short loc_B3D5
|
||
mov ax, 1
|
||
pop bp
|
||
retf
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B3D5:
|
||
mov byte_12B9C, 0
|
||
jmp short loc_B408
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B3DC:
|
||
cmp byte_12BA1, 1
|
||
jnz short loc_B403
|
||
push word ptr [bp+arg_C+2]
|
||
push word ptr [bp+arg_C] ; __int32
|
||
push [bp+arg_A] ; int
|
||
push word ptr [bp+_arglist] ; arglist
|
||
push 168h ; int
|
||
push 200h ; int
|
||
call sub_AEF6
|
||
add sp, 0Ch
|
||
mov byte_12BA1, 0
|
||
jmp short loc_B408
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B403:
|
||
mov ax, 2
|
||
pop bp
|
||
retf
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B408:
|
||
xor ax, ax
|
||
pop bp
|
||
retf
|
||
sub_B0D9 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
pop bp
|
||
retf
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B40E proc far
|
||
|
||
dest = byte ptr -1Ch
|
||
var_C = byte ptr -0Ch
|
||
stream = dword ptr -4
|
||
|
||
enter 1Ch, 0
|
||
push si
|
||
lea ax, [bp+var_C]
|
||
push ss
|
||
push ax
|
||
push ds
|
||
push offset aHiscore_0 ; "HISCORE"
|
||
mov cx, 8
|
||
call SCOPY@
|
||
mov al, _rank
|
||
mov ah, 0
|
||
mov bx, ax
|
||
cmp bx, RANK_LUNATIC
|
||
ja short loc_B45C
|
||
add bx, bx
|
||
jmp cs:off_B533[bx]
|
||
|
||
loc_B437:
|
||
push ds
|
||
push offset aReyhies_dat_1 ; "REYHIES.DAT"
|
||
jmp short loc_B44D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B43D:
|
||
push ds
|
||
push offset aReyhino_dat_1 ; "REYHINO.DAT"
|
||
jmp short loc_B44D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B443:
|
||
push ds
|
||
push offset aReyhiha_dat_1 ; "REYHIHA.DAT"
|
||
jmp short loc_B44D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B449:
|
||
push ds
|
||
push offset aReyhilu_dat_1 ; "REYHILU.DAT"
|
||
|
||
loc_B44D:
|
||
push ss
|
||
lea ax, [bp+dest]
|
||
push ax ; dest
|
||
call _strcpy
|
||
add sp, 8
|
||
jmp short $+2
|
||
|
||
loc_B45C:
|
||
push ds
|
||
push offset aWb_0 ; "wb"
|
||
push ss
|
||
lea ax, [bp+dest]
|
||
push ax ; path
|
||
call _fopen
|
||
add sp, 8
|
||
mov word ptr [bp+stream+2], dx
|
||
mov word ptr [bp+stream], ax
|
||
or ax, dx
|
||
jnz short loc_B47A
|
||
jmp loc_B530
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B47A:
|
||
push 7
|
||
push ss
|
||
lea ax, [bp+var_C]
|
||
push ax
|
||
les bx, [bp+stream]
|
||
mov al, es:[bx+4]
|
||
cbw
|
||
push ax
|
||
call _write
|
||
add sp, 8
|
||
xor si, si
|
||
jmp short loc_B4AF
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B496:
|
||
les bx, _scoredat_names
|
||
add bx, si
|
||
mov al, es:[bx]
|
||
call fuuin_02:_scoredat_name_byte_encode pascal, ax
|
||
pop cx
|
||
les bx, _scoredat_names
|
||
add bx, si
|
||
mov es:[bx], al
|
||
inc si
|
||
|
||
loc_B4AF:
|
||
cmp si, size scoredat_names_t
|
||
jl short loc_B496
|
||
push size scoredat_names_t
|
||
push word ptr _scoredat_names+2
|
||
push word ptr _scoredat_names
|
||
les bx, [bp+stream]
|
||
mov al, es:[bx+4]
|
||
cbw
|
||
push ax
|
||
call _write
|
||
add sp, 8
|
||
push size scoredat_points_t
|
||
push word ptr _scoredat_points+2
|
||
push word ptr _scoredat_points
|
||
les bx, [bp+stream]
|
||
mov al, es:[bx+4]
|
||
cbw
|
||
push ax
|
||
call _write
|
||
add sp, 8
|
||
push size scoredat_stages_t
|
||
push word ptr _scoredat_stages+2
|
||
push word ptr _scoredat_stages
|
||
les bx, [bp+stream]
|
||
mov al, es:[bx+4]
|
||
cbw
|
||
push ax
|
||
call _write
|
||
add sp, 8
|
||
push size scoredat_routes_t
|
||
push word ptr _scoredat_routes+2
|
||
push word ptr _scoredat_routes
|
||
les bx, [bp+stream]
|
||
mov al, es:[bx+4]
|
||
cbw
|
||
push ax
|
||
call _write
|
||
add sp, 8
|
||
push word ptr [bp+stream+2]
|
||
push word ptr [bp+stream] ; stream
|
||
call _fclose
|
||
add sp, 4
|
||
|
||
loc_B530:
|
||
pop si
|
||
leave
|
||
retf
|
||
sub_B40E endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
off_B533 dw offset loc_B437
|
||
dw offset loc_B43D
|
||
dw offset loc_B443
|
||
dw offset loc_B449
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B53B proc far
|
||
|
||
_arglist = byte ptr -18h
|
||
var_8 = byte ptr -8
|
||
var_6 = dword ptr -6
|
||
arg_0 = word ptr 6
|
||
|
||
enter 18h, 0
|
||
push si
|
||
push di
|
||
mov word ptr [bp+var_6], 0
|
||
mov word ptr [bp-2], 20h ; ' '
|
||
mov word ptr [bp+var_6+2], 0F0h
|
||
xor si, si
|
||
jmp short loc_B559
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B554:
|
||
mov [bp+si+_arglist], 20h ; ' '
|
||
inc si
|
||
|
||
loc_B559:
|
||
cmp si, 10h
|
||
jl short loc_B554
|
||
mov [bp+var_8], 0
|
||
call fuuin_02:sub_A44F
|
||
|
||
loc_B566:
|
||
push 0
|
||
call fuuin_02:sub_A265
|
||
pop cx
|
||
push ss
|
||
lea ax, [bp+var_6]
|
||
push ax ; __int32
|
||
push ss ; int
|
||
lea ax, [bp+_arglist]
|
||
push ax ; arglist
|
||
push ss
|
||
lea ax, [bp+var_6+2]
|
||
push ax ; __int32
|
||
push ss
|
||
lea ax, [bp-2]
|
||
push ax ; __int32
|
||
call sub_B0D9
|
||
add sp, 10h
|
||
mov di, ax
|
||
cmp di, 1
|
||
jnz short loc_B591
|
||
jmp short loc_B5AB
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B591:
|
||
cmp byte_12BA0, 0
|
||
jz short loc_B59A
|
||
jmp short loc_B5AB
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B59A:
|
||
cmp di, 2
|
||
jnz short loc_B5A1
|
||
jmp short loc_B5A9
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B5A1:
|
||
call _frame_delay stdcall, 4
|
||
pop cx
|
||
|
||
loc_B5A9:
|
||
jmp short loc_B566
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B5AB:
|
||
mov byte_12BA0, 0
|
||
xor si, si
|
||
jmp short loc_B5CB
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B5B4:
|
||
mov al, [bp+si+_arglist]
|
||
mov bx, [bp+arg_0]
|
||
shl bx, 4
|
||
add bx, si
|
||
mov es, word ptr _scoredat_names+2
|
||
add bx, word ptr _scoredat_names
|
||
mov es:[bx], al
|
||
inc si
|
||
|
||
loc_B5CB:
|
||
cmp si, SCOREDAT_NAME_BYTES
|
||
jl short loc_B5B4
|
||
call sub_B40E
|
||
pop di
|
||
pop si
|
||
leave
|
||
retf
|
||
sub_B53B endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B5D8 proc far
|
||
|
||
var_D2 = byte ptr -0D2h
|
||
var_D0 = byte ptr -0D0h
|
||
var_C0 = byte ptr -0C0h
|
||
var_C = word ptr -0Ch
|
||
var_A = word ptr -0Ah
|
||
var_8 = word ptr -8
|
||
var_6 = word ptr -6
|
||
@@place = word ptr -4
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 6
|
||
arg_2 = word ptr 8
|
||
arg_4 = word ptr 0Ah
|
||
@@route = dword ptr 0Ch
|
||
|
||
enter 0D0h, 0
|
||
push si
|
||
push di
|
||
mov di, [bp+arg_4]
|
||
lea ax, [bp+var_D0]
|
||
push ss
|
||
push ax
|
||
push ds
|
||
push offset off_12C1E
|
||
mov cx, 10h
|
||
call SCOPY@
|
||
push 1
|
||
call _graph_accesspage_func
|
||
pop cx
|
||
mov al, _rank
|
||
mov ah, 0
|
||
shl ax, 2
|
||
lea dx, [bp+var_D0]
|
||
add ax, dx
|
||
mov bx, ax
|
||
push word ptr ss:[bx+2]
|
||
push word ptr ss:[bx] ; arglist
|
||
push ds
|
||
push offset aUmx ; "<22><><EFBFBD><EFBFBD><EFBFBD>ˈٓ`<60>@<40><><EFBFBD>҂̋L<CC8B>^<5E>@%s"
|
||
push 227h ; int
|
||
push 0 ; int
|
||
push 0 ; int
|
||
call _graph_printf_fx
|
||
add sp, 0Eh
|
||
push 0
|
||
call _graph_accesspage_func
|
||
pop cx
|
||
cmp di, 1Eh
|
||
jge short loc_B666
|
||
push 10h
|
||
push 120h
|
||
push 180h
|
||
push 0
|
||
push 0
|
||
push 30h ; '0'
|
||
call _graph_slow_2xscale_rect_1_to_0
|
||
add sp, 0Ch
|
||
call _graph_move_byterect_interpage c, 0, 384, 288, RES_Y, 0, 384, 0, 1
|
||
jmp short loc_B67B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B666:
|
||
push 10h
|
||
push 120h
|
||
push 0
|
||
push 0
|
||
push 0
|
||
push 30h ; '0'
|
||
call _graph_slow_2xscale_rect_1_to_0
|
||
add sp, 0Ch
|
||
|
||
loc_B67B:
|
||
call fuuin_02:_scoredat_load
|
||
or ax, ax
|
||
jz short loc_B686
|
||
jmp loc_B941
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B686:
|
||
mov [bp+var_2], 0
|
||
mov [bp+@@place], 0
|
||
jmp short loc_B6B2
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B692:
|
||
mov ax, [bp+@@place]
|
||
imul ax, ((SCOREDAT_NAME_KANJI + 1) * word)
|
||
lea dx, [bp+var_C0]
|
||
add ax, dx
|
||
call fuuin_02:_scoredat_name_get c, [bp+@@place], ax, ss
|
||
add [bp+@@place], 1
|
||
adc [bp+var_2], 0
|
||
|
||
loc_B6B2:
|
||
cmp [bp+var_2], 0
|
||
jl short loc_B692
|
||
jnz short loc_B6C0
|
||
cmp [bp+@@place], SCOREDAT_PLACES
|
||
jb short loc_B692
|
||
|
||
loc_B6C0:
|
||
mov [bp+var_2], 0
|
||
mov [bp+@@place], 0
|
||
jmp short loc_B6F5
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B6CC:
|
||
mov ax, [bp+@@place]
|
||
shl ax, 2
|
||
les bx, _scoredat_points
|
||
add bx, ax
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
cmp dx, [bp+arg_2]
|
||
jg short loc_B6ED
|
||
jnz short loc_B6EB
|
||
cmp ax, [bp+arg_0]
|
||
ja short loc_B6ED
|
||
|
||
loc_B6EB:
|
||
jmp short loc_B703
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B6ED:
|
||
add [bp+@@place], 1
|
||
adc [bp+var_2], 0
|
||
|
||
loc_B6F5:
|
||
cmp [bp+var_2], 0
|
||
jl short loc_B6CC
|
||
jnz short loc_B703
|
||
cmp [bp+@@place], SCOREDAT_PLACES
|
||
jb short loc_B6CC
|
||
|
||
loc_B703:
|
||
call fuuin_02:sub_A44F
|
||
cmp [bp+var_2], 0
|
||
jle short loc_B710
|
||
jmp loc_B8BD
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B710:
|
||
jl short loc_B71B
|
||
cmp [bp+@@place], SCOREDAT_PLACES
|
||
jb short loc_B71B
|
||
jmp loc_B8BD
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B71B:
|
||
mov [bp+var_6], 0
|
||
mov [bp+var_8], (SCOREDAT_PLACES - 1)
|
||
jmp loc_B7D9
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B728:
|
||
push ss
|
||
mov ax, [bp+var_8]
|
||
imul ax, ((SCOREDAT_NAME_KANJI + 1) * word)
|
||
lea dx, [bp+var_D2]
|
||
add ax, dx
|
||
push ax ; src
|
||
mov ax, [bp+var_8]
|
||
imul ax, ((SCOREDAT_NAME_KANJI + 1) * word)
|
||
lea dx, [bp+var_C0]
|
||
add ax, dx
|
||
push ss
|
||
push ax ; dest
|
||
call _strcpy
|
||
add sp, 8
|
||
mov ax, [bp+var_8]
|
||
dec ax
|
||
shl ax, 2
|
||
les bx, _scoredat_points
|
||
add bx, ax
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
mov bx, [bp+var_8]
|
||
shl bx, 2
|
||
les si, _scoredat_points
|
||
add si, bx
|
||
mov es:[si+2], dx
|
||
mov es:[si], ax
|
||
mov ax, [bp+var_8]
|
||
dec ax
|
||
add ax, ax
|
||
les bx, _scoredat_stages
|
||
add bx, ax
|
||
mov ax, es:[bx]
|
||
mov dx, [bp+var_8]
|
||
add dx, dx
|
||
les bx, _scoredat_stages
|
||
add bx, dx
|
||
mov es:[bx], ax
|
||
mov bx, [bp+var_8]
|
||
add bx, bx
|
||
mov es, word ptr _scoredat_routes+2
|
||
add bx, word ptr _scoredat_routes
|
||
mov al, es:[bx-2]
|
||
mov dx, [bp+var_8]
|
||
add dx, dx
|
||
les bx, _scoredat_routes
|
||
add bx, dx
|
||
mov es:[bx], al
|
||
mov bx, [bp+var_8]
|
||
add bx, bx
|
||
mov es, word ptr _scoredat_routes+2
|
||
add bx, word ptr _scoredat_routes
|
||
mov al, es:[bx-1]
|
||
mov bx, [bp+var_8]
|
||
add bx, bx
|
||
mov es, word ptr _scoredat_routes+2
|
||
add bx, word ptr _scoredat_routes
|
||
mov es:[bx+1], al
|
||
sub [bp+var_8], 1
|
||
sbb [bp+var_6], 0
|
||
|
||
loc_B7D9:
|
||
mov dx, [bp+var_6]
|
||
mov ax, [bp+var_8]
|
||
cmp dx, [bp+var_2]
|
||
jle short loc_B7E7
|
||
jmp loc_B728
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B7E7:
|
||
jnz short loc_B7F1
|
||
cmp ax, [bp+@@place]
|
||
jbe short loc_B7F1
|
||
jmp loc_B728
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B7F1:
|
||
mov [bp+var_A], 0
|
||
mov [bp+var_C], (size scoredat_names_t - 1)
|
||
jmp short loc_B81E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B7FD:
|
||
mov bx, [bp+var_C]
|
||
mov es, word ptr _scoredat_names+2
|
||
add bx, word ptr _scoredat_names
|
||
mov al, es:[bx-SCOREDAT_NAME_BYTES]
|
||
les bx, _scoredat_names
|
||
add bx, [bp+var_C]
|
||
mov es:[bx], al
|
||
sub [bp+var_C], 1
|
||
sbb [bp+var_A], 0
|
||
|
||
loc_B81E:
|
||
mov dx, [bp+var_2]
|
||
mov ax, [bp+@@place]
|
||
mov cl, 4
|
||
call far ptr LXLSH@
|
||
add ax, 10h
|
||
adc dx, 0
|
||
cmp dx, [bp+var_A]
|
||
jl short loc_B7FD
|
||
jg short loc_B83D
|
||
cmp ax, [bp+var_C]
|
||
jbe short loc_B7FD
|
||
|
||
loc_B83D:
|
||
push ss
|
||
lea ax, [bp+var_C0]
|
||
push ax
|
||
push word ptr [bp+@@route+2]
|
||
push word ptr [bp+@@route]
|
||
push di
|
||
push [bp+arg_2]
|
||
push [bp+arg_0]
|
||
push [bp+@@place]
|
||
call sub_A9FF
|
||
add sp, 10h
|
||
call sub_A801
|
||
mov ax, [bp+@@place]
|
||
shl ax, 2
|
||
les bx, _scoredat_points
|
||
add bx, ax
|
||
mov dx, [bp+arg_2]
|
||
mov ax, [bp+arg_0]
|
||
mov es:[bx+2], dx
|
||
mov es:[bx], ax
|
||
mov ax, [bp+@@place]
|
||
add ax, ax
|
||
les bx, _scoredat_stages
|
||
add bx, ax
|
||
mov es:[bx], di
|
||
mov ax, [bp+@@place]
|
||
add ax, ax
|
||
les bx, _scoredat_routes
|
||
add bx, ax
|
||
push es
|
||
les si, [bp+@@route]
|
||
mov al, es:[si]
|
||
pop es
|
||
mov es:[bx], al
|
||
les bx, [bp+@@route]
|
||
mov al, es:[bx+1]
|
||
mov bx, [bp+@@place]
|
||
add bx, bx
|
||
mov es, word ptr _scoredat_routes+2
|
||
add bx, word ptr _scoredat_routes
|
||
mov es:[bx+1], al
|
||
push [bp+@@place]
|
||
call sub_B53B
|
||
pop cx
|
||
jmp short loc_B8FC
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B8BD:
|
||
push ss
|
||
lea ax, [bp+var_C0]
|
||
push ax
|
||
push word ptr [bp+@@route+2]
|
||
push word ptr [bp+@@route]
|
||
push di
|
||
push [bp+arg_2]
|
||
push [bp+arg_0]
|
||
push 1Eh
|
||
call sub_A9FF
|
||
add sp, 10h
|
||
mov byte_12BA0, 1
|
||
mov byte_12B9C, 1
|
||
|
||
loc_B8E3:
|
||
push 0
|
||
call fuuin_02:sub_A265
|
||
pop cx
|
||
cmp byte_12BA0, 0
|
||
jz short loc_B8F8
|
||
cmp byte_12B9C, 0
|
||
jnz short loc_B8FA
|
||
|
||
loc_B8F8:
|
||
jmp short loc_B8FC
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B8FA:
|
||
jmp short loc_B8E3
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B8FC:
|
||
mov ax, seg fuuin_08_TEXT
|
||
mov es, ax
|
||
assume es:fuuin_08_TEXT
|
||
call @$bdla$qnv c, word ptr _scoredat_names, word ptr _scoredat_names+2
|
||
call @$bdla$qnv c, word ptr _scoredat_stages, word ptr _scoredat_stages+2
|
||
call @$bdla$qnv c, word ptr _scoredat_routes, word ptr _scoredat_routes+2
|
||
call @$bdla$qnv c, word ptr _scoredat_points, word ptr _scoredat_points+2
|
||
|
||
loc_B941:
|
||
pop di
|
||
pop si
|
||
leave
|
||
retf
|
||
sub_B5D8 endp
|
||
|
||
fuuin_02__TEXT ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
fuuin_03_TEXT segment byte public 'CODE' use16
|
||
assume cs:fuuin_03_TEXT
|
||
;org 5
|
||
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_B945 proc far
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push ds
|
||
push offset aIris_mdt ; "iris.mdt"
|
||
call _mdrv2_bgm_load
|
||
add sp, 4
|
||
call _mdrv2_bgm_play
|
||
call grp_palette_settone pascal, 0
|
||
call grp_put_palette_show_1 pascal, ds, offset aEd1a_grp ; "ED1A.grp"
|
||
push 0
|
||
call sub_C78B
|
||
pop cx
|
||
call grp_palette_black_in pascal, 6
|
||
call _frame_delay stdcall, 100
|
||
pop cx
|
||
call grp_palette_white_out pascal, 5
|
||
call _frame_delay stdcall, 100
|
||
pop cx
|
||
push 1
|
||
call sub_C78B
|
||
pop cx
|
||
call grp_palette_settone pascal, 100
|
||
call _frame_delay stdcall, 13
|
||
pop cx
|
||
push 2
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 13
|
||
pop cx
|
||
push 3
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 50
|
||
pop cx
|
||
call grp_put_palette_show_1 pascal, ds, offset aEd1b_grp ; "ED1B.grp"
|
||
push 0
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 10
|
||
pop cx
|
||
push 1
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 10
|
||
pop cx
|
||
push 2
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 100
|
||
pop cx
|
||
call grp_palette_black_out pascal, 6
|
||
push 0
|
||
call _graph_accesspage_func
|
||
pop cx
|
||
call _z_graph_clear
|
||
call grp_palette_settone pascal, 100
|
||
call grp_put_palette_show_1 pascal, ds, offset aEd1c_grp ; "ED1C.GRP"
|
||
xor si, si
|
||
jmp short loc_BA49
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BA28:
|
||
push 0
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 20
|
||
pop cx
|
||
push 1
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 20
|
||
pop cx
|
||
inc si
|
||
|
||
loc_BA49:
|
||
cmp si, 6
|
||
jl short loc_BA28
|
||
push 0
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 40
|
||
pop cx
|
||
push 2
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 40
|
||
pop cx
|
||
call grp_put_palette_show_1 pascal, ds, offset aEd1d_grp ; "ED1D.GRP"
|
||
push 3
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 70
|
||
pop cx
|
||
xor si, si
|
||
jmp loc_BB16
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BA8C:
|
||
or si, si
|
||
jnz short loc_BA98
|
||
push 0
|
||
call sub_C78B
|
||
pop cx
|
||
|
||
loc_BA98:
|
||
cmp si, 14h
|
||
jnz short loc_BAA5
|
||
push 1
|
||
call sub_C78B
|
||
pop cx
|
||
|
||
loc_BAA5:
|
||
cmp si, 18h
|
||
jnz short loc_BAB2
|
||
push 2
|
||
call sub_C78B
|
||
pop cx
|
||
|
||
loc_BAB2:
|
||
cmp si, 1Ch
|
||
jnz short loc_BABF
|
||
push 0
|
||
call sub_C78B
|
||
pop cx
|
||
|
||
loc_BABF:
|
||
cmp si, 32h ; '2'
|
||
jnz short loc_BACC
|
||
push 1
|
||
call sub_C78B
|
||
pop cx
|
||
|
||
loc_BACC:
|
||
cmp si, 36h ; '6'
|
||
jnz short loc_BAD9
|
||
push 2
|
||
call sub_C78B
|
||
pop cx
|
||
|
||
loc_BAD9:
|
||
cmp si, 3Ah ; ':'
|
||
jnz short loc_BAE6
|
||
push 0
|
||
call sub_C78B
|
||
pop cx
|
||
|
||
loc_BAE6:
|
||
cmp si, 5Ah ; 'Z'
|
||
jnz short loc_BAF3
|
||
push 1
|
||
call sub_C78B
|
||
pop cx
|
||
|
||
loc_BAF3:
|
||
cmp si, 5Eh ; '^'
|
||
jnz short loc_BB00
|
||
push 2
|
||
call sub_C78B
|
||
pop cx
|
||
|
||
loc_BB00:
|
||
cmp si, 62h ; 'b'
|
||
jnz short loc_BB0D
|
||
push 0
|
||
call sub_C78B
|
||
pop cx
|
||
|
||
loc_BB0D:
|
||
call _frame_delay stdcall, 2
|
||
pop cx
|
||
inc si
|
||
|
||
loc_BB16:
|
||
cmp si, 64h ; 'd'
|
||
jge short loc_BB1E
|
||
jmp loc_BA8C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BB1E:
|
||
push 3
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 60
|
||
pop cx
|
||
push 0
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 20
|
||
pop cx
|
||
push 3
|
||
call sub_C78B
|
||
pop cx
|
||
call grp_palette_settone pascal, 105
|
||
call grp_put_palette_show_1 pascal, ds, offset aEd1e_grp ; "ED1E.GRP"
|
||
push 0
|
||
call sub_C78B
|
||
pop cx
|
||
xor si, si
|
||
jmp short loc_BB79
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BB62:
|
||
mov ax, si
|
||
imul ax, 5
|
||
add ax, 110
|
||
call grp_palette_settone pascal, ax
|
||
call _frame_delay stdcall, 16
|
||
pop cx
|
||
inc si
|
||
|
||
loc_BB79:
|
||
cmp si, 4
|
||
jl short loc_BB62
|
||
xor si, si
|
||
jmp short loc_BBB1
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BB82:
|
||
push 1
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 8
|
||
pop cx
|
||
push 2
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 8
|
||
pop cx
|
||
mov ax, si
|
||
imul ax, 5
|
||
add ax, 130
|
||
call grp_palette_settone pascal, ax
|
||
inc si
|
||
|
||
loc_BBB1:
|
||
cmp si, 0Fh
|
||
jl short loc_BB82
|
||
mov ax, word ptr _continues_total
|
||
or ax, word ptr _continues_total+2
|
||
jnz short loc_BBC7
|
||
call sub_BDBD
|
||
call sub_C03D
|
||
jmp short loc_BBF1
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BBC7:
|
||
call sub_BC7C
|
||
call _mdrv2_bgm_fade_out_nonblock
|
||
call grp_palette_black_out pascal, 10
|
||
call _z_graph_clear
|
||
call _mdrv2_bgm_stop
|
||
push ds
|
||
push offset aSt1_mdt ; "st1.mdt"
|
||
call _mdrv2_bgm_load
|
||
add sp, 4
|
||
call _mdrv2_bgm_play
|
||
|
||
loc_BBF1:
|
||
nopcall sub_C446
|
||
pop si
|
||
pop bp
|
||
retf
|
||
sub_B945 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_BBF9 proc near
|
||
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
xor si, si
|
||
jmp short loc_BC35
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BC01:
|
||
test si, 3
|
||
jnz short loc_BC0B
|
||
push 8
|
||
jmp short loc_BC0D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BC0B:
|
||
push 0
|
||
|
||
loc_BC0D:
|
||
call graph_scrollup
|
||
push 1
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 1
|
||
pop cx
|
||
test si, 1
|
||
jz short loc_BC2D
|
||
push 170
|
||
jmp short loc_BC2F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BC2D:
|
||
push 100
|
||
|
||
loc_BC2F:
|
||
call grp_palette_settone
|
||
inc si
|
||
|
||
loc_BC35:
|
||
cmp si, [bp+arg_2]
|
||
jle short loc_BC01
|
||
xor si, si
|
||
jmp short loc_BC72
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BC3E:
|
||
test si, 3
|
||
jnz short loc_BC48
|
||
push 8
|
||
jmp short loc_BC4A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BC48:
|
||
push 0
|
||
|
||
loc_BC4A:
|
||
call graph_scrollup
|
||
push 1
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 2
|
||
pop cx
|
||
test si, 1
|
||
jz short loc_BC69
|
||
push 2
|
||
jmp short loc_BC6B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BC69:
|
||
push 1
|
||
|
||
loc_BC6B:
|
||
call sub_C78B
|
||
pop cx
|
||
inc si
|
||
|
||
loc_BC72:
|
||
cmp si, [bp+arg_0]
|
||
jle short loc_BC3E
|
||
pop si
|
||
pop bp
|
||
retn 4
|
||
sub_BBF9 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_BC7C proc near
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
call grp_put_palette_show_1 pascal, ds, offset aEd2a_grp ; "ed2a.grp"
|
||
call grp_palette_settone pascal, 200
|
||
push 0
|
||
call sub_C78B
|
||
pop cx
|
||
call grp_palette_white_in pascal, 5
|
||
call _frame_delay stdcall, 120
|
||
pop cx
|
||
cmp byte_14021, 2
|
||
jnz short loc_BCFC
|
||
push 40h
|
||
push 10h
|
||
call sub_BBF9
|
||
push 20h ; ' '
|
||
push 20h ; ' '
|
||
call sub_BBF9
|
||
call graph_scrollup pascal, 0
|
||
call _frame_delay stdcall, 50
|
||
pop cx
|
||
push 3
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 100
|
||
pop cx
|
||
call graph_type_ank pascal, 232, 316, 22, ds, offset aTryToNoContinu ; "Try to 'No continue'!!"
|
||
push 232
|
||
push 348
|
||
push 22
|
||
push ds
|
||
push offset aBadEnding2 ; " Bad Ending2 "
|
||
jmp loc_BDAC
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BCFC:
|
||
call grp_put_palette_show_1 pascal, ds, offset aEd4a_grp ; "ed4a.grp"
|
||
xor si, si
|
||
jmp short loc_BD2A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BD09:
|
||
push 0
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 3
|
||
pop cx
|
||
push 1
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 3
|
||
pop cx
|
||
inc si
|
||
|
||
loc_BD2A:
|
||
cmp si, 14h
|
||
jl short loc_BD09
|
||
xor si, si
|
||
jmp short loc_BD62
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BD33:
|
||
push 0
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 3
|
||
pop cx
|
||
push 1
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 3
|
||
pop cx
|
||
mov ax, si
|
||
imul ax, 5
|
||
add ax, 100
|
||
call grp_palette_settone pascal, ax
|
||
inc si
|
||
|
||
loc_BD62:
|
||
cmp si, 14h
|
||
jl short loc_BD33
|
||
push 2
|
||
call sub_C78B
|
||
pop cx
|
||
call grp_palette_white_in pascal, 5
|
||
call _frame_delay stdcall, 200
|
||
pop cx
|
||
push 3
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 100
|
||
pop cx
|
||
call graph_type_ank pascal, 232, 316, 22, ds, offset aTryToNoConti_0 ; "Try to 'No continue'!!"
|
||
push 232
|
||
push 348
|
||
push 22
|
||
push ds
|
||
push offset aBadEnding1 ; " Bad Ending1 "
|
||
|
||
loc_BDAC:
|
||
call graph_type_ank
|
||
call _frame_delay stdcall, 300
|
||
pop cx
|
||
pop si
|
||
pop bp
|
||
retn
|
||
sub_BC7C endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_BDBD proc near
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
call grp_put_palette_show_1 pascal, ds, offset aEd3a_grp ; "ed3a.grp"
|
||
call grp_palette_settone pascal, 200
|
||
xor si, si
|
||
jmp short loc_BE07
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BDD6:
|
||
push 0
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 8
|
||
pop cx
|
||
push 1
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 8
|
||
pop cx
|
||
mov ax, si
|
||
imul ax, 5
|
||
mov dx, 200
|
||
sub dx, ax
|
||
call grp_palette_settone pascal, dx
|
||
inc si
|
||
|
||
loc_BE07:
|
||
cmp si, 14h
|
||
jl short loc_BDD6
|
||
call grp_palette_settone pascal, 100
|
||
xor si, si
|
||
jmp short loc_BE38
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BE17:
|
||
push 0
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 8
|
||
pop cx
|
||
push 1
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 8
|
||
pop cx
|
||
inc si
|
||
|
||
loc_BE38:
|
||
cmp si, 0Ah
|
||
jl short loc_BE17
|
||
xor si, si
|
||
jmp short loc_BE64
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BE41:
|
||
mov ax, si
|
||
and ax, 1
|
||
push ax
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 8
|
||
pop cx
|
||
mov ax, si
|
||
imul ax, 10
|
||
add ax, 100
|
||
call grp_palette_settone pascal, ax
|
||
inc si
|
||
|
||
loc_BE64:
|
||
cmp si, 0Ah
|
||
jl short loc_BE41
|
||
call grp_palette_settone pascal, 200
|
||
cmp byte_14021, 1
|
||
jnz short loc_BE7D
|
||
call sub_BF07
|
||
jmp short loc_BE80
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BE7D:
|
||
call sub_BE83
|
||
|
||
loc_BE80:
|
||
pop si
|
||
pop bp
|
||
retn
|
||
sub_BDBD endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_BE83 proc near
|
||
push bp
|
||
mov bp, sp
|
||
call grp_put_palette_show_1 pascal, ds, offset aEd3b_grp ; "ed3b.grp"
|
||
push 0
|
||
call sub_C78B
|
||
pop cx
|
||
call grp_palette_white_in pascal, 4
|
||
call _frame_delay stdcall, 250
|
||
pop cx
|
||
push 1
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 200
|
||
pop cx
|
||
push 2
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 150
|
||
pop cx
|
||
push 3
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 150
|
||
pop cx
|
||
call graph_type_ank pascal, 256, 316, 16, ds, offset aCongratulation ; "Congratulations!"
|
||
call graph_type_ank pascal, 232, 348, 22, ds, offset aGoodEnding2 ; " Good Ending2 "
|
||
call _frame_delay stdcall, 300
|
||
pop cx
|
||
pop bp
|
||
retn
|
||
sub_BE83 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_BF07 proc near
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
call grp_put_palette_show_1 pascal, ds, offset aEd5a_grp ; "ed5a.grp"
|
||
push 0
|
||
call sub_C78B
|
||
pop cx
|
||
call grp_palette_white_in pascal, 4
|
||
call _frame_delay stdcall, 300
|
||
pop cx
|
||
xor si, si
|
||
jmp short loc_BF51
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BF30:
|
||
push 1
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 8
|
||
pop cx
|
||
push 2
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 8
|
||
pop cx
|
||
inc si
|
||
|
||
loc_BF51:
|
||
cmp si, 0Fh
|
||
jl short loc_BF30
|
||
call grp_put_palette_show_1 pascal, ds, offset aEd5b_grp ; "ed5b.grp"
|
||
push 0
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 150
|
||
pop cx
|
||
push 1
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 100
|
||
pop cx
|
||
push 2
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 100
|
||
pop cx
|
||
push 3
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 100
|
||
pop cx
|
||
call grp_put_palette_show_1 pascal, ds, offset aEd5c_grp ; "ed5c.grp"
|
||
push 0
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 100
|
||
pop cx
|
||
push 1
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 150
|
||
pop cx
|
||
push 2
|
||
call sub_C78B
|
||
pop cx
|
||
call _frame_delay stdcall, 150
|
||
pop cx
|
||
call graph_type_ank pascal, 256, 316, 16, ds, offset aCongratulati_0 ; "Congratulations!"
|
||
call graph_type_ank pascal, 232, 348, 22, ds, offset aGoodEnding1 ; " Good Ending1 "
|
||
call _frame_delay stdcall, 300
|
||
pop cx
|
||
pop si
|
||
pop bp
|
||
retn
|
||
sub_BF07 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C009 proc near
|
||
|
||
arg_0 = word ptr 4
|
||
|
||
push bp
|
||
mov bp, sp
|
||
call _frame_delay stdcall, 150
|
||
pop cx
|
||
call grp_palette_black_out pascal, 5
|
||
call _z_graph_clear
|
||
push [bp+arg_0]
|
||
call sub_C78B
|
||
pop cx
|
||
call grp_palette_black_in pascal, 5
|
||
call _frame_delay stdcall, 50
|
||
pop cx
|
||
pop bp
|
||
retn 2
|
||
sub_C009 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C03D proc near
|
||
push bp
|
||
mov bp, sp
|
||
call _mdrv2_bgm_fade_out_nonblock
|
||
call grp_palette_black_out pascal, 10
|
||
call _z_graph_clear
|
||
call _mdrv2_bgm_stop
|
||
push ds
|
||
push offset aSt1_mdt_0 ; "st1.mdt"
|
||
call _mdrv2_bgm_load
|
||
add sp, 4
|
||
call _mdrv2_bgm_play
|
||
cmp byte_14021, 1
|
||
jnz short loc_C074
|
||
push ds
|
||
push offset aEndb_a_grp ; "endb_a.grp"
|
||
jmp short loc_C078
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C074:
|
||
push ds
|
||
push offset aEndb_b_grp ; "endb_b.grp"
|
||
|
||
loc_C078:
|
||
call grp_put_palette_show_1
|
||
push 0
|
||
call sub_C78B
|
||
pop cx
|
||
call grp_palette_settone pascal, 100
|
||
call _frame_delay stdcall, 50
|
||
pop cx
|
||
call graph_type_ank pascal, 272, 316, 13, ds, offset aStage5Boss ; "STAGE 5 BOSS"
|
||
call graph_type_ank pascal, 232, 348, 22, ds, offset aGatekeeperSing ; "Gatekeeper 'SinGyoku'"
|
||
push 1
|
||
call sub_C009
|
||
cmp byte_14021, 1
|
||
jnz short loc_C0E1
|
||
call graph_type_ank pascal, 272, 316, 13, ds, offset aStage10Boss ; "STAGE 10 BOSS"
|
||
push 232
|
||
push 348
|
||
push 22
|
||
push ds
|
||
push offset aEvileyesYuugen ; "EvilEyes 'YuugenMagan'"
|
||
jmp short loc_C0FE
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C0E1:
|
||
call graph_type_ank pascal, 272, 316, 13, ds, offset aStage10Boss_0 ; "STAGE 10 BOSS"
|
||
push 232
|
||
push 348
|
||
push 23
|
||
push ds
|
||
push offset aRevengefulGhos ; "Revengeful Ghost 'Mima'"
|
||
|
||
loc_C0FE:
|
||
call graph_type_ank
|
||
push 2
|
||
call sub_C009
|
||
cmp byte_14021, 1
|
||
jnz short loc_C12E
|
||
call graph_type_ank pascal, 272, 316, 13, ds, offset aStage15Boss ; "STAGE 15 BOSS"
|
||
push 232
|
||
push 348
|
||
push 22
|
||
push ds
|
||
push offset aInnocenceDevil ; "Innocence Devil 'Elis'"
|
||
jmp short loc_C14B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C12E:
|
||
call graph_type_ank pascal, 272, 316, 13, ds, offset aStage15Boss_0 ; "STAGE 15 BOSS"
|
||
push 256
|
||
push 348
|
||
push 17
|
||
push ds
|
||
push offset aHellmoonKikuri ; "HellMoon 'Kikuri'"
|
||
|
||
loc_C14B:
|
||
call graph_type_ank
|
||
push 3
|
||
call sub_C009
|
||
cmp byte_14021, 1
|
||
jnz short loc_C17B
|
||
call graph_type_ank pascal, 272, 316, 13, ds, offset aStage20Boss ; "STAGE 20 BOSS"
|
||
push 232
|
||
push 348
|
||
push 22
|
||
push ds
|
||
push offset aAngelOfDeathSa ; "Angel of Death'Sariel'"
|
||
jmp short loc_C198
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C17B:
|
||
call graph_type_ank pascal, 272, 316, 13, ds, offset aStage20Boss_0 ; "STAGE 20 BOSS"
|
||
push 224
|
||
push 348
|
||
push 24
|
||
push ds
|
||
push offset aAstralKnightKo ; "Astral Knight 'Konngara'"
|
||
|
||
loc_C198:
|
||
call graph_type_ank
|
||
call _frame_delay stdcall, 150
|
||
pop cx
|
||
pop bp
|
||
retn
|
||
sub_C03D endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C1A8 proc far
|
||
|
||
var_2 = word ptr -2
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
xor si, si
|
||
cmp word ptr _score+2, 26h ; '&'
|
||
jl short loc_C1C6
|
||
jnz short loc_C1C1
|
||
cmp word ptr _score, 25A0h
|
||
jb short loc_C1C6
|
||
|
||
loc_C1C1:
|
||
add si, 0Ah
|
||
jmp short loc_C21C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C1C6:
|
||
cmp word ptr _score+2, 1Eh
|
||
jl short loc_C1DC
|
||
jnz short loc_C1D7
|
||
cmp word ptr _score, 8480h
|
||
jb short loc_C1DC
|
||
|
||
loc_C1D7:
|
||
add si, 8
|
||
jmp short loc_C21C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C1DC:
|
||
cmp word ptr _score+2, 16h
|
||
jl short loc_C1F2
|
||
jnz short loc_C1ED
|
||
cmp word ptr _score, 0E360h
|
||
jb short loc_C1F2
|
||
|
||
loc_C1ED:
|
||
add si, 6
|
||
jmp short loc_C21C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C1F2:
|
||
cmp word ptr _score+2, 0Fh
|
||
jl short loc_C208
|
||
jnz short loc_C203
|
||
cmp word ptr _score, 4240h
|
||
jb short loc_C208
|
||
|
||
loc_C203:
|
||
add si, 4
|
||
jmp short loc_C21C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C208:
|
||
cmp word ptr _score+2, 7
|
||
jl short loc_C21C
|
||
jnz short loc_C219
|
||
cmp word ptr _score, 0A120h
|
||
jb short loc_C21C
|
||
|
||
loc_C219:
|
||
add si, 2
|
||
|
||
loc_C21C:
|
||
cmp word ptr _score_highest+2, 2Dh ; '-'
|
||
jl short loc_C232
|
||
jnz short loc_C22D
|
||
cmp word ptr _score_highest, 0C6C0h
|
||
jb short loc_C232
|
||
|
||
loc_C22D:
|
||
add si, 0Ah
|
||
jmp short loc_C288
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C232:
|
||
cmp word ptr _score_highest+2, 27h ; '''
|
||
jl short loc_C248
|
||
jnz short loc_C243
|
||
cmp word ptr _score_highest, 0AC40h
|
||
jb short loc_C248
|
||
|
||
loc_C243:
|
||
add si, 8
|
||
jmp short loc_C288
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C248:
|
||
cmp word ptr _score_highest+2, 21h ; '!'
|
||
jl short loc_C25E
|
||
jnz short loc_C259
|
||
cmp word ptr _score_highest, 91C0h
|
||
jb short loc_C25E
|
||
|
||
loc_C259:
|
||
add si, 6
|
||
jmp short loc_C288
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C25E:
|
||
cmp word ptr _score_highest+2, 1Bh
|
||
jl short loc_C274
|
||
jnz short loc_C26F
|
||
cmp word ptr _score_highest, 7740h
|
||
jb short loc_C274
|
||
|
||
loc_C26F:
|
||
add si, 4
|
||
jmp short loc_C288
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C274:
|
||
cmp word ptr _score_highest+2, 15h
|
||
jl short loc_C288
|
||
jnz short loc_C285
|
||
cmp word ptr _score_highest, 5CC0h
|
||
jb short loc_C288
|
||
|
||
loc_C285:
|
||
add si, 2
|
||
|
||
loc_C288:
|
||
mov ax, word ptr _continues_total
|
||
or ax, word ptr _continues_total+2
|
||
jnz short loc_C297
|
||
add si, 1Eh
|
||
jmp loc_C36C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C297:
|
||
cmp word ptr _continues_total+2, 0
|
||
jg short loc_C2AD
|
||
jnz short loc_C2A7
|
||
cmp word ptr _continues_total, 2
|
||
ja short loc_C2AD
|
||
|
||
loc_C2A7:
|
||
add si, 0Ah
|
||
jmp loc_C36C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C2AD:
|
||
cmp word ptr _continues_total+2, 0
|
||
jg short loc_C2C3
|
||
jnz short loc_C2BD
|
||
cmp word ptr _continues_total, 4
|
||
ja short loc_C2C3
|
||
|
||
loc_C2BD:
|
||
add si, 8
|
||
jmp loc_C36C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C2C3:
|
||
cmp word ptr _continues_total+2, 0
|
||
jg short loc_C2D9
|
||
jnz short loc_C2D3
|
||
cmp word ptr _continues_total, 6
|
||
ja short loc_C2D9
|
||
|
||
loc_C2D3:
|
||
add si, 6
|
||
jmp loc_C36C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C2D9:
|
||
cmp word ptr _continues_total+2, 0
|
||
jg short loc_C2EE
|
||
jnz short loc_C2E9
|
||
cmp word ptr _continues_total, 8
|
||
ja short loc_C2EE
|
||
|
||
loc_C2E9:
|
||
add si, 4
|
||
jmp short loc_C36C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C2EE:
|
||
cmp word ptr _continues_total+2, 0
|
||
jg short loc_C303
|
||
jnz short loc_C2FE
|
||
cmp word ptr _continues_total, 0Ah
|
||
ja short loc_C303
|
||
|
||
loc_C2FE:
|
||
add si, 2
|
||
jmp short loc_C36C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C303:
|
||
cmp word ptr _continues_total+2, 0
|
||
jg short loc_C315
|
||
jnz short loc_C313
|
||
cmp word ptr _continues_total, 0Ch
|
||
ja short loc_C315
|
||
|
||
loc_C313:
|
||
jmp short loc_C36C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C315:
|
||
cmp word ptr _continues_total+2, 0
|
||
jg short loc_C32A
|
||
jnz short loc_C325
|
||
cmp word ptr _continues_total, 0Eh
|
||
ja short loc_C32A
|
||
|
||
loc_C325:
|
||
sub si, 2
|
||
jmp short loc_C36C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C32A:
|
||
cmp word ptr _continues_total+2, 0
|
||
jg short loc_C33F
|
||
jnz short loc_C33A
|
||
cmp word ptr _continues_total, 10h
|
||
ja short loc_C33F
|
||
|
||
loc_C33A:
|
||
sub si, 4
|
||
jmp short loc_C36C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C33F:
|
||
cmp word ptr _continues_total+2, 0
|
||
jg short loc_C354
|
||
jnz short loc_C34F
|
||
cmp word ptr _continues_total, 12h
|
||
ja short loc_C354
|
||
|
||
loc_C34F:
|
||
sub si, 6
|
||
jmp short loc_C36C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C354:
|
||
cmp word ptr _continues_total+2, 0
|
||
jg short loc_C369
|
||
jnz short loc_C364
|
||
cmp word ptr _continues_total, 14h
|
||
ja short loc_C369
|
||
|
||
loc_C364:
|
||
sub si, 8
|
||
jmp short loc_C36C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C369:
|
||
sub si, 0Ah
|
||
|
||
loc_C36C:
|
||
cmp _rank, RANK_LUNATIC
|
||
jnz short loc_C378
|
||
add si, 32h ; '2'
|
||
jmp short loc_C39A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C378:
|
||
cmp _rank, RANK_HARD
|
||
jnz short loc_C384
|
||
add si, 1Eh
|
||
jmp short loc_C39A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C384:
|
||
cmp _rank, RANK_NORMAL
|
||
jnz short loc_C390
|
||
add si, 0Ah
|
||
jmp short loc_C39A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C390:
|
||
cmp _rank, RANK_EASY
|
||
jnz short loc_C39A
|
||
sub si, 0Ah
|
||
|
||
loc_C39A:
|
||
cmp byte_14021, 2
|
||
jnz short loc_C3A4
|
||
add si, 5
|
||
|
||
loc_C3A4:
|
||
mov al, byte_14020
|
||
cbw
|
||
cmp ax, 4
|
||
jnz short loc_C3B2
|
||
sub si, 0Ah
|
||
jmp short loc_C3D8
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C3B2:
|
||
mov al, byte_14020
|
||
cbw
|
||
cmp ax, 3
|
||
jnz short loc_C3C0
|
||
sub si, 5
|
||
jmp short loc_C3D8
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C3C0:
|
||
mov al, byte_14020
|
||
cbw
|
||
cmp ax, 1
|
||
jnz short loc_C3CE
|
||
add si, 5
|
||
jmp short loc_C3D8
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C3CE:
|
||
cmp byte_14020, 0
|
||
jnz short loc_C3D8
|
||
add si, 0Ah
|
||
|
||
loc_C3D8:
|
||
call IRand
|
||
mov bx, 3
|
||
cwd
|
||
idiv bx
|
||
mov [bp+var_2], dx
|
||
cmp si, 50h ; 'P'
|
||
jl short loc_C3F0
|
||
mov di, 5
|
||
jmp short loc_C419
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C3F0:
|
||
cmp si, 3Ch ; '<'
|
||
jl short loc_C3FA
|
||
mov di, 4
|
||
jmp short loc_C419
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C3FA:
|
||
cmp si, 28h ; '('
|
||
jl short loc_C404
|
||
mov di, 3
|
||
jmp short loc_C419
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C404:
|
||
cmp si, 14h
|
||
jl short loc_C40E
|
||
mov di, 2
|
||
jmp short loc_C419
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C40E:
|
||
or si, si
|
||
jl short loc_C417
|
||
mov di, 1
|
||
jmp short loc_C419
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C417:
|
||
xor di, di
|
||
|
||
loc_C419:
|
||
mov bx, [bp+var_2]
|
||
imul bx, 18h
|
||
mov ax, di
|
||
shl ax, 2
|
||
add bx, ax
|
||
push word ptr [bx+3DAh]
|
||
push word ptr [bx+3D8h] ; arglist
|
||
push ds
|
||
push offset aS_1 ; "%s"
|
||
push 12h ; int
|
||
push 180h ; int
|
||
push 1E8h ; int
|
||
call _graph_printf_fx
|
||
add sp, 0Eh
|
||
pop di
|
||
pop si
|
||
leave
|
||
retf
|
||
sub_C1A8 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C446 proc far
|
||
|
||
var_10 = byte ptr -10h
|
||
|
||
enter 10h, 0
|
||
push si
|
||
lea ax, [bp+var_10]
|
||
push ss
|
||
push ax
|
||
push ds
|
||
push offset off_12EC0
|
||
mov cx, 10h
|
||
call SCOPY@
|
||
call grp_palette_black_out pascal, 10
|
||
push 1
|
||
call _graph_accesspage_func
|
||
pop cx
|
||
call _grp_put_palette_show c, offset aEndm_a_grp, ds ; "endm_a.grp"
|
||
call _graph_copy_page_back_to_front
|
||
push 0
|
||
call _graph_accesspage_func
|
||
pop cx
|
||
call grp_palette_black_in pascal, 8
|
||
call graph_type_kanji pascal, 400, 32, 5, ds, offset aUmx_1 ; "<22><><EFBFBD><EFBFBD><EFBFBD>ˈٓ`"
|
||
call graph_type_ank pascal, 496, 32, 3, ds, offset aVer ; "ver"
|
||
call graph_type_ank pascal, 528, 32, 4, ds, offset a1_10 ; "1.10"
|
||
call _frame_delay stdcall, 30
|
||
pop cx
|
||
mov al, _rank
|
||
mov ah, 0
|
||
shl ax, 2
|
||
lea dx, [bp+var_10]
|
||
add ax, dx
|
||
mov bx, ax
|
||
push word ptr ss:[bx+2]
|
||
push word ptr ss:[bx] ; arglist
|
||
push ds
|
||
push offset aUqiUxb@b@b@b@b ; "<22><><EFBFBD>Փx<D593>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@ %s"
|
||
push 0Fh ; int
|
||
push 40h ; int
|
||
push 128h ; int
|
||
call _graph_printf_fx
|
||
add sp, 0Eh
|
||
call _frame_delay stdcall, 30
|
||
pop cx
|
||
push word ptr _score_highest+2
|
||
push word ptr _score_highest ; arglist
|
||
push ds
|
||
push offset aNbi ; "<22><><EFBFBD><EFBFBD><EFBFBD>̍ō<CC8D><C58D><EFBFBD><EFBFBD>_<EFBFBD>@<40>@<40>@<40>@<40>@<40>@ %7lu"
|
||
push 0Fh ; int
|
||
push 60h ; int
|
||
push 128h ; int
|
||
call _graph_printf_fx
|
||
add sp, 0Eh
|
||
call _frame_delay stdcall, 30
|
||
pop cx
|
||
push word ptr _score+2
|
||
push word ptr _score ; arglist
|
||
push ds
|
||
push offset aNPiuU_b@b@b@b@ ; "<22>ŏI<C58F><49><EFBFBD>_<EFBFBD>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@ %7lu"
|
||
push 0Fh ; int
|
||
push 80h ; int
|
||
push 128h ; int
|
||
call _graph_printf_fx
|
||
add sp, 0Eh
|
||
call _frame_delay stdcall, 30
|
||
pop cx
|
||
push ds
|
||
push offset aGrgugegbgjgebI ; "<22>R<EFBFBD><52><EFBFBD>e<EFBFBD>B<EFBFBD>j<EFBFBD><6A><EFBFBD>[<5B><><EFBFBD><EFBFBD>"
|
||
push 0Fh ; int
|
||
push 0A0h ; int
|
||
push 128h ; int
|
||
call _graph_printf_fx
|
||
add sp, 0Ah
|
||
call _frame_delay stdcall, 30
|
||
pop cx
|
||
push word_13EDE
|
||
push word_13EDC ; arglist
|
||
push ds
|
||
push offset aB@r_oB@b@b@b@b ; "<22>@<40>_<EFBFBD>Ё@<40>@<40>@<40>@<40>i<EFBFBD>P<EFBFBD>ʁ`<60>T<EFBFBD>ʁj <20>@ %3lu"
|
||
push 0Fh ; int
|
||
push 0C0h ;int
|
||
push 128h ; int
|
||
call _graph_printf_fx
|
||
add sp, 0Eh
|
||
call _frame_delay stdcall, 30
|
||
pop cx
|
||
cmp byte_14021, 1
|
||
jnz short loc_C590
|
||
push word_13EE2
|
||
push word_13EE0
|
||
push ds
|
||
push offset aB@gqbGgb@b@b@b ; "<22>@<40>Q<EFBFBD>[<5B>g<EFBFBD>@<40>@<40>@<40>i<EFBFBD>U<EFBFBD>ʁ`<60>P<EFBFBD>O<EFBFBD>ʁj %3lu"
|
||
jmp short loc_C59C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C590:
|
||
push word_13EE2
|
||
push word_13EE0 ; arglist
|
||
push ds
|
||
push offset aB@tkb@b@b@b@b@ ; "<22>@<40>K<EFBFBD>@<40>@<40>@<40>@<40>@<40>i<EFBFBD>U<EFBFBD>ʁ`<60>P<EFBFBD>O<EFBFBD>ʁj %3lu"
|
||
|
||
loc_C59C:
|
||
push 0Fh ; int
|
||
push 0E0h ; int
|
||
push 128h ; int
|
||
call _graph_printf_fx
|
||
add sp, 0Eh
|
||
call _frame_delay stdcall, 30
|
||
pop cx
|
||
cmp byte_14021, 1
|
||
jnz short loc_C5C9
|
||
push word_13EE6
|
||
push word_13EE4
|
||
push ds
|
||
push offset aGfgbgivFpBivpv ; " <20><><EFBFBD>B<EFBFBD>i<EFBFBD>̔p<CC94>Ёi<D081>P<EFBFBD>P<EFBFBD>ʁ`<60>P<EFBFBD>T<EFBFBD>ʁj%3lu"
|
||
jmp short loc_C5D5
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C5C9:
|
||
push word_13EE6
|
||
push word_13EE4 ; arglist
|
||
push ds
|
||
push offset aB@ikvXekeb@b@b ; "<22>@<40><><EFBFBD>̕<EFBFBD><CC95>E<EFBFBD>@<40>@<40>i<EFBFBD>P<EFBFBD>P<EFBFBD>ʁ`<60>P<EFBFBD>T<EFBFBD>ʁj%3lu"
|
||
|
||
loc_C5D5:
|
||
push 0Fh ; int
|
||
push 100h ; int
|
||
push 128h ; int
|
||
call _graph_printf_fx
|
||
add sp, 0Eh
|
||
call _frame_delay stdcall, 30
|
||
pop cx
|
||
cmp byte_14021, 1
|
||
jnz short loc_C602
|
||
push word_13EEA
|
||
push word_13EE8
|
||
push ds
|
||
push offset aSVVVsr_uabivpv ; " <20><EFBFBD><C282><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD>a<EFBFBD>i<EFBFBD>P<EFBFBD>T<EFBFBD>ʁ`<60>Q<EFBFBD>O<EFBFBD>ʁj%3lu"
|
||
jmp short loc_C60E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C602:
|
||
push word_13EEA
|
||
push word_13EE8 ; arglist
|
||
push ds
|
||
push offset aB@rVivVsr_uabi ; "<22>@<40>Â<EFBFBD><C382>Ȃ<EFBFBD><C882>_<EFBFBD>a<EFBFBD>i<EFBFBD>P<EFBFBD>T<EFBFBD>ʁ`<60>Q<EFBFBD>O<EFBFBD>ʁj%3lu"
|
||
|
||
loc_C60E:
|
||
push 0Fh ; int
|
||
push 120h ; int
|
||
push 128h ; int
|
||
call _graph_printf_fx
|
||
add sp, 0Eh
|
||
call _frame_delay stdcall, 30
|
||
pop cx
|
||
cmp byte_14021, 1
|
||
jnz short loc_C63B
|
||
push word ptr _continues_total+2
|
||
push word ptr _continues_total
|
||
push ds
|
||
push offset aCvkeglbGgsnnzb ; " <20><><EFBFBD>E<EFBFBD><45><EFBFBD>[<5B>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD>@<40>@<40>@<40>@<40>@<40>@ %5lu"
|
||
jmp short loc_C647
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C63B:
|
||
push word ptr _continues_total+2
|
||
push word ptr _continues_total ; arglist
|
||
push ds
|
||
push offset aB@tnncglbGgsnn ; "<22>@<40>n<EFBFBD><6E><EFBFBD><EFBFBD><EFBFBD>[<5B>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD>@<40>@<40>@<40>@<40>@<40>@<40>@%5lu"
|
||
|
||
loc_C647:
|
||
push 0Fh ; int
|
||
push 140h ; int
|
||
push 128h ; int
|
||
call _graph_printf_fx
|
||
add sp, 0Eh
|
||
call _frame_delay stdcall, 30
|
||
pop cx
|
||
call graph_type_ank pascal, 296, 352, 29, ds, offset aThankYouForPla ; " Thank you for Playing !! "
|
||
push ds
|
||
push offset aBBBVavVVPNjbBB ; "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD><C882>̏̍<CC8F><CC8D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||
push 12h ; int
|
||
push 180h ; int
|
||
push 108h ; int
|
||
call _graph_printf_fx
|
||
add sp, 0Ah
|
||
call _frame_delay stdcall, 50
|
||
pop cx
|
||
call sub_C1A8
|
||
xor si, si
|
||
call _frame_delay stdcall, 100
|
||
pop cx
|
||
call sub_A44F
|
||
jmp short loc_C6B1
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C6A1:
|
||
push 0
|
||
call sub_A265
|
||
pop cx
|
||
call _frame_delay stdcall, 1
|
||
pop cx
|
||
|
||
loc_C6B1:
|
||
mov ax, si
|
||
inc si
|
||
cmp ax, 7D0h
|
||
jge short loc_C6C7
|
||
cmp byte_12BA0, 0
|
||
jnz short loc_C6C7
|
||
cmp byte_12B9C, 0
|
||
jz short loc_C6A1
|
||
|
||
loc_C6C7:
|
||
push 1
|
||
call _graph_accesspage_func
|
||
pop cx
|
||
call _graph_copy_page_back_to_front
|
||
push 0
|
||
call _graph_accesspage_func
|
||
pop cx
|
||
call grp_palette_settone pascal, 50
|
||
mov _z_Palettes[3 * 3].r, 07h
|
||
mov _z_Palettes[3 * 3].g, 0Fh
|
||
mov _z_Palettes[3 * 3].b, 07h
|
||
mov _z_Palettes[7 * 3].r, 0Fh
|
||
mov _z_Palettes[7 * 3].g, 0Fh
|
||
mov _z_Palettes[7 * 3].b, 0Fh
|
||
call _z_palette_set_all_show c, offset _z_Palettes, ds
|
||
cmp byte_14021, 1
|
||
jnz short loc_C71C
|
||
push ds
|
||
push offset aKo ; "<22><>"
|
||
push 32h ; '2'
|
||
jmp short loc_C722
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C71C:
|
||
push ds
|
||
push offset aKo_0 ; "<22><>"
|
||
push 3Ch ; '<'
|
||
|
||
loc_C722:
|
||
push word ptr _score+2
|
||
push word ptr _score
|
||
call sub_B5D8
|
||
add sp, 0Ah
|
||
call sub_A076
|
||
pop si
|
||
leave
|
||
retf
|
||
sub_C446 endp
|
||
|
||
fuuin_03_TEXT ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
fuuin_04_TEXT segment byte public 'CODE' use16
|
||
assume cs:fuuin_04_TEXT
|
||
;org 0Ah
|
||
assume es:nothing, ss:nothing, ds:_DATA, fs:nothing, gs:nothing
|
||
|
||
include th01/formats/grp_put_palette_show_1.asm
|
||
EGC_START_COPY_DEF 1, far
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C78B proc far
|
||
|
||
var_A = word ptr -0Ah
|
||
var_8 = word ptr -8
|
||
var_6 = word ptr -6
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 6
|
||
|
||
enter 0Ah, 0
|
||
push si
|
||
push di
|
||
call egc_start_copy_1
|
||
mov ax, [bp+arg_0]
|
||
mov bx, 2
|
||
cwd
|
||
idiv bx
|
||
imul dx, 140h
|
||
mov [bp+var_2], dx
|
||
mov ax, [bp+arg_0]
|
||
cwd
|
||
sub ax, dx
|
||
sar ax, 1
|
||
imul ax, 0C8h
|
||
mov [bp+var_4], ax
|
||
mov ax, [bp+var_2]
|
||
sar ax, 3
|
||
mov dx, [bp+var_4]
|
||
shl dx, 6
|
||
add ax, dx
|
||
mov dx, [bp+var_4]
|
||
shl dx, 4
|
||
add ax, dx
|
||
mov si, ax
|
||
mov di, 1F54h
|
||
mov [bp+var_8], 0
|
||
jmp short loc_C81D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C7D6:
|
||
mov [bp+var_6], 0
|
||
jmp short loc_C80E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C7DD:
|
||
push 1
|
||
call _graph_accesspage_func
|
||
pop cx
|
||
les bx, _VRAM_PLANE_B
|
||
add bx, si
|
||
mov ax, es:[bx]
|
||
mov [bp+var_A], ax
|
||
push 0
|
||
call _graph_accesspage_func
|
||
pop cx
|
||
les bx, _VRAM_PLANE_B
|
||
add bx, di
|
||
mov ax, [bp+var_A]
|
||
mov es:[bx], ax
|
||
add si, 2
|
||
add di, 2
|
||
inc [bp+var_6]
|
||
|
||
loc_C80E:
|
||
cmp [bp+var_6], 14h
|
||
jl short loc_C7DD
|
||
add si, 28h ; '('
|
||
add di, 28h ; '('
|
||
inc [bp+var_8]
|
||
|
||
loc_C81D:
|
||
cmp [bp+var_8], 0C8h ; '<27>'
|
||
jl short loc_C7D6
|
||
call egc_off
|
||
pop di
|
||
pop si
|
||
leave
|
||
retf
|
||
sub_C78B endp
|
||
|
||
extern _frame_delay:proc
|
||
extern GRP_PALETTE_SETTONE:proc
|
||
extern GRP_PALETTE_BLACK_OUT:proc
|
||
extern GRP_PALETTE_BLACK_IN:proc
|
||
extern GRP_PALETTE_WHITE_OUT:proc
|
||
extern GRP_PALETTE_WHITE_IN:proc
|
||
extern GRAPH_TYPE_ANK:proc
|
||
extern GRAPH_TYPE_KANJI:proc
|
||
fuuin_04_TEXT ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
fuuin_05_TEXT segment byte public 'CODE' use16
|
||
extern _vsync_init:proc
|
||
extern _vsync_exit:proc
|
||
extern _z_vsync_wait:proc
|
||
fuuin_05_TEXT ends
|
||
|
||
; ===========================================================================
|
||
|
||
fuuin_06_TEXT segment byte public 'CODE' use16
|
||
extern _z_text_init:proc
|
||
extern _z_text_25line:proc
|
||
extern _z_text_setcursor:proc
|
||
extern _z_text_clear:proc
|
||
extern _z_text_show:proc
|
||
extern _z_text_print:proc
|
||
fuuin_06_TEXT ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
fuuin_07_TEXT segment byte public 'CODE' use16
|
||
extern _game_init:proc
|
||
extern _game_switch_binary:proc
|
||
fuuin_07_TEXT ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
fuuin_08_TEXT segment byte public 'CODE' use16
|
||
extern _z_graph_exit:proc
|
||
extern _graph_showpage_func:proc
|
||
extern _graph_accesspage_func:proc
|
||
extern _z_palette_set_all_show:proc
|
||
extern _z_palette_set_show:proc
|
||
extern _z_graph_clear:proc
|
||
extern _z_graph_clear_0:proc
|
||
extern _graph_copy_page_back_to_front:proc
|
||
extern _z_palette_black:proc
|
||
extern _z_palette_black_out:proc
|
||
extern _graph_putsa_fx:proc
|
||
extern _graph_move_byterect_interpage:proc
|
||
extern _z_respal_set:proc
|
||
fuuin_08_TEXT ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
fuuin_09_TEXT segment byte public 'CODE' use16
|
||
extern _graph_printf_fx:proc
|
||
fuuin_09_TEXT ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
fuuin_10_TEXT segment byte public 'CODE' use16
|
||
extern _grp_put_palette_show:proc
|
||
fuuin_10_TEXT ends
|
||
|
||
; ===========================================================================
|
||
|
||
fuuin_11_TEXT segment byte public 'CODE' use16
|
||
extern VRAM_PLANES_SET:proc
|
||
extern _egc_copy_rect_1_to_0:proc
|
||
fuuin_11_TEXT ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
fuuin_12_TEXT segment byte public 'CODE' use16
|
||
extern _graph_slow_2xscale_rect_1_to_0:proc
|
||
fuuin_12_TEXT ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
fuuin_13_TEXT segment byte public 'CODE' use16
|
||
extern _mdrv2_resident:proc
|
||
extern _mdrv2_bgm_load:proc
|
||
extern _mdrv2_se_load:proc
|
||
extern _mdrv2_bgm_play:proc
|
||
extern _mdrv2_bgm_stop:proc
|
||
extern _mdrv2_bgm_fade_out_nonblock:proc
|
||
extern _mdrv2_check_board:proc
|
||
extern _mdrv2_se_play:proc
|
||
fuuin_13_TEXT ends
|
||
|
||
.data
|
||
|
||
_score dd 100000
|
||
_score_highest dd 100000
|
||
aReiidenconfig db 'ReiidenConfig',0
|
||
aErrorEnd_flagI db 'ERROR : end_flag is not ture !!',0
|
||
; char s[]
|
||
s db 'ERROR : cfg_id is not alloc!!',0
|
||
aReiidenconfi_0 db 'ReiidenConfig',0
|
||
; char path[]
|
||
path db 'op',0
|
||
; char arg0[3]
|
||
arg0 db 'op',0
|
||
db 0
|
||
byte_12B99 db 0
|
||
byte_12B9A db 0
|
||
byte_12B9B db 0
|
||
byte_12B9C db 0
|
||
byte_12B9D db 0
|
||
db 0
|
||
byte_12B9F db 0
|
||
byte_12BA0 db 0
|
||
byte_12BA1 db 0
|
||
byte_12BA2 db 0
|
||
byte_12BA3 db 0
|
||
dd 0
|
||
db 49h ; I
|
||
db 81h
|
||
db 48h ; H
|
||
db 81h
|
||
db 94h
|
||
db 81h
|
||
db 95h
|
||
db 81h
|
||
db 96h
|
||
db 81h
|
||
db 98h
|
||
db 81h
|
||
db 99h
|
||
db 81h
|
||
db 9Fh
|
||
db 81h
|
||
db 87h
|
||
db 81h
|
||
db 88h
|
||
db 81h
|
||
db 89h
|
||
db 81h
|
||
db 8Ah
|
||
db 81h
|
||
db 63h ; c
|
||
db 81h
|
||
db 67h ; g
|
||
db 81h
|
||
db 68h ; h
|
||
db 81h
|
||
db 5Eh ; ^
|
||
db 81h
|
||
db 44h ; D
|
||
db 81h
|
||
db 45h ; E
|
||
db 81h
|
||
FULLWIDTH_NUMBERS dd aFW_0, aFW_1, aFW_2, aFW_3, aFW_4
|
||
dd aFW_5, aFW_6, aFW_7, aFW_8, aFW_9
|
||
aBqbqbqbqbqbqbq db '<27>Q<EFBFBD>Q<EFBFBD>Q<EFBFBD>Q<EFBFBD>Q<EFBFBD>Q<EFBFBD>Q<EFBFBD>Q',0
|
||
aB@b@b@b@b@b@b@ db '<27>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@',0
|
||
aHiscore_0 db 'HISCORE',0
|
||
off_12C1E dd aB@gcbGwbB@
|
||
; "<22>@<40>C<EFBFBD>[<5B>W<EFBFBD>[<5B>@"
|
||
dd aB@gmbGGlb@ ; "<22>@<40>m<EFBFBD>[<5B>}<7D><><EFBFBD>@"
|
||
dd aB@gnbGhb@b@ ; "<22>@<40>n<EFBFBD>[<5B>h<EFBFBD>@<40>@"
|
||
dd aGlgigegbgbgn ; "<22><><EFBFBD>i<EFBFBD>e<EFBFBD>B<EFBFBD>b<EFBFBD>N"
|
||
aFW_0 db '<27>O',0
|
||
aFW_1 db '<27>P',0
|
||
aFW_2 db '<27>Q',0
|
||
aFW_3 db '<27>R',0
|
||
aFW_4 db '<27>S',0
|
||
aFW_5 db '<27>T',0
|
||
aFW_6 db '<27>U',0
|
||
aFW_7 db '<27>V',0
|
||
aFW_8 db '<27>W',0
|
||
aFW_9 db '<27>X',0
|
||
include th01/hiscore/scorelod[data].asm
|
||
; char aCC[]
|
||
aCC db '%c%c',0
|
||
aVb db '<27><>',0
|
||
; char aCC_0[]
|
||
aCC_0 db '%c%c',0
|
||
; char aCC_1[]
|
||
aCC_1 db '%c%c',0
|
||
; char aCC_2[]
|
||
aCC_2 db '%c%c',0
|
||
; char aSp[]
|
||
aSp db 'SP',0
|
||
; char aBi[]
|
||
aBi db '<27><>',0
|
||
; char aBi_0[]
|
||
aBi_0 db '<27><>',0
|
||
; char aPi[]
|
||
aPi db '<27>I',0
|
||
aB@cB@iB@ db '<27>@<40><><EFBFBD>@<40>ʁ@',0
|
||
aB@b@cB@b@sob@b db '<27>@<40>@<40><><EFBFBD>@<40>@<40>O<EFBFBD>@<40>@',0
|
||
aB@b@uB@b@u_b@b db '<27>@<40>@<40><><EFBFBD>@<40>@<40>_<EFBFBD>@<40>@',0
|
||
aGxgebGwbeglbGg db '<27>X<EFBFBD>e<EFBFBD>[<5B>W<EFBFBD>E<EFBFBD><45><EFBFBD>[<5B>g',0
|
||
aB@sB@r_b@ db '<27>@<40>ˁ@<40>_<EFBFBD>@',0
|
||
aSMRgcId db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
|
||
aB@uvb@rxb@ db '<27>@<40>V<EFBFBD>@<40><><EFBFBD>@',0
|
||
aB@r_b@rxb@ db '<27>@<40>_<EFBFBD>@<40><><EFBFBD>@',0
|
||
aB@tnb@rxb@ db '<27>@<40>n<EFBFBD>@<40><><EFBFBD>@',0
|
||
aB@rlb@rxb@ db '<27>@<40>l<EFBFBD>@<40><><EFBFBD>@',0
|
||
aB@rxb@pcb@ db '<27>@<40><><EFBFBD>@<40><><EFBFBD>@',0
|
||
aIab@czb@ot db '<27>A<EFBFBD>@<40>z<EFBFBD>@<40>t',0
|
||
aSB@fB@ot db '<27>ˁ@<40>}<7D>@<40>t',0
|
||
aPcb@lB@o db '<27>C<EFBFBD>@<40>Ɓ@<40><>',0
|
||
aCvke db '<27><><EFBFBD>E',0
|
||
aTnnc db '<27>n<EFBFBD><6E>',0
|
||
aB db '<27>|',0
|
||
; char aCC_3[]
|
||
aCC_3 db '%c%c',0
|
||
; char aSp_0[]
|
||
aSp_0 db 'SP',0
|
||
; char aBi_1[]
|
||
aBi_1 db '<27><>',0
|
||
; char aBi_2[]
|
||
aBi_2 db '<27><>',0
|
||
; char aPi_0[]
|
||
aPi_0 db '<27>I',0
|
||
; char aCC_4[]
|
||
aCC_4 db '%c%c',0
|
||
; char aS[]
|
||
aS db '%s',0
|
||
; char aS_0[]
|
||
aS_0 db '%s',0
|
||
aReyhies_dat_1 db 'REYHIES.DAT',0
|
||
aReyhino_dat_1 db 'REYHINO.DAT',0
|
||
aReyhiha_dat_1 db 'REYHIHA.DAT',0
|
||
; char aReyhilu_dat_1[]
|
||
aReyhilu_dat_1 db 'REYHILU.DAT',0
|
||
; char aWb_0[]
|
||
aWb_0 db 'wb',0
|
||
aB@gcbGwbB@ db '<27>@<40>C<EFBFBD>[<5B>W<EFBFBD>[<5B>@',0
|
||
aB@gmbGGlb@ db '<27>@<40>m<EFBFBD>[<5B>}<7D><><EFBFBD>@',0
|
||
aB@gnbGhb@b@ db '<27>@<40>n<EFBFBD>[<5B>h<EFBFBD>@<40>@',0
|
||
aGlgigegbgbgn db '<27><><EFBFBD>i<EFBFBD>e<EFBFBD>B<EFBFBD>b<EFBFBD>N',0
|
||
; char aUmx[3]
|
||
aUmx db '<27><><EFBFBD><EFBFBD><EFBFBD>ˈٓ`<60>@<40><><EFBFBD>҂̋L<CC8B>^<5E>@%s',0
|
||
dd aB@gvguglbB@ ; "<22>@<40><><EFBFBD><EFBFBD><EFBFBD>L<EFBFBD>[<5B>@"
|
||
dd aB@cRlio ; "<22>@<40>ސl<DE90><6C>"
|
||
dd aGzgvgtgsgggugx ; "<22>z<EFBFBD><7A><EFBFBD>T<EFBFBD>s<EFBFBD>G<EFBFBD><47><EFBFBD>X"
|
||
dd aB@tRl ; "<22>@<40><><EFBFBD>l"
|
||
dd aB@sR_b@ ; "<22>@<40>ː_<CB90>@"
|
||
dd aB@r_v ; "<22>@<40>_<EFBFBD>z"
|
||
dd aVioqclgqbGB ; "<22><><EFBFBD>q<EFBFBD>l<EFBFBD>Q<EFBFBD>[<5B>}<7D>["
|
||
dd aOcf ; "<22><><EFBFBD><EFBFBD><EFBFBD>X<EFBFBD>R<EFBFBD>A<EFBFBD><41><EFBFBD>["
|
||
dd aGGhglgxgrgagib ; "<22>~<7E>h<EFBFBD><68><EFBFBD>X<EFBFBD>R<EFBFBD>A<EFBFBD><41><EFBFBD>["
|
||
dd aGngcgxgrgagib ; "<22>n<EFBFBD>C<EFBFBD>X<EFBFBD>R<EFBFBD>A<EFBFBD><41><EFBFBD>["
|
||
dd aGxbGpbGqbGB ; "<22>X<EFBFBD>[<5B>p<EFBFBD>[<5B>Q<EFBFBD>[<5B>}<7D>["
|
||
dd aGqbGBV ; "<22>Q<EFBFBD>[<5B>}<7D>[<5B>z"
|
||
dd aXevVVViv ; "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>݂<EFBFBD><DD82><EFBFBD>"
|
||
dd aGugbgnbGavO ; "<22>U<EFBFBD>b<EFBFBD>N<EFBFBD>[<5B><><EFBFBD>̎<EFBFBD>"
|
||
dd aLTfvCMc ; "<22>֒f<D692>̗ь<CC97>"
|
||
dd aRvkeo ; "<22><><EFBFBD>E<EFBFBD><45><EFBFBD>̗t"
|
||
dd aIitsluucr_tomo ; "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>C<EFBFBD>_<EFBFBD>O<EFBFBD>o"
|
||
dd aB@gagagkg ; "<22>@<40>A<EFBFBD><41><EFBFBD><EFBFBD><EFBFBD>^"
|
||
off_12EC0 dd aEasy
|
||
; " EASY "
|
||
dd aNormal ; "NORMAL"
|
||
dd aHard ; " HARD "
|
||
dd aLunatic ; "LUNATIC"
|
||
aB@gvguglbB@ db '<27>@<40><><EFBFBD><EFBFBD><EFBFBD>L<EFBFBD>[<5B>@',0
|
||
aB@cRlio db '<27>@<40>ސl<DE90><6C>',0
|
||
aGzgvgtgsgggugx db '<27>z<EFBFBD><7A><EFBFBD>T<EFBFBD>s<EFBFBD>G<EFBFBD><47><EFBFBD>X',0
|
||
aB@tRl db '<27>@<40><><EFBFBD>l',0
|
||
aB@sR_b@ db '<27>@<40>ː_<CB90>@',0
|
||
aB@r_v db '<27>@<40>_<EFBFBD>z',0
|
||
aVioqclgqbGB db '<27><><EFBFBD>q<EFBFBD>l<EFBFBD>Q<EFBFBD>[<5B>}<7D>[',0
|
||
aOcf db '<27><><EFBFBD><EFBFBD><EFBFBD>X<EFBFBD>R<EFBFBD>A<EFBFBD><41><EFBFBD>[',0
|
||
aGGhglgxgrgagib db '<27>~<7E>h<EFBFBD><68><EFBFBD>X<EFBFBD>R<EFBFBD>A<EFBFBD><41><EFBFBD>[',0
|
||
aGngcgxgrgagib db '<27>n<EFBFBD>C<EFBFBD>X<EFBFBD>R<EFBFBD>A<EFBFBD><41><EFBFBD>[',0
|
||
aGxbGpbGqbGB db '<27>X<EFBFBD>[<5B>p<EFBFBD>[<5B>Q<EFBFBD>[<5B>}<7D>[',0
|
||
aGqbGBV db '<27>Q<EFBFBD>[<5B>}<7D>[<5B>z',0
|
||
aXevVVViv db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>݂<EFBFBD><DD82><EFBFBD>',0
|
||
aGugbgnbGavO db '<27>U<EFBFBD>b<EFBFBD>N<EFBFBD>[<5B><><EFBFBD>̎<EFBFBD>',0
|
||
aLTfvCMc db '<27>֒f<D692>̗ь<CC97>',0
|
||
aRvkeo db '<27><><EFBFBD>E<EFBFBD><45><EFBFBD>̗t',0
|
||
aIitsluucr_tomo db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>C<EFBFBD>_<EFBFBD>O<EFBFBD>o',0
|
||
aB@gagagkg db '<27>@<40>A<EFBFBD><41><EFBFBD><EFBFBD><EFBFBD>^',0
|
||
; char aIris_mdt[]
|
||
aIris_mdt db 'iris.mdt',0
|
||
aEd1a_grp db 'ED1A.grp',0
|
||
aEd1b_grp db 'ED1B.grp',0
|
||
aEd1c_grp db 'ED1C.GRP',0
|
||
aEd1d_grp db 'ED1D.GRP',0
|
||
aEd1e_grp db 'ED1E.GRP',0
|
||
; char aSt1_mdt[]
|
||
aSt1_mdt db 'st1.mdt',0
|
||
aEd2a_grp db 'ed2a.grp',0
|
||
aTryToNoContinu db 'Try to ',27h,'No continue',27h,'!!',0
|
||
aBadEnding2 db ' Bad Ending2 ',0
|
||
aEd4a_grp db 'ed4a.grp',0
|
||
aTryToNoConti_0 db 'Try to ',27h,'No continue',27h,'!!',0
|
||
aBadEnding1 db ' Bad Ending1 ',0
|
||
aEd3a_grp db 'ed3a.grp',0
|
||
aEd3b_grp db 'ed3b.grp',0
|
||
aCongratulation db 'Congratulations!',0
|
||
aGoodEnding2 db ' Good Ending2 ',0
|
||
aEd5a_grp db 'ed5a.grp',0
|
||
aEd5b_grp db 'ed5b.grp',0
|
||
aEd5c_grp db 'ed5c.grp',0
|
||
aCongratulati_0 db 'Congratulations!',0
|
||
aGoodEnding1 db ' Good Ending1 ',0
|
||
; char aSt1_mdt_0[]
|
||
aSt1_mdt_0 db 'st1.mdt',0
|
||
aEndb_a_grp db 'endb_a.grp',0
|
||
aEndb_b_grp db 'endb_b.grp',0
|
||
aStage5Boss db 'STAGE 5 BOSS',0
|
||
aGatekeeperSing db 'Gatekeeper ',27h,'SinGyoku',27h,0
|
||
aStage10Boss db 'STAGE 10 BOSS',0
|
||
aEvileyesYuugen db 'EvilEyes ',27h,'YuugenMagan',27h,0
|
||
aStage10Boss_0 db 'STAGE 10 BOSS',0
|
||
aRevengefulGhos db 'Revengeful Ghost ',27h,'Mima',27h,0
|
||
aStage15Boss db 'STAGE 15 BOSS',0
|
||
aInnocenceDevil db 'Innocence Devil ',27h,'Elis',27h,0
|
||
aStage15Boss_0 db 'STAGE 15 BOSS',0
|
||
aHellmoonKikuri db 'HellMoon ',27h,'Kikuri',27h,0
|
||
aStage20Boss db 'STAGE 20 BOSS',0
|
||
aAngelOfDeathSa db 'Angel of Death',27h,'Sariel',27h,0
|
||
aStage20Boss_0 db 'STAGE 20 BOSS',0
|
||
aAstralKnightKo db 'Astral Knight ',27h,'Konngara',27h,0
|
||
; char aS_1[]
|
||
aS_1 db '%s',0
|
||
aEasy db ' EASY ',0
|
||
aNormal db 'NORMAL',0
|
||
aHard db ' HARD ',0
|
||
aLunatic db 'LUNATIC',0
|
||
aEndm_a_grp db 'endm_a.grp',0
|
||
aUmx_1 db '<27><><EFBFBD><EFBFBD><EFBFBD>ˈٓ`',0
|
||
aVer db 'ver',0
|
||
a1_10 db '1.10',0
|
||
; char aUqiUxb[]
|
||
aUqiUxb@b@b@b@b db '<27><><EFBFBD>Փx<D593>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@ %s',0
|
||
; char aNbi[3]
|
||
aNbi db '<27><><EFBFBD><EFBFBD><EFBFBD>̍ō<CC8D><C58D><EFBFBD><EFBFBD>_<EFBFBD>@<40>@<40>@<40>@<40>@<40>@ %7lu',0
|
||
; char aNPiuU_b[]
|
||
aNPiuU_b@b@b@b@ db '<27>ŏI<C58F><49><EFBFBD>_<EFBFBD>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@ %7lu',0
|
||
; char aGrgugegbgjgebI[15]
|
||
aGrgugegbgjgebI db '<27>R<EFBFBD><52><EFBFBD>e<EFBFBD>B<EFBFBD>j<EFBFBD><6A><EFBFBD>[<5B><><EFBFBD><EFBFBD>',0
|
||
; char aB[]
|
||
aB@r_oB@b@b@b@b db '<27>@<40>_<EFBFBD>Ё@<40>@<40>@<40>@<40>i<EFBFBD>P<EFBFBD>ʁ`<60>T<EFBFBD>ʁj <20>@ %3lu',0
|
||
aB@gqbGgb@b@b@b db '<27>@<40>Q<EFBFBD>[<5B>g<EFBFBD>@<40>@<40>@<40>i<EFBFBD>U<EFBFBD>ʁ`<60>P<EFBFBD>O<EFBFBD>ʁj %3lu',0
|
||
; char aB[]
|
||
aB@tkb@b@b@b@b@ db '<27>@<40>K<EFBFBD>@<40>@<40>@<40>@<40>@<40>i<EFBFBD>U<EFBFBD>ʁ`<60>P<EFBFBD>O<EFBFBD>ʁj %3lu',0
|
||
aGfgbgivFpBivpv db ' <20><><EFBFBD>B<EFBFBD>i<EFBFBD>̔p<CC94>Ёi<D081>P<EFBFBD>P<EFBFBD>ʁ`<60>P<EFBFBD>T<EFBFBD>ʁj%3lu',0
|
||
; char aB[]
|
||
aB@ikvXekeb@b@b db '<27>@<40><><EFBFBD>̕<EFBFBD><CC95>E<EFBFBD>@<40>@<40>i<EFBFBD>P<EFBFBD>P<EFBFBD>ʁ`<60>P<EFBFBD>T<EFBFBD>ʁj%3lu',0
|
||
aSVVVsr_uabivpv db ' <20><EFBFBD><C282><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD>a<EFBFBD>i<EFBFBD>P<EFBFBD>T<EFBFBD>ʁ`<60>Q<EFBFBD>O<EFBFBD>ʁj%3lu',0
|
||
; char aB[]
|
||
aB@rVivVsr_uabi db '<27>@<40>Â<EFBFBD><C382>Ȃ<EFBFBD><C882>_<EFBFBD>a<EFBFBD>i<EFBFBD>P<EFBFBD>T<EFBFBD>ʁ`<60>Q<EFBFBD>O<EFBFBD>ʁj%3lu',0
|
||
aCvkeglbGgsnnzb db ' <20><><EFBFBD>E<EFBFBD><45><EFBFBD>[<5B>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD>@<40>@<40>@<40>@<40>@<40>@ %5lu',0
|
||
; char aB[]
|
||
aB@tnncglbGgsnn db '<27>@<40>n<EFBFBD><6E><EFBFBD><EFBFBD><EFBFBD>[<5B>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD>@<40>@<40>@<40>@<40>@<40>@<40>@%5lu',0
|
||
aThankYouForPla db ' Thank you for Playing !! ',0
|
||
; char aBBBVavVVPNjbBB[]
|
||
aBBBVavVVPNjbBB db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD><C882>̏̍<CC8F><CC8D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
|
||
aKo db '<27><>',0
|
||
aKo_0 db '<27><>',0
|
||
db 0
|
||
include th01/end/type[data].asm
|
||
include th01/hardware/vsync[data].asm
|
||
include th01/hardware/ztext[data].asm
|
||
include th01/core/initexit[data].asm
|
||
include th01/hardware/palette[data].asm
|
||
include th01/hardware/graph_r[data].asm
|
||
include th01/hardware/respal[data].asm
|
||
include th01/formats/grp_ptn[data].asm
|
||
include th01/mdrv2[data].asm
|
||
include libs/master.lib/version[data].asm
|
||
include libs/master.lib/grp[data].asm
|
||
include libs/master.lib/pal[data].asm
|
||
include libs/master.lib/respal_exist[data].asm
|
||
include libs/master.lib/resdata[data].asm
|
||
include libs/master.lib/fil[data].asm
|
||
include libs/master.lib/dos_ropen[data].asm
|
||
include libs/master.lib/clip[data].asm
|
||
include libs/master.lib/rand[data].asm
|
||
|
||
.data?
|
||
|
||
; TODO: Missing clip[bss].asm (16 bytes) somewhere in there...
|
||
_continues_total dd ?
|
||
; char word_13EDC[]
|
||
word_13EDC dw ?
|
||
word_13EDE dw ?
|
||
; char word_13EE0[]
|
||
word_13EE0 dw ?
|
||
word_13EE2 dw ?
|
||
; char word_13EE4[]
|
||
word_13EE4 dw ?
|
||
word_13EE6 dw ?
|
||
; char word_13EE8[]
|
||
word_13EE8 dw ?
|
||
word_13EEA dw ?
|
||
db 308 dup(?)
|
||
byte_14020 db ?
|
||
byte_14021 db ?
|
||
public _rank
|
||
_rank db ?
|
||
db ?
|
||
include th01/hiscore/hiscore[bss].asm
|
||
db ? ;
|
||
byte_14039 db ?
|
||
byte_1403A db ?
|
||
byte_1403B db ?
|
||
byte_1403C db ?
|
||
byte_1403D db ?
|
||
byte_1403E db ?
|
||
byte_1403F db ?
|
||
byte_14040 db ?
|
||
byte_14041 db ?
|
||
byte_14042 db ?
|
||
db ?
|
||
include th01/hardware/vsync[bss].asm
|
||
db 256 dup(?)
|
||
include th01/core/initexit[bss].asm
|
||
include th01/hardware/graph[bss].asm
|
||
db 80 dup(?)
|
||
include th01/formats/grp_palette[bss].asm
|
||
db 1136 dup(?)
|
||
include th01/formats/grp_buf[bss].asm
|
||
include th01/hardware/vram_planes[bss].asm
|
||
include libs/master.lib/pal[bss].asm
|
||
include libs/master.lib/fil[bss].asm
|
||
db 16 dup (?)
|
||
|
||
end
|