mirror of https://github.com/nmlgc/ReC98.git
6754 lines
113 KiB
NASM
6754 lines
113 KiB
NASM
;
|
||
; +-------------------------------------------------------------------------+
|
||
; | This file has been generated by The Interactive Disassembler (IDA) |
|
||
; | Copyright (c) 2009 by Hex-Rays, <support@hex-rays.com> |
|
||
; +-------------------------------------------------------------------------+
|
||
;
|
||
; Input MD5 : E6F971B37336C0F9FCE53F895780031E
|
||
|
||
; File Name : th02/MAINE.EXE
|
||
; Format : MS-DOS executable (EXE)
|
||
; Base Address: 0h Range: 0h-FCF0h Loaded length: DE32h
|
||
; Entry Point : 0:0
|
||
; OS type : MS DOS
|
||
; Application type: Executable 16bit
|
||
|
||
CGROUP00 group seg000
|
||
CGROUP01 group seg001
|
||
CGROUP02 group seg002
|
||
CGROUP03 group seg003
|
||
CGROUP04 group seg004
|
||
CGROUP05 group seg005
|
||
CGROUP06 group seg006
|
||
|
||
.286 ; Force the .model directive to create 16-bit default segments...
|
||
.model large
|
||
__LARGE__ equ 1
|
||
.386 ; ... then switch to what we actually need.
|
||
; And yes, we can't move this to an include file for some reason.
|
||
|
||
include ReC98.inc
|
||
include th02/th02.asm
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
seg000 segment word public 'CODE' use16
|
||
assume cs:seg000
|
||
assume es:nothing, ss:_STACK, ds:dseg, fs:nothing, gs:nothing
|
||
|
||
include libs/BorlandC/c0.asm
|
||
db 0
|
||
include libs/master.lib/bfnt_entry_pat.asm
|
||
include libs/master.lib/bfnt_extend_header_skip.asm
|
||
include libs/master.lib/bfnt_header_read.asm
|
||
include libs/master.lib/bfnt_header_analysis.asm
|
||
include libs/master.lib/bcloser.asm
|
||
include libs/master.lib/bfill.asm
|
||
include libs/master.lib/bfnt_palette_set.asm
|
||
include libs/master.lib/bgetc.asm
|
||
include libs/master.lib/palette_black_in.asm
|
||
include libs/master.lib/palette_black_out.asm
|
||
include libs/master.lib/bopenr.asm
|
||
include libs/master.lib/bread.asm
|
||
include libs/master.lib/bseek.asm
|
||
include libs/master.lib/bseek_.asm
|
||
include libs/master.lib/cutline.asm
|
||
include libs/master.lib/dos_axdx.asm
|
||
include libs/master.lib/dos_filesize.asm
|
||
include libs/master.lib/dos_setvect.asm
|
||
include libs/master.lib/egc.asm
|
||
include libs/master.lib/egc_shift_down.asm
|
||
include libs/master.lib/egc_shift_left.asm
|
||
include libs/master.lib/file_append.asm
|
||
include libs/master.lib/file_close.asm
|
||
include libs/master.lib/file_exist.asm
|
||
include libs/master.lib/file_read.asm
|
||
include libs/master.lib/file_ropen.asm
|
||
include libs/master.lib/file_seek.asm
|
||
include libs/master.lib/file_size.asm
|
||
include libs/master.lib/file_write.asm
|
||
include libs/master.lib/dos_close.asm
|
||
include libs/master.lib/dos_ropen.asm
|
||
include libs/master.lib/grcg_boxfill.asm
|
||
include libs/master.lib/grcg_line.asm
|
||
include libs/master.lib/grcg_setcolor.asm
|
||
include libs/master.lib/gaiji_backup.asm
|
||
include libs/master.lib/gaiji_entry_bfnt.asm
|
||
include libs/master.lib/gaiji_putca.asm
|
||
include libs/master.lib/gaiji_putsa.asm
|
||
include libs/master.lib/gaiji_read.asm
|
||
include libs/master.lib/gaiji_write.asm
|
||
include libs/master.lib/graph_400line.asm
|
||
include libs/master.lib/graph_clear.asm
|
||
include libs/master.lib/graph_copy_page.asm
|
||
include libs/master.lib/graph_extmode.asm
|
||
include libs/master.lib/graph_gaiji_putc.asm
|
||
include libs/master.lib/graph_gaiji_puts.asm
|
||
include libs/master.lib/graph_pi_free.asm
|
||
include libs/master.lib/graph_pi_load_pack.asm
|
||
include libs/master.lib/graph_pack_put_8.asm
|
||
include libs/master.lib/key_sense.asm
|
||
include libs/master.lib/over_put_8.asm
|
||
include libs/master.lib/palette_show.asm
|
||
include libs/master.lib/pfclose.asm
|
||
include libs/master.lib/pfgetc.asm
|
||
include libs/master.lib/pfread.asm
|
||
include libs/master.lib/pfrewind.asm
|
||
include libs/master.lib/pfseek.asm
|
||
include libs/master.lib/palette_entry_rgb.asm
|
||
include libs/master.lib/rottbl.asm
|
||
include libs/master.lib/smem_release.asm
|
||
include libs/master.lib/smem_wget.asm
|
||
include libs/master.lib/text_clear.asm
|
||
include libs/master.lib/vsync.asm
|
||
include libs/master.lib/vsync_wait.asm
|
||
include libs/master.lib/palette_white_in.asm
|
||
include libs/master.lib/palette_white_out.asm
|
||
include libs/master.lib/hmem_lallocate.asm
|
||
include libs/master.lib/mem_assign_dos.asm
|
||
include libs/master.lib/mem_assign.asm
|
||
include libs/master.lib/memheap.asm
|
||
include libs/master.lib/mem_unassign.asm
|
||
include libs/master.lib/super_entry_pat.asm
|
||
include libs/master.lib/super_entry_at.asm
|
||
include libs/master.lib/super_entry_bfnt.asm
|
||
include libs/master.lib/pfint21.asm
|
||
db 0
|
||
include th02/formats/pfopen.asm
|
||
include libs/master.lib/pf_str_ieq.asm
|
||
include libs/BorlandC/_abort.asm
|
||
include libs/BorlandC/stpcpy.asm
|
||
include libs/BorlandC/abort.asm
|
||
include libs/BorlandC/atexit.asm
|
||
include libs/BorlandC/del.asm
|
||
include libs/BorlandC/delarray.asm
|
||
include libs/BorlandC/dosenv.asm
|
||
include libs/BorlandC/dosgdriv.asm
|
||
include libs/BorlandC/errormsg.asm
|
||
include libs/BorlandC/exit.asm
|
||
include libs/BorlandC/f_scopy.asm
|
||
include libs/BorlandC/getdate.asm
|
||
include libs/BorlandC/getvect.asm
|
||
include libs/BorlandC/H_LDIV.ASM
|
||
include libs/BorlandC/H_LLSH.ASM
|
||
include libs/BorlandC/H_PADD.ASM
|
||
include libs/BorlandC/ioerror.asm
|
||
include libs/BorlandC/_isatty.asm
|
||
include libs/BorlandC/lseek.asm
|
||
include libs/BorlandC/new.asm
|
||
include libs/BorlandC/N_LXMUL.ASM
|
||
include libs/BorlandC/N_PCMP.ASM
|
||
include libs/BorlandC/setupio.asm
|
||
include libs/BorlandC/toupper.asm
|
||
include libs/BorlandC/xxas.asm
|
||
include libs/BorlandC/xxv.asm
|
||
include libs/BorlandC/cputype.asm
|
||
include libs/BorlandC/FARHEAP.ASM
|
||
include libs/BorlandC/fbrk.asm
|
||
include libs/BorlandC/signal.asm
|
||
include libs/BorlandC/_access.asm
|
||
include libs/BorlandC/pathops.asm
|
||
include libs/BorlandC/chmoda.asm
|
||
include libs/BorlandC/fflush.asm
|
||
include libs/BorlandC/flushall.asm
|
||
include libs/BorlandC/fseek.asm
|
||
include libs/BorlandC/fullpath.asm
|
||
include libs/BorlandC/getdcwd.asm
|
||
include libs/BorlandC/getenv.asm
|
||
include libs/BorlandC/memcmp.asm
|
||
include libs/BorlandC/memcpy.asm
|
||
include libs/BorlandC/memset.asm
|
||
include libs/BorlandC/movmem.asm
|
||
include libs/BorlandC/srchenv.asm
|
||
include libs/BorlandC/srchstr.asm
|
||
include libs/BorlandC/setvbuf.asm
|
||
include libs/BorlandC/_strcat.asm
|
||
include libs/BorlandC/_strcmp.asm
|
||
include libs/BorlandC/_strcpy.asm
|
||
include libs/BorlandC/_stricmp.asm
|
||
include libs/BorlandC/_strlen.asm
|
||
include libs/BorlandC/strrchr.asm
|
||
include libs/BorlandC/write.asm
|
||
include libs/BorlandC/writea.asm
|
||
include libs/BorlandC/xfflush.asm
|
||
include libs/BorlandC/xalloc.asm
|
||
include libs/BorlandC/xmsg.asm
|
||
include libs/BorlandC/xx.asm
|
||
include libs/BorlandC/doscmd.asm
|
||
include libs/BorlandC/exec.asm
|
||
include libs/BorlandC/execl.asm
|
||
include libs/BorlandC/setblock.asm
|
||
include libs/BorlandC/setenvp.asm
|
||
include libs/BorlandC/ctor2.asm
|
||
include libs/BorlandC/ctor3.asm
|
||
include libs/BorlandC/strings.asm
|
||
include libs/BorlandC/mbjmsjis.asm
|
||
include libs/BorlandC/loadprog.asm
|
||
seg000 ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
seg001 segment byte public 'CODE' use16
|
||
assume cs:seg001
|
||
;org 3
|
||
assume es:nothing, ss:nothing, ds:dseg, fs:nothing, gs:nothing
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_95A3 proc near
|
||
|
||
var_2 = word ptr -2
|
||
arg_0 = dword ptr 4
|
||
|
||
enter 2, 0
|
||
pushd [bp+arg_0]
|
||
call file_ropen
|
||
call file_size
|
||
mov [bp+var_2], ax
|
||
push ds
|
||
push offset unk_DE32
|
||
push ax
|
||
call file_read
|
||
call file_close
|
||
leave
|
||
retn 4
|
||
sub_95A3 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_95CB proc near
|
||
|
||
var_9 = byte ptr -9
|
||
var_8 = dword ptr -8
|
||
var_4 = dword ptr -4
|
||
arg_0 = dword ptr 4
|
||
arg_4 = word ptr 8
|
||
arg_6 = word ptr 0Ah
|
||
|
||
enter 0Ah, 0
|
||
push si
|
||
push di
|
||
mov di, 0A0h
|
||
mov [bp+var_4], 989680h
|
||
mov [bp+var_9], 0
|
||
xor si, si
|
||
jmp short loc_9638
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_95E4:
|
||
mov eax, [bp+arg_0]
|
||
cdq
|
||
idiv [bp+var_4]
|
||
mov ebx, 0Ah
|
||
cdq
|
||
idiv ebx
|
||
mov [bp+var_8], edx
|
||
mov eax, [bp+var_4]
|
||
cdq
|
||
idiv ebx
|
||
mov [bp+var_4], eax
|
||
mov ax, word ptr [bp+var_8]
|
||
add ax, 0A0h
|
||
mov di, ax
|
||
cmp [bp+var_8], 0
|
||
jz short loc_961D
|
||
mov [bp+var_9], 1
|
||
|
||
loc_961D:
|
||
cmp [bp+var_9], 0
|
||
jz short loc_9637
|
||
mov ax, si
|
||
shl ax, 4
|
||
add ax, [bp+arg_6]
|
||
push ax
|
||
push [bp+arg_4]
|
||
push di
|
||
push 0Fh
|
||
call graph_gaiji_putc
|
||
|
||
loc_9637:
|
||
inc si
|
||
|
||
loc_9638:
|
||
cmp si, 8
|
||
jl short loc_95E4
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 8
|
||
sub_95CB endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_9643 proc near
|
||
|
||
var_50 = byte ptr -50h
|
||
arg_0 = word ptr 4
|
||
arg_2 = dword ptr 6
|
||
arg_6 = word ptr 0Ah
|
||
arg_8 = word ptr 0Ch
|
||
arg_A = word ptr 0Eh
|
||
|
||
enter 50h, 0
|
||
push si
|
||
push di
|
||
lea ax, [bp+var_50]
|
||
push ss
|
||
push ax
|
||
push ds
|
||
push offset unk_D030
|
||
mov cx, 50h ; 'P'
|
||
call SCOPY@
|
||
xor si, si
|
||
xor di, di
|
||
jmp short loc_96C4
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9660:
|
||
call sub_B536
|
||
les bx, [bp+arg_2]
|
||
add bx, si
|
||
mov al, es:[bx]
|
||
mov [bp+si+var_50], al
|
||
inc si
|
||
mov bx, word ptr [bp+arg_2]
|
||
add bx, si
|
||
mov al, es:[bx]
|
||
mov [bp+si+var_50], al
|
||
inc si
|
||
mov [bp+si+var_50], 0
|
||
push ss
|
||
lea ax, [bp+var_50]
|
||
push ax
|
||
mov al, byte_F02A
|
||
cbw
|
||
push ax
|
||
push [bp+arg_8]
|
||
push [bp+arg_A]
|
||
call sub_B200
|
||
add sp, 0Ah
|
||
cmp byte_F02B, 0
|
||
jz short loc_96B9
|
||
cmp word_FAEE, 0
|
||
jz short loc_96B9
|
||
test di, 3
|
||
jz short loc_96C1
|
||
mov ax, [bp+arg_0]
|
||
mov bx, 3
|
||
cwd
|
||
idiv bx
|
||
push ax
|
||
jmp short loc_96BC
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_96B9:
|
||
push [bp+arg_0]
|
||
|
||
loc_96BC:
|
||
call frame_delay
|
||
|
||
loc_96C1:
|
||
add di, 2
|
||
|
||
loc_96C4:
|
||
cmp di, [bp+arg_6]
|
||
jl short loc_9660
|
||
xor si, si
|
||
jmp short loc_96EC
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_96CD:
|
||
call sub_B536
|
||
cmp byte_F02B, 0
|
||
jz short loc_96E4
|
||
cmp word_FAEE, 0
|
||
jz short loc_96E4
|
||
push 0
|
||
jmp short loc_96E6
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_96E4:
|
||
push 2
|
||
|
||
loc_96E6:
|
||
call frame_delay
|
||
inc si
|
||
|
||
loc_96EC:
|
||
cmp si, 14h
|
||
jl short loc_96CD
|
||
cmp byte_F02B, 0
|
||
jz short loc_96FB
|
||
call sub_9A7E
|
||
|
||
loc_96FB:
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 0Ch
|
||
sub_9643 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_9701 proc far
|
||
|
||
var_8 = word ptr -8
|
||
var_6 = word ptr -6
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 6
|
||
arg_2 = word ptr 8
|
||
arg_4 = dword ptr 0Ah
|
||
|
||
enter 8, 0
|
||
push si
|
||
push di
|
||
mov ax, [bp+arg_0]
|
||
sar ax, 3
|
||
mov dx, [bp+arg_2]
|
||
shl dx, 6
|
||
add ax, dx
|
||
mov dx, [bp+arg_2]
|
||
shl dx, 4
|
||
add ax, dx
|
||
mov si, ax
|
||
xor di, di
|
||
jmp loc_97E6
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9724:
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
les bx, dword_F892
|
||
add bx, si
|
||
mov ax, es:[bx]
|
||
mov [bp+var_8], ax
|
||
les bx, dword_F896
|
||
add bx, si
|
||
mov ax, es:[bx]
|
||
mov [bp+var_6], ax
|
||
les bx, dword_F89A
|
||
add bx, si
|
||
mov ax, es:[bx]
|
||
mov [bp+var_4], ax
|
||
les bx, dword_F89E
|
||
add bx, si
|
||
mov ax, es:[bx]
|
||
mov [bp+var_2], ax
|
||
mov al, 0
|
||
out dx, al
|
||
push 0C00000h
|
||
call grcg_setcolor
|
||
mov ax, di
|
||
add ax, ax
|
||
les bx, [bp+arg_4]
|
||
add bx, ax
|
||
mov ax, es:[bx]
|
||
les bx, dword_F892
|
||
add bx, si
|
||
mov es:[bx], ax
|
||
call grcg_off
|
||
mov ax, di
|
||
add ax, ax
|
||
les bx, [bp+arg_4]
|
||
add bx, ax
|
||
mov ax, es:[bx]
|
||
and ax, [bp+var_8]
|
||
les bx, dword_F892
|
||
add bx, si
|
||
or es:[bx], ax
|
||
mov ax, di
|
||
add ax, ax
|
||
les bx, [bp+arg_4]
|
||
add bx, ax
|
||
mov ax, es:[bx]
|
||
and ax, [bp+var_6]
|
||
les bx, dword_F896
|
||
add bx, si
|
||
or es:[bx], ax
|
||
mov ax, di
|
||
add ax, ax
|
||
les bx, [bp+arg_4]
|
||
add bx, ax
|
||
mov ax, es:[bx]
|
||
and ax, [bp+var_4]
|
||
les bx, dword_F89A
|
||
add bx, si
|
||
or es:[bx], ax
|
||
mov ax, di
|
||
add ax, ax
|
||
les bx, [bp+arg_4]
|
||
add bx, ax
|
||
mov ax, es:[bx]
|
||
and ax, [bp+var_2]
|
||
les bx, dword_F89E
|
||
add bx, si
|
||
or es:[bx], ax
|
||
add si, 50h ; 'P'
|
||
inc di
|
||
|
||
loc_97E6:
|
||
cmp di, 10h
|
||
jl loc_9724
|
||
pop di
|
||
pop si
|
||
leave
|
||
retf
|
||
sub_9701 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_97F1 proc far
|
||
|
||
var_60 = byte ptr -60h
|
||
arg_0 = word ptr 6
|
||
arg_2 = word ptr 8
|
||
arg_4 = word ptr 0Ah
|
||
|
||
enter 60h, 0
|
||
push si
|
||
push di
|
||
lea ax, [bp+var_60]
|
||
push ss
|
||
push ax
|
||
push ds
|
||
push offset aKkuukkuukkuukk ; "<22><>UU<55><55>UU<55><55>UU<55><55>UU<55><55>UU<55><55>UU<55><55>UU<55><55>UU3333<33><33><EFBFBD>"...
|
||
mov cx, 60h
|
||
call SCOPY@
|
||
xor di, di
|
||
jmp short loc_983D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_980C:
|
||
xor si, si
|
||
jmp short loc_9830
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9810:
|
||
mov ax, di
|
||
shl ax, 5
|
||
lea dx, [bp+var_60]
|
||
add ax, dx
|
||
push ss
|
||
push ax
|
||
push [bp+arg_2]
|
||
mov ax, si
|
||
shl ax, 4
|
||
add ax, [bp+arg_0]
|
||
push ax
|
||
call sub_9701
|
||
add sp, 8
|
||
inc si
|
||
|
||
loc_9830:
|
||
cmp si, [bp+arg_4]
|
||
jl short loc_9810
|
||
push 0Ah
|
||
call frame_delay
|
||
inc di
|
||
|
||
loc_983D:
|
||
cmp di, 3
|
||
jl short loc_980C
|
||
pop di
|
||
pop si
|
||
leave
|
||
retf
|
||
sub_97F1 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_9846 proc near
|
||
|
||
var_2 = byte ptr -2
|
||
var_1 = byte ptr -1
|
||
arg_0 = dword ptr 4
|
||
arg_4 = word ptr 8
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
mov di, [bp+arg_4]
|
||
mov si, 64h ; 'd'
|
||
mov [bp+var_2], 0
|
||
xor cx, cx
|
||
jmp short loc_98A1
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_985A:
|
||
mov ax, di
|
||
cwd
|
||
idiv si
|
||
mov [bp+var_1], al
|
||
cmp [bp+var_2], 0
|
||
jnz short loc_986B
|
||
mov [bp+var_2], al
|
||
|
||
loc_986B:
|
||
cmp [bp+var_2], 0
|
||
jnz short loc_9876
|
||
cmp cx, 2
|
||
jnz short loc_9885
|
||
|
||
loc_9876:
|
||
les bx, [bp+arg_0]
|
||
add bx, cx
|
||
mov al, [bp+var_1]
|
||
add al, 0A0h
|
||
mov es:[bx], al
|
||
jmp short loc_988E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9885:
|
||
les bx, [bp+arg_0]
|
||
add bx, cx
|
||
mov byte ptr es:[bx], 0CFh ; '<27>'
|
||
|
||
loc_988E:
|
||
mov al, [bp+var_1]
|
||
cbw
|
||
imul si
|
||
sub di, ax
|
||
inc cx
|
||
mov bx, 0Ah
|
||
mov ax, si
|
||
cwd
|
||
idiv bx
|
||
mov si, ax
|
||
|
||
loc_98A1:
|
||
cmp cx, 3
|
||
jl short loc_985A
|
||
les bx, [bp+arg_0]
|
||
add bx, cx
|
||
mov byte ptr es:[bx], 0
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 6
|
||
sub_9846 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_98B5 proc near
|
||
|
||
var_6 = word ptr -6
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
|
||
enter 6, 0
|
||
push si
|
||
push di
|
||
cmp [bp+arg_0], 0
|
||
jnz short loc_98C5
|
||
xor ax, ax
|
||
jmp short loc_98DE
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_98C5:
|
||
cmp [bp+arg_0], 1
|
||
jnz short loc_98D0
|
||
mov ax, 28h ; '('
|
||
jmp short loc_98DE
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_98D0:
|
||
cmp [bp+arg_0], 2
|
||
jnz short loc_98DB
|
||
mov ax, 3E80h
|
||
jmp short loc_98DE
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_98DB:
|
||
mov ax, 3EA8h
|
||
|
||
loc_98DE:
|
||
mov si, ax
|
||
mov di, 1F54h
|
||
call sub_C10B
|
||
mov [bp+var_2], 0
|
||
jmp short loc_9930
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_98EF:
|
||
mov [bp+var_4], 0
|
||
jmp short loc_9921
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_98F6:
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
les bx, dword_F892
|
||
add bx, si
|
||
mov ax, es:[bx]
|
||
mov [bp+var_6], ax
|
||
mov al, 0
|
||
out dx, al
|
||
mov bx, word ptr dword_F892
|
||
add bx, di
|
||
mov ax, [bp+var_6]
|
||
mov es:[bx], ax
|
||
add [bp+var_4], 2
|
||
add si, 2
|
||
add di, 2
|
||
|
||
loc_9921:
|
||
cmp [bp+var_4], 28h ; '('
|
||
jl short loc_98F6
|
||
inc [bp+var_2]
|
||
add di, 28h ; '('
|
||
add si, 28h ; '('
|
||
|
||
loc_9930:
|
||
cmp [bp+var_2], 0C8h ; '<27>'
|
||
jl short loc_98EF
|
||
call egc_off
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 2
|
||
sub_98B5 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_9942 proc near
|
||
|
||
var_6 = word ptr -6
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
arg_4 = word ptr 8
|
||
|
||
enter 6, 0
|
||
push si
|
||
push di
|
||
cmp [bp+arg_0], 0
|
||
jnz short loc_9952
|
||
xor ax, ax
|
||
jmp short loc_996B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9952:
|
||
cmp [bp+arg_0], 1
|
||
jnz short loc_995D
|
||
mov ax, 28h ; '('
|
||
jmp short loc_996B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_995D:
|
||
cmp [bp+arg_0], 2
|
||
jnz short loc_9968
|
||
mov ax, 3E80h
|
||
jmp short loc_996B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9968:
|
||
mov ax, 3EA8h
|
||
|
||
loc_996B:
|
||
mov si, ax
|
||
mov ax, [bp+arg_4]
|
||
sar ax, 3
|
||
mov dx, [bp+arg_2]
|
||
shl dx, 6
|
||
add ax, dx
|
||
mov dx, [bp+arg_2]
|
||
shl dx, 4
|
||
add ax, dx
|
||
mov di, ax
|
||
call sub_C10B
|
||
mov [bp+var_2], 0
|
||
jmp short loc_99D2
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9991:
|
||
mov [bp+var_4], 0
|
||
jmp short loc_99C3
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9998:
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
les bx, dword_F892
|
||
add bx, si
|
||
mov ax, es:[bx]
|
||
mov [bp+var_6], ax
|
||
mov al, 0
|
||
out dx, al
|
||
mov bx, word ptr dword_F892
|
||
add bx, di
|
||
mov ax, [bp+var_6]
|
||
mov es:[bx], ax
|
||
add [bp+var_4], 2
|
||
add si, 2
|
||
add di, 2
|
||
|
||
loc_99C3:
|
||
cmp [bp+var_4], 28h ; '('
|
||
jl short loc_9998
|
||
inc [bp+var_2]
|
||
add di, 28h ; '('
|
||
add si, 28h ; '('
|
||
|
||
loc_99D2:
|
||
cmp [bp+var_2], 0C8h ; '<27>'
|
||
jl short loc_9991
|
||
call egc_off
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 6
|
||
sub_9942 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_99E4 proc near
|
||
|
||
var_6 = word ptr -6
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
arg_4 = word ptr 8
|
||
|
||
enter 6, 0
|
||
push si
|
||
push di
|
||
cmp [bp+arg_4], 0
|
||
jnz short loc_99F4
|
||
xor ax, ax
|
||
jmp short loc_9A0D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_99F4:
|
||
cmp [bp+arg_4], 1
|
||
jnz short loc_99FF
|
||
mov ax, 28h ; '('
|
||
jmp short loc_9A0D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_99FF:
|
||
cmp [bp+arg_4], 2
|
||
jnz short loc_9A0A
|
||
mov ax, 3E80h
|
||
jmp short loc_9A0D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9A0A:
|
||
mov ax, 3EA8h
|
||
|
||
loc_9A0D:
|
||
mov si, ax
|
||
mov di, 1F54h
|
||
mov ax, [bp+arg_2]
|
||
imul ax, 50h
|
||
add si, ax
|
||
call sub_C10B
|
||
mov ax, [bp+arg_2]
|
||
mov [bp+var_2], ax
|
||
jmp short loc_9A68
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9A27:
|
||
mov [bp+var_4], 0
|
||
jmp short loc_9A59
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9A2E:
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
les bx, dword_F892
|
||
add bx, si
|
||
mov ax, es:[bx]
|
||
mov [bp+var_6], ax
|
||
mov al, 0
|
||
out dx, al
|
||
mov bx, word ptr dword_F892
|
||
add bx, di
|
||
mov ax, [bp+var_6]
|
||
mov es:[bx], ax
|
||
add [bp+var_4], 2
|
||
add si, 2
|
||
add di, 2
|
||
|
||
loc_9A59:
|
||
cmp [bp+var_4], 28h ; '('
|
||
jl short loc_9A2E
|
||
inc [bp+var_2]
|
||
add di, 28h ; '('
|
||
add si, 28h ; '('
|
||
|
||
loc_9A68:
|
||
mov ax, [bp+arg_0]
|
||
add ax, [bp+arg_2]
|
||
cmp ax, [bp+var_2]
|
||
jg short loc_9A27
|
||
call egc_off
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 6
|
||
sub_99E4 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_9A7E proc near
|
||
|
||
var_2 = word ptr -2
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
push 0C00000h
|
||
call grcg_setcolor
|
||
mov si, 14Ch
|
||
jmp short loc_9AC5
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9A94:
|
||
mov di, 90h
|
||
jmp short loc_9ABE
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9A99:
|
||
mov ax, di
|
||
sar ax, 3
|
||
mov dx, si
|
||
shl dx, 6
|
||
add ax, dx
|
||
mov dx, si
|
||
shl dx, 4
|
||
add ax, dx
|
||
mov [bp+var_2], ax
|
||
les bx, dword_F892
|
||
add bx, [bp+var_2]
|
||
mov word ptr es:[bx], 0FFFFh
|
||
add di, 10h
|
||
|
||
loc_9ABE:
|
||
cmp di, 1F0h
|
||
jl short loc_9A99
|
||
inc si
|
||
|
||
loc_9AC5:
|
||
cmp si, 15Ch
|
||
jl short loc_9A94
|
||
call grcg_off
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn
|
||
sub_9A7E endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_9AD4 proc near
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push ds
|
||
push (offset aKkuukkuukkuukk+60h)
|
||
call sub_95A3
|
||
push 1Eh
|
||
call frame_delay
|
||
push 1
|
||
call palette_white_out
|
||
call snd_load c, offset aEnding_m, ds, SND_LOAD_SONG
|
||
kajacall KAJA_SONG_PLAY
|
||
pop cx
|
||
call sub_9A7E
|
||
push 4
|
||
call palette_white_in
|
||
push 5
|
||
call sub_B855
|
||
pop cx
|
||
mov si, 0A0h
|
||
jmp short loc_9B5C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9B1B:
|
||
push si
|
||
push 64h ; 'd'
|
||
lea ax, [si+13Fh]
|
||
push ax
|
||
push 12B0004h
|
||
call egc_shift_left
|
||
push 0C00000h
|
||
call grcg_setcolor
|
||
lea ax, [si+138h]
|
||
push ax
|
||
push 64h ; 'd'
|
||
lea ax, [si+13Fh]
|
||
push ax
|
||
push 12Bh
|
||
call grcg_boxfill
|
||
call grcg_off
|
||
push 1
|
||
call frame_delay
|
||
sub si, 4
|
||
|
||
loc_9B5C:
|
||
cmp si, 24h ; '$'
|
||
jg short loc_9B1B
|
||
pop si
|
||
pop bp
|
||
retn
|
||
sub_9AD4 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_9B64 proc near
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push ds
|
||
push offset aEnd1_txt ; "end1.txt"
|
||
call sub_95A3
|
||
call snd_load c, offset aEnd1_m, ds, SND_LOAD_SONG
|
||
kajacall KAJA_SONG_PLAY
|
||
pop cx
|
||
mov PaletteTone, 0
|
||
call far ptr palette_show
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call pi_slot_load c, 0, offset aEd01_pi, ds
|
||
call pi_slot_palette_apply stdcall, 0
|
||
pop cx
|
||
call pi_slot_put c, 0, large 0
|
||
freePISlotLarge 0
|
||
push 2
|
||
call palette_black_in
|
||
push 28h ; '('
|
||
call frame_delay
|
||
push 0
|
||
call sub_98B5
|
||
mov byte_F02A, 2Fh ; '/'
|
||
mov byte_F02B, 1
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_DE32
|
||
push 6
|
||
call sub_9643
|
||
push 14h
|
||
call frame_delay
|
||
push 1
|
||
call palette_black_out
|
||
push 1
|
||
call sub_98B5
|
||
push 1
|
||
call palette_black_in
|
||
mov si, 1
|
||
jmp short loc_9C2D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9C15:
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
mov ax, si
|
||
imul ax, 2Eh
|
||
add ax, 0EB2h
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call sub_9643
|
||
inc si
|
||
|
||
loc_9C2D:
|
||
cmp si, 3
|
||
jle short loc_9C15
|
||
push 2
|
||
call sub_98B5
|
||
mov si, 4
|
||
jmp short loc_9C54
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9C3C:
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
mov ax, si
|
||
imul ax, 2Eh
|
||
add ax, 0EB2h
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call sub_9643
|
||
inc si
|
||
|
||
loc_9C54:
|
||
cmp si, 5
|
||
jle short loc_9C3C
|
||
mov byte_F02A, 26h ; '&'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_DF46
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 2Fh ; '/'
|
||
mov si, 7
|
||
jmp short loc_9C91
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9C79:
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
mov ax, si
|
||
imul ax, 2Eh
|
||
add ax, 0EB2h
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call sub_9643
|
||
inc si
|
||
|
||
loc_9C91:
|
||
cmp si, 9
|
||
jle short loc_9C79
|
||
mov byte_F02A, 26h ; '&'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_DFFE
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 2Fh ; '/'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E02C
|
||
push 6
|
||
call sub_9643
|
||
push 14h
|
||
call frame_delay
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E05A
|
||
push 6
|
||
call sub_9643
|
||
xor si, si
|
||
jmp short loc_9D10
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9CDE:
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
push 0A00064h
|
||
push 1DF0129h
|
||
push 2
|
||
call egc_shift_down
|
||
push 3
|
||
mov ax, si
|
||
add ax, ax
|
||
mov dx, 0C6h ; '<27>'
|
||
sub dx, ax
|
||
push dx
|
||
push 2
|
||
call sub_99E4
|
||
push 1
|
||
call frame_delay
|
||
inc si
|
||
|
||
loc_9D10:
|
||
cmp si, 64h ; 'd'
|
||
jl short loc_9CDE
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E088
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 26h ; '&'
|
||
mov si, 0Eh
|
||
jmp short loc_9D48
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9D30:
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
mov ax, si
|
||
imul ax, 2Eh
|
||
add ax, 0EB2h
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call sub_9643
|
||
inc si
|
||
|
||
loc_9D48:
|
||
cmp si, 0Fh
|
||
jle short loc_9D30
|
||
mov byte_F02A, 2Fh ; '/'
|
||
mov si, 10h
|
||
jmp short loc_9D6F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9D57:
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
mov ax, si
|
||
imul ax, 2Eh
|
||
add ax, 0EB2h
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call sub_9643
|
||
inc si
|
||
|
||
loc_9D6F:
|
||
cmp si, 11h
|
||
jle short loc_9D57
|
||
mov byte_F02A, 26h ; '&'
|
||
mov si, 12h
|
||
jmp short loc_9D96
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9D7E:
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
mov ax, si
|
||
imul ax, 2Eh
|
||
add ax, 0EB2h
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call sub_9643
|
||
inc si
|
||
|
||
loc_9D96:
|
||
cmp si, 14h
|
||
jle short loc_9D7E
|
||
mov byte_F02A, 2Fh ; '/'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E1F8
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 26h ; '&'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E226
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 2Fh ; '/'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E254
|
||
push 6
|
||
call sub_9643
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call pi_slot_load c, 0, offset aEd02_pi, ds
|
||
call pi_slot_palette_apply stdcall, 0
|
||
pop cx
|
||
call pi_slot_put c, 0, large 0
|
||
freePISlotLarge 0
|
||
push 2
|
||
call palette_black_out
|
||
les bx, dword_FB02
|
||
cmp byte ptr es:[bx+26h], 0
|
||
jnz short loc_9E2A
|
||
push 0
|
||
jmp short loc_9E3B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9E2A:
|
||
les bx, dword_FB02
|
||
cmp byte ptr es:[bx+26h], 1
|
||
jnz short loc_9E39
|
||
push 2
|
||
jmp short loc_9E3B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9E39:
|
||
push 3
|
||
|
||
loc_9E3B:
|
||
call sub_98B5
|
||
push 2
|
||
call palette_black_in
|
||
mov byte_F02A, 26h ; '&'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E282
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 2Fh ; '/'
|
||
mov si, 19h
|
||
jmp short loc_9E7D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9E65:
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
mov ax, si
|
||
imul ax, 2Eh
|
||
add ax, 0EB2h
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call sub_9643
|
||
inc si
|
||
|
||
loc_9E7D:
|
||
cmp si, 1Ah
|
||
jle short loc_9E65
|
||
mov byte_F02A, 26h ; '&'
|
||
les bx, dword_FB02
|
||
cmp byte ptr es:[bx+26h], 0
|
||
jnz loc_9F22
|
||
mov si, 1Bh
|
||
jmp short loc_9EB1
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9E99:
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
mov ax, si
|
||
imul ax, 2Eh
|
||
add ax, 0EB2h
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call sub_9643
|
||
inc si
|
||
|
||
loc_9EB1:
|
||
cmp si, 1Ch
|
||
jle short loc_9E99
|
||
mov byte_F02A, 2Fh ; '/'
|
||
mov si, 1Dh
|
||
jmp short loc_9ED8
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9EC0:
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
mov ax, si
|
||
imul ax, 2Eh
|
||
add ax, 0EB2h
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call sub_9643
|
||
inc si
|
||
|
||
loc_9ED8:
|
||
cmp si, 1Eh
|
||
jle short loc_9EC0
|
||
push 1
|
||
call sub_98B5
|
||
mov byte_F02A, 26h ; '&'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E3C4
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 2Fh ; '/'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E3F2
|
||
push 0Ch
|
||
call sub_9643
|
||
mov byte_F02B, 0
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E420
|
||
jmp loc_A092
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9F22:
|
||
les bx, dword_FB02
|
||
cmp byte ptr es:[bx+26h], 1
|
||
jnz loc_9FD3
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E44E
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 2Fh ; '/'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E47C
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 26h ; '&'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E4AA
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 2Fh ; '/'
|
||
mov si, 25h ; '%'
|
||
jmp short loc_9F8E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9F76:
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
mov ax, si
|
||
imul ax, 2Eh
|
||
add ax, 0EB2h
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call sub_9643
|
||
inc si
|
||
|
||
loc_9F8E:
|
||
cmp si, 26h ; '&'
|
||
jle short loc_9F76
|
||
mov byte_F02A, 26h ; '&'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E534
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 2Fh ; '/'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E562
|
||
push 0Ch
|
||
call sub_9643
|
||
mov byte_F02B, 0
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E590
|
||
jmp loc_A092
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9FD3:
|
||
les bx, dword_FB02
|
||
cmp byte ptr es:[bx+26h], 2
|
||
jnz loc_A097
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E5BE
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 2Fh ; '/'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E5EC
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 26h ; '&'
|
||
mov si, 2Ch ; ','
|
||
jmp short loc_A029
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A011:
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
mov ax, si
|
||
imul ax, 2Eh
|
||
add ax, 0EB2h
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call sub_9643
|
||
inc si
|
||
|
||
loc_A029:
|
||
cmp si, 2Dh ; '-'
|
||
jle short loc_A011
|
||
mov byte_F02A, 2Fh ; '/'
|
||
mov si, 2Eh ; '.'
|
||
jmp short loc_A050
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A038:
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
mov ax, si
|
||
imul ax, 2Eh
|
||
add ax, 0EB2h
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call sub_9643
|
||
inc si
|
||
|
||
loc_A050:
|
||
cmp si, 2Fh ; '/'
|
||
jle short loc_A038
|
||
mov byte_F02A, 26h ; '&'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E6D2
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 2Fh ; '/'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E700
|
||
push 0Ch
|
||
call sub_9643
|
||
mov byte_F02B, 0
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E72E
|
||
|
||
loc_A092:
|
||
push 9
|
||
call sub_9643
|
||
|
||
loc_A097:
|
||
call sub_9AD4
|
||
pop si
|
||
pop bp
|
||
retn
|
||
sub_9B64 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A09D proc near
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push ds
|
||
push offset aEnd2_txt ; "end2.txt"
|
||
call sub_95A3
|
||
call snd_load c, offset aEnd1_m, ds, SND_LOAD_SONG
|
||
kajacall KAJA_SONG_PLAY
|
||
pop cx
|
||
mov PaletteTone, 0
|
||
call far ptr palette_show
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call pi_slot_load c, 0, offset aEd01_pi, ds
|
||
call pi_slot_palette_apply stdcall, 0
|
||
pop cx
|
||
call pi_slot_put c, 0, large 0
|
||
freePISlotLarge 0
|
||
push 2
|
||
call palette_black_in
|
||
push 28h ; '('
|
||
call frame_delay
|
||
push 0
|
||
call sub_98B5
|
||
mov byte_F02A, 2Fh ; '/'
|
||
mov byte_F02B, 1
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_DE32
|
||
push 6
|
||
call sub_9643
|
||
push 14h
|
||
call frame_delay
|
||
push 1
|
||
call palette_black_out
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call pi_slot_load c, 0, offset aEd03_pi, ds
|
||
call pi_slot_palette_apply stdcall, 0
|
||
pop cx
|
||
call pi_slot_put c, 0, large 0
|
||
freePISlotLarge 0
|
||
push 0
|
||
call sub_98B5
|
||
push 1
|
||
call palette_black_in
|
||
mov si, 1
|
||
jmp short loc_A19D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A185:
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
mov ax, si
|
||
imul ax, 2Eh
|
||
add ax, 0EB2h
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call sub_9643
|
||
inc si
|
||
|
||
loc_A19D:
|
||
cmp si, 3
|
||
jle short loc_A185
|
||
push 1
|
||
call sub_98B5
|
||
mov si, 4
|
||
jmp short loc_A1C4
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A1AC:
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
mov ax, si
|
||
imul ax, 2Eh
|
||
add ax, 0EB2h
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call sub_9643
|
||
inc si
|
||
|
||
loc_A1C4:
|
||
cmp si, 9
|
||
jle short loc_A1AC
|
||
push 2
|
||
call sub_98B5
|
||
mov si, 0Ah
|
||
jmp short loc_A1EB
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A1D3:
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
mov ax, si
|
||
imul ax, 2Eh
|
||
add ax, 0EB2h
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call sub_9643
|
||
inc si
|
||
|
||
loc_A1EB:
|
||
cmp si, 0Bh
|
||
jle short loc_A1D3
|
||
push 3
|
||
call sub_98B5
|
||
mov si, 0Ch
|
||
jmp short loc_A212
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A1FA:
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
mov ax, si
|
||
imul ax, 2Eh
|
||
add ax, 0EB2h
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call sub_9643
|
||
inc si
|
||
|
||
loc_A212:
|
||
cmp si, 0Dh
|
||
jle short loc_A1FA
|
||
push ds
|
||
push offset aEd03a_rgb ; "ed03a.rgb"
|
||
call palette_entry_rgb
|
||
call far ptr palette_show
|
||
mov byte_F02A, 29h ; ')'
|
||
mov si, 0Eh
|
||
jmp short loc_A247
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A22F:
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
mov ax, si
|
||
imul ax, 2Eh
|
||
add ax, 0EB2h
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call sub_9643
|
||
inc si
|
||
|
||
loc_A247:
|
||
cmp si, 0Fh
|
||
jle short loc_A22F
|
||
push 2
|
||
call palette_black_out
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call pi_slot_load c, 0, offset aEd04_pi, ds
|
||
call pi_slot_palette_apply stdcall, 0
|
||
pop cx
|
||
call pi_slot_put c, 0, large 0
|
||
freePISlotLarge 0
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
push 0
|
||
call sub_98B5
|
||
push 2
|
||
call palette_black_in
|
||
mov byte_F02A, 2Fh ; '/'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E112
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 29h ; ')'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E140
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 2Fh ; '/'
|
||
mov si, 12h
|
||
jmp short loc_A2EA
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A2D2:
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
mov ax, si
|
||
imul ax, 2Eh
|
||
add ax, 0EB2h
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call sub_9643
|
||
inc si
|
||
|
||
loc_A2EA:
|
||
cmp si, 13h
|
||
jle short loc_A2D2
|
||
push 1
|
||
call sub_98B5
|
||
mov byte_F02A, 29h ; ')'
|
||
mov si, 14h
|
||
jmp short loc_A316
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A2FE:
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
mov ax, si
|
||
imul ax, 2Eh
|
||
add ax, 0EB2h
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call sub_9643
|
||
inc si
|
||
|
||
loc_A316:
|
||
cmp si, 15h
|
||
jle short loc_A2FE
|
||
mov byte_F02A, 2Fh ; '/'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E226
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 29h ; ')'
|
||
mov si, 17h
|
||
jmp short loc_A353
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A33B:
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
mov ax, si
|
||
imul ax, 2Eh
|
||
add ax, 0EB2h
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call sub_9643
|
||
inc si
|
||
|
||
loc_A353:
|
||
cmp si, 18h
|
||
jle short loc_A33B
|
||
mov byte_F02A, 2Fh ; '/'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E2B0
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 29h ; ')'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E2DE
|
||
push 6
|
||
call sub_9643
|
||
push 0Ah
|
||
call frame_delay
|
||
les bx, dword_FB02
|
||
cmp byte ptr es:[bx+26h], 0
|
||
jnz loc_A4EC
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E30C
|
||
push 6
|
||
call sub_9643
|
||
push 1Eh
|
||
call frame_delay
|
||
push 2
|
||
call sub_98B5
|
||
mov byte_F02A, 2Fh ; '/'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E33A
|
||
push 6
|
||
call sub_9643
|
||
push 3
|
||
call sub_98B5
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E368
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 29h ; ')'
|
||
mov si, 1Eh
|
||
jmp short loc_A403
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A3EB:
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
mov ax, si
|
||
imul ax, 2Eh
|
||
add ax, 0EB2h
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call sub_9643
|
||
inc si
|
||
|
||
loc_A403:
|
||
cmp si, 1Fh
|
||
jle short loc_A3EB
|
||
mov byte_F02A, 2Fh ; '/'
|
||
mov si, 20h ; ' '
|
||
jmp short loc_A42A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A412:
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
mov ax, si
|
||
imul ax, 2Eh
|
||
add ax, 0EB2h
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call sub_9643
|
||
inc si
|
||
|
||
loc_A42A:
|
||
cmp si, 24h ; '$'
|
||
jle short loc_A412
|
||
mov byte_F02A, 29h ; ')'
|
||
mov si, 25h ; '%'
|
||
jmp short loc_A451
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A439:
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
mov ax, si
|
||
imul ax, 2Eh
|
||
add ax, 0EB2h
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call sub_9643
|
||
inc si
|
||
|
||
loc_A451:
|
||
cmp si, 26h ; '&'
|
||
jle short loc_A439
|
||
mov byte_F02A, 2Fh ; '/'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E534
|
||
push 6
|
||
call sub_9643
|
||
push 2
|
||
call palette_black_out
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call pi_slot_load c, 0, offset aEd05_pi, ds
|
||
call pi_slot_palette_apply stdcall, 0
|
||
pop cx
|
||
call pi_slot_put c, 0, large 0
|
||
freePISlotLarge 0
|
||
push 0
|
||
call sub_98B5
|
||
push 2
|
||
call palette_black_in
|
||
mov si, 28h ; '('
|
||
jmp short loc_A4D3
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A4BB:
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
mov ax, si
|
||
imul ax, 2Eh
|
||
add ax, 0EB2h
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call sub_9643
|
||
inc si
|
||
|
||
loc_A4D3:
|
||
cmp si, 2Eh ; '.'
|
||
jle short loc_A4BB
|
||
mov byte_F02B, 0
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E6A4
|
||
jmp loc_A869
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A4EC:
|
||
les bx, dword_FB02
|
||
cmp byte ptr es:[bx+26h], 1
|
||
jnz loc_A6B6
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E6D2
|
||
push 6
|
||
call sub_9643
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E700
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 2Fh ; '/'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E72E
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 29h ; ')'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E75C
|
||
push 6
|
||
call sub_9643
|
||
push 1Eh
|
||
call frame_delay
|
||
push 2
|
||
call sub_98B5
|
||
mov byte_F02A, 2Fh ; '/'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E78A
|
||
push 6
|
||
call sub_9643
|
||
push 3
|
||
call sub_98B5
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E7B8
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 29h ; ')'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E7E6
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 2Fh ; '/'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E814
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 29h ; ')'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E842
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 2Fh ; '/'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_E870
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 29h ; ')'
|
||
mov si, 3Ah ; ':'
|
||
jmp short loc_A5F9
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A5E1:
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
mov ax, si
|
||
imul ax, 2Eh
|
||
add ax, 0EB2h
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call sub_9643
|
||
inc si
|
||
|
||
loc_A5F9:
|
||
cmp si, 3Dh ; '='
|
||
jle short loc_A5E1
|
||
mov byte_F02A, 2Fh ; '/'
|
||
mov si, 3Eh ; '>'
|
||
jmp short loc_A620
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A608:
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
mov ax, si
|
||
imul ax, 2Eh
|
||
add ax, 0EB2h
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call sub_9643
|
||
inc si
|
||
|
||
loc_A620:
|
||
cmp si, 42h ; 'B'
|
||
jle short loc_A608
|
||
push 2
|
||
call palette_black_out
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call pi_slot_load c, 0, offset aEd05_pi, ds
|
||
call pi_slot_palette_apply stdcall, 0
|
||
pop cx
|
||
call pi_slot_put c, 0, large 0
|
||
freePISlotLarge 0
|
||
push 1
|
||
call sub_98B5
|
||
push 2
|
||
call palette_black_in
|
||
mov si, 43h ; 'C'
|
||
jmp short loc_A68C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A674:
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
mov ax, si
|
||
imul ax, 2Eh
|
||
add ax, 0EB2h
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call sub_9643
|
||
inc si
|
||
|
||
loc_A68C:
|
||
cmp si, 44h ; 'D'
|
||
jle short loc_A674
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_EA98
|
||
push 0Ch
|
||
call sub_9643
|
||
mov byte_F02B, 0
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_EAC6
|
||
jmp loc_A869
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A6B6:
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_EAF4
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 2Fh ; '/'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_EB22
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 29h ; ')'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_EB50
|
||
push 6
|
||
call sub_9643
|
||
push 1Eh
|
||
call frame_delay
|
||
push 2
|
||
call sub_98B5
|
||
mov byte_F02A, 2Fh ; '/'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_EB7E
|
||
push 6
|
||
call sub_9643
|
||
push 3
|
||
call sub_98B5
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_EBAC
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 29h ; ')'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_EBDA
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 2Fh ; '/'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_EC08
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 29h ; ')'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_EC36
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 2Fh ; '/'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_EC64
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 29h ; ')'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_EC92
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 2Fh ; '/'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_ECC0
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 29h ; ')'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_ECEE
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02A, 2Fh ; '/'
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_ED1C
|
||
push 6
|
||
call sub_9643
|
||
push 2
|
||
call palette_black_out
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call pi_slot_load c, 0, offset aEd05_pi, ds
|
||
call pi_slot_palette_apply stdcall, 0
|
||
pop cx
|
||
call pi_slot_put c, 0, large 0
|
||
freePISlotLarge 0
|
||
push 2
|
||
call sub_98B5
|
||
push 2
|
||
call palette_black_in
|
||
mov si, 54h ; 'T'
|
||
jmp short loc_A842
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A82A:
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
mov ax, si
|
||
imul ax, 2Eh
|
||
add ax, 0EB2h
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call sub_9643
|
||
inc si
|
||
|
||
loc_A842:
|
||
cmp si, 5Bh ; '['
|
||
jle short loc_A82A
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_EEBA
|
||
push 6
|
||
call sub_9643
|
||
mov byte_F02B, 0
|
||
push 90014Ch
|
||
push 2Ch ; ','
|
||
push ds
|
||
push offset unk_EEE8
|
||
|
||
loc_A869:
|
||
push 0Ch
|
||
call sub_9643
|
||
call sub_9AD4
|
||
pop si
|
||
pop bp
|
||
retn
|
||
sub_A09D endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A874 proc near
|
||
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
arg_4 = word ptr 8
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_4]
|
||
mov di, [bp+arg_0]
|
||
mov [bp+var_2], 0
|
||
jmp short loc_A898
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A887:
|
||
push si
|
||
push [bp+arg_2]
|
||
push di
|
||
call over_put_8
|
||
inc [bp+var_2]
|
||
inc di
|
||
add si, 10h
|
||
|
||
loc_A898:
|
||
cmp [bp+var_2], 5
|
||
jl short loc_A887
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 6
|
||
sub_A874 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A8A4 proc near
|
||
push bp
|
||
mov bp, sp
|
||
push 0C00000h
|
||
call grcg_setcolor
|
||
push 1A000C0h
|
||
push 27F010Fh
|
||
call grcg_boxfill
|
||
call grcg_off
|
||
pop bp
|
||
retn
|
||
sub_A8A4 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A8CA proc near
|
||
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
arg_4 = word ptr 8
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push [bp+arg_4]
|
||
push [bp+arg_0]
|
||
call sub_C1C6
|
||
push 200064h
|
||
push [bp+arg_2]
|
||
call sub_9942
|
||
push 4
|
||
call frame_delay
|
||
mov PaletteTone, 64h ; 'd'
|
||
call far ptr palette_show
|
||
pop bp
|
||
retn 6
|
||
sub_A8CA endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A8FA proc near
|
||
|
||
var_4 = byte ptr -4
|
||
|
||
enter 4, 0
|
||
push si
|
||
push di
|
||
push 6
|
||
call sub_B855
|
||
pop cx
|
||
xor si, si
|
||
jmp short loc_A920
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A90C:
|
||
push 1B000B8h
|
||
push si
|
||
call sub_A874
|
||
push 4
|
||
call frame_delay
|
||
add si, 5
|
||
|
||
loc_A920:
|
||
cmp si, 37h ; '7'
|
||
jl short loc_A90C
|
||
push ds
|
||
push offset aVer1_00 ; "ver 1.00"
|
||
push 2F00C0h
|
||
push 210h
|
||
call sub_B200
|
||
add sp, 0Ah
|
||
push 8
|
||
call sub_B855
|
||
pop cx
|
||
mov si, 0B8h
|
||
jmp short loc_A992
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A947:
|
||
push 0C00000h
|
||
call grcg_setcolor
|
||
push 210h
|
||
lea ax, [si+4]
|
||
push ax
|
||
push 24Fh
|
||
lea ax, [si+13h]
|
||
push ax
|
||
call grcg_boxfill
|
||
call grcg_off
|
||
push 1B0h
|
||
push si
|
||
push 32h ; '2'
|
||
call sub_A874
|
||
push ds
|
||
push offset aVer1_00 ; "ver 1.00"
|
||
push 2Fh ; '/'
|
||
lea ax, [si+8]
|
||
push ax
|
||
push 210h
|
||
call sub_B200
|
||
add sp, 0Ah
|
||
push 1
|
||
call frame_delay
|
||
add si, 4
|
||
|
||
loc_A992:
|
||
cmp si, 170h
|
||
jl short loc_A947
|
||
push 9
|
||
call sub_B855
|
||
pop cx
|
||
mov byte_F02A, 2Fh ; '/'
|
||
push 1B000C0h
|
||
push 14h
|
||
push ds
|
||
push offset aXxcvsB@b@vrvsv ; "<22><><EFBFBD><EFBFBD><EFBFBD>^<5E>@<40>@<40>r<EFBFBD>s<EFBFBD>`<60>e<EFBFBD>e"
|
||
push 0Ch
|
||
call sub_9643
|
||
push 0Dh
|
||
call sub_B855
|
||
pop cx
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call pi_slot_load c, 0, offset aEd06_pi, ds
|
||
call pi_slot_palette_apply stdcall, 0
|
||
pop cx
|
||
call pi_slot_put c, 0, large 0
|
||
freePISlotLarge 0
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
push 4
|
||
push 0
|
||
push 29h ; ')'
|
||
call sub_A8CA
|
||
call sub_A8A4
|
||
push ds
|
||
push offset aGvgngogigab@b@ ; "<22>v<EFBFBD><76><EFBFBD>O<EFBFBD><4F><EFBFBD><EFBFBD><EFBFBD>@<40>@<40>@<40>y<EFBFBD>t<EFBFBD>m"
|
||
push 2F00C0h
|
||
push 1A0h
|
||
call sub_B200
|
||
add sp, 0Ah
|
||
push 11h
|
||
call sub_B855
|
||
pop cx
|
||
push ds
|
||
push offset aEd06b_rgb ; "ed06b.rgb"
|
||
call palette_entry_rgb
|
||
call far ptr palette_show
|
||
push 0FCh
|
||
push 2
|
||
push 29h ; ')'
|
||
call sub_A8CA
|
||
push 15h
|
||
call sub_B855
|
||
pop cx
|
||
push 200064h
|
||
push 3
|
||
call sub_9942
|
||
push ds
|
||
push offset aEd06c_rgb ; "ed06c.rgb"
|
||
call palette_entry_rgb
|
||
call far ptr palette_show
|
||
push 4
|
||
push 3
|
||
push 29h ; ')'
|
||
call sub_A8CA
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call pi_slot_load c, 0, offset aEd07_pi, ds
|
||
call pi_slot_put c, 0, large 0
|
||
freePISlotLarge 0
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
push 19h
|
||
call sub_B855
|
||
pop cx
|
||
call sub_A8A4
|
||
push ds
|
||
push offset aGogigtgbgbgnb@ ; "<22>O<EFBFBD><4F><EFBFBD>t<EFBFBD>B<EFBFBD>b<EFBFBD>N<EFBFBD>@<40>y<EFBFBD>t<EFBFBD>m"
|
||
push 2F00C0h
|
||
push 1A0h
|
||
call sub_B200
|
||
add sp, 0Ah
|
||
push ds
|
||
push offset aB@b@b@b@b@b@b@ ; "<22>@<40>@<40>@<40>@<40>@<40>@<40>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||
push 2F00E0h
|
||
push 1A0h
|
||
call sub_B200
|
||
add sp, 0Ah
|
||
push ds
|
||
push offset aB@b@b@b@bigibG ; "<22>@<40>@<40>@<40>@<40>i<EFBFBD>I<EFBFBD>[<5B><><EFBFBD>N<EFBFBD><4E><EFBFBD>A<EFBFBD><41><EFBFBD>j"
|
||
push 2F00F0h
|
||
push 1A0h
|
||
call sub_B200
|
||
add sp, 0Ah
|
||
push ds
|
||
push offset aEd07a_rgb ; "ed07a.rgb"
|
||
call palette_entry_rgb
|
||
call far ptr palette_show
|
||
push 0FCh
|
||
push 0
|
||
push 29h ; ')'
|
||
call sub_A8CA
|
||
push 1Dh
|
||
call sub_B855
|
||
pop cx
|
||
push ds
|
||
push offset aEd07b_rgb ; "ed07b.rgb"
|
||
call palette_entry_rgb
|
||
call far ptr palette_show
|
||
push 8
|
||
push 1
|
||
push 0E9h
|
||
call sub_A8CA
|
||
push 21h ; '!'
|
||
call sub_B855
|
||
pop cx
|
||
push 200064h
|
||
push 2
|
||
call sub_9942
|
||
push 0F8h
|
||
push 2
|
||
push 0E9h
|
||
call sub_A8CA
|
||
push 25h ; '%'
|
||
call sub_B855
|
||
pop cx
|
||
call sub_A8A4
|
||
push ds
|
||
push offset aVlvtvrvhvbb@b@ ; "<22>l<EFBFBD>t<EFBFBD>r<EFBFBD>h<EFBFBD>b<EFBFBD>@<40>@<40>y<EFBFBD>t<EFBFBD>m"
|
||
push 2F00C0h
|
||
push 1B0h
|
||
call sub_B200
|
||
add sp, 0Ah
|
||
push ds
|
||
push offset aEd07b_rgb ; "ed07b.rgb"
|
||
call palette_entry_rgb
|
||
call far ptr palette_show
|
||
push 8
|
||
push 3
|
||
push 0E9h
|
||
call sub_A8CA
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call pi_slot_load c, 0, offset aEd08_pi, ds
|
||
call pi_slot_put c, 0, large 0
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
push 29h ; ')'
|
||
call sub_B855
|
||
pop cx
|
||
call pi_slot_palette_apply stdcall, 0
|
||
pop cx
|
||
freePISlotLarge 0
|
||
push 0F8h
|
||
push 0
|
||
push 0E9h
|
||
call sub_A8CA
|
||
push 2Dh ; '-'
|
||
call sub_B855
|
||
pop cx
|
||
push ds
|
||
push offset aEd08a_rgb ; "ed08a.rgb"
|
||
call palette_entry_rgb
|
||
call far ptr palette_show
|
||
push 0Ch
|
||
push 1
|
||
push 29h ; ')'
|
||
call sub_A8CA
|
||
push 31h ; '1'
|
||
call sub_B855
|
||
pop cx
|
||
call sub_A8A4
|
||
push ds
|
||
push offset aVsvdvrvsb@vovk ; "<22>s<EFBFBD>d<EFBFBD>r<EFBFBD>s<EFBFBD>@<40>o<EFBFBD>k<EFBFBD>`<60>x<EFBFBD>d<EFBFBD>q"
|
||
push 2F00C0h
|
||
push 1A0h
|
||
call sub_B200
|
||
add sp, 0Ah
|
||
push ds
|
||
push offset aB@b@b@b@vivivs ; "<22>@<40>@<40>@<40>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||
push 2F00E0h
|
||
push 1A0h
|
||
call sub_B200
|
||
add sp, 0Ah
|
||
push ds
|
||
push offset aB@b@b@b@vbbVv ; "<22>@<40>@<40>@<40>@<40>b<EFBFBD>|<7C>v"
|
||
push 2F00F8h
|
||
push 1A0h
|
||
call sub_B200
|
||
add sp, 0Ah
|
||
push ds
|
||
push offset aB@b@Orucb@mbiS ; "<22>@<40>@ <20>R<EFBFBD>c<EFBFBD>@<40>b<EFBFBD><62><EFBFBD>Y"
|
||
push 2F0110h
|
||
push 1A0h
|
||
call sub_B200
|
||
add sp, 0Ah
|
||
push ds
|
||
push offset aVVSSxrivVVVV ; " <20><><EFBFBD>̑<EFBFBD><CC91>吨<EFBFBD>݂̂Ȃ<DD82><C882><EFBFBD>"
|
||
push 2F0128h
|
||
push 1A0h
|
||
call sub_B200
|
||
add sp, 0Ah
|
||
push ds
|
||
push offset aEd08b_rgb ; "ed08b.rgb"
|
||
call palette_entry_rgb
|
||
call far ptr palette_show
|
||
push 0F4h
|
||
push 2
|
||
push 29h ; ')'
|
||
call sub_A8CA
|
||
push 35h ; '5'
|
||
call sub_B855
|
||
pop cx
|
||
push ds
|
||
push offset aEd08c_rgb ; "ed08c.rgb"
|
||
call palette_entry_rgb
|
||
call far ptr palette_show
|
||
push 0Ch
|
||
push 3
|
||
push 29h ; ')'
|
||
call sub_A8CA
|
||
push 39h ; '9'
|
||
call sub_B855
|
||
pop cx
|
||
push 4
|
||
call palette_black_out
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call pi_slot_load c, 0, offset aEd09_pi, ds
|
||
call pi_slot_palette_apply stdcall, 0
|
||
pop cx
|
||
call pi_slot_put c, 0, large 0
|
||
freePISlotLarge 0
|
||
push 0
|
||
call graph_copy_page
|
||
push 4
|
||
call palette_black_in
|
||
push 64h ; 'd'
|
||
call frame_delay
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
push ds
|
||
push offset aVsvivbvovlb@vs
|
||
mov al, byte_F02A
|
||
cbw
|
||
push ax
|
||
push 600018h
|
||
call sub_B200
|
||
add sp, 0Ah
|
||
push 150060h
|
||
push 18h
|
||
call sub_97F1
|
||
add sp, 6
|
||
push 0C8h ; '<27>'
|
||
call frame_delay
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
push ds
|
||
push offset aB@nPiuU_ ; "<22>@<40>ŏI<C58F><49><EFBFBD>_"
|
||
mov al, byte_F02A
|
||
cbw
|
||
push ax
|
||
push 800040h
|
||
call sub_B200
|
||
add sp, 0Ah
|
||
push 0C00080h
|
||
pushd [dword_FB0C]
|
||
call sub_95CB
|
||
push 100080h
|
||
push 40h
|
||
call sub_97F1
|
||
add sp, 6
|
||
push 64h ; 'd'
|
||
call frame_delay
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
push ds
|
||
push offset aGrgugegbgjgeb ; "<22>R<EFBFBD><52><EFBFBD>e<EFBFBD>B<EFBFBD>j<EFBFBD><6A><EFBFBD>["
|
||
mov al, byte_F02A
|
||
cbw
|
||
push ax
|
||
push 0A00040h
|
||
call sub_B200
|
||
add sp, 0Ah
|
||
push 10000A0h
|
||
les bx, dword_FB02
|
||
mov ax, es:[bx+12h]
|
||
add ax, 0A0h
|
||
push ax
|
||
push 0Fh
|
||
call graph_gaiji_putc
|
||
push 1000A0h
|
||
push 40h
|
||
call sub_97F1
|
||
add sp, 6
|
||
push 64h ; 'd'
|
||
call frame_delay
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
push ds
|
||
push offset aB@Gigugn ; "<22>@ <20><><EFBFBD><EFBFBD><EFBFBD>N"
|
||
mov al, byte_F02A
|
||
cbw
|
||
push ax
|
||
push 0C00040h
|
||
call sub_B200
|
||
add sp, 0Ah
|
||
push 0D000C0h
|
||
push 10h
|
||
push ds
|
||
mov al, byte_D722
|
||
cbw
|
||
shl ax, 3
|
||
add ax, 90h
|
||
push ax
|
||
push 0Fh
|
||
call graph_gaiji_puts
|
||
push 1000C0h
|
||
push 40h
|
||
call sub_97F1
|
||
add sp, 6
|
||
push 64h ; 'd'
|
||
call frame_delay
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
push ds
|
||
push offset aGvgmgcgdbPik ; "<22>v<EFBFBD><76><EFBFBD>C<EFBFBD><43><EFBFBD>[<5B><><EFBFBD><EFBFBD>"
|
||
mov al, byte_F02A
|
||
cbw
|
||
push ax
|
||
push 0E00040h
|
||
call sub_B200
|
||
add sp, 0Ah
|
||
push 10000E0h
|
||
les bx, dword_FB02
|
||
mov al, es:[bx+1Ah]
|
||
mov ah, 0
|
||
add ax, 0A1h ; '<27>'
|
||
push ax
|
||
push 0Fh
|
||
call graph_gaiji_putc
|
||
push 1000E0h
|
||
push 40h
|
||
call sub_97F1
|
||
add sp, 6
|
||
push 64h ; 'd'
|
||
call frame_delay
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
push ds
|
||
push offset aCMvpik ; " <20>쌂<EFBFBD><EC8C82><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||
mov al, byte_F02A
|
||
cbw
|
||
push ax
|
||
push 1000040h
|
||
call sub_B200
|
||
add sp, 0Ah
|
||
push 1000100h
|
||
les bx, dword_FB02
|
||
mov al, es:[bx+19h]
|
||
mov ah, 0
|
||
add ax, 0A0h
|
||
push ax
|
||
push 0Fh
|
||
call graph_gaiji_putc
|
||
push 100100h
|
||
push 40h
|
||
call sub_97F1
|
||
add sp, 6
|
||
push 96h
|
||
call frame_delay
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
les bx, dword_FB02
|
||
mov di, es:[bx+28h]
|
||
cmp di, 64h ; 'd'
|
||
jle short loc_AEAC
|
||
mov di, 64h ; 'd'
|
||
jmp short loc_AEB2
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AEAC:
|
||
or di, di
|
||
jge short loc_AEB2
|
||
xor di, di
|
||
|
||
loc_AEB2:
|
||
push ds
|
||
push offset aVavVVSrso ; "<22><><EFBFBD>Ȃ<EFBFBD><C882>̘r<CC98>O"
|
||
mov al, byte_F02A
|
||
cbw
|
||
push ax
|
||
push 1200040h
|
||
call sub_B200
|
||
add sp, 0Ah
|
||
push di
|
||
push ss
|
||
lea ax, [bp+var_4]
|
||
push ax
|
||
call sub_9846
|
||
push 0C00120h
|
||
push 10h
|
||
push ss
|
||
lea ax, [bp+var_4]
|
||
push ax
|
||
push 0Fh
|
||
call graph_gaiji_puts
|
||
cmp di, 64h ; 'd'
|
||
jnz short loc_AEEF
|
||
xor si, si
|
||
jmp short loc_AF56
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AEEF:
|
||
cmp di, 5Ah ; 'Z'
|
||
jl short loc_AEF9
|
||
mov si, 1
|
||
jmp short loc_AF56
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AEF9:
|
||
cmp di, 50h ; 'P'
|
||
jl short loc_AF03
|
||
mov si, 2
|
||
jmp short loc_AF56
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AF03:
|
||
cmp di, 46h ; 'F'
|
||
jl short loc_AF17
|
||
cmp di, 4Dh ; 'M'
|
||
jnz short loc_AF12
|
||
mov si, 3
|
||
jmp short loc_AF56
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AF12:
|
||
mov si, 4
|
||
jmp short loc_AF56
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AF17:
|
||
cmp di, 3Ch ; '<'
|
||
jl short loc_AF21
|
||
mov si, 5
|
||
jmp short loc_AF56
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AF21:
|
||
cmp di, 32h ; '2'
|
||
jl short loc_AF2B
|
||
mov si, 6
|
||
jmp short loc_AF56
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AF2B:
|
||
cmp di, 28h ; '('
|
||
jl short loc_AF35
|
||
mov si, 7
|
||
jmp short loc_AF56
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AF35:
|
||
cmp di, 1Eh
|
||
jl short loc_AF3F
|
||
mov si, 8
|
||
jmp short loc_AF56
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AF3F:
|
||
cmp di, 14h
|
||
jl short loc_AF49
|
||
mov si, 9
|
||
jmp short loc_AF56
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AF49:
|
||
cmp di, 0Ah
|
||
jl short loc_AF53
|
||
mov si, 0Ah
|
||
jmp short loc_AF56
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AF53:
|
||
mov si, 0Bh
|
||
|
||
loc_AF56:
|
||
mov ax, si
|
||
imul ax, 2Eh
|
||
add ax, 0EB2h
|
||
push ds
|
||
push ax
|
||
mov al, byte_F02A
|
||
cbw
|
||
push ax
|
||
push 12000F0h
|
||
call sub_B200
|
||
add sp, 0Ah
|
||
push 60120h
|
||
push 40h
|
||
call sub_97F1
|
||
add sp, 6
|
||
push 78h ; 'x'
|
||
call frame_delay
|
||
push 180120h
|
||
push 0C0h
|
||
call sub_97F1
|
||
add sp, 6
|
||
push 0C8h ; '<27>'
|
||
call frame_delay
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
push ds
|
||
push offset aVpvxvxvvb@vyvt ; "<22>P<EFBFBD>X<EFBFBD>X<EFBFBD>V<EFBFBD>@<40>y<EFBFBD>t<EFBFBD>m (Amusement Makers)"
|
||
mov al, byte_F02A
|
||
cbw
|
||
push ax
|
||
push 1600040h
|
||
call sub_B200
|
||
add sp, 0Ah
|
||
push 120160h
|
||
push 40h
|
||
call sub_97F1
|
||
add sp, 6
|
||
call sub_B4B7
|
||
push 5
|
||
call palette_black_out
|
||
nopcall sub_AFE7
|
||
call graph_clear
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn
|
||
sub_A8FA endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_AFE7 proc far
|
||
push bp
|
||
mov bp, sp
|
||
call sub_BFE8
|
||
or ax, ax
|
||
jz loc_B07D
|
||
les bx, dword_FB02
|
||
cmp word ptr es:[bx+12h], 0
|
||
jnz short loc_B07D
|
||
call pi_slot_load c, 0, offset aAll_pi, ds
|
||
call pi_slot_palette_apply stdcall, 0
|
||
pop cx
|
||
call pi_slot_put c, 0, large 0
|
||
freePISlotLarge 0
|
||
push 2
|
||
call palette_black_in
|
||
push 96h
|
||
call frame_delay
|
||
call pi_slot_load c, 0, offset aBut_pi, ds
|
||
call pi_slot_palette_apply stdcall, 0
|
||
pop cx
|
||
call pi_slot_put c, 0, large 0
|
||
freePISlotLarge 0
|
||
call sub_B4B7
|
||
push 5
|
||
call palette_black_out
|
||
|
||
loc_B07D:
|
||
pop bp
|
||
retf
|
||
sub_AFE7 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B07F proc far
|
||
push bp
|
||
mov bp, sp
|
||
call sub_BFE8
|
||
or ax, ax
|
||
jz loc_B115
|
||
mov PaletteTone, 0
|
||
call far ptr palette_show
|
||
call pi_slot_load c, 0, offset aAll_pi, ds
|
||
call pi_slot_palette_apply stdcall, 0
|
||
pop cx
|
||
call pi_slot_put c, 0, large 0
|
||
freePISlotLarge 0
|
||
push 2
|
||
call palette_black_in
|
||
push 96h
|
||
call frame_delay
|
||
call pi_slot_load c, 0, offset aExtra_pi, ds
|
||
call pi_slot_palette_apply stdcall, 0
|
||
pop cx
|
||
call pi_slot_put c, 0, large 0
|
||
freePISlotLarge 0
|
||
call sub_B4B7
|
||
push 5
|
||
call palette_black_out
|
||
|
||
loc_B115:
|
||
pop bp
|
||
retf
|
||
sub_B07F endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
; int __cdecl main(int _argc, const char **_argv, const char **_envp)
|
||
_main proc far
|
||
|
||
_argc = word ptr 6
|
||
_argv = dword ptr 8
|
||
_envp = dword ptr 0Ch
|
||
|
||
push bp
|
||
mov bp, sp
|
||
call sub_B888
|
||
or ax, ax
|
||
jz loc_B1FE
|
||
les bx, dword_FB02
|
||
cmp byte ptr es:[bx+0Bh], 7Fh
|
||
jnz loc_B1FE
|
||
call sub_B756
|
||
call gaiji_backup
|
||
push ds
|
||
push offset aMikoft_bft ; "MIKOFT.bft"
|
||
call gaiji_entry_bfnt
|
||
call snd_pmd_resident
|
||
call snd_mmd_resident
|
||
les bx, dword_FB02
|
||
cmp byte ptr es:[bx+18h], 0
|
||
jnz short loc_B161
|
||
mov snd_midi_active, 0
|
||
jmp short loc_B189
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B161:
|
||
les bx, dword_FB02
|
||
cmp byte ptr es:[bx+18h], 1
|
||
jnz short loc_B173
|
||
mov snd_midi_active, 0
|
||
jmp short loc_B184
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B173:
|
||
les bx, dword_FB02
|
||
cmp byte ptr es:[bx+18h], 2
|
||
jnz short loc_B189
|
||
mov al, snd_midi_possible
|
||
mov snd_midi_active, al
|
||
|
||
loc_B184:
|
||
call snd_determine_mode
|
||
|
||
loc_B189:
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
mov dx, 0A4h
|
||
out dx, al
|
||
push ds
|
||
push offset aEndft_bft ; "endft.bft"
|
||
call super_entry_bfnt
|
||
push 64h ; 'd'
|
||
call frame_delay
|
||
les bx, dword_FB02
|
||
cmp byte ptr es:[bx+16h], 4
|
||
jz short loc_B1C2
|
||
cmp word ptr es:[bx+12h], 0
|
||
jz short loc_B1BA
|
||
call sub_9B64
|
||
jmp short loc_B1BD
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B1BA:
|
||
call sub_A09D
|
||
|
||
loc_B1BD:
|
||
call sub_A8FA
|
||
jmp short loc_B1C6
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B1C2:
|
||
call sub_B07F
|
||
|
||
loc_B1C6:
|
||
mov PaletteTone, 32h ; '2'
|
||
call far ptr palette_show
|
||
call sub_BC9E
|
||
mov PaletteTone, 0
|
||
call far ptr palette_show
|
||
call gaiji_restore
|
||
call sub_B616
|
||
pushd 0
|
||
push ds
|
||
push offset path ; "op"
|
||
push ds
|
||
push offset path ; "op"
|
||
call _execl
|
||
add sp, 0Ch
|
||
|
||
loc_B1FE:
|
||
pop bp
|
||
retf
|
||
_main endp
|
||
|
||
seg001 ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
seg002 segment word public 'CODE' use16
|
||
assume cs:seg002
|
||
assume es:nothing, ss:nothing, ds:dseg, fs:nothing, gs:nothing
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B200 proc far
|
||
|
||
var_32 = byte ptr -32h
|
||
var_12 = word ptr -12h
|
||
var_10 = word ptr -10h
|
||
var_E = word ptr -0Eh
|
||
var_C = word ptr -0Ch
|
||
var_A = word ptr -0Ah
|
||
var_8 = dword ptr -8
|
||
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 = dword ptr 0Ch
|
||
|
||
enter 32h, 0
|
||
push si
|
||
push di
|
||
mov di, [bp+arg_0]
|
||
mov ax, [bp+arg_4]
|
||
sar ax, 4
|
||
and ax, 3
|
||
mov [bp+var_E], ax
|
||
mov ax, [bp+arg_4]
|
||
sar ax, 6
|
||
and ax, 7
|
||
mov [bp+var_10], ax
|
||
push 0C0h
|
||
push [bp+arg_4]
|
||
call grcg_setcolor
|
||
mov dx, 68h ; 'h'
|
||
mov al, 0Bh
|
||
out dx, al
|
||
jmp loc_B445
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B235:
|
||
mov ax, [bp+arg_2]
|
||
imul ax, 50h
|
||
push ax
|
||
mov ax, di
|
||
mov bx, 8
|
||
cwd
|
||
idiv bx
|
||
pop dx
|
||
add dx, ax
|
||
mov word ptr [bp+var_8+2], 0A800h
|
||
mov word ptr [bp+var_8], dx
|
||
mov ax, di
|
||
cwd
|
||
idiv bx
|
||
mov [bp+var_C], dx
|
||
les bx, [bp+arg_6]
|
||
mov al, es:[bx]
|
||
mov ah, 0
|
||
mov bx, ax
|
||
test byte ptr [bx+0D65h], 4
|
||
jz short loc_B28A
|
||
mov bx, word ptr [bp+arg_6]
|
||
mov al, es:[bx]
|
||
cbw
|
||
shl ax, 8
|
||
mov dl, es:[bx+1]
|
||
mov dh, 0
|
||
add ax, dx
|
||
push ax
|
||
call __mbcjmstojis
|
||
pop cx
|
||
mov [bp+var_2], ax
|
||
add word ptr [bp+arg_6], 2
|
||
jmp short loc_B2D0
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B28A:
|
||
les bx, [bp+arg_6]
|
||
mov al, es:[bx]
|
||
mov ah, 0
|
||
mov bx, ax
|
||
test byte ptr [bx+0D65h], 3
|
||
jz short loc_B2A8
|
||
mov bx, word ptr [bp+arg_6]
|
||
mov al, es:[bx]
|
||
mov ah, 0
|
||
add ax, 2980h
|
||
jmp short loc_B2C3
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B2A8:
|
||
les bx, [bp+arg_6]
|
||
mov al, es:[bx]
|
||
cbw
|
||
mov bx, ax
|
||
test byte ptr [bx+0A7Bh], 5Eh
|
||
jz short loc_B2C8
|
||
mov bx, word ptr [bp+arg_6]
|
||
mov al, es:[bx]
|
||
mov ah, 0
|
||
add ax, 2900h
|
||
|
||
loc_B2C3:
|
||
mov [bp+var_2], ax
|
||
jmp short loc_B2CD
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B2C8:
|
||
mov [bp+var_2], 2B21h
|
||
|
||
loc_B2CD:
|
||
inc word ptr [bp+arg_6]
|
||
|
||
loc_B2D0:
|
||
mov al, byte ptr [bp+var_2]
|
||
and al, 0FFh
|
||
mov dx, 0A1h ; '<27>'
|
||
out dx, al
|
||
mov ax, [bp+var_2]
|
||
shr ax, 8
|
||
sub al, 20h ; ' '
|
||
mov dx, 0A3h ; '<27>'
|
||
out dx, al
|
||
cmp [bp+var_2], 2921h
|
||
jb short loc_B331
|
||
cmp [bp+var_2], 2B7Eh
|
||
ja short loc_B331
|
||
cmp di, 278h
|
||
jg loc_B450
|
||
mov [bp+var_12], 0
|
||
jmp short loc_B324
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B302:
|
||
mov al, byte ptr [bp+var_12]
|
||
or al, 20h
|
||
mov dx, 0A5h ; '<27>'
|
||
out dx, al
|
||
mov dx, 0A9h ; '<27>'
|
||
in al, dx
|
||
mov ah, 0
|
||
shl ax, 8
|
||
mov bx, [bp+var_12]
|
||
add bx, bx
|
||
lea dx, [bp+var_32]
|
||
add bx, dx
|
||
mov ss:[bx], ax
|
||
inc [bp+var_12]
|
||
|
||
loc_B324:
|
||
cmp [bp+var_12], 10h
|
||
jl short loc_B302
|
||
mov [bp+var_A], 0
|
||
jmp short loc_B387
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B331:
|
||
cmp di, 270h
|
||
jg loc_B450
|
||
mov [bp+var_12], 0
|
||
jmp short loc_B37C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B340:
|
||
mov al, byte ptr [bp+var_12]
|
||
or al, 20h
|
||
mov dx, 0A5h ; '<27>'
|
||
out dx, al
|
||
mov dx, 0A9h ; '<27>'
|
||
in al, dx
|
||
mov ah, 0
|
||
shl ax, 8
|
||
mov bx, [bp+var_12]
|
||
add bx, bx
|
||
lea dx, [bp+var_32]
|
||
add bx, dx
|
||
mov ss:[bx], ax
|
||
mov dx, 0A5h ; '<27>'
|
||
mov al, byte ptr [bp+var_12]
|
||
out dx, al
|
||
mov dx, 0A9h ; '<27>'
|
||
in al, dx
|
||
mov ah, 0
|
||
mov bx, [bp+var_12]
|
||
add bx, bx
|
||
lea dx, [bp+var_32]
|
||
add bx, dx
|
||
add ss:[bx], ax
|
||
inc [bp+var_12]
|
||
|
||
loc_B37C:
|
||
cmp [bp+var_12], 10h
|
||
jl short loc_B340
|
||
mov [bp+var_A], 1
|
||
|
||
loc_B387:
|
||
mov [bp+var_12], 0
|
||
jmp loc_B42C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B38F:
|
||
mov bx, [bp+var_12]
|
||
add bx, bx
|
||
lea ax, [bp+var_32]
|
||
add bx, ax
|
||
mov ax, ss:[bx]
|
||
mov [bp+var_4], ax
|
||
mov ax, [bp+var_E]
|
||
cmp ax, 1
|
||
jz short loc_B3B3
|
||
cmp ax, 2
|
||
jz short loc_B3C9
|
||
cmp ax, 3
|
||
jz short loc_B3BF
|
||
jmp short loc_B3DF
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B3B3:
|
||
mov si, [bp+var_4]
|
||
mov ax, si
|
||
add ax, ax
|
||
or [bp+var_4], ax
|
||
jmp short loc_B3DF
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B3BF:
|
||
mov si, [bp+var_4]
|
||
mov ax, si
|
||
add ax, ax
|
||
or [bp+var_4], ax
|
||
|
||
loc_B3C9:
|
||
mov si, [bp+var_4]
|
||
mov ax, si
|
||
add ax, ax
|
||
or [bp+var_4], ax
|
||
xor si, [bp+var_4]
|
||
mov ax, si
|
||
add ax, ax
|
||
not ax
|
||
and [bp+var_4], ax
|
||
|
||
loc_B3DF:
|
||
cmp [bp+var_C], 0
|
||
jz short loc_B412
|
||
mov cl, byte ptr [bp+var_C]
|
||
add cl, 8
|
||
mov ax, [bp+var_4]
|
||
shr ax, cl
|
||
les bx, [bp+var_8]
|
||
mov es:[bx], al
|
||
mov ax, [bp+var_4]
|
||
mov cl, byte ptr [bp+var_C]
|
||
shr ax, cl
|
||
mov es:[bx+1], al
|
||
mov cl, 8
|
||
sub cl, byte ptr [bp+var_C]
|
||
mov al, byte ptr [bp+var_4]
|
||
shl al, cl
|
||
mov es:[bx+2], al
|
||
jmp short loc_B425
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B412:
|
||
mov ax, [bp+var_4]
|
||
shr ax, 8
|
||
les bx, [bp+var_8]
|
||
mov es:[bx], al
|
||
mov al, byte ptr [bp+var_4]
|
||
mov es:[bx+1], al
|
||
|
||
loc_B425:
|
||
add word ptr [bp+var_8], 50h ; 'P'
|
||
inc [bp+var_12]
|
||
|
||
loc_B42C:
|
||
cmp [bp+var_12], 10h
|
||
jl loc_B38F
|
||
cmp [bp+var_A], 0
|
||
jz short loc_B43D
|
||
add di, 8
|
||
|
||
loc_B43D:
|
||
mov ax, [bp+var_10]
|
||
add ax, 8
|
||
add di, ax
|
||
|
||
loc_B445:
|
||
les bx, [bp+arg_6]
|
||
cmp byte ptr es:[bx], 0
|
||
jnz loc_B235
|
||
|
||
loc_B450:
|
||
mov dx, 68h ; 'h'
|
||
mov al, 0Ah
|
||
out dx, al
|
||
call grcg_off
|
||
pop di
|
||
pop si
|
||
leave
|
||
retf
|
||
sub_B200 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B45F proc far
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
mov al, byte_D70A
|
||
cbw
|
||
push ax
|
||
call key_sense
|
||
mov si, ax
|
||
mov al, byte_D70B
|
||
cbw
|
||
push ax
|
||
call key_sense
|
||
or si, ax
|
||
mov al, byte_D70C
|
||
cbw
|
||
push ax
|
||
call key_sense
|
||
or si, ax
|
||
push 2
|
||
nopcall frame_delay
|
||
mov al, byte_D70A
|
||
cbw
|
||
push ax
|
||
call key_sense
|
||
or si, ax
|
||
mov al, byte_D70B
|
||
cbw
|
||
push ax
|
||
call key_sense
|
||
or si, ax
|
||
mov al, byte_D70C
|
||
cbw
|
||
push ax
|
||
call key_sense
|
||
or si, ax
|
||
mov ax, si
|
||
pop si
|
||
pop bp
|
||
retf
|
||
sub_B45F endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B4B7 proc far
|
||
push bp
|
||
mov bp, sp
|
||
|
||
loc_B4BA:
|
||
call sub_B45F
|
||
or ax, ax
|
||
jnz short loc_B4BA
|
||
|
||
loc_B4C2:
|
||
call sub_B45F
|
||
or ax, ax
|
||
jz short loc_B4C2
|
||
pop bp
|
||
retf
|
||
sub_B4B7 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B4CC proc far
|
||
push bp
|
||
mov bp, sp
|
||
mov dword_F892, 0A8000000h
|
||
mov dword_F896, 0B0000000h
|
||
mov dword_F89A, 0B8000000h
|
||
mov dword_F89E, 0E0000000h
|
||
pop bp
|
||
retf
|
||
sub_B4CC endp
|
||
|
||
include th02/formats/pi_slot_load.asm
|
||
include th02/frame_delay.asm
|
||
db 0
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_B536 proc far
|
||
mov word_FAEE, 0
|
||
mov al, 7
|
||
mov ah, 4
|
||
int 18h ; TRANSFER TO ROM BASIC
|
||
; causes transfer to ROM-based BASIC (IBM-PC)
|
||
; often reboots a compatible; often has no effect at all
|
||
mov bh, ah
|
||
mov al, 8
|
||
mov ah, 4
|
||
int 18h ; TRANSFER TO ROM BASIC
|
||
; causes transfer to ROM-based BASIC (IBM-PC)
|
||
; often reboots a compatible; often has no effect at all
|
||
test bh, 4
|
||
jnz short loc_B554
|
||
test ah, 8
|
||
jz short loc_B559
|
||
|
||
loc_B554:
|
||
or word_FAEE, 1
|
||
|
||
loc_B559:
|
||
test bh, 8
|
||
jnz short loc_B563
|
||
test ah, 40h
|
||
jz short loc_B568
|
||
|
||
loc_B563:
|
||
or word_FAEE, 4
|
||
|
||
loc_B568:
|
||
test ah, 4
|
||
jz short loc_B573
|
||
or word_FAEE, 1000h
|
||
|
||
loc_B573:
|
||
test ah, 10h
|
||
jz short loc_B57E
|
||
or word_FAEE, 2000h
|
||
|
||
loc_B57E:
|
||
mov al, 9
|
||
mov ah, 4
|
||
int 18h ; TRANSFER TO ROM BASIC
|
||
; causes transfer to ROM-based BASIC (IBM-PC)
|
||
; often reboots a compatible; often has no effect at all
|
||
test bh, 20h
|
||
jnz short loc_B58E
|
||
test ah, 8
|
||
jz short loc_B593
|
||
|
||
loc_B58E:
|
||
or word_FAEE, 2
|
||
|
||
loc_B593:
|
||
test bh, 10h
|
||
jnz short loc_B59D
|
||
test ah, 1
|
||
jz short loc_B5A2
|
||
|
||
loc_B59D:
|
||
or word_FAEE, 8
|
||
|
||
loc_B5A2:
|
||
test ah, 4
|
||
jz short loc_B5AD
|
||
or word_FAEE, 4000h
|
||
|
||
loc_B5AD:
|
||
test ah, 10h
|
||
jz short loc_B5B8
|
||
or word_FAEE, 8000h
|
||
|
||
loc_B5B8:
|
||
mov al, 5
|
||
mov ah, 4
|
||
int 18h ; TRANSFER TO ROM BASIC
|
||
; causes transfer to ROM-based BASIC (IBM-PC)
|
||
; often reboots a compatible; often has no effect at all
|
||
test ah, 2
|
||
jz short loc_B5C8
|
||
or word_FAEE, 10h
|
||
|
||
loc_B5C8:
|
||
test ah, 4
|
||
jz short loc_B5D2
|
||
or word_FAEE, 20h
|
||
|
||
loc_B5D2:
|
||
mov al, 0
|
||
mov ah, 4
|
||
int 18h ; TRANSFER TO ROM BASIC
|
||
; causes transfer to ROM-based BASIC (IBM-PC)
|
||
; often reboots a compatible; often has no effect at all
|
||
test ah, 1
|
||
jz short loc_B5E2
|
||
or word_FAEE, 40h
|
||
|
||
loc_B5E2:
|
||
mov al, 3
|
||
mov ah, 4
|
||
int 18h ; TRANSFER TO ROM BASIC
|
||
; causes transfer to ROM-based BASIC (IBM-PC)
|
||
; often reboots a compatible; often has no effect at all
|
||
test ah, 10h
|
||
jz short loc_B5F3
|
||
or word_FAEE, 80h
|
||
|
||
loc_B5F3:
|
||
mov al, 2
|
||
mov ah, 4
|
||
int 18h ; TRANSFER TO ROM BASIC
|
||
; causes transfer to ROM-based BASIC (IBM-PC)
|
||
; often reboots a compatible; often has no effect at all
|
||
test ah, 1
|
||
jz short loc_B604
|
||
or word_FAEE, 100h
|
||
|
||
loc_B604:
|
||
mov al, 6
|
||
mov ah, 4
|
||
int 18h ; TRANSFER TO ROM BASIC
|
||
; causes transfer to ROM-based BASIC (IBM-PC)
|
||
; often reboots a compatible; often has no effect at all
|
||
test ah, 10h
|
||
jz short locret_B614
|
||
or word_FAEE, 10h
|
||
|
||
locret_B614:
|
||
retf
|
||
sub_B536 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
nop
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B616 proc far
|
||
push bp
|
||
mov bp, sp
|
||
call pfend
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call graph_clear
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
call graph_clear
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
mov dx, 0A4h
|
||
out dx, al
|
||
call vsync_end
|
||
call mem_unassign
|
||
call text_clear
|
||
call egc_start
|
||
pop bp
|
||
retf
|
||
sub_B616 endp
|
||
|
||
include th02/hardware/snd_mmd_resident.asm
|
||
include th02/hardware/snd_determine_mode.asm
|
||
include th02/hardware/snd_pmd_resident.asm
|
||
include th02/hardware/snd_load.asm
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B756 proc far
|
||
push bp
|
||
mov bp, sp
|
||
push 4650h
|
||
call mem_assign_dos
|
||
or ax, ax
|
||
jz short loc_B76A
|
||
mov ax, 1
|
||
pop bp
|
||
retf
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B76A:
|
||
nopcall sub_B4CC
|
||
call vsync_start
|
||
call egc_start
|
||
call graph_400line
|
||
mov pfkey, 12h
|
||
push ds
|
||
push offset aUmx ; "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E>^"
|
||
call pfstart
|
||
xor ax, ax
|
||
pop bp
|
||
retf
|
||
sub_B756 endp
|
||
|
||
include th02/formats/pi_slot_palette_apply.asm
|
||
include th02/formats/pi_slot_put.asm
|
||
include th02/hardware/snd_kaja_func.asm
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B855 proc far
|
||
|
||
arg_0 = word ptr 6
|
||
|
||
push bp
|
||
mov bp, sp
|
||
cmp snd_active, 0
|
||
jnz short loc_B868
|
||
push 64h ; 'd'
|
||
nopcall frame_delay
|
||
pop bp
|
||
retf
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B868:
|
||
push 1
|
||
nopcall frame_delay
|
||
mov ah, KAJA_GET_SONG_MEASURE
|
||
cmp snd_midi_active, 1
|
||
jz short loc_B87C
|
||
int 60h ; - FTP Packet Driver - BASIC FUNC - TERMINATE DRIVER FOR HANDLE
|
||
; BX = handle
|
||
; Return: CF set on error, DH = error code
|
||
; CF clear if successful
|
||
jmp short loc_B881
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B87C:
|
||
mov dx, 0C0h
|
||
int 61h ; reserved for user interrupt
|
||
|
||
loc_B881:
|
||
cmp ax, [bp+arg_0]
|
||
jb short loc_B868
|
||
pop bp
|
||
retf
|
||
sub_B855 endp
|
||
|
||
seg002 ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
seg003 segment byte public 'CODE' use16
|
||
assume cs:seg003
|
||
;org 8
|
||
assume es:nothing, ss:nothing, ds:dseg, fs:nothing, gs:nothing
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B888 proc far
|
||
|
||
var_2 = word ptr -2
|
||
|
||
enter 2, 0
|
||
push ds
|
||
push offset aHuuma_cfg ; "huuma.cfg"
|
||
call file_ropen
|
||
pushd 5
|
||
push 0
|
||
call file_seek
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
push 2
|
||
call file_read
|
||
call file_close
|
||
cmp [bp+var_2], 0
|
||
jnz short loc_B8BA
|
||
xor ax, ax
|
||
leave
|
||
retf
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B8BA:
|
||
mov ax, [bp+var_2]
|
||
mov word ptr dword_FB02+2, ax
|
||
mov word ptr dword_FB02, 0
|
||
les bx, dword_FB02
|
||
mov al, es:[bx+15h]
|
||
mov byte_FB07, al
|
||
mov al, es:[bx+14h]
|
||
mov byte_FB08, al
|
||
mov al, es:[bx+16h]
|
||
mov byte_D722, al
|
||
mov eax, es:[bx+0Eh]
|
||
mov dword_FB0C, eax
|
||
mov ax, 1
|
||
leave
|
||
retf
|
||
sub_B888 endp
|
||
|
||
seg003 ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
seg004 segment byte public 'CODE' use16
|
||
assume cs:seg004
|
||
;org 0Dh
|
||
assume es:nothing, ss:nothing, ds:dseg, fs:nothing, gs:nothing
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B8ED proc far
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
xor si, si
|
||
jmp short loc_B95F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B8F5:
|
||
mov ax, si
|
||
imul ax, 3E8h
|
||
mov dx, 2710h
|
||
sub dx, ax
|
||
movsx eax, dx
|
||
mov bx, si
|
||
shl bx, 2
|
||
mov [bx+2B98h], eax
|
||
mov ax, si
|
||
sar ax, 1
|
||
mov dl, 5
|
||
sub dl, al
|
||
mov [si+2C0Bh], dl
|
||
xor cx, cx
|
||
jmp short loc_B92B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B91E:
|
||
mov bx, si
|
||
imul bx, 7
|
||
add bx, cx
|
||
mov byte ptr [bx+2BC4h], 0DAh
|
||
inc cx
|
||
|
||
loc_B92B:
|
||
cmp cx, 6
|
||
jl short loc_B91E
|
||
mov bx, si
|
||
imul bx, 7
|
||
mov byte ptr [bx+2BCAh], 0
|
||
mov bx, si
|
||
shl bx, 2
|
||
mov word ptr [bx+2C16h], 76Ch
|
||
mov bx, si
|
||
shl bx, 2
|
||
mov byte ptr [bx+2C18h], 1
|
||
mov bx, si
|
||
shl bx, 2
|
||
mov byte ptr [bx+2C19h], 1
|
||
mov byte ptr [si+2C3Eh], 1
|
||
inc si
|
||
|
||
loc_B95F:
|
||
cmp si, 0Ah
|
||
jl short loc_B8F5
|
||
pop si
|
||
pop bp
|
||
retf
|
||
sub_B8ED endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B967 proc near
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
pushd [HUUHI_DAT]
|
||
call file_ropen
|
||
mov al, byte_D722
|
||
cbw
|
||
imul ax, 0B6h
|
||
movzx eax, ax
|
||
push eax
|
||
push 0
|
||
call file_seek
|
||
push ds
|
||
push offset word_FB16
|
||
push 0B6h ; '<27>'
|
||
call file_read
|
||
xor si, si
|
||
jmp short loc_B9A5
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B99A:
|
||
mov al, [si+2B96h]
|
||
add al, 0EEh
|
||
mov [si+2B96h], al
|
||
inc si
|
||
|
||
loc_B9A5:
|
||
cmp si, 0B2h ; '<27>'
|
||
jl short loc_B99A
|
||
call file_close
|
||
pop si
|
||
pop bp
|
||
retn
|
||
sub_B967 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B9B3 proc far
|
||
|
||
var_B = byte ptr -0Bh
|
||
var_A = dword ptr -0Ah
|
||
var_6 = dword ptr -6
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 6
|
||
arg_2 = dword ptr 8
|
||
arg_6 = word ptr 0Ch
|
||
|
||
enter 0Ch, 0
|
||
push si
|
||
mov [bp+var_6], 989680h
|
||
mov [bp+var_B], 0
|
||
mov si, 1Ah
|
||
jmp short loc_BA1B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B9C9:
|
||
mov eax, [bp+arg_2]
|
||
cdq
|
||
idiv [bp+var_6]
|
||
mov ebx, 0Ah
|
||
cdq
|
||
idiv ebx
|
||
mov [bp+var_A], edx
|
||
mov eax, [bp+var_6]
|
||
cdq
|
||
idiv ebx
|
||
mov [bp+var_6], eax
|
||
mov ax, word ptr [bp+var_A]
|
||
add ax, 0A0h
|
||
mov [bp+var_2], ax
|
||
cmp [bp+var_A], 0
|
||
jz short loc_BA03
|
||
mov [bp+var_B], 1
|
||
|
||
loc_BA03:
|
||
cmp [bp+var_B], 0
|
||
jz short loc_BA18
|
||
push si
|
||
push [bp+arg_6]
|
||
push [bp+var_2]
|
||
push [bp+arg_0]
|
||
call gaiji_putca
|
||
|
||
loc_BA18:
|
||
add si, 2
|
||
|
||
loc_BA1B:
|
||
cmp si, 2Ah ; '*'
|
||
jl short loc_B9C9
|
||
pop si
|
||
leave
|
||
retf 8
|
||
sub_B9B3 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_BA25 proc near
|
||
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
mov di, 0E1h
|
||
push 140002h
|
||
push ds
|
||
push offset gHI_SCORE
|
||
push 81h
|
||
call gaiji_putsa
|
||
push 0C0004h
|
||
push ds
|
||
push offset gNAME
|
||
push 81h
|
||
call gaiji_putsa
|
||
push 1C0004h
|
||
push ds
|
||
push offset gPOINT
|
||
push 81h
|
||
call gaiji_putsa
|
||
push 2A0004h
|
||
push ds
|
||
push offset gST
|
||
push 81h
|
||
call gaiji_putsa
|
||
cmp [bp+arg_0], 0FFFFh
|
||
jz short loc_BACE
|
||
xor si, si
|
||
jmp short loc_BAB5
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BA80:
|
||
mov [bp+var_2], 0
|
||
jmp short loc_BAAE
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BA87:
|
||
mov ax, [bp+var_2]
|
||
add ax, ax
|
||
add ax, 0Ah
|
||
push ax
|
||
lea ax, [si+12h]
|
||
push ax
|
||
mov bx, si
|
||
imul bx, 11h
|
||
add bx, [bp+var_2]
|
||
mov al, gALPHABET[bx]
|
||
mov ah, 0
|
||
push ax
|
||
push 0E1h
|
||
call gaiji_putca
|
||
inc [bp+var_2]
|
||
|
||
loc_BAAE:
|
||
cmp [bp+var_2], 11h
|
||
jl short loc_BA87
|
||
inc si
|
||
|
||
loc_BAB5:
|
||
cmp si, 3
|
||
jl short loc_BA80
|
||
push 0A0012h
|
||
mov al, gALPHABET
|
||
mov ah, 0
|
||
push ax
|
||
push 85h ; '<27>E
|
||
call gaiji_putca
|
||
|
||
loc_BACE:
|
||
xor si, si
|
||
jmp short loc_BB31
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BAD2:
|
||
cmp si, [bp+arg_0]
|
||
jnz short loc_BADC
|
||
mov di, 81h
|
||
jmp short loc_BADF
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BADC:
|
||
mov di, 0E1h
|
||
|
||
loc_BADF:
|
||
push 0Ah
|
||
lea ax, [si+6]
|
||
push ax
|
||
mov ax, si
|
||
imul ax, 7
|
||
add ax, 2BC4h
|
||
push ds
|
||
push ax
|
||
push di
|
||
call gaiji_putsa
|
||
lea ax, [si+6]
|
||
push ax
|
||
mov bx, si
|
||
shl bx, 2
|
||
pushd dword ptr [bx+2B98h]
|
||
push di
|
||
call sub_B9B3
|
||
cmp byte ptr [si+2C0Bh], 7Fh
|
||
jz short loc_BB21
|
||
push 2Ch ; ','
|
||
lea ax, [si+6]
|
||
push ax
|
||
mov al, [si+2C0Bh]
|
||
mov ah, 0
|
||
add ax, 0A0h
|
||
push ax
|
||
jmp short loc_BB2A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BB21:
|
||
push 2Ch ; ','
|
||
lea ax, [si+6]
|
||
push ax
|
||
push 0F0h
|
||
|
||
loc_BB2A:
|
||
push di
|
||
call gaiji_putca
|
||
inc si
|
||
|
||
loc_BB31:
|
||
cmp si, 0Ah
|
||
jl short loc_BAD2
|
||
xor si, si
|
||
jmp short loc_BB78
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BB3A:
|
||
cmp si, [bp+arg_0]
|
||
jnz short loc_BB44
|
||
mov di, 81h
|
||
jmp short loc_BB47
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BB44:
|
||
mov di, 0E1h
|
||
|
||
loc_BB47:
|
||
cmp si, 9
|
||
jz short loc_BB59
|
||
push 6
|
||
lea ax, [si+6]
|
||
push ax
|
||
lea ax, [si+0A1h]
|
||
push ax
|
||
jmp short loc_BB71
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BB59:
|
||
push 4000Fh
|
||
push 0A1h ; '<27>'
|
||
push di
|
||
call gaiji_putca
|
||
push 6000Fh
|
||
push 0A0h
|
||
|
||
loc_BB71:
|
||
push di
|
||
call gaiji_putca
|
||
inc si
|
||
|
||
loc_BB78:
|
||
cmp si, 0Ah
|
||
jl short loc_BB3A
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 2
|
||
sub_BA25 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_BB83 proc near
|
||
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
arg_4 = word ptr 8
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_4]
|
||
mov di, [bp+arg_2]
|
||
mov ax, si
|
||
add ax, ax
|
||
add ax, 0Ah
|
||
push ax
|
||
lea ax, [di+12h]
|
||
push ax
|
||
mov bx, di
|
||
imul bx, 11h
|
||
mov al, [bx+si+7BBh]
|
||
mov ah, 0
|
||
push ax
|
||
push [bp+arg_0]
|
||
call gaiji_putca
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retn 6
|
||
sub_BB83 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_BBB4 proc near
|
||
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_2]
|
||
mov di, [bp+arg_0]
|
||
push 0Ah
|
||
lea ax, [si+6]
|
||
push ax
|
||
mov ax, si
|
||
imul ax, 7
|
||
add ax, 2BC4h
|
||
push ds
|
||
push ax
|
||
push 81h
|
||
call gaiji_putsa
|
||
mov ax, di
|
||
add ax, ax
|
||
add ax, 0Ah
|
||
push ax
|
||
lea ax, [si+6]
|
||
push ax
|
||
mov bx, si
|
||
imul bx, 7
|
||
mov al, [bx+di+2BC4h]
|
||
mov ah, 0
|
||
push ax
|
||
push 85h ; '<27>E
|
||
call gaiji_putca
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retn 4
|
||
sub_BBB4 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_BBFD proc far
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
mov dword_FB40, 0
|
||
mov byte_FB8A, 0
|
||
mov byte_FB95, 0
|
||
mov dword_FBC8, 0
|
||
xor si, si
|
||
jmp short loc_BC46
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BC21:
|
||
mov bx, si
|
||
shl bx, 2
|
||
mov eax, [bx+2B98h]
|
||
add dword_FB40, eax
|
||
mov bx, si
|
||
imul bx, 7
|
||
mov al, [bx+2BC4h]
|
||
add byte_FB8A, al
|
||
mov al, [si+2C0Bh]
|
||
add byte_FB95, al
|
||
inc si
|
||
|
||
loc_BC46:
|
||
cmp si, 0Ah
|
||
jl short loc_BC21
|
||
xor si, si
|
||
jmp short loc_BC65
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BC4F:
|
||
movzx eax, byte ptr [si+2B96h]
|
||
add dword_FBC8, eax
|
||
mov al, [si+2B96h]
|
||
add al, 12h
|
||
mov [si+2B96h], al
|
||
inc si
|
||
|
||
loc_BC65:
|
||
cmp si, 0B2h ; '<27>'
|
||
jl short loc_BC4F
|
||
pushd [HUUHI_DAT]
|
||
call file_append
|
||
mov al, byte_D722
|
||
cbw
|
||
imul ax, 0B6h
|
||
movzx eax, ax
|
||
push eax
|
||
push 0
|
||
call file_seek
|
||
push ds
|
||
push offset word_FB16
|
||
push 0B6h ; '<27>'
|
||
call file_write
|
||
call file_close
|
||
pop si
|
||
pop bp
|
||
retf
|
||
sub_BBFD endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_BC9E proc far
|
||
|
||
var_B = byte ptr -0Bh
|
||
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
|
||
|
||
enter 0Ch, 0
|
||
push si
|
||
push di
|
||
xor si, si
|
||
pushd [HUUHI_DAT]
|
||
call file_exist
|
||
or ax, ax
|
||
jnz short loc_BCBA
|
||
call sub_B8ED
|
||
jmp short loc_BCBD
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BCBA:
|
||
call sub_B967
|
||
|
||
loc_BCBD:
|
||
mov eax, dword_FB3C
|
||
cmp eax, dword_FB0C
|
||
jle short loc_BCD5
|
||
push 0FFFFh
|
||
call sub_BA25
|
||
call sub_B4B7
|
||
jmp loc_BFB3
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BCD5:
|
||
mov [bp+var_2], 9
|
||
jmp short loc_BCF1
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BCDC:
|
||
mov bx, [bp+var_2]
|
||
shl bx, 2
|
||
mov eax, [bx+2B94h]
|
||
cmp eax, dword_FB0C
|
||
jg short loc_BCF7
|
||
dec [bp+var_2]
|
||
|
||
loc_BCF1:
|
||
cmp [bp+var_2], 0
|
||
jg short loc_BCDC
|
||
|
||
loc_BCF7:
|
||
mov [bp+var_4], 9
|
||
jmp loc_BD91
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BCFF:
|
||
mov bx, [bp+var_4]
|
||
shl bx, 2
|
||
mov eax, [bx+2B94h]
|
||
mov bx, [bp+var_4]
|
||
shl bx, 2
|
||
mov [bx+2B98h], eax
|
||
mov [bp+var_6], 0
|
||
jmp short loc_BD39
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BD1C:
|
||
mov bx, [bp+var_4]
|
||
imul bx, 7
|
||
add bx, [bp+var_6]
|
||
mov al, [bx+2BBDh]
|
||
mov bx, [bp+var_4]
|
||
imul bx, 7
|
||
add bx, [bp+var_6]
|
||
mov [bx+2BC4h], al
|
||
inc [bp+var_6]
|
||
|
||
loc_BD39:
|
||
cmp [bp+var_6], 6
|
||
jl short loc_BD1C
|
||
mov bx, [bp+var_4]
|
||
mov al, [bx+2C0Ah]
|
||
mov [bx+2C0Bh], al
|
||
shl bx, 2
|
||
mov ax, [bx+2C12h]
|
||
mov bx, [bp+var_4]
|
||
shl bx, 2
|
||
mov [bx+2C16h], ax
|
||
mov bx, [bp+var_4]
|
||
shl bx, 2
|
||
mov al, [bx+2C15h]
|
||
mov bx, [bp+var_4]
|
||
shl bx, 2
|
||
mov [bx+2C19h], al
|
||
mov bx, [bp+var_4]
|
||
shl bx, 2
|
||
mov al, [bx+2C14h]
|
||
mov bx, [bp+var_4]
|
||
shl bx, 2
|
||
mov [bx+2C18h], al
|
||
mov bx, [bp+var_4]
|
||
mov al, [bx+2C3Dh]
|
||
mov [bx+2C3Eh], al
|
||
dec [bp+var_4]
|
||
|
||
loc_BD91:
|
||
mov ax, [bp+var_4]
|
||
cmp ax, [bp+var_2]
|
||
jg loc_BCFF
|
||
mov bx, [bp+var_2]
|
||
shl bx, 2
|
||
mov eax, dword_FB0C
|
||
mov [bx+2B98h], eax
|
||
mov bx, [bp+var_2]
|
||
mov byte ptr [bx+2C0Bh], 7Fh
|
||
mov ax, [bp+var_2]
|
||
shl ax, 2
|
||
add ax, 2C16h
|
||
push ds
|
||
push ax ; datep
|
||
call _getdate
|
||
add sp, 4
|
||
les bx, dword_FB02
|
||
mov al, es:[bx+26h]
|
||
mov bx, [bp+var_2]
|
||
mov [bx+2C3Eh], al
|
||
mov [bp+var_6], 0
|
||
jmp short loc_BDEC
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BDDB:
|
||
mov bx, [bp+var_4]
|
||
imul bx, 7
|
||
add bx, [bp+var_6]
|
||
mov byte ptr [bx+2BC4h], 0DAh
|
||
inc [bp+var_6]
|
||
|
||
loc_BDEC:
|
||
cmp [bp+var_6], 6
|
||
jl short loc_BDDB
|
||
push [bp+var_2]
|
||
call sub_BA25
|
||
xor di, di
|
||
mov [bp+var_8], 0
|
||
mov word_FAEE, 0
|
||
mov [bp+var_A], 1
|
||
|
||
loc_BE0A:
|
||
mov [bp+var_B], 0
|
||
|
||
loc_BE0E:
|
||
call sub_B536
|
||
cmp [bp+var_A], 0
|
||
jnz loc_BF7F
|
||
test byte ptr word_FAEE, 1
|
||
jz short loc_BE44
|
||
push di
|
||
push [bp+var_8]
|
||
push 0E1h
|
||
call sub_BB83
|
||
dec [bp+var_8]
|
||
cmp [bp+var_8], 0
|
||
jge short loc_BE3A
|
||
mov [bp+var_8], 2
|
||
|
||
loc_BE3A:
|
||
push di
|
||
push [bp+var_8]
|
||
push 85h ; '<27>E
|
||
call sub_BB83
|
||
|
||
loc_BE44:
|
||
test byte ptr word_FAEE, 2
|
||
jz short loc_BE6D
|
||
push di
|
||
push [bp+var_8]
|
||
push 0E1h
|
||
call sub_BB83
|
||
inc [bp+var_8]
|
||
cmp [bp+var_8], 2
|
||
jle short loc_BE63
|
||
mov [bp+var_8], 0
|
||
|
||
loc_BE63:
|
||
push di
|
||
push [bp+var_8]
|
||
push 85h ; '<27>E
|
||
call sub_BB83
|
||
|
||
loc_BE6D:
|
||
test byte ptr word_FAEE, 4
|
||
jz short loc_BE90
|
||
push di
|
||
push [bp+var_8]
|
||
push 0E1h
|
||
call sub_BB83
|
||
dec di
|
||
or di, di
|
||
jge short loc_BE86
|
||
mov di, 10h
|
||
|
||
loc_BE86:
|
||
push di
|
||
push [bp+var_8]
|
||
push 85h ; '<27>E
|
||
call sub_BB83
|
||
|
||
loc_BE90:
|
||
test byte ptr word_FAEE, 8
|
||
jz short loc_BEB3
|
||
push di
|
||
push [bp+var_8]
|
||
push 0E1h
|
||
call sub_BB83
|
||
inc di
|
||
cmp di, 10h
|
||
jle short loc_BEA9
|
||
xor di, di
|
||
|
||
loc_BEA9:
|
||
push di
|
||
push [bp+var_8]
|
||
push 85h ; '<27>E
|
||
call sub_BB83
|
||
|
||
loc_BEB3:
|
||
test byte ptr word_FAEE, 10h
|
||
jnz short loc_BEC3
|
||
test byte ptr word_FAEE, 80h
|
||
jz loc_BF58
|
||
|
||
loc_BEC3:
|
||
cmp [bp+var_8], 2
|
||
jnz short loc_BECE
|
||
cmp di, 0Dh
|
||
jge short loc_BF0B
|
||
|
||
loc_BECE:
|
||
mov bx, [bp+var_8]
|
||
imul bx, 11h
|
||
mov al, [bx+di+7BBh]
|
||
mov bx, [bp+var_2]
|
||
imul bx, 7
|
||
mov [bx+si+2BC4h], al
|
||
cmp si, 5
|
||
jnz short loc_BF03
|
||
push di
|
||
push [bp+var_8]
|
||
push 0E1h
|
||
call sub_BB83
|
||
mov di, 10h
|
||
mov [bp+var_8], 2
|
||
push di
|
||
push [bp+var_8]
|
||
push 85h ; '<27>E
|
||
call sub_BB83
|
||
|
||
loc_BF03:
|
||
inc si
|
||
cmp si, 5
|
||
jle short loc_BF51
|
||
jmp short loc_BF47
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BF0B:
|
||
cmp di, 0Dh
|
||
jnz short loc_BF23
|
||
mov bx, [bp+var_2]
|
||
imul bx, 7
|
||
mov byte ptr [bx+si+2BC4h], 0CFh ; '<27>'
|
||
inc si
|
||
cmp si, 5
|
||
jle short loc_BF51
|
||
jmp short loc_BF47
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BF23:
|
||
cmp di, 0Eh
|
||
jnz short loc_BF3C
|
||
dec si
|
||
or si, si
|
||
jge short loc_BF2F
|
||
xor si, si
|
||
|
||
loc_BF2F:
|
||
mov bx, [bp+var_2]
|
||
imul bx, 7
|
||
mov byte ptr [bx+si+2BC4h], 0CFh ; '<27>'
|
||
jmp short loc_BF51
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BF3C:
|
||
cmp di, 0Fh
|
||
jnz short loc_BF4C
|
||
inc si
|
||
cmp si, 5
|
||
jle short loc_BF51
|
||
|
||
loc_BF47:
|
||
mov si, 5
|
||
jmp short loc_BF51
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BF4C:
|
||
cmp di, 10h
|
||
jz short loc_BFAF
|
||
|
||
loc_BF51:
|
||
push [bp+var_2]
|
||
push si
|
||
call sub_BBB4
|
||
|
||
loc_BF58:
|
||
test byte ptr word_FAEE, 20h
|
||
jz short loc_BF78
|
||
mov bx, [bp+var_2]
|
||
imul bx, 7
|
||
mov byte ptr [bx+si+2BC4h], 0CFh ; '<27>'
|
||
dec si
|
||
or si, si
|
||
jge short loc_BF71
|
||
xor si, si
|
||
|
||
loc_BF71:
|
||
push [bp+var_2]
|
||
push si
|
||
call sub_BBB4
|
||
|
||
loc_BF78:
|
||
test byte ptr word_FAEE, 40h
|
||
jnz short loc_BFAF
|
||
|
||
loc_BF7F:
|
||
push 1
|
||
call frame_delay
|
||
mov ax, word_FAEE
|
||
mov [bp+var_A], ax
|
||
cmp [bp+var_A], 0
|
||
jz loc_BE0A
|
||
inc [bp+var_B]
|
||
cmp [bp+var_B], 1Eh
|
||
jbe loc_BE0E
|
||
test [bp+var_B], 1
|
||
jnz loc_BE0E
|
||
mov [bp+var_A], 0
|
||
jmp loc_BE0E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BFAF:
|
||
call sub_BBFD
|
||
|
||
loc_BFB3:
|
||
pop di
|
||
pop si
|
||
leave
|
||
retf
|
||
sub_BC9E endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
push bp
|
||
mov bp, sp
|
||
pushd [HUUHI_DAT]
|
||
call file_exist
|
||
or ax, ax
|
||
jnz short loc_BFCE
|
||
call sub_B8ED
|
||
jmp short loc_BFD1
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BFCE:
|
||
call sub_B967
|
||
|
||
loc_BFD1:
|
||
mov eax, dword_FB18
|
||
cmp eax, dword_FB0C
|
||
jl short loc_BFDE
|
||
jmp short loc_BFE2
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BFDE:
|
||
mov eax, dword_FB0C
|
||
|
||
loc_BFE2:
|
||
mov dword_FB12, eax
|
||
pop bp
|
||
retf
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_BFE8 proc far
|
||
|
||
var_7 = byte ptr -7
|
||
var_6 = byte ptr -6
|
||
|
||
enter 8, 0
|
||
lea ax, [bp+var_6]
|
||
push ss
|
||
push ax
|
||
push ds
|
||
push offset unk_D77C
|
||
mov cx, 6
|
||
call SCOPY@
|
||
mov al, byte_D722
|
||
mov [bp+var_7], al
|
||
mov byte_D722, 0
|
||
jmp short loc_C031
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C00A:
|
||
call sub_B967
|
||
mov al, byte_D722
|
||
cbw
|
||
add ax, ax
|
||
lea dx, [bp+var_6]
|
||
add ax, dx
|
||
mov bx, ax
|
||
mov ax, ss:[bx]
|
||
cmp ax, word_FB16
|
||
jz short loc_C02D
|
||
mov al, [bp+var_7]
|
||
mov byte_D722, al
|
||
xor ax, ax
|
||
leave
|
||
retf
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C02D:
|
||
inc byte_D722
|
||
|
||
loc_C031:
|
||
mov al, byte_D722
|
||
cbw
|
||
cmp ax, 3
|
||
jl short loc_C00A
|
||
mov al, [bp+var_7]
|
||
mov byte_D722, al
|
||
mov ax, 1
|
||
leave
|
||
retf
|
||
sub_BFE8 endp
|
||
|
||
seg004 ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
seg005 segment byte public 'CODE' use16
|
||
assume cs:seg005
|
||
;org 5
|
||
assume es:nothing, ss:nothing, ds:dseg, fs:nothing, gs:nothing
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C045 proc near
|
||
|
||
var_10 = word ptr -10h
|
||
var_E = word ptr -0Eh
|
||
var_C = word ptr -0Ch
|
||
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 = byte ptr 4
|
||
arg_2 = word ptr 6
|
||
|
||
enter 10h, 0
|
||
push si
|
||
push di
|
||
mov di, [bp+arg_2]
|
||
xor si, si
|
||
jmp short loc_C0BC
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C052:
|
||
movsx eax, di
|
||
mov dl, [bp+arg_0]
|
||
mov dh, 0
|
||
add dx, dx
|
||
mov bx, dx
|
||
movsx edx, word ptr [bx+4EEh]
|
||
imul eax, edx
|
||
sar eax, 8
|
||
add ax, 0C0h
|
||
mov bx, si
|
||
add bx, bx
|
||
lea dx, [bp+var_8]
|
||
add bx, dx
|
||
mov ss:[bx], ax
|
||
movsx eax, di
|
||
mov dl, [bp+arg_0]
|
||
mov dh, 0
|
||
add dx, dx
|
||
mov bx, dx
|
||
movsx edx, word ptr [bx+46Eh]
|
||
imul eax, edx
|
||
sar eax, 8
|
||
add ax, 0C8h ; '<27>'
|
||
mov bx, si
|
||
add bx, bx
|
||
lea dx, [bp+var_10]
|
||
add bx, dx
|
||
mov ss:[bx], ax
|
||
test si, 1
|
||
jz short loc_C0B3
|
||
mov al, [bp+arg_0]
|
||
add al, 51h ; 'Q'
|
||
jmp short loc_C0B8
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C0B3:
|
||
mov al, [bp+arg_0]
|
||
add al, 2Fh ; '/'
|
||
|
||
loc_C0B8:
|
||
mov [bp+arg_0], al
|
||
inc si
|
||
|
||
loc_C0BC:
|
||
cmp si, 4
|
||
jl short loc_C052
|
||
push [bp+var_8]
|
||
push [bp+var_10]
|
||
push [bp+var_6]
|
||
push [bp+var_E]
|
||
call grcg_line
|
||
push [bp+var_6]
|
||
push [bp+var_E]
|
||
push [bp+var_4]
|
||
push [bp+var_C]
|
||
call grcg_line
|
||
push [bp+var_4]
|
||
push [bp+var_C]
|
||
push [bp+var_2]
|
||
push [bp+var_A]
|
||
call grcg_line
|
||
push [bp+var_2]
|
||
push [bp+var_A]
|
||
push [bp+var_8]
|
||
push [bp+var_10]
|
||
call grcg_line
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 4
|
||
sub_C045 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C10B proc far
|
||
push bp
|
||
mov bp, sp
|
||
call egc_on
|
||
mov ax, 0FFF0h
|
||
mov dx, 4A0h
|
||
out dx, ax
|
||
mov ax, 0FFh
|
||
mov dx, 4A2h
|
||
out dx, ax
|
||
mov ax, 3100h
|
||
mov dx, 4A4h
|
||
out dx, ax
|
||
mov ax, 0FFFFh
|
||
mov dx, 4A8h
|
||
out dx, ax
|
||
mov ax, 0
|
||
mov dx, 4ACh
|
||
out dx, ax
|
||
mov ax, 0Fh
|
||
mov dx, 4AEh
|
||
out dx, ax
|
||
pop bp
|
||
retf
|
||
sub_C10B endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
enter 0Ah, 0
|
||
push si
|
||
push di
|
||
mov si, [bp+6]
|
||
mov di, si
|
||
add si, [bp+0Ah]
|
||
and di, 0FFF0h
|
||
mov ax, di
|
||
sar ax, 3
|
||
mov dx, [bp+8]
|
||
shl dx, 6
|
||
add ax, dx
|
||
mov dx, [bp+8]
|
||
shl dx, 4
|
||
add ax, dx
|
||
mov [bp-6], ax
|
||
call sub_C10B
|
||
mov word ptr [bp-2], 0
|
||
jmp short loc_C1B5
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C173:
|
||
mov [bp-4], di
|
||
mov ax, [bp-6]
|
||
mov [bp-0Ah], ax
|
||
jmp short loc_C1A9
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C17E:
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
les bx, dword_F892
|
||
add bx, [bp-0Ah]
|
||
mov ax, es:[bx]
|
||
mov [bp-8], ax
|
||
mov al, 0
|
||
out dx, al
|
||
mov bx, word ptr dword_F892
|
||
add bx, [bp-0Ah]
|
||
mov ax, [bp-8]
|
||
mov es:[bx], ax
|
||
add word ptr [bp-0Ah], 2
|
||
add word ptr [bp-4], 10h
|
||
|
||
loc_C1A9:
|
||
cmp [bp-4], si
|
||
jl short loc_C17E
|
||
add word ptr [bp-6], 50h ; 'P'
|
||
inc word ptr [bp-2]
|
||
|
||
loc_C1B5:
|
||
mov ax, [bp-2]
|
||
cmp ax, [bp+0Ch]
|
||
jl short loc_C173
|
||
call egc_off
|
||
pop di
|
||
pop si
|
||
leave
|
||
retf
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C1C6 proc far
|
||
|
||
var_10 = word ptr -10h
|
||
var_C = word ptr -0Ch
|
||
var_A = word ptr -0Ah
|
||
var_8 = word ptr -8
|
||
var_2 = word ptr -2
|
||
arg_0 = byte ptr 6
|
||
arg_2 = byte ptr 8
|
||
|
||
enter 10h, 0
|
||
push si
|
||
push di
|
||
lea ax, [bp+var_A]
|
||
push ss
|
||
push ax
|
||
push ds
|
||
push offset unk_D78C
|
||
mov cx, 0Ah
|
||
call SCOPY@
|
||
lea ax, [bp+var_10]
|
||
push ss
|
||
push ax
|
||
push ds
|
||
push offset asc_D796 ; ")))))"
|
||
mov cx, 5
|
||
call SCOPY@
|
||
xor si, si
|
||
jmp short loc_C1F9
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C1F2:
|
||
mov al, [bp+arg_0]
|
||
mov byte ptr [bp+si+var_10], al
|
||
inc si
|
||
|
||
loc_C1F9:
|
||
cmp si, 5
|
||
jl short loc_C1F2
|
||
push 0C00000h
|
||
call grcg_setcolor
|
||
pushd 0
|
||
push 180018Fh
|
||
call grcg_boxfill
|
||
xor si, si
|
||
jmp loc_C2AE
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C21C:
|
||
push 0C00000h
|
||
call grcg_setcolor
|
||
push [bp+var_A]
|
||
push [bp+var_10]
|
||
call sub_C045
|
||
mov al, byte ptr [bp+var_10+1]
|
||
mov byte ptr [bp+var_10], al
|
||
mov ax, [bp+var_8]
|
||
mov [bp+var_A], ax
|
||
push 0C00004h
|
||
call grcg_setcolor
|
||
mov di, 1
|
||
jmp short loc_C27E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C24C:
|
||
mov bx, di
|
||
add bx, bx
|
||
lea ax, [bp+var_A]
|
||
add bx, ax
|
||
push word ptr ss:[bx]
|
||
mov al, byte ptr [bp+di+var_10]
|
||
push ax
|
||
call sub_C045
|
||
mov al, byte ptr [bp+di+var_10+1]
|
||
mov byte ptr [bp+di+var_10], al
|
||
mov bx, di
|
||
add bx, bx
|
||
lea ax, [bp+var_8]
|
||
add bx, ax
|
||
mov ax, ss:[bx]
|
||
mov bx, di
|
||
add bx, bx
|
||
lea dx, [bp+var_A]
|
||
add bx, dx
|
||
mov ss:[bx], ax
|
||
inc di
|
||
|
||
loc_C27E:
|
||
cmp di, 4
|
||
jl short loc_C24C
|
||
push 0C0000Fh
|
||
call grcg_setcolor
|
||
cmp si, 10h
|
||
jge short loc_C29D
|
||
sub [bp+var_2], 4
|
||
mov al, [bp+arg_2]
|
||
add byte ptr [bp+var_C], al
|
||
|
||
loc_C29D:
|
||
push [bp+var_2]
|
||
push [bp+var_C]
|
||
call sub_C045
|
||
push 1
|
||
call frame_delay
|
||
inc si
|
||
|
||
loc_C2AE:
|
||
cmp si, 14h
|
||
jl loc_C21C
|
||
push 0C00000h
|
||
call grcg_setcolor
|
||
pushd 0
|
||
push 180018Fh
|
||
call grcg_boxfill
|
||
push 0C0000Fh
|
||
call grcg_setcolor
|
||
push 1640060h
|
||
push 1640130h
|
||
call grcg_line
|
||
push 1640130h
|
||
push 1C0130h
|
||
call grcg_line
|
||
push 1C0130h
|
||
push 1C0060h
|
||
call grcg_line
|
||
push 1C0060h
|
||
push 1640060h
|
||
call grcg_line
|
||
call grcg_off
|
||
mov PaletteTone, 0C8h ; '<27>'
|
||
call far ptr palette_show
|
||
pop di
|
||
pop si
|
||
leave
|
||
retf 4
|
||
sub_C1C6 endp
|
||
|
||
seg005 ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
seg006 segment byte public 'CODE' use16
|
||
assume cs:seg006
|
||
;org 3
|
||
assume es:nothing, ss:nothing, ds:dseg, fs:nothing, gs:nothing
|
||
|
||
include libs/BorlandC/ctor2[textc].asm
|
||
include libs/BorlandC/ctor3[textc].asm
|
||
include libs/BorlandC/strings[textc].asm
|
||
dd 0
|
||
seg006 ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure data
|
||
dseg segment para public 'DATA' use16
|
||
assume cs:dseg
|
||
|
||
include libs/BorlandC/c0[data].asm
|
||
include th02/strings/ranks_center[data].asm
|
||
unk_D030 db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
aKkuukkuukkuukk db '<27><>UU<55><55>UU<55><55>UU<55><55>UU<55><55>UU<55><55>UU<55><55>UU<55><55>UU3333<33><33><EFBFBD><EFBFBD>3333<33><33><EFBFBD><EFBFBD>3333<33><33><EFBFBD><EFBFBD>3333<33><33><EFBFBD><EFBFBD><EFBFBD>'
|
||
db '<27><><EFBFBD>3333<33><33><EFBFBD><EFBFBD>3333<33><33><EFBFBD><EFBFBD>3333<33><33><EFBFBD><EFBFBD>3333end3.txt',0
|
||
aEnding_m db 'ending.m',0
|
||
aEnd1_txt db 'end1.txt',0
|
||
aEnd1_m db 'end1.m',0
|
||
aEd01_pi db 'ed01.pi',0
|
||
aEd02_pi db 'ed02.pi',0
|
||
aEnd2_txt db 'end2.txt',0
|
||
aEd03_pi db 'ed03.pi',0
|
||
aEd03a_rgb db 'ed03a.rgb',0
|
||
aEd04_pi db 'ed04.pi',0
|
||
aEd05_pi db 'ed05.pi',0
|
||
aVer1_00 db 'ver 1.00',0
|
||
aXxcvsB@b@vrvsv db '<27><><EFBFBD><EFBFBD><EFBFBD>^<5E>@<40>@<40>r<EFBFBD>s<EFBFBD>`<60>e<EFBFBD>e',0
|
||
aEd06_pi db 'ed06.pi',0
|
||
aGvgngogigab@b@ db '<27>v<EFBFBD><76><EFBFBD>O<EFBFBD><4F><EFBFBD><EFBFBD><EFBFBD>@<40>@<40>@<40>y<EFBFBD>t<EFBFBD>m',0
|
||
aEd06b_rgb db 'ed06b.rgb',0
|
||
aEd06c_rgb db 'ed06c.rgb',0
|
||
aEd07_pi db 'ed07.pi',0
|
||
aGogigtgbgbgnb@ db '<27>O<EFBFBD><4F><EFBFBD>t<EFBFBD>B<EFBFBD>b<EFBFBD>N<EFBFBD>@<40>y<EFBFBD>t<EFBFBD>m',0
|
||
aB@b@b@b@b@b@b@ db '<27>@<40>@<40>@<40>@<40>@<40>@<40>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
|
||
aB@b@b@b@bigibG db '<27>@<40>@<40>@<40>@<40>i<EFBFBD>I<EFBFBD>[<5B><><EFBFBD>N<EFBFBD><4E><EFBFBD>A<EFBFBD><41><EFBFBD>j',0
|
||
aEd07a_rgb db 'ed07a.rgb',0
|
||
aEd07b_rgb db 'ed07b.rgb',0
|
||
aVlvtvrvhvbb@b@ db '<27>l<EFBFBD>t<EFBFBD>r<EFBFBD>h<EFBFBD>b<EFBFBD>@<40>@<40>y<EFBFBD>t<EFBFBD>m',0
|
||
aEd08_pi db 'ed08.pi',0
|
||
aEd08a_rgb db 'ed08a.rgb',0
|
||
aVsvdvrvsb@vovk db '<27>s<EFBFBD>d<EFBFBD>r<EFBFBD>s<EFBFBD>@<40>o<EFBFBD>k<EFBFBD>`<60>x<EFBFBD>d<EFBFBD>q',0
|
||
aB@b@b@b@vivivs db '<27>@<40>@<40>@<40>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
|
||
aB@b@b@b@vbbVv db '<27>@<40>@<40>@<40>@<40>b<EFBFBD>|<7C>v',0
|
||
aB@b@Orucb@mbiS db '<27>@<40>@ <20>R<EFBFBD>c<EFBFBD>@<40>b<EFBFBD><62><EFBFBD>Y',0
|
||
aVVSSxrivVVVV db ' <20><><EFBFBD>̑<EFBFBD><CC91>吨<EFBFBD>݂̂Ȃ<DD82><C882><EFBFBD>',0
|
||
aEd08b_rgb db 'ed08b.rgb',0
|
||
aEd08c_rgb db 'ed08c.rgb',0
|
||
aEd09_pi db 'ED09.pi',0
|
||
aVsvivbvovlb@vs db '<27>s<EFBFBD><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
|
||
aB@nPiuU_ db '<27>@<40>ŏI<C58F><49><EFBFBD>_',0
|
||
aGrgugegbgjgeb db '<27>R<EFBFBD><52><EFBFBD>e<EFBFBD>B<EFBFBD>j<EFBFBD><6A><EFBFBD>[',0
|
||
aB@Gigugn db '<27>@ <20><><EFBFBD><EFBFBD><EFBFBD>N',0
|
||
aGvgmgcgdbPik db '<27>v<EFBFBD><76><EFBFBD>C<EFBFBD><43><EFBFBD>[<5B><><EFBFBD><EFBFBD>',0
|
||
aCMvpik db ' <20>쌂<EFBFBD><EC8C82><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
|
||
aVavVVSrso db '<27><><EFBFBD>Ȃ<EFBFBD><C882>̘r<CC98>O',0
|
||
aVpvxvxvvb@vyvt db '<27>P<EFBFBD>X<EFBFBD>X<EFBFBD>V<EFBFBD>@<40>y<EFBFBD>t<EFBFBD>m (Amusement Makers)',0
|
||
aAll_pi db 'all.pi',0
|
||
aBut_pi db 'but.pi',0
|
||
aExtra_pi db 'extra.pi',0
|
||
aMikoft_bft db 'MIKOFT.bft',0
|
||
aEndft_bft db 'endft.bft',0
|
||
; char path[]
|
||
path db 'op',0
|
||
include libs/master.lib/bfnt_id[data].asm
|
||
include libs/master.lib/clip[data].asm
|
||
include libs/master.lib/edges[data].asm
|
||
include libs/master.lib/fil[data].asm
|
||
include libs/master.lib/dos_ropen[data].asm
|
||
include libs/master.lib/gaiji_backup[data].asm
|
||
include libs/master.lib/gaiji_entry_bfnt[data].asm
|
||
include libs/master.lib/grp[data].asm
|
||
include libs/master.lib/pal[data].asm
|
||
include libs/master.lib/pf[data].asm
|
||
include libs/master.lib/sin8[data].asm
|
||
include libs/master.lib/tx[data].asm
|
||
include libs/master.lib/version[data].asm
|
||
include libs/master.lib/vs[data].asm
|
||
include libs/master.lib/mem[data].asm
|
||
include libs/master.lib/super_entry_bfnt[data].asm
|
||
include libs/master.lib/superpa[data].asm
|
||
byte_D70A db 5
|
||
byte_D70B db 3
|
||
byte_D70C db 0
|
||
db 0
|
||
include th02/formats/pfopen[data].asm
|
||
snd_active db 0
|
||
db 0
|
||
aUmx db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E>^',0
|
||
byte_D722 db 1
|
||
db 0
|
||
aHuuma_cfg db 'huuma.cfg',0
|
||
include th02/strings/hiscore[data].asm
|
||
unk_D77C db 3Eh ; >
|
||
db 1
|
||
db 76h ; v
|
||
db 0
|
||
db 0DAh
|
||
db 0
|
||
aHuuhi_dat db 'huuhi.dat',0
|
||
unk_D78C db 0
|
||
db 1
|
||
db 0
|
||
db 1
|
||
db 0
|
||
db 1
|
||
db 0
|
||
db 1
|
||
db 0
|
||
db 1
|
||
asc_D796 db ')))))',0
|
||
include libs/BorlandC/_abort[data].asm
|
||
include libs/BorlandC/atexit[data].asm
|
||
include libs/BorlandC/exit[data].asm
|
||
include libs/BorlandC/files[data].asm
|
||
include libs/BorlandC/ioerror[data].asm
|
||
include libs/BorlandC/new[data].asm
|
||
include libs/BorlandC/stklen[data].asm
|
||
include libs/BorlandC/ctype[data].asm
|
||
include libs/BorlandC/xxv[data].asm
|
||
include libs/BorlandC/cputype[data].asm
|
||
include libs/BorlandC/fbrk[data].asm
|
||
include libs/BorlandC/signal[data].asm
|
||
include libs/BorlandC/pathops[data].asm
|
||
include libs/BorlandC/srchenv[data].asm
|
||
include libs/BorlandC/srchstr[data].asm
|
||
include libs/BorlandC/setvbuf[data].asm
|
||
include libs/BorlandC/sysnerr[data].asm
|
||
include libs/BorlandC/xx[data].asm
|
||
include libs/BorlandC/setenvp[data].asm
|
||
include libs/BorlandC/strings[data].asm
|
||
include libs/BorlandC/mbctype[data].asm
|
||
include libs/BorlandC/loadprog[data].asm
|
||
|
||
InitStart label byte
|
||
include libs/BorlandC/new[initdata].asm
|
||
include libs/BorlandC/setupio[initdata].asm
|
||
include libs/BorlandC/cputype[initdata].asm
|
||
include libs/BorlandC/pathops[initdata].asm
|
||
include libs/BorlandC/setenvp[initdata].asm
|
||
InitEnd label byte
|
||
|
||
ExitStart label byte
|
||
include libs/BorlandC/new[exitdata].asm
|
||
ExitEnd label byte
|
||
|
||
bdata@ label byte
|
||
; TODO: Missing clip[bss].asm (8 bytes) somewhere in there...
|
||
unk_DE32 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
db ? ;
|
||
db ? ;
|
||
unk_DF46 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
db ? ;
|
||
db ? ;
|
||
unk_DFFE db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_E02C db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_E05A db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_E088 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_E112 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_E140 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
db ? ;
|
||
db ? ;
|
||
unk_E1F8 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_E226 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_E254 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_E282 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_E2B0 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_E2DE db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_E30C db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_E33A db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_E368 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
db ? ;
|
||
db ? ;
|
||
unk_E3C4 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_E3F2 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_E420 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_E44E db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_E47C db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_E4AA db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_E534 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_E562 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_E590 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_E5BE db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_E5EC db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
db ? ;
|
||
db ? ;
|
||
unk_E6A4 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_E6D2 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_E700 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_E72E db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_E75C db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_E78A db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_E7B8 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_E7E6 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_E814 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_E842 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_E870 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
db ? ;
|
||
db ? ;
|
||
unk_EA98 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_EAC6 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_EAF4 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_EB22 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_EB50 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_EB7E db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_EBAC db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_EBDA db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_EC08 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_EC36 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_EC64 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_EC92 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_ECC0 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_ECEE db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_ED1C db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_EEBA db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
unk_EEE8 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
byte_F02A db ?
|
||
byte_F02B db ?
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
include libs/master.lib/fil[bss].asm
|
||
include libs/master.lib/pal[bss].asm
|
||
include libs/master.lib/vs[bss].asm
|
||
include libs/master.lib/vsync[bss].asm
|
||
include libs/master.lib/mem[bss].asm
|
||
include libs/master.lib/superpa[bss].asm
|
||
dword_F892 dd ?
|
||
dword_F896 dd ?
|
||
dword_F89A dd ?
|
||
dword_F89E dd ?
|
||
include th02/formats/pi_slots[bss].asm
|
||
include libs/master.lib/pfint21[bss].asm
|
||
word_FAEE dw ?
|
||
include th02/hardware/snd[bss].asm
|
||
include th02/hardware/snd_load[bss].asm
|
||
dword_FB02 dd ?
|
||
db ? ;
|
||
byte_FB07 db ?
|
||
byte_FB08 db ?
|
||
db ?
|
||
db ? ;
|
||
db ? ;
|
||
dword_FB0C dd ?
|
||
db ? ;
|
||
db ? ;
|
||
dword_FB12 dd ?
|
||
word_FB16 dw ?
|
||
dword_FB18 dd ?
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dword_FB3C dd ?
|
||
dword_FB40 dd ?
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
db ? ;
|
||
byte_FB8A db ?
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
db ? ;
|
||
byte_FB95 db ?
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
db ? ;
|
||
dword_FBC8 dd ?
|
||
include libs/BorlandC/atexit[bss].asm
|
||
include libs/BorlandC/sigdata[bss].asm
|
||
include libs/BorlandC/xxv[bss].asm
|
||
include libs/BorlandC/signal[bss].asm
|
||
include libs/BorlandC/xx[bss].asm
|
||
edata@ label byte
|
||
|
||
dseg ends
|
||
|
||
include libs/BorlandC/stack.asm
|
||
|
||
end startx
|