ReC98/th02_maine.asm

8000 lines
133 KiB
NASM
Raw Normal View History

2014-07-02 17:43:15 +00:00
;
; +-------------------------------------------------------------------------+
; | 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
2014-07-02 17:43:15 +00:00
.386
.model large
include ReC98.inc
2014-07-02 17:43:15 +00:00
; ===========================================================================
; Segment type: Pure code
seg000 segment word public 'CODE' use16
2014-07-02 17:43:15 +00:00
assume cs:seg000
assume es:nothing, ss:seg008, ds:dseg, fs:nothing, gs:nothing
2014-07-02 17:43:15 +00:00
include libs/BorlandC/c0.asm
2014-07-02 17:43:15 +00:00
db 0
2014-08-23 09:51:14 +00:00
include libs/master.lib/bfnt_entry_pat.asm
include libs/master.lib/bfnt_extend_header_skip.asm
2014-08-23 10:08:48 +00:00
include libs/master.lib/bfnt_header_read.asm
include libs/master.lib/bfnt_header_analysis.asm
2014-08-26 18:54:57 +00:00
include libs/master.lib/bcloser.asm
include libs/master.lib/bfill.asm
2014-08-23 14:56:01 +00:00
include libs/master.lib/bfnt_palette_set.asm
2014-08-26 19:23:54 +00:00
include libs/master.lib/bgetc.asm
2014-08-26 22:21:45 +00:00
include libs/master.lib/palette_black_in.asm
2014-08-26 22:33:43 +00:00
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
2014-08-28 01:42:26 +00:00
include libs/master.lib/cutline.asm
2014-08-23 01:03:17 +00:00
include libs/master.lib/dos_axdx.asm
2014-08-28 03:13:35 +00:00
include libs/master.lib/dos_filesize.asm
2014-08-22 23:38:22 +00:00
include libs/master.lib/dos_setvect.asm
include libs/master.lib/egc.asm
2014-08-28 02:20:59 +00:00
include libs/master.lib/egc_shift_down.asm
2014-08-28 02:45:41 +00:00
include libs/master.lib/egc_shift_left.asm
2014-08-30 05:58:36 +00:00
include libs/master.lib/file_append.asm
include libs/master.lib/file_close.asm
2014-08-30 06:46:38 +00:00
include libs/master.lib/file_exist.asm
2014-08-30 07:00:31 +00:00
include libs/master.lib/file_read.asm
2014-08-30 07:12:17 +00:00
include libs/master.lib/file_ropen.asm
include libs/master.lib/file_seek.asm
2014-08-30 08:06:10 +00:00
include libs/master.lib/file_size.asm
2014-08-30 07:38:09 +00:00
include libs/master.lib/file_write.asm
2014-08-22 22:46:33 +00:00
include libs/master.lib/dos_close.asm
include libs/master.lib/dos_ropen.asm
2014-08-28 03:31:57 +00:00
include libs/master.lib/grcg_boxfill.asm
2014-08-31 09:30:26 +00:00
include libs/master.lib/grcg_line.asm
include libs/master.lib/grcg_setcolor.asm
include libs/master.lib/gaiji_backup.asm
2014-08-31 08:08:09 +00:00
include libs/master.lib/gaiji_entry_bfnt.asm
2014-08-31 02:56:17 +00:00
include libs/master.lib/gaiji_putca.asm
2014-08-31 03:05:48 +00:00
include libs/master.lib/gaiji_putsa.asm
include libs/master.lib/gaiji_read.asm
include libs/master.lib/gaiji_write.asm
2014-08-27 22:58:40 +00:00
include libs/master.lib/graph_400line.asm
2014-08-27 04:03:08 +00:00
include libs/master.lib/graph_clear.asm
2014-08-27 04:13:48 +00:00
include libs/master.lib/graph_copy_page.asm
2014-08-15 14:11:51 +00:00
include libs/master.lib/graph_extmode.asm
include libs/master.lib/graph_gaiji_putc.asm
2014-09-15 01:03:52 +00:00
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
2014-08-31 05:26:45 +00:00
include libs/master.lib/graph_pack_put_8.asm
2014-08-30 07:56:49 +00:00
include libs/master.lib/key_sense.asm
2014-09-09 03:54:40 +00:00
include libs/master.lib/over_put_8.asm
2014-08-23 14:11:16 +00:00
include libs/master.lib/palette_show.asm
2014-08-27 01:11:13 +00:00
include libs/master.lib/pfclose.asm
2014-09-07 13:07:36 +00:00
include libs/master.lib/pfgetc.asm
2014-07-02 17:43:15 +00:00
db 0
2014-08-30 10:50:48 +00:00
include libs/master.lib/pfread.asm
include libs/master.lib/pfrewind.asm
2014-08-30 10:26:02 +00:00
include libs/master.lib/pfseek.asm
2014-08-31 03:14:54 +00:00
include libs/master.lib/palette_entry_rgb.asm
include libs/master.lib/rottbl.asm
include libs/master.lib/smem_release.asm
2014-08-21 23:04:46 +00:00
include libs/master.lib/smem_wget.asm
2014-08-20 14:45:24 +00:00
include libs/BorlandC/text_clear.asm
include libs/master.lib/vsync.asm
2014-08-26 22:11:29 +00:00
include libs/master.lib/vsync_wait.asm
include libs/master.lib/palette_white_in.asm
2014-08-26 22:57:45 +00:00
include libs/master.lib/palette_white_out.asm
2014-08-21 23:19:52 +00:00
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
2014-08-22 21:56:33 +00:00
include libs/master.lib/super_entry_at.asm
include libs/master.lib/super_entry_bfnt.asm
2014-07-02 17:43:15 +00:00
; ---------------------------------------------------------------------------
dword_290C dd 0
byte_2910 db 0, 90h
2014-07-02 17:43:15 +00:00
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_2912 proc far
2014-07-02 17:43:15 +00:00
arg_0 = dword ptr 6
push bp
mov bp, sp
cld
mov ax, word ptr cs:dword_290C
or ax, word ptr cs:dword_290C+2
jnz short loc_2948
mov ax, 3521h
int 21h ; DOS - 2+ - GET INTERRUPT VECTOR
; AL = interrupt number
; Return: ES:BX = value of interrupt vector
mov word ptr cs:dword_290C, bx
mov word ptr cs:dword_290C+2, es
mov word_FAEA, 0
mov word_FAEC, 0FFFFh
push ds
push cs
pop ds
assume ds:seg000
mov dx, 29A2h
mov ax, 2521h
int 21h ; DOS - SET INTERRUPT VECTOR
; AL = interrupt number
; DS:DX = new vector to be used for specified interrupt
pop ds
assume ds:dseg
loc_2948:
2014-07-02 17:43:15 +00:00
push si
push di
push ds
mov cx, 0FFFFh
mov al, 0
les di, [bp+arg_0]
repne scasb
not cx
sub di, cx
mov si, di
mov di, 2AEAh
push ds
push es
pop ds
pop es
shr cx, 1
rep movsw
adc cx, cx
rep movsb
pop ds
pop di
pop si
pop bp
retf 4
sub_2912 endp
; ---------------------------------------------------------------------------
nop
; =============== S U B R O U T I N E =======================================
sub_2972 proc far
2014-07-02 17:43:15 +00:00
mov ax, word ptr cs:dword_290C
or ax, word ptr cs:dword_290C+2
jz short locret_29A1
push ds
lds dx, cs:dword_290C
mov ax, 2521h
int 21h ; DOS - SET INTERRUPT VECTOR
; AL = interrupt number
; DS:DX = new vector to be used for specified interrupt
pop ds
xor ax, ax
mov word ptr cs:dword_290C, ax
mov word ptr cs:dword_290C+2, ax
cmp word_FAEA, ax
jz short locret_29A1
push word_FAEA
2014-08-27 01:11:13 +00:00
call pfclose
2014-07-02 17:43:15 +00:00
locret_29A1:
2014-07-02 17:43:15 +00:00
retf
sub_2972 endp
; ---------------------------------------------------------------------------
cmp cs:byte_2910, 0
jz short loc_29AF
jmp cs:dword_290C
; ---------------------------------------------------------------------------
loc_29AF:
2014-07-02 17:43:15 +00:00
pusha
push ds
push es
mov bp, sp
mov di, seg dseg
mov ds, di
inc cs:byte_2910
push word ptr [bp+18h]
popf
mov cs:byte_2A06, ah
mov si, 29D6h
loc_29CA:
2014-07-02 17:43:15 +00:00
add si, 4
cmp ah, cs:[si]
jnz short loc_29CA
mov di, word_FAEC
jmp word ptr cs:[si+2]
; ---------------------------------------------------------------------------
db 3Dh, 0, 0Ah, 2Ah, 3Eh, 0, 3Fh, 2Ah, 3Fh, 0, 5Dh, 2Ah
db 42h, 0, 71h, 2Ah, 46h, 0, 0D2h, 2Ah, 40h, 0, 0D6h, 2Ah
db 45h, 0, 0D6h, 2Ah, 4Ch, 0, 0B4h, 2Ah, 57h, 0, 0D6h
db 2Ah, 5Ch, 0, 0D6h, 2Ah, 44h, 0, 0C0h, 2Ah
byte_2A06 db 0
2014-07-02 17:43:15 +00:00
db 0
; ---------------------------------------------------------------------------
fisubr dword ptr [bp+si]
test al, 0Fh
jz short loc_2A11
jmp loc_2ADA
; ---------------------------------------------------------------------------
loc_2A11:
2014-07-02 17:43:15 +00:00
or di, di
js short loc_2A18
jmp loc_2ADA
; ---------------------------------------------------------------------------
loc_2A18:
2014-07-02 17:43:15 +00:00
push ds
push offset unk_FA6A
push word ptr [bp+2]
push dx
push cs
call near ptr sub_2B06
or ax, ax
jnz short loc_2A2B
jmp loc_2ADA
; ---------------------------------------------------------------------------
loc_2A2B:
2014-07-02 17:43:15 +00:00
mov word_FAEA, ax
mov es, ax
mov es, word ptr es:0
mov ax, es:0
mov word_FAEC, ax
jmp loc_2AF5
; ---------------------------------------------------------------------------
cmp bx, di
jz short loc_2A46
jmp loc_2ADA
; ---------------------------------------------------------------------------
loc_2A46:
2014-07-02 17:43:15 +00:00
push word_FAEA
2014-08-27 01:11:13 +00:00
call pfclose
2014-07-02 17:43:15 +00:00
mov word_FAEA, 0
mov word_FAEC, 0FFFFh
jmp loc_2AF5
; ---------------------------------------------------------------------------
cmp bx, di
jnz short loc_2ADA
push word ptr [bp+2]
push dx
push cx
push word_FAEA
2014-08-30 10:50:48 +00:00
call pfread
2014-07-02 17:43:15 +00:00
jmp loc_2AF5
; ---------------------------------------------------------------------------
cmp bx, di
jnz short loc_2ADA
or cx, cx
jl short loc_2AEC
cmp al, 1
jz short loc_2AA5
jl short loc_2A99
mov es, word_FAEA
mov dx, es:16h
mov cx, es:18h
sub dx, es:12h
sbb cx, es:14h
jmp short loc_2AA5
; ---------------------------------------------------------------------------
loc_2A99:
2014-07-02 17:43:15 +00:00
push cx
push dx
push word_FAEA
call pfrewind
2014-07-02 17:43:15 +00:00
pop dx
pop cx
loc_2AA5:
2014-07-02 17:43:15 +00:00
push word_FAEA
push cx
push dx
2014-08-30 10:26:02 +00:00
call pfseek
2014-07-02 17:43:15 +00:00
mov [bp+0Eh], dx
jmp short loc_2AF5
; ---------------------------------------------------------------------------
db 2Eh, 0C5h, 16h, 0Ch, 29h, 0B8h, 21h, 25h, 0CDh, 21h
db 0EBh, 1Ah, 8Ah, 0C8h, 0B8h, 1, 0, 0D3h, 0E0h, 2Eh, 85h
db 6, 0D0h, 2Ah, 75h, 8, 0EBh, 0Ah, 0CFh, 14h, 8Bh, 0CFh
db 74h, 16h, 3Bh, 0DFh, 74h, 12h
; ---------------------------------------------------------------------------
loc_2ADA:
2014-07-02 17:43:15 +00:00
dec cs:byte_2910
push word ptr [bp+18h]
popf
pop es
pop ds
popa
cli
jmp cs:dword_290C
; ---------------------------------------------------------------------------
loc_2AEC:
2014-07-02 17:43:15 +00:00
or byte ptr [bp+18h], 1
mov ax, 1
jmp short loc_2AF9
; ---------------------------------------------------------------------------
loc_2AF5:
2014-07-02 17:43:15 +00:00
and byte ptr [bp+18h], 0FEh
loc_2AF9:
2014-07-02 17:43:15 +00:00
mov [bp+12h], ax
dec cs:byte_2910
pop es
pop ds
popa
iret
; ---------------------------------------------------------------------------
db 0
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_2B06 proc far
2014-07-02 17:43:15 +00:00
var_20 = byte ptr -20h
arg_0 = word ptr 6
arg_2 = word ptr 8
arg_4 = word ptr 0Ah
arg_6 = word ptr 0Ch
arg_A = word ptr 10h
arg_C = word ptr 12h
arg_E = word ptr 14h
arg_10 = word ptr 16h
enter 20h, 0
push si
push di
mov mem_AllocID, 7
2014-07-02 17:43:15 +00:00
push 1Fh
call hmem_allocbyte
2014-07-02 17:43:15 +00:00
jnb short loc_2B1D
jmp loc_2BD8
; ---------------------------------------------------------------------------
loc_2B1D:
2014-07-02 17:43:15 +00:00
mov si, ax
push [bp+arg_6]
push [bp+arg_4]
call bopenr
2014-07-02 17:43:15 +00:00
or ax, ax
jnz short loc_2B30
jmp loc_2BD1
; ---------------------------------------------------------------------------
loc_2B30:
2014-07-02 17:43:15 +00:00
mov es, si
mov es:0, ax
lea di, [bp+var_20]
push di
push si
push [bp+arg_6]
push [bp+arg_4]
push [bp+arg_2]
push [bp+arg_0]
call sub_2BE6
or ax, ax
jnz short loc_2BC5
mov ax, 1DF2h
mov es:4, ax
mov al, pfkey
2014-07-02 17:43:15 +00:00
mov es:1Eh, al
mov ax, ss:[di]
cmp ax, 0F388h
jz short loc_2B6E
cmp ax, 9595h
jz short loc_2B78
mov ax, 5
jmp short loc_2BC5
; ---------------------------------------------------------------------------
loc_2B6E:
2014-07-02 17:43:15 +00:00
mov ax, es:4
mov es:2, ax
jmp short loc_2B8D
; ---------------------------------------------------------------------------
loc_2B78:
2014-07-02 17:43:15 +00:00
mov word ptr es:2, 1D60h
mov word ptr es:1Ah, 0
mov word ptr es:1Ch, 0FFFFh
loc_2B8D:
2014-07-02 17:43:15 +00:00
mov ax, ss:[di+arg_A]
mov dx, ss:[di+arg_C]
mov es:6, ax
mov es:8, dx
mov ax, ss:[di+arg_E]
mov dx, ss:[di+arg_10]
mov es:16h, ax
mov es:18h, dx
xor ax, ax
mov es:0Ah, ax
mov es:0Ch, ax
mov es:12h, ax
mov es:14h, ax
mov ax, si
jmp short loc_2BDF
; ---------------------------------------------------------------------------
loc_2BC5:
mov pferrno, ax
2014-07-02 17:43:15 +00:00
push word ptr es:0
2014-08-26 18:54:57 +00:00
call bcloser
2014-07-02 17:43:15 +00:00
loc_2BD1:
2014-07-02 17:43:15 +00:00
push si
call hmem_free
2014-07-02 17:43:15 +00:00
jmp short loc_2BDD
; ---------------------------------------------------------------------------
loc_2BD8:
mov byte ptr pferrno, 3
2014-07-02 17:43:15 +00:00
loc_2BDD:
2014-07-02 17:43:15 +00:00
xor ax, ax
loc_2BDF:
2014-07-02 17:43:15 +00:00
pop di
pop si
leave
retf 8
sub_2B06 endp
; ---------------------------------------------------------------------------
nop
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_2BE6 proc near
2014-07-02 17:43:15 +00:00
arg_0 = word ptr 4
arg_2 = word ptr 6
arg_4 = dword ptr 8
arg_8 = word ptr 0Ch
arg_A = word ptr 0Eh
arg_14 = word ptr 18h
arg_16 = word ptr 1Ah
enter 6, 0
push si
push di
push es
mov si, [bp+arg_8]
mov es, si
xor ax, ax
mov es:0Eh, ax
mov es:10h, ax
push ds
push si
cld
xor bx, bx
mov dx, bx
lds si, [bp+arg_4]
loc_2C06:
2014-07-02 17:43:15 +00:00
lodsb
cmp al, 0
jz short loc_2C16
cmp al, 2Eh ; '.'
jnz short loc_2C06
lea bx, [si-1]
mov dx, ds
jmp short loc_2C06
; ---------------------------------------------------------------------------
loc_2C16:
2014-07-02 17:43:15 +00:00
pop si
pop ds
mov ax, dx
or ax, bx
jz short $+2
mov di, [bp+arg_A]
mov byte_D713, 0
loc_2C26:
2014-07-02 17:43:15 +00:00
mov es, si
push ss
push di
push 20h ; ' '
push word ptr es:0
call bread
2014-07-02 17:43:15 +00:00
inc byte_D713
cmp byte_D713, 0FFh
mov bx, 2
jz short loc_2C83
cmp ax, 20h ; ' '
jnz short loc_2C83
mov es, si
add es:0Eh, ax
adc word ptr es:10h, 0
mov ax, ss:[di]
and ax, ax
mov bx, 6
jz short loc_2C83
lea bx, [di+3]
loc_2C62:
2014-07-02 17:43:15 +00:00
cmp byte ptr ss:[bx], 0
jz short loc_2C6E
not byte ptr ss:[bx]
inc bx
jmp short loc_2C62
; ---------------------------------------------------------------------------
loc_2C6E:
2014-07-02 17:43:15 +00:00
lea bx, [di+3]
push [bp+arg_2]
push [bp+arg_0]
push ss
push bx
call sub_2CAC
mov ax, 0
jnz short loc_2C85
jmp short loc_2C26
; ---------------------------------------------------------------------------
loc_2C83:
2014-07-02 17:43:15 +00:00
mov ax, bx
loc_2C85:
2014-07-02 17:43:15 +00:00
mov es, si
mov ax, ss:[di+arg_14]
mov dx, ss:[di+arg_16]
mov es:0Eh, ax
mov es:10h, dx
push word ptr es:0
push dx
push ax
push 0
call bseek_
2014-07-02 17:43:15 +00:00
pop es
pop di
pop si
leave
retn 0Ch
sub_2BE6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_2CAC proc near
2014-07-02 17:43:15 +00:00
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push bp
mov bp, sp
push si
push ds
cld
les bx, [bp+arg_4]
lds si, [bp+arg_0]
loc_2CB8:
2014-07-02 17:43:15 +00:00
mov ah, es:[bx]
inc bx
lodsb
sub al, 61h ; 'a'
cmp al, 19h
ja short loc_2CC5
sub al, 20h ; ' '
loc_2CC5:
2014-07-02 17:43:15 +00:00
sub ah, 61h ; 'a'
cmp ah, 19h
ja short loc_2CD0
sub ah, 20h ; ' '
loc_2CD0:
2014-07-02 17:43:15 +00:00
cmp ah, al
jnz short loc_2CDA
add al, 61h ; 'a'
jnz short loc_2CB8
jmp short loc_2CDC
; ---------------------------------------------------------------------------
loc_2CDA:
2014-07-02 17:43:15 +00:00
xor ax, ax
loc_2CDC:
2014-07-02 17:43:15 +00:00
test ax, ax
pop ds
pop si
pop bp
retn 8
sub_2CAC endp
include libs/BorlandC/__abort.asm
2014-08-20 15:03:08 +00:00
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
2014-08-20 19:22:56 +00:00
include libs/BorlandC/dosenv.asm
include libs/BorlandC/dosgdriv.asm
2014-08-20 18:38:08 +00:00
include libs/BorlandC/errormsg.asm
2014-08-20 15:53:02 +00:00
include libs/BorlandC/exit.asm
2014-08-20 18:17:45 +00:00
include libs/BorlandC/f_scopy.asm
include libs/BorlandC/getdate.asm
include libs/BorlandC/getvect.asm
2014-08-14 16:40:47 +00:00
include libs/BorlandC/H_LDIV.ASM
2014-08-14 15:15:04 +00:00
include libs/BorlandC/H_LLSH.ASM
2014-08-14 15:07:21 +00:00
include libs/BorlandC/H_PADD.ASM
include libs/BorlandC/__IOERROR.ASM
2014-08-14 14:50:20 +00:00
include libs/BorlandC/_isatty.asm
include libs/BorlandC/lseek.asm
include libs/BorlandC/new.asm
2014-08-14 17:35:29 +00:00
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
2014-09-02 21:24:03 +00:00
include libs/BorlandC/access.asm
include libs/BorlandC/pathops.asm
include libs/BorlandC/chmoda.asm
2014-08-20 17:46:47 +00:00
include libs/BorlandC/fflush.asm
2014-09-02 19:26:48 +00:00
include libs/BorlandC/flushall.asm
2014-09-02 18:41:48 +00:00
include libs/BorlandC/fseek.asm
2014-09-04 17:04:39 +00:00
include libs/BorlandC/fullpath.asm
2014-08-23 16:42:30 +00:00
include libs/BorlandC/getdcwd.asm
2014-09-03 15:08:02 +00:00
include libs/BorlandC/getenv.asm
2014-08-27 05:05:29 +00:00
include libs/BorlandC/memcmp.asm
2014-08-27 05:15:15 +00:00
include libs/BorlandC/memcpy.asm
include libs/BorlandC/memset.asm
2014-08-27 17:47:14 +00:00
include libs/BorlandC/movmem.asm
2014-09-04 18:54:06 +00:00
include libs/BorlandC/srchenv.asm
2014-09-04 18:29:49 +00:00
include libs/BorlandC/srchstr.asm
2014-09-03 12:02:14 +00:00
include libs/BorlandC/setvbuf.asm
2014-08-14 08:15:10 +00:00
include libs/BorlandC/_strcat.asm
include libs/BorlandC/_strcmp.asm
2014-08-10 04:17:56 +00:00
include libs/BorlandC/_strcpy.asm
2014-08-10 04:09:29 +00:00
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
2014-08-28 19:54:04 +00:00
include libs/BorlandC/xfflush.asm
2014-08-29 01:24:39 +00:00
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
2014-09-02 21:38:26 +00:00
include libs/BorlandC/setblock.asm
2014-08-18 12:33:24 +00:00
include libs/BorlandC/setenvp.asm
include libs/BorlandC/ctor2.asm
2014-08-30 00:37:53 +00:00
include libs/BorlandC/ctor3.asm
include libs/BorlandC/strings.asm
include libs/BorlandC/mbjmsjis.asm
2014-09-06 16:48:39 +00:00
include libs/BorlandC/loadprog.asm
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
var_2 = word ptr -2
arg_0 = dword ptr 4
enter 2, 0
push large [bp+arg_0]
2014-08-30 07:12:17 +00:00
call file_ropen
2014-08-30 08:06:10 +00:00
call file_size
2014-07-02 17:43:15 +00:00
mov [bp+var_2], ax
push ds
push offset unk_DE32
push ax
2014-08-30 07:00:31 +00:00
call file_read
call file_close
2014-07-02 17:43:15 +00:00
leave
retn 4
sub_95A3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_95CB proc near
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
mov [bp+var_4], 989680h
mov [bp+var_9], 0
xor si, si
jmp short loc_9638
; ---------------------------------------------------------------------------
loc_95E4:
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
mov di, ax
cmp [bp+var_8], 0
jz short loc_961D
mov [bp+var_9], 1
loc_961D:
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
loc_9637:
2014-07-02 17:43:15 +00:00
inc si
loc_9638:
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
push [bp+arg_0]
loc_96BC:
2014-07-02 17:43:15 +00:00
call sub_B520
loc_96C1:
2014-07-02 17:43:15 +00:00
add di, 2
loc_96C4:
2014-07-02 17:43:15 +00:00
cmp di, [bp+arg_6]
jl short loc_9660
xor si, si
jmp short loc_96EC
; ---------------------------------------------------------------------------
loc_96CD:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
push 2
loc_96E6:
2014-07-02 17:43:15 +00:00
call sub_B520
inc si
loc_96EC:
2014-07-02 17:43:15 +00:00
cmp si, 14h
jl short loc_96CD
cmp byte_F02B, 0
jz short loc_96FB
call sub_9A7E
loc_96FB:
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
mov dx, 0A6h ; '<27>'
mov al, 1
out dx, al
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
push large 0C00000h
call grcg_setcolor
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
call SCOPY@
xor di, di
jmp short loc_983D
; ---------------------------------------------------------------------------
loc_980C:
2014-07-02 17:43:15 +00:00
xor si, si
jmp short loc_9830
; ---------------------------------------------------------------------------
loc_9810:
2014-07-02 17:43:15 +00:00
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
push cs
call near ptr sub_9701
add sp, 8
inc si
loc_9830:
2014-07-02 17:43:15 +00:00
cmp si, [bp+arg_4]
jl short loc_9810
push 0Ah
call sub_B520
inc di
loc_983D:
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
cmp [bp+var_2], 0
jnz short loc_9876
cmp cx, 2
jnz short loc_9885
loc_9876:
2014-07-02 17:43:15 +00:00
les bx, [bp+arg_0]
add bx, cx
mov al, [bp+var_1]
add al, 0A0h
2014-07-02 17:43:15 +00:00
mov es:[bx], al
jmp short loc_988E
; ---------------------------------------------------------------------------
loc_9885:
2014-07-02 17:43:15 +00:00
les bx, [bp+arg_0]
add bx, cx
mov byte ptr es:[bx], 0CFh ; '<27>'
loc_988E:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
cmp [bp+arg_0], 1
jnz short loc_98D0
mov ax, 28h ; '('
jmp short loc_98DE
; ---------------------------------------------------------------------------
loc_98D0:
2014-07-02 17:43:15 +00:00
cmp [bp+arg_0], 2
jnz short loc_98DB
mov ax, 3E80h
jmp short loc_98DE
; ---------------------------------------------------------------------------
loc_98DB:
2014-07-02 17:43:15 +00:00
mov ax, 3EA8h
loc_98DE:
2014-07-02 17:43:15 +00:00
mov si, ax
mov di, 1F54h
call sub_C10B
mov [bp+var_2], 0
jmp short loc_9930
; ---------------------------------------------------------------------------
loc_98EF:
2014-07-02 17:43:15 +00:00
mov [bp+var_4], 0
jmp short loc_9921
; ---------------------------------------------------------------------------
loc_98F6:
2014-07-02 17:43:15 +00:00
mov dx, 0A6h ; '<27>'
mov al, 1
out dx, al
2014-07-02 17:43:15 +00:00
les bx, dword_F892
add bx, si
mov ax, es:[bx]
mov [bp+var_6], ax
mov al, 0
out dx, al
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
cmp [bp+var_4], 28h ; '('
jl short loc_98F6
inc [bp+var_2]
add di, 28h ; '('
add si, 28h ; '('
loc_9930:
2014-07-02 17:43:15 +00:00
cmp [bp+var_2], 0C8h ; '<27>'
jl short loc_98EF
call egc_off
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
cmp [bp+arg_0], 1
jnz short loc_995D
mov ax, 28h ; '('
jmp short loc_996B
; ---------------------------------------------------------------------------
loc_995D:
2014-07-02 17:43:15 +00:00
cmp [bp+arg_0], 2
jnz short loc_9968
mov ax, 3E80h
jmp short loc_996B
; ---------------------------------------------------------------------------
loc_9968:
2014-07-02 17:43:15 +00:00
mov ax, 3EA8h
loc_996B:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
mov [bp+var_4], 0
jmp short loc_99C3
; ---------------------------------------------------------------------------
loc_9998:
2014-07-02 17:43:15 +00:00
mov dx, 0A6h ; '<27>'
mov al, 1
out dx, al
2014-07-02 17:43:15 +00:00
les bx, dword_F892
add bx, si
mov ax, es:[bx]
mov [bp+var_6], ax
mov al, 0
out dx, al
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
cmp [bp+var_4], 28h ; '('
jl short loc_9998
inc [bp+var_2]
add di, 28h ; '('
add si, 28h ; '('
loc_99D2:
2014-07-02 17:43:15 +00:00
cmp [bp+var_2], 0C8h ; '<27>'
jl short loc_9991
call egc_off
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
cmp [bp+arg_4], 1
jnz short loc_99FF
mov ax, 28h ; '('
jmp short loc_9A0D
; ---------------------------------------------------------------------------
loc_99FF:
2014-07-02 17:43:15 +00:00
cmp [bp+arg_4], 2
jnz short loc_9A0A
mov ax, 3E80h
jmp short loc_9A0D
; ---------------------------------------------------------------------------
loc_9A0A:
2014-07-02 17:43:15 +00:00
mov ax, 3EA8h
loc_9A0D:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
mov [bp+var_4], 0
jmp short loc_9A59
; ---------------------------------------------------------------------------
loc_9A2E:
2014-07-02 17:43:15 +00:00
mov dx, 0A6h ; '<27>'
mov al, 1
out dx, al
2014-07-02 17:43:15 +00:00
les bx, dword_F892
add bx, si
mov ax, es:[bx]
mov [bp+var_6], ax
mov al, 0
out dx, al
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
cmp [bp+var_4], 28h ; '('
jl short loc_9A2E
inc [bp+var_2]
add di, 28h ; '('
add si, 28h ; '('
loc_9A68:
2014-07-02 17:43:15 +00:00
mov ax, [bp+arg_0]
add ax, [bp+arg_2]
cmp ax, [bp+var_2]
jg short loc_9A27
call egc_off
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
var_2 = word ptr -2
enter 2, 0
push si
push di
push large 0C00000h
call grcg_setcolor
2014-07-02 17:43:15 +00:00
mov si, 14Ch
jmp short loc_9AC5
; ---------------------------------------------------------------------------
loc_9A94:
mov di, 90h
2014-07-02 17:43:15 +00:00
jmp short loc_9ABE
; ---------------------------------------------------------------------------
loc_9A99:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
cmp di, 1F0h
jl short loc_9A99
inc si
loc_9AC5:
2014-07-02 17:43:15 +00:00
cmp si, 15Ch
jl short loc_9A94
call grcg_off
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
push bp
mov bp, sp
push si
push ds
push (offset aKkuukkuukkuukk+60h)
call sub_95A3
push 1Eh
call sub_B520
push 1
2014-08-26 22:57:45 +00:00
call palette_white_out
2014-07-02 17:43:15 +00:00
push 600h
push ds
push offset aEnding_m ; "ending.m"
call sub_B6E6
add sp, 6
push 0
call sub_B839
pop cx
call sub_9A7E
push 4
call palette_white_in
2014-07-02 17:43:15 +00:00
push 5
call sub_B855
pop cx
mov si, 0A0h
2014-07-02 17:43:15 +00:00
jmp short loc_9B5C
; ---------------------------------------------------------------------------
loc_9B1B:
2014-07-02 17:43:15 +00:00
push si
push 64h ; 'd'
lea ax, [si+13Fh]
push ax
push large 12B0004h
2014-08-28 02:45:41 +00:00
call egc_shift_left
2014-07-02 17:43:15 +00:00
push large 0C00000h
call grcg_setcolor
2014-07-02 17:43:15 +00:00
lea ax, [si+138h]
push ax
push 64h ; 'd'
lea ax, [si+13Fh]
push ax
push 12Bh
2014-08-28 03:31:57 +00:00
call grcg_boxfill
call grcg_off
2014-07-02 17:43:15 +00:00
push 1
call sub_B520
sub si, 4
loc_9B5C:
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
push bp
mov bp, sp
push si
push ds
push offset aEnd1_txt ; "end1.txt"
call sub_95A3
push 600h
push ds
push offset aEnd1_m ; "end1.m"
call sub_B6E6
add sp, 6
push 0
call sub_B839
pop cx
2014-08-23 13:47:05 +00:00
mov PaletteTone, 0
2014-08-23 14:11:16 +00:00
call far ptr palette_show
2014-07-02 17:43:15 +00:00
mov dx, 0A6h ; '<27>'
mov al, 1
out dx, al
2014-07-02 17:43:15 +00:00
push ds
push offset aEd01_pi ; "ed01.pi"
push 0
call sub_B4F5
add sp, 6
push 0
call sub_B790
pop cx
push large 0
push 0
call sub_B7B3
add sp, 6
push ds
push offset unk_F8BA
push large [dword_F8A2]
call graph_pi_free
2014-07-02 17:43:15 +00:00
push 2
2014-08-26 22:21:45 +00:00
call palette_black_in
2014-07-02 17:43:15 +00:00
push 28h ; '('
call sub_B520
push 0
call sub_98B5
mov byte_F02A, 2Fh ; '/'
mov byte_F02B, 1
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_DE32
push 6
call sub_9643
push 14h
call sub_B520
push 1
2014-08-26 22:33:43 +00:00
call palette_black_out
2014-07-02 17:43:15 +00:00
push 1
call sub_98B5
push 1
2014-08-26 22:21:45 +00:00
call palette_black_in
2014-07-02 17:43:15 +00:00
mov si, 1
jmp short loc_9C2D
; ---------------------------------------------------------------------------
loc_9C15:
2014-07-02 17:43:15 +00:00
push large 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:
2014-07-02 17:43:15 +00:00
cmp si, 3
jle short loc_9C15
push 2
call sub_98B5
mov si, 4
jmp short loc_9C54
; ---------------------------------------------------------------------------
loc_9C3C:
2014-07-02 17:43:15 +00:00
push large 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:
2014-07-02 17:43:15 +00:00
cmp si, 5
jle short loc_9C3C
mov byte_F02A, 26h ; '&'
push large 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:
2014-07-02 17:43:15 +00:00
push large 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:
2014-07-02 17:43:15 +00:00
cmp si, 9
jle short loc_9C79
mov byte_F02A, 26h ; '&'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_DFFE
push 6
call sub_9643
mov byte_F02A, 2Fh ; '/'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_E02C
push 6
call sub_9643
push 14h
call sub_B520
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_E05A
push 6
call sub_9643
xor si, si
jmp short loc_9D10
; ---------------------------------------------------------------------------
loc_9CDE:
2014-07-02 17:43:15 +00:00
mov dx, 0A6h ; '<27>'
mov al, 0
out dx, al
2014-07-02 17:43:15 +00:00
push large 0A00064h
push large 1DF0129h
push 2
2014-08-28 02:20:59 +00:00
call egc_shift_down
2014-07-02 17:43:15 +00:00
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 sub_B520
inc si
loc_9D10:
2014-07-02 17:43:15 +00:00
cmp si, 64h ; 'd'
jl short loc_9CDE
push large 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:
2014-07-02 17:43:15 +00:00
push large 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:
2014-07-02 17:43:15 +00:00
cmp si, 0Fh
jle short loc_9D30
mov byte_F02A, 2Fh ; '/'
mov si, 10h
jmp short loc_9D6F
; ---------------------------------------------------------------------------
loc_9D57:
2014-07-02 17:43:15 +00:00
push large 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:
2014-07-02 17:43:15 +00:00
cmp si, 11h
jle short loc_9D57
mov byte_F02A, 26h ; '&'
mov si, 12h
jmp short loc_9D96
; ---------------------------------------------------------------------------
loc_9D7E:
2014-07-02 17:43:15 +00:00
push large 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:
2014-07-02 17:43:15 +00:00
cmp si, 14h
jle short loc_9D7E
mov byte_F02A, 2Fh ; '/'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_E1F8
push 6
call sub_9643
mov byte_F02A, 26h ; '&'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_E226
push 6
call sub_9643
mov byte_F02A, 2Fh ; '/'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_E254
push 6
call sub_9643
mov dx, 0A6h ; '<27>'
mov al, 1
out dx, al
2014-07-02 17:43:15 +00:00
push ds
push offset aEd02_pi ; "ed02.pi"
push 0
call sub_B4F5
add sp, 6
push 0
call sub_B790
pop cx
push large 0
push 0
call sub_B7B3
add sp, 6
push ds
push offset unk_F8BA
push large [dword_F8A2]
call graph_pi_free
2014-07-02 17:43:15 +00:00
push 2
2014-08-26 22:33:43 +00:00
call palette_black_out
2014-07-02 17:43:15 +00:00
les bx, dword_FB02
cmp byte ptr es:[bx+26h], 0
jnz short loc_9E2A
push 0
jmp short loc_9E3B
; ---------------------------------------------------------------------------
loc_9E2A:
2014-07-02 17:43:15 +00:00
les bx, dword_FB02
cmp byte ptr es:[bx+26h], 1
jnz short loc_9E39
push 2
jmp short loc_9E3B
; ---------------------------------------------------------------------------
loc_9E39:
2014-07-02 17:43:15 +00:00
push 3
loc_9E3B:
2014-07-02 17:43:15 +00:00
call sub_98B5
push 2
2014-08-26 22:21:45 +00:00
call palette_black_in
2014-07-02 17:43:15 +00:00
mov byte_F02A, 26h ; '&'
push large 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:
2014-07-02 17:43:15 +00:00
push large 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:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
push large 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:
2014-07-02 17:43:15 +00:00
cmp si, 1Ch
jle short loc_9E99
mov byte_F02A, 2Fh ; '/'
mov si, 1Dh
jmp short loc_9ED8
; ---------------------------------------------------------------------------
loc_9EC0:
2014-07-02 17:43:15 +00:00
push large 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:
2014-07-02 17:43:15 +00:00
cmp si, 1Eh
jle short loc_9EC0
push 1
call sub_98B5
mov byte_F02A, 26h ; '&'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_E3C4
push 6
call sub_9643
mov byte_F02A, 2Fh ; '/'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_E3F2
push 0Ch
call sub_9643
mov byte_F02B, 0
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_E420
jmp loc_A092
; ---------------------------------------------------------------------------
loc_9F22:
2014-07-02 17:43:15 +00:00
les bx, dword_FB02
cmp byte ptr es:[bx+26h], 1
jnz loc_9FD3
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_E44E
push 6
call sub_9643
mov byte_F02A, 2Fh ; '/'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_E47C
push 6
call sub_9643
mov byte_F02A, 26h ; '&'
push large 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:
2014-07-02 17:43:15 +00:00
push large 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:
2014-07-02 17:43:15 +00:00
cmp si, 26h ; '&'
jle short loc_9F76
mov byte_F02A, 26h ; '&'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_E534
push 6
call sub_9643
mov byte_F02A, 2Fh ; '/'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_E562
push 0Ch
call sub_9643
mov byte_F02B, 0
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_E590
jmp loc_A092
; ---------------------------------------------------------------------------
loc_9FD3:
2014-07-02 17:43:15 +00:00
les bx, dword_FB02
cmp byte ptr es:[bx+26h], 2
jnz loc_A097
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_E5BE
push 6
call sub_9643
mov byte_F02A, 2Fh ; '/'
push large 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:
2014-07-02 17:43:15 +00:00
push large 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:
2014-07-02 17:43:15 +00:00
cmp si, 2Dh ; '-'
jle short loc_A011
mov byte_F02A, 2Fh ; '/'
mov si, 2Eh ; '.'
jmp short loc_A050
; ---------------------------------------------------------------------------
loc_A038:
2014-07-02 17:43:15 +00:00
push large 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:
2014-07-02 17:43:15 +00:00
cmp si, 2Fh ; '/'
jle short loc_A038
mov byte_F02A, 26h ; '&'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_E6D2
push 6
call sub_9643
mov byte_F02A, 2Fh ; '/'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_E700
push 0Ch
call sub_9643
mov byte_F02B, 0
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_E72E
loc_A092:
2014-07-02 17:43:15 +00:00
push 9
call sub_9643
loc_A097:
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
push bp
mov bp, sp
push si
push ds
push offset aEnd2_txt ; "end2.txt"
call sub_95A3
push 600h
push ds
push offset aEnd1_m ; "end1.m"
call sub_B6E6
add sp, 6
push 0
call sub_B839
pop cx
2014-08-23 13:47:05 +00:00
mov PaletteTone, 0
2014-08-23 14:11:16 +00:00
call far ptr palette_show
2014-07-02 17:43:15 +00:00
mov dx, 0A6h ; '<27>'
mov al, 1
out dx, al
2014-07-02 17:43:15 +00:00
push ds
push offset aEd01_pi ; "ed01.pi"
push 0
call sub_B4F5
add sp, 6
push 0
call sub_B790
pop cx
push large 0
push 0
call sub_B7B3
add sp, 6
push ds
push offset unk_F8BA
push large [dword_F8A2]
call graph_pi_free
2014-07-02 17:43:15 +00:00
push 2
2014-08-26 22:21:45 +00:00
call palette_black_in
2014-07-02 17:43:15 +00:00
push 28h ; '('
call sub_B520
push 0
call sub_98B5
mov byte_F02A, 2Fh ; '/'
mov byte_F02B, 1
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_DE32
push 6
call sub_9643
push 14h
call sub_B520
push 1
2014-08-26 22:33:43 +00:00
call palette_black_out
2014-07-02 17:43:15 +00:00
mov dx, 0A6h ; '<27>'
mov al, 1
out dx, al
2014-07-02 17:43:15 +00:00
push ds
push offset aEd03_pi ; "ed03.pi"
push 0
call sub_B4F5
add sp, 6
push 0
call sub_B790
pop cx
push large 0
push 0
call sub_B7B3
add sp, 6
push ds
push offset unk_F8BA
push large [dword_F8A2]
call graph_pi_free
2014-07-02 17:43:15 +00:00
push 0
call sub_98B5
push 1
2014-08-26 22:21:45 +00:00
call palette_black_in
2014-07-02 17:43:15 +00:00
mov si, 1
jmp short loc_A19D
; ---------------------------------------------------------------------------
loc_A185:
2014-07-02 17:43:15 +00:00
push large 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:
2014-07-02 17:43:15 +00:00
cmp si, 3
jle short loc_A185
push 1
call sub_98B5
mov si, 4
jmp short loc_A1C4
; ---------------------------------------------------------------------------
loc_A1AC:
2014-07-02 17:43:15 +00:00
push large 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:
2014-07-02 17:43:15 +00:00
cmp si, 9
jle short loc_A1AC
push 2
call sub_98B5
mov si, 0Ah
jmp short loc_A1EB
; ---------------------------------------------------------------------------
loc_A1D3:
2014-07-02 17:43:15 +00:00
push large 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:
2014-07-02 17:43:15 +00:00
cmp si, 0Bh
jle short loc_A1D3
push 3
call sub_98B5
mov si, 0Ch
jmp short loc_A212
; ---------------------------------------------------------------------------
loc_A1FA:
2014-07-02 17:43:15 +00:00
push large 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:
2014-07-02 17:43:15 +00:00
cmp si, 0Dh
jle short loc_A1FA
push ds
push offset aEd03a_rgb ; "ed03a.rgb"
2014-08-31 03:14:54 +00:00
call palette_entry_rgb
2014-08-23 14:11:16 +00:00
call far ptr palette_show
2014-07-02 17:43:15 +00:00
mov byte_F02A, 29h ; ')'
mov si, 0Eh
jmp short loc_A247
; ---------------------------------------------------------------------------
loc_A22F:
2014-07-02 17:43:15 +00:00
push large 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:
2014-07-02 17:43:15 +00:00
cmp si, 0Fh
jle short loc_A22F
push 2
2014-08-26 22:33:43 +00:00
call palette_black_out
2014-07-02 17:43:15 +00:00
mov dx, 0A6h ; '<27>'
mov al, 1
out dx, al
2014-07-02 17:43:15 +00:00
push ds
push offset aEd04_pi ; "ed04.pi"
push 0
call sub_B4F5
add sp, 6
push 0
call sub_B790
pop cx
push large 0
push 0
call sub_B7B3
add sp, 6
push ds
push offset unk_F8BA
push large [dword_F8A2]
call graph_pi_free
2014-07-02 17:43:15 +00:00
mov dx, 0A6h ; '<27>'
mov al, 0
out dx, al
2014-07-02 17:43:15 +00:00
push 0
call sub_98B5
push 2
2014-08-26 22:21:45 +00:00
call palette_black_in
2014-07-02 17:43:15 +00:00
mov byte_F02A, 2Fh ; '/'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_E112
push 6
call sub_9643
mov byte_F02A, 29h ; ')'
push large 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:
2014-07-02 17:43:15 +00:00
push large 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:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
push large 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:
2014-07-02 17:43:15 +00:00
cmp si, 15h
jle short loc_A2FE
mov byte_F02A, 2Fh ; '/'
push large 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:
2014-07-02 17:43:15 +00:00
push large 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:
2014-07-02 17:43:15 +00:00
cmp si, 18h
jle short loc_A33B
mov byte_F02A, 2Fh ; '/'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_E2B0
push 6
call sub_9643
mov byte_F02A, 29h ; ')'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_E2DE
push 6
call sub_9643
push 0Ah
call sub_B520
les bx, dword_FB02
cmp byte ptr es:[bx+26h], 0
jnz loc_A4EC
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_E30C
push 6
call sub_9643
push 1Eh
call sub_B520
push 2
call sub_98B5
mov byte_F02A, 2Fh ; '/'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_E33A
push 6
call sub_9643
push 3
call sub_98B5
push large 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:
2014-07-02 17:43:15 +00:00
push large 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:
2014-07-02 17:43:15 +00:00
cmp si, 1Fh
jle short loc_A3EB
mov byte_F02A, 2Fh ; '/'
mov si, 20h ; ' '
jmp short loc_A42A
; ---------------------------------------------------------------------------
loc_A412:
2014-07-02 17:43:15 +00:00
push large 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:
2014-07-02 17:43:15 +00:00
cmp si, 24h ; '$'
jle short loc_A412
mov byte_F02A, 29h ; ')'
mov si, 25h ; '%'
jmp short loc_A451
; ---------------------------------------------------------------------------
loc_A439:
2014-07-02 17:43:15 +00:00
push large 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:
2014-07-02 17:43:15 +00:00
cmp si, 26h ; '&'
jle short loc_A439
mov byte_F02A, 2Fh ; '/'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_E534
push 6
call sub_9643
push 2
2014-08-26 22:33:43 +00:00
call palette_black_out
2014-07-02 17:43:15 +00:00
mov dx, 0A6h ; '<27>'
mov al, 1
out dx, al
2014-07-02 17:43:15 +00:00
push ds
push offset aEd05_pi ; "ed05.pi"
push 0
call sub_B4F5
add sp, 6
push 0
call sub_B790
pop cx
push large 0
push 0
call sub_B7B3
add sp, 6
push ds
push offset unk_F8BA
push large [dword_F8A2]
call graph_pi_free
2014-07-02 17:43:15 +00:00
push 0
call sub_98B5
push 2
2014-08-26 22:21:45 +00:00
call palette_black_in
2014-07-02 17:43:15 +00:00
mov si, 28h ; '('
jmp short loc_A4D3
; ---------------------------------------------------------------------------
loc_A4BB:
2014-07-02 17:43:15 +00:00
push large 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:
2014-07-02 17:43:15 +00:00
cmp si, 2Eh ; '.'
jle short loc_A4BB
mov byte_F02B, 0
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_E6A4
jmp loc_A869
; ---------------------------------------------------------------------------
loc_A4EC:
2014-07-02 17:43:15 +00:00
les bx, dword_FB02
cmp byte ptr es:[bx+26h], 1
jnz loc_A6B6
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_E6D2
push 6
call sub_9643
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_E700
push 6
call sub_9643
mov byte_F02A, 2Fh ; '/'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_E72E
push 6
call sub_9643
mov byte_F02A, 29h ; ')'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_E75C
push 6
call sub_9643
push 1Eh
call sub_B520
push 2
call sub_98B5
mov byte_F02A, 2Fh ; '/'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_E78A
push 6
call sub_9643
push 3
call sub_98B5
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_E7B8
push 6
call sub_9643
mov byte_F02A, 29h ; ')'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_E7E6
push 6
call sub_9643
mov byte_F02A, 2Fh ; '/'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_E814
push 6
call sub_9643
mov byte_F02A, 29h ; ')'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_E842
push 6
call sub_9643
mov byte_F02A, 2Fh ; '/'
push large 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:
2014-07-02 17:43:15 +00:00
push large 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:
2014-07-02 17:43:15 +00:00
cmp si, 3Dh ; '='
jle short loc_A5E1
mov byte_F02A, 2Fh ; '/'
mov si, 3Eh ; '>'
jmp short loc_A620
; ---------------------------------------------------------------------------
loc_A608:
2014-07-02 17:43:15 +00:00
push large 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:
2014-07-02 17:43:15 +00:00
cmp si, 42h ; 'B'
jle short loc_A608
push 2
2014-08-26 22:33:43 +00:00
call palette_black_out
2014-07-02 17:43:15 +00:00
mov dx, 0A6h ; '<27>'
mov al, 1
out dx, al
2014-07-02 17:43:15 +00:00
push ds
push offset aEd05_pi ; "ed05.pi"
push 0
call sub_B4F5
add sp, 6
push 0
call sub_B790
pop cx
push large 0
push 0
call sub_B7B3
add sp, 6
push ds
push offset unk_F8BA
push large [dword_F8A2]
call graph_pi_free
2014-07-02 17:43:15 +00:00
push 1
call sub_98B5
push 2
2014-08-26 22:21:45 +00:00
call palette_black_in
2014-07-02 17:43:15 +00:00
mov si, 43h ; 'C'
jmp short loc_A68C
; ---------------------------------------------------------------------------
loc_A674:
2014-07-02 17:43:15 +00:00
push large 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:
2014-07-02 17:43:15 +00:00
cmp si, 44h ; 'D'
jle short loc_A674
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_EA98
push 0Ch
call sub_9643
mov byte_F02B, 0
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_EAC6
jmp loc_A869
; ---------------------------------------------------------------------------
loc_A6B6:
2014-07-02 17:43:15 +00:00
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_EAF4
push 6
call sub_9643
mov byte_F02A, 2Fh ; '/'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_EB22
push 6
call sub_9643
mov byte_F02A, 29h ; ')'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_EB50
push 6
call sub_9643
push 1Eh
call sub_B520
push 2
call sub_98B5
mov byte_F02A, 2Fh ; '/'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_EB7E
push 6
call sub_9643
push 3
call sub_98B5
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_EBAC
push 6
call sub_9643
mov byte_F02A, 29h ; ')'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_EBDA
push 6
call sub_9643
mov byte_F02A, 2Fh ; '/'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_EC08
push 6
call sub_9643
mov byte_F02A, 29h ; ')'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_EC36
push 6
call sub_9643
mov byte_F02A, 2Fh ; '/'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_EC64
push 6
call sub_9643
mov byte_F02A, 29h ; ')'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_EC92
push 6
call sub_9643
mov byte_F02A, 2Fh ; '/'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_ECC0
push 6
call sub_9643
mov byte_F02A, 29h ; ')'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_ECEE
push 6
call sub_9643
mov byte_F02A, 2Fh ; '/'
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_ED1C
push 6
call sub_9643
push 2
2014-08-26 22:33:43 +00:00
call palette_black_out
2014-07-02 17:43:15 +00:00
mov dx, 0A6h ; '<27>'
mov al, 1
out dx, al
2014-07-02 17:43:15 +00:00
push ds
push offset aEd05_pi ; "ed05.pi"
push 0
call sub_B4F5
add sp, 6
push 0
call sub_B790
pop cx
push large 0
push 0
call sub_B7B3
add sp, 6
push ds
push offset unk_F8BA
push large [dword_F8A2]
call graph_pi_free
2014-07-02 17:43:15 +00:00
push 2
call sub_98B5
push 2
2014-08-26 22:21:45 +00:00
call palette_black_in
2014-07-02 17:43:15 +00:00
mov si, 54h ; 'T'
jmp short loc_A842
; ---------------------------------------------------------------------------
loc_A82A:
2014-07-02 17:43:15 +00:00
push large 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:
2014-07-02 17:43:15 +00:00
cmp si, 5Bh ; '['
jle short loc_A82A
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_EEBA
push 6
call sub_9643
mov byte_F02B, 0
push large 90014Ch
push 2Ch ; ','
push ds
push offset unk_EEE8
loc_A869:
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
push si
push [bp+arg_2]
push di
2014-09-09 03:54:40 +00:00
call over_put_8
2014-07-02 17:43:15 +00:00
inc [bp+var_2]
inc di
add si, 10h
loc_A898:
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
push bp
mov bp, sp
push large 0C00000h
call grcg_setcolor
2014-07-02 17:43:15 +00:00
push large 1A000C0h
push large 27F010Fh
2014-08-28 03:31:57 +00:00
call grcg_boxfill
call grcg_off
2014-07-02 17:43:15 +00:00
pop bp
retn
sub_A8A4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_A8CA proc near
2014-07-02 17:43:15 +00:00
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 large 200064h
push [bp+arg_2]
call sub_9942
push 4
call sub_B520
2014-08-23 13:47:05 +00:00
mov PaletteTone, 64h ; 'd'
2014-08-23 14:11:16 +00:00
call far ptr palette_show
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
push large 1B000B8h
push si
call sub_A874
push 4
call sub_B520
add si, 5
loc_A920:
2014-07-02 17:43:15 +00:00
cmp si, 37h ; '7'
jl short loc_A90C
push ds
push offset aVer1_00 ; "ver 1.00"
push large 2F00C0h
push 210h
call sub_B200
add sp, 0Ah
push 8
call sub_B855
pop cx
mov si, 0B8h
2014-07-02 17:43:15 +00:00
jmp short loc_A992
; ---------------------------------------------------------------------------
loc_A947:
2014-07-02 17:43:15 +00:00
push large 0C00000h
call grcg_setcolor
2014-07-02 17:43:15 +00:00
push 210h
lea ax, [si+4]
push ax
push 24Fh
lea ax, [si+13h]
push ax
2014-08-28 03:31:57 +00:00
call grcg_boxfill
call grcg_off
2014-07-02 17:43:15 +00:00
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 sub_B520
add si, 4
loc_A992:
2014-07-02 17:43:15 +00:00
cmp si, 170h
jl short loc_A947
push 9
call sub_B855
pop cx
mov byte_F02A, 2Fh ; '/'
push large 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
2014-07-02 17:43:15 +00:00
push ds
push offset aEd06_pi ; "ed06.pi"
push 0
call sub_B4F5
add sp, 6
push 0
call sub_B790
pop cx
push large 0
push 0
call sub_B7B3
add sp, 6
push ds
push offset unk_F8BA
push large [dword_F8A2]
call graph_pi_free
2014-07-02 17:43:15 +00:00
mov dx, 0A6h ; '<27>'
mov al, 0
out dx, al
2014-07-02 17:43:15 +00:00
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 large 2F00C0h
push 1A0h
call sub_B200
add sp, 0Ah
push 11h
call sub_B855
pop cx
push ds
push offset aEd06b_rgb ; "ed06b.rgb"
2014-08-31 03:14:54 +00:00
call palette_entry_rgb
2014-08-23 14:11:16 +00:00
call far ptr palette_show
push 0FCh
2014-07-02 17:43:15 +00:00
push 2
push 29h ; ')'
call sub_A8CA
push 15h
call sub_B855
pop cx
push large 200064h
push 3
call sub_9942
push ds
push offset aEd06c_rgb ; "ed06c.rgb"
2014-08-31 03:14:54 +00:00
call palette_entry_rgb
2014-08-23 14:11:16 +00:00
call far ptr palette_show
2014-07-02 17:43:15 +00:00
push 4
push 3
push 29h ; ')'
call sub_A8CA
mov dx, 0A6h ; '<27>'
mov al, 1
out dx, al
2014-07-02 17:43:15 +00:00
push ds
push offset aEd07_pi ; "ed07.pi"
push 0
call sub_B4F5
add sp, 6
push large 0
push 0
call sub_B7B3
add sp, 6
push ds
push offset unk_F8BA
push large [dword_F8A2]
call graph_pi_free
2014-07-02 17:43:15 +00:00
mov dx, 0A6h ; '<27>'
mov al, 0
out dx, al
2014-07-02 17:43:15 +00:00
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 large 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 large 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 large 2F00F0h
push 1A0h
call sub_B200
add sp, 0Ah
push ds
push offset aEd07a_rgb ; "ed07a.rgb"
2014-08-31 03:14:54 +00:00
call palette_entry_rgb
2014-08-23 14:11:16 +00:00
call far ptr palette_show
push 0FCh
2014-07-02 17:43:15 +00:00
push 0
push 29h ; ')'
call sub_A8CA
push 1Dh
call sub_B855
pop cx
push ds
push offset aEd07b_rgb ; "ed07b.rgb"
2014-08-31 03:14:54 +00:00
call palette_entry_rgb
2014-08-23 14:11:16 +00:00
call far ptr palette_show
2014-07-02 17:43:15 +00:00
push 8
push 1
push 0E9h
2014-07-02 17:43:15 +00:00
call sub_A8CA
push 21h ; '!'
call sub_B855
pop cx
push large 200064h
push 2
call sub_9942
push 0F8h
2014-07-02 17:43:15 +00:00
push 2
push 0E9h
2014-07-02 17:43:15 +00:00
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 large 2F00C0h
push 1B0h
call sub_B200
add sp, 0Ah
push ds
push offset aEd07b_rgb ; "ed07b.rgb"
2014-08-31 03:14:54 +00:00
call palette_entry_rgb
2014-08-23 14:11:16 +00:00
call far ptr palette_show
2014-07-02 17:43:15 +00:00
push 8
push 3
push 0E9h
2014-07-02 17:43:15 +00:00
call sub_A8CA
mov dx, 0A6h ; '<27>'
mov al, 1
out dx, al
2014-07-02 17:43:15 +00:00
push ds
push offset aEd08_pi ; "ed08.pi"
push 0
call sub_B4F5
add sp, 6
push large 0
push 0
call sub_B7B3
add sp, 6
mov dx, 0A6h ; '<27>'
mov al, 0
out dx, al
2014-07-02 17:43:15 +00:00
push 29h ; ')'
call sub_B855
pop cx
push 0
call sub_B790
pop cx
push ds
push offset unk_F8BA
push large [dword_F8A2]
call graph_pi_free
push 0F8h
2014-07-02 17:43:15 +00:00
push 0
push 0E9h
2014-07-02 17:43:15 +00:00
call sub_A8CA
push 2Dh ; '-'
call sub_B855
pop cx
push ds
push offset aEd08a_rgb ; "ed08a.rgb"
2014-08-31 03:14:54 +00:00
call palette_entry_rgb
2014-08-23 14:11:16 +00:00
call far ptr palette_show
2014-07-02 17:43:15 +00:00
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 large 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 large 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 large 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 large 2F0110h
push 1A0h
call sub_B200
add sp, 0Ah
push ds
push offset aVVSSxrivVVVV ; " <20><><EFBFBD>̑<EFBFBD><CC91><EFBFBD>݂̂Ȃ<DD82><C882><EFBFBD>"
push large 2F0128h
push 1A0h
call sub_B200
add sp, 0Ah
push ds
push offset aEd08b_rgb ; "ed08b.rgb"
2014-08-31 03:14:54 +00:00
call palette_entry_rgb
2014-08-23 14:11:16 +00:00
call far ptr palette_show
push 0F4h
2014-07-02 17:43:15 +00:00
push 2
push 29h ; ')'
call sub_A8CA
push 35h ; '5'
call sub_B855
pop cx
push ds
push offset aEd08c_rgb ; "ed08c.rgb"
2014-08-31 03:14:54 +00:00
call palette_entry_rgb
2014-08-23 14:11:16 +00:00
call far ptr palette_show
2014-07-02 17:43:15 +00:00
push 0Ch
push 3
push 29h ; ')'
call sub_A8CA
push 39h ; '9'
call sub_B855
pop cx
push 4
2014-08-26 22:33:43 +00:00
call palette_black_out
2014-07-02 17:43:15 +00:00
mov dx, 0A6h ; '<27>'
mov al, 1
out dx, al
2014-07-02 17:43:15 +00:00
push ds
push offset aEd09_pi ; "ED09.pi"
push 0
call sub_B4F5
add sp, 6
push 0
call sub_B790
pop cx
push large 0
push 0
call sub_B7B3
add sp, 6
push ds
push offset unk_F8BA
push large [dword_F8A2]
call graph_pi_free
2014-07-02 17:43:15 +00:00
push 0
2014-08-27 04:13:48 +00:00
call graph_copy_page
2014-07-02 17:43:15 +00:00
push 4
2014-08-26 22:21:45 +00:00
call palette_black_in
2014-07-02 17:43:15 +00:00
push 64h ; 'd'
call sub_B520
mov dx, 0A6h ; '<27>'
mov al, 1
out dx, al
2014-07-02 17:43:15 +00:00
push ds
push offset aVsvivbvovlb@vs
2014-07-02 17:43:15 +00:00
mov al, byte_F02A
cbw
push ax
push large 600018h
call sub_B200
add sp, 0Ah
push large 150060h
push 18h
push cs
call near ptr sub_97F1
add sp, 6
push 0C8h ; '<27>'
call sub_B520
mov dx, 0A6h ; '<27>'
mov al, 1
out dx, al
2014-07-02 17:43:15 +00:00
push ds
push offset aB@nPiuU_ ; "<22>@<40>ŏI<C58F><49><EFBFBD>_"
mov al, byte_F02A
cbw
push ax
push large 800040h
call sub_B200
add sp, 0Ah
push large 0C00080h
push large [dword_FB0C]
call sub_95CB
push large 100080h
push 40h
2014-07-02 17:43:15 +00:00
push cs
call near ptr sub_97F1
add sp, 6
push 64h ; 'd'
call sub_B520
mov dx, 0A6h ; '<27>'
mov al, 1
out dx, al
2014-07-02 17:43:15 +00:00
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 large 0A00040h
call sub_B200
add sp, 0Ah
push large 10000A0h
les bx, dword_FB02
mov ax, es:[bx+12h]
add ax, 0A0h
2014-07-02 17:43:15 +00:00
push ax
push 0Fh
call graph_gaiji_putc
2014-07-02 17:43:15 +00:00
push large 1000A0h
push 40h
2014-07-02 17:43:15 +00:00
push cs
call near ptr sub_97F1
add sp, 6
push 64h ; 'd'
call sub_B520
mov dx, 0A6h ; '<27>'
mov al, 1
out dx, al
2014-07-02 17:43:15 +00:00
push ds
push offset aB@Gigugn ; "<22>@ <20><><EFBFBD><EFBFBD><EFBFBD>N"
mov al, byte_F02A
cbw
push ax
push large 0C00040h
call sub_B200
add sp, 0Ah
push large 0D000C0h
push 10h
push ds
mov al, byte_D722
cbw
shl ax, 3
add ax, 90h
2014-07-02 17:43:15 +00:00
push ax
push 0Fh
2014-09-15 01:03:52 +00:00
call graph_gaiji_puts
2014-07-02 17:43:15 +00:00
push large 1000C0h
push 40h
2014-07-02 17:43:15 +00:00
push cs
call near ptr sub_97F1
add sp, 6
push 64h ; 'd'
call sub_B520
mov dx, 0A6h ; '<27>'
mov al, 1
out dx, al
2014-07-02 17:43:15 +00:00
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 large 0E00040h
call sub_B200
add sp, 0Ah
push large 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
2014-07-02 17:43:15 +00:00
push large 1000E0h
push 40h
2014-07-02 17:43:15 +00:00
push cs
call near ptr sub_97F1
add sp, 6
push 64h ; 'd'
call sub_B520
mov dx, 0A6h ; '<27>'
mov al, 1
out dx, al
2014-07-02 17:43:15 +00:00
push ds
push offset aCMvpik ; " <20><EFBFBD><EC8C82><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
mov al, byte_F02A
cbw
push ax
push large 1000040h
call sub_B200
add sp, 0Ah
push large 1000100h
les bx, dword_FB02
mov al, es:[bx+19h]
mov ah, 0
add ax, 0A0h
2014-07-02 17:43:15 +00:00
push ax
push 0Fh
call graph_gaiji_putc
2014-07-02 17:43:15 +00:00
push large 100100h
push 40h
2014-07-02 17:43:15 +00:00
push cs
call near ptr sub_97F1
add sp, 6
push 96h
2014-07-02 17:43:15 +00:00
call sub_B520
mov dx, 0A6h ; '<27>'
mov al, 1
out dx, al
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
or di, di
jge short loc_AEB2
xor di, di
loc_AEB2:
2014-07-02 17:43:15 +00:00
push ds
push offset aVavVVSrso ; "<22><><EFBFBD>Ȃ<EFBFBD><C882>̘r<CC98>O"
mov al, byte_F02A
cbw
push ax
push large 1200040h
call sub_B200
add sp, 0Ah
push di
push ss
lea ax, [bp+var_4]
push ax
call sub_9846
push large 0C00120h
push 10h
push ss
lea ax, [bp+var_4]
push ax
push 0Fh
2014-09-15 01:03:52 +00:00
call graph_gaiji_puts
2014-07-02 17:43:15 +00:00
cmp di, 64h ; 'd'
jnz short loc_AEEF
xor si, si
jmp short loc_AF56
; ---------------------------------------------------------------------------
loc_AEEF:
2014-07-02 17:43:15 +00:00
cmp di, 5Ah ; 'Z'
jl short loc_AEF9
mov si, 1
jmp short loc_AF56
; ---------------------------------------------------------------------------
loc_AEF9:
2014-07-02 17:43:15 +00:00
cmp di, 50h ; 'P'
jl short loc_AF03
mov si, 2
jmp short loc_AF56
; ---------------------------------------------------------------------------
loc_AF03:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
mov si, 4
jmp short loc_AF56
; ---------------------------------------------------------------------------
loc_AF17:
2014-07-02 17:43:15 +00:00
cmp di, 3Ch ; '<'
jl short loc_AF21
mov si, 5
jmp short loc_AF56
; ---------------------------------------------------------------------------
loc_AF21:
2014-07-02 17:43:15 +00:00
cmp di, 32h ; '2'
jl short loc_AF2B
mov si, 6
jmp short loc_AF56
; ---------------------------------------------------------------------------
loc_AF2B:
2014-07-02 17:43:15 +00:00
cmp di, 28h ; '('
jl short loc_AF35
mov si, 7
jmp short loc_AF56
; ---------------------------------------------------------------------------
loc_AF35:
2014-07-02 17:43:15 +00:00
cmp di, 1Eh
jl short loc_AF3F
mov si, 8
jmp short loc_AF56
; ---------------------------------------------------------------------------
loc_AF3F:
2014-07-02 17:43:15 +00:00
cmp di, 14h
jl short loc_AF49
mov si, 9
jmp short loc_AF56
; ---------------------------------------------------------------------------
loc_AF49:
2014-07-02 17:43:15 +00:00
cmp di, 0Ah
jl short loc_AF53
mov si, 0Ah
jmp short loc_AF56
; ---------------------------------------------------------------------------
loc_AF53:
2014-07-02 17:43:15 +00:00
mov si, 0Bh
loc_AF56:
2014-07-02 17:43:15 +00:00
mov ax, si
imul ax, 2Eh
add ax, 0EB2h
push ds
push ax
mov al, byte_F02A
cbw
push ax
push large 12000F0h
call sub_B200
add sp, 0Ah
push large 60120h
push 40h
2014-07-02 17:43:15 +00:00
push cs
call near ptr sub_97F1
add sp, 6
push 78h ; 'x'
call sub_B520
push large 180120h
push 0C0h
2014-07-02 17:43:15 +00:00
push cs
call near ptr sub_97F1
add sp, 6
push 0C8h ; '<27>'
call sub_B520
mov dx, 0A6h ; '<27>'
mov al, 1
out dx, al
2014-07-02 17:43:15 +00:00
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 large 1600040h
call sub_B200
add sp, 0Ah
push large 120160h
push 40h
2014-07-02 17:43:15 +00:00
push cs
call near ptr sub_97F1
add sp, 6
call sub_B4B7
push 5
2014-08-26 22:33:43 +00:00
call palette_black_out
2014-07-02 17:43:15 +00:00
nop
push cs
call near ptr sub_AFE7
2014-08-27 04:03:08 +00:00
call graph_clear
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
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
push ds
push offset aAll_pi ; "all.pi"
push 0
call sub_B4F5
add sp, 6
push 0
call sub_B790
pop cx
push large 0
push 0
call sub_B7B3
add sp, 6
push ds
push offset unk_F8BA
push large [dword_F8A2]
call graph_pi_free
2014-07-02 17:43:15 +00:00
push 2
2014-08-26 22:21:45 +00:00
call palette_black_in
push 96h
2014-07-02 17:43:15 +00:00
call sub_B520
push ds
push offset aBut_pi ; "but.pi"
push 0
call sub_B4F5
add sp, 6
push 0
call sub_B790
pop cx
push large 0
push 0
call sub_B7B3
add sp, 6
push ds
push offset unk_F8BA
push large [dword_F8A2]
call graph_pi_free
2014-07-02 17:43:15 +00:00
call sub_B4B7
push 5
2014-08-26 22:33:43 +00:00
call palette_black_out
2014-07-02 17:43:15 +00:00
loc_B07D:
2014-07-02 17:43:15 +00:00
pop bp
retf
sub_AFE7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B07F proc far
2014-07-02 17:43:15 +00:00
push bp
mov bp, sp
call sub_BFE8
or ax, ax
jz loc_B115
2014-08-23 13:47:05 +00:00
mov PaletteTone, 0
2014-08-23 14:11:16 +00:00
call far ptr palette_show
2014-07-02 17:43:15 +00:00
push ds
push offset aAll_pi ; "all.pi"
push 0
call sub_B4F5
add sp, 6
push 0
call sub_B790
pop cx
push large 0
push 0
call sub_B7B3
add sp, 6
push ds
push offset unk_F8BA
push large [dword_F8A2]
call graph_pi_free
2014-07-02 17:43:15 +00:00
push 2
2014-08-26 22:21:45 +00:00
call palette_black_in
push 96h
2014-07-02 17:43:15 +00:00
call sub_B520
push ds
push offset aExtra_pi ; "extra.pi"
push 0
call sub_B4F5
add sp, 6
push 0
call sub_B790
pop cx
push large 0
push 0
call sub_B7B3
add sp, 6
push ds
push offset unk_F8BA
push large [dword_F8A2]
call graph_pi_free
2014-07-02 17:43:15 +00:00
call sub_B4B7
push 5
2014-08-26 22:33:43 +00:00
call palette_black_out
2014-07-02 17:43:15 +00:00
loc_B115:
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
_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
2014-07-02 17:43:15 +00:00
jnz loc_B1FE
call sub_B756
call gaiji_backup
2014-07-02 17:43:15 +00:00
push ds
push offset aMikoft_bft ; "MIKOFT.bft"
2014-08-31 08:08:09 +00:00
call gaiji_entry_bfnt
2014-07-02 17:43:15 +00:00
call sub_B6AC
call sub_B654
les bx, dword_FB02
cmp byte ptr es:[bx+18h], 0
jnz short loc_B161
mov byte_FAF1, 0
jmp short loc_B189
; ---------------------------------------------------------------------------
loc_B161:
2014-07-02 17:43:15 +00:00
les bx, dword_FB02
cmp byte ptr es:[bx+18h], 1
jnz short loc_B173
mov byte_FAF1, 0
jmp short loc_B184
; ---------------------------------------------------------------------------
loc_B173:
2014-07-02 17:43:15 +00:00
les bx, dword_FB02
cmp byte ptr es:[bx+18h], 2
jnz short loc_B189
mov al, byte_FAF3
mov byte_FAF1, al
loc_B184:
2014-07-02 17:43:15 +00:00
call sub_B68E
loc_B189:
2014-07-02 17:43:15 +00:00
mov dx, 0A6h ; '<27>'
mov al, 0
out dx, al
mov dx, 0A4h
out dx, al
2014-07-02 17:43:15 +00:00
push ds
push offset aEndft_bft ; "endft.bft"
call super_entry_bfnt
2014-07-02 17:43:15 +00:00
push 64h ; 'd'
call sub_B520
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:
2014-07-02 17:43:15 +00:00
call sub_A09D
loc_B1BD:
2014-07-02 17:43:15 +00:00
call sub_A8FA
jmp short loc_B1C6
; ---------------------------------------------------------------------------
loc_B1C2:
2014-07-02 17:43:15 +00:00
push cs
call near ptr sub_B07F
loc_B1C6:
2014-08-23 13:47:05 +00:00
mov PaletteTone, 32h ; '2'
2014-08-23 14:11:16 +00:00
call far ptr palette_show
2014-07-02 17:43:15 +00:00
call sub_BC9E
2014-08-23 13:47:05 +00:00
mov PaletteTone, 0
2014-08-23 14:11:16 +00:00
call far ptr palette_show
call gaiji_restore
2014-07-02 17:43:15 +00:00
call sub_B616
push large 0
push ds
push offset path ; "op"
push ds
push offset path ; "op"
call _execl
add sp, 0Ch
loc_B1FE:
2014-07-02 17:43:15 +00:00
pop bp
retf
_main endp
seg001 ends
; ===========================================================================
; Segment type: Pure code
seg002 segment byte 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
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
push [bp+arg_4]
call grcg_setcolor
2014-07-02 17:43:15 +00:00
mov dx, 68h ; 'h'
mov al, 0Bh
out dx, al
jmp loc_B445
; ---------------------------------------------------------------------------
loc_B235:
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
pop cx
mov [bp+var_2], ax
add word ptr [bp+arg_6], 2
jmp short loc_B2D0
; ---------------------------------------------------------------------------
loc_B28A:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
mov [bp+var_2], ax
jmp short loc_B2CD
; ---------------------------------------------------------------------------
loc_B2C8:
2014-07-02 17:43:15 +00:00
mov [bp+var_2], 2B21h
loc_B2CD:
2014-07-02 17:43:15 +00:00
inc word ptr [bp+arg_6]
loc_B2D0:
2014-07-02 17:43:15 +00:00
mov al, byte ptr [bp+var_2]
and al, 0FFh
mov dx, 0A1h ; '<27>'
out dx, al
2014-07-02 17:43:15 +00:00
mov ax, [bp+var_2]
shr ax, 8
sub al, 20h ; ' '
mov dx, 0A3h ; '<27>'
out dx, al
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
mov al, byte ptr [bp+var_12]
or al, 20h
mov dx, 0A5h ; '<27>'
out dx, al
2014-07-02 17:43:15 +00:00
mov dx, 0A9h ; '<27>'
in al, dx
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
cmp [bp+var_12], 10h
jl short loc_B302
mov [bp+var_A], 0
jmp short loc_B387
; ---------------------------------------------------------------------------
loc_B331:
2014-07-02 17:43:15 +00:00
cmp di, 270h
jg loc_B450
mov [bp+var_12], 0
jmp short loc_B37C
; ---------------------------------------------------------------------------
loc_B340:
2014-07-02 17:43:15 +00:00
mov al, byte ptr [bp+var_12]
or al, 20h
mov dx, 0A5h ; '<27>'
out dx, al
2014-07-02 17:43:15 +00:00
mov dx, 0A9h ; '<27>'
in al, dx
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
mov dx, 0A9h ; '<27>'
in al, dx
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
cmp [bp+var_12], 10h
jl short loc_B340
mov [bp+var_A], 1
loc_B387:
2014-07-02 17:43:15 +00:00
mov [bp+var_12], 0
jmp loc_B42C
; ---------------------------------------------------------------------------
loc_B38F:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
mov si, [bp+var_4]
mov ax, si
add ax, ax
or [bp+var_4], ax
jmp short loc_B3DF
; ---------------------------------------------------------------------------
loc_B3BF:
2014-07-02 17:43:15 +00:00
mov si, [bp+var_4]
mov ax, si
add ax, ax
or [bp+var_4], ax
loc_B3C9:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
add word ptr [bp+var_8], 50h ; 'P'
inc [bp+var_12]
loc_B42C:
2014-07-02 17:43:15 +00:00
cmp [bp+var_12], 10h
jl loc_B38F
cmp [bp+var_A], 0
jz short loc_B43D
add di, 8
loc_B43D:
2014-07-02 17:43:15 +00:00
mov ax, [bp+var_10]
add ax, 8
add di, ax
loc_B445:
2014-07-02 17:43:15 +00:00
les bx, [bp+arg_6]
cmp byte ptr es:[bx], 0
jnz loc_B235
loc_B450:
2014-07-02 17:43:15 +00:00
mov dx, 68h ; 'h'
mov al, 0Ah
out dx, al
call grcg_off
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
push bp
mov bp, sp
push si
mov al, byte_D70A
cbw
push ax
2014-08-30 07:56:49 +00:00
call key_sense
2014-07-02 17:43:15 +00:00
mov si, ax
mov al, byte_D70B
cbw
push ax
2014-08-30 07:56:49 +00:00
call key_sense
2014-07-02 17:43:15 +00:00
or si, ax
mov al, byte_D70C
cbw
push ax
2014-08-30 07:56:49 +00:00
call key_sense
2014-07-02 17:43:15 +00:00
or si, ax
push 2
nop
push cs
call near ptr sub_B520
mov al, byte_D70A
cbw
push ax
2014-08-30 07:56:49 +00:00
call key_sense
2014-07-02 17:43:15 +00:00
or si, ax
mov al, byte_D70B
cbw
push ax
2014-08-30 07:56:49 +00:00
call key_sense
2014-07-02 17:43:15 +00:00
or si, ax
mov al, byte_D70C
cbw
push ax
2014-08-30 07:56:49 +00:00
call key_sense
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
push bp
mov bp, sp
loc_B4BA:
2014-07-02 17:43:15 +00:00
push cs
call near ptr sub_B45F
or ax, ax
jnz short loc_B4BA
loc_B4C2:
2014-07-02 17:43:15 +00:00
push cs
call near ptr 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
2014-07-02 17:43:15 +00:00
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
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B4F5 proc far
2014-07-02 17:43:15 +00:00
var_2 = word ptr -2
arg_0 = word ptr 6
arg_2 = dword ptr 8
enter 2, 0
push si
mov si, [bp+arg_0]
push large [bp+arg_2]
mov ax, si
imul ax, 48h
add ax, 293Ah
push ds
push ax
mov ax, si
shl ax, 2
add ax, 2922h
push ds
push ax
call graph_pi_load_pack
2014-07-02 17:43:15 +00:00
mov [bp+var_2], ax
pop si
leave
retf
sub_B4F5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B520 proc far
2014-07-02 17:43:15 +00:00
arg_0 = word ptr 6
push bp
mov bp, sp
mov vsync_Count1, 0
2014-07-02 17:43:15 +00:00
loc_B529:
mov ax, vsync_Count1
2014-07-02 17:43:15 +00:00
cmp ax, [bp+arg_0]
jb short loc_B529
pop bp
retf 2
sub_B520 endp
; ---------------------------------------------------------------------------
db 0
; =============== S U B R O U T I N E =======================================
sub_B536 proc far
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
or word_FAEE, 1
loc_B559:
2014-07-02 17:43:15 +00:00
test bh, 8
jnz short loc_B563
test ah, 40h
jz short loc_B568
loc_B563:
2014-07-02 17:43:15 +00:00
or word_FAEE, 4
loc_B568:
2014-07-02 17:43:15 +00:00
test ah, 4
jz short loc_B573
or word_FAEE, 1000h
loc_B573:
2014-07-02 17:43:15 +00:00
test ah, 10h
jz short loc_B57E
or word_FAEE, 2000h
loc_B57E:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
or word_FAEE, 2
loc_B593:
2014-07-02 17:43:15 +00:00
test bh, 10h
jnz short loc_B59D
test ah, 1
jz short loc_B5A2
loc_B59D:
2014-07-02 17:43:15 +00:00
or word_FAEE, 8
loc_B5A2:
2014-07-02 17:43:15 +00:00
test ah, 4
jz short loc_B5AD
or word_FAEE, 4000h
loc_B5AD:
2014-07-02 17:43:15 +00:00
test ah, 10h
jz short loc_B5B8
or word_FAEE, 8000h
loc_B5B8:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
test ah, 4
jz short loc_B5D2
or word_FAEE, 20h
loc_B5D2:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
retf
sub_B536 endp
; ---------------------------------------------------------------------------
nop
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B616 proc far
2014-07-02 17:43:15 +00:00
push bp
mov bp, sp
call sub_2972
mov dx, 0A6h ; '<27>'
mov al, 1
out dx, al
2014-08-27 04:03:08 +00:00
call graph_clear
2014-07-02 17:43:15 +00:00
mov dx, 0A6h ; '<27>'
mov al, 0
out dx, al
2014-08-27 04:03:08 +00:00
call graph_clear
2014-07-02 17:43:15 +00:00
mov dx, 0A6h ; '<27>'
mov al, 0
out dx, al
mov dx, 0A4h
out dx, al
call vsync_end
call mem_unassign
2014-08-20 14:45:24 +00:00
call text_clear
call egc_start
2014-07-02 17:43:15 +00:00
pop bp
retf
sub_B616 endp
; =============== S U B R O U T I N E =======================================
sub_B654 proc far
2014-07-02 17:43:15 +00:00
xor ax, ax
mov es, ax
les bx, dword ptr es:[0184h]
2014-07-02 17:43:15 +00:00
assume es:nothing
cmp byte ptr es:[bx+2], 4Dh ; 'M'
jnz short loc_B685
cmp byte ptr es:[bx+3], 4Dh ; 'M'
jnz short loc_B685
cmp byte ptr es:[bx+4], 44h ; 'D'
jnz short loc_B685
mov byte_FAF2, 61h ; 'a'
mov byte_FAF1, 1
mov byte_FAF3, 1
mov ax, 1
retf
; ---------------------------------------------------------------------------
loc_B685:
2014-07-02 17:43:15 +00:00
mov byte_FAF3, 0
xor ax, ax
retf
sub_B654 endp
; ---------------------------------------------------------------------------
nop
; =============== S U B R O U T I N E =======================================
sub_B68E proc far
2014-07-02 17:43:15 +00:00
mov ah, 9
int 60h
xor bx, bx
cmp al, 0FFh
jz short loc_B6A0
inc bx
mov byte_FAF0, 1
jmp short loc_B6A4
; ---------------------------------------------------------------------------
loc_B6A0:
2014-07-02 17:43:15 +00:00
mov bl, byte_FAF1
loc_B6A4:
2014-07-02 17:43:15 +00:00
mov byte_D714, bl
mov ax, bx
retf
sub_B68E endp
; ---------------------------------------------------------------------------
nop
; =============== S U B R O U T I N E =======================================
sub_B6AC proc far
mov byte_FAF2, 60h
2014-07-02 17:43:15 +00:00
mov byte_FAF1, 0
mov byte_FAF0, 0
mov byte_FAF3, 0
xor ax, ax
mov es, ax
les bx, dword ptr es:[0180h]
2014-07-02 17:43:15 +00:00
assume es:nothing
cmp byte ptr es:[bx+2], 50h ; 'P'
jnz short loc_B6E2
cmp byte ptr es:[bx+3], 4Dh ; 'M'
jnz short loc_B6E2
cmp byte ptr es:[bx+4], 44h ; 'D'
jnz short loc_B6E2
mov ax, 1
retf
; ---------------------------------------------------------------------------
loc_B6E2:
2014-07-02 17:43:15 +00:00
xor ax, ax
retf
sub_B6AC endp
; ---------------------------------------------------------------------------
nop
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B6E6 proc far
2014-07-02 17:43:15 +00:00
arg_0 = dword ptr 6
arg_4 = word ptr 0Ah
push bp
mov bp, sp
push si
push ds
mov cx, 0Dh
xor si, si
loc_B6F0:
2014-07-02 17:43:15 +00:00
les bx, [bp+arg_0]
add bx, si
mov al, es:[bx]
mov [si+2B74h], al
inc si
loop loc_B6F0
mov ax, [bp+arg_4]
cmp ax, 600h
jnz short loc_B727
cmp byte_FAF1, 0
jz short loc_B727
xor bx, bx
loc_B710:
2014-07-02 17:43:15 +00:00
inc bx
cmp byte ptr [bx+2B74h], 0
jnz short loc_B710
mov byte ptr [bx+2B74h], 6Dh ; 'm'
mov byte ptr [bx+2B75h], 64h ; 'd'
mov byte ptr [bx+2B76h], 0
loc_B727:
2014-07-02 17:43:15 +00:00
mov dx, 2B74h
mov ax, 3D00h
int 21h ; DOS - 2+ - OPEN DISK FILE WITH HANDLE
; DS:DX -> ASCIZ filename
; AL = access mode
; 0 - read
mov bx, ax
mov ax, [bp+arg_4]
cmp ax, 600h
jnz short loc_B744
cmp byte_FAF1, 0
jz short loc_B744
int 61h ; reserved for user interrupt
jmp short loc_B746
; ---------------------------------------------------------------------------
loc_B744:
2014-07-02 17:43:15 +00:00
int 60h
loc_B746:
2014-07-02 17:43:15 +00:00
mov ax, 3F00h
mov cx, 5000h
int 21h ; DOS - 2+ - READ FROM FILE WITH HANDLE
; BX = file handle, CX = number of bytes to read
; DS:DX -> buffer
pop ds
mov ah, 3Eh
int 21h ; DOS - 2+ - CLOSE A FILE WITH HANDLE
; BX = file handle
pop si
pop bp
retf
sub_B6E6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B756 proc far
2014-07-02 17:43:15 +00:00
push bp
mov bp, sp
push 4650h
call mem_assign_dos
2014-07-02 17:43:15 +00:00
or ax, ax
jz short loc_B76A
mov ax, 1
pop bp
retf
; ---------------------------------------------------------------------------
loc_B76A:
2014-07-02 17:43:15 +00:00
nop
push cs
call near ptr sub_B4CC
call vsync_start
call egc_start
2014-08-27 22:58:40 +00:00
call graph_400line
mov pfkey, 12h
2014-07-02 17:43:15 +00:00
push ds
push offset aUmx ; "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E>^"
call sub_2912
xor ax, ax
pop bp
retf
sub_B756 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B790 proc far
2014-07-02 17:43:15 +00:00
arg_0 = word ptr 6
push bp
mov bp, sp
push 30h ; '0' ; n
push ds
mov ax, [bp+arg_0]
imul ax, 48h
add ax, 2952h
push ax ; src
push ds
2014-08-23 13:47:05 +00:00
push offset Palettes ; dest
2014-07-02 17:43:15 +00:00
call _memcpy
add sp, 0Ah
2014-08-23 14:11:16 +00:00
call far ptr palette_show
2014-07-02 17:43:15 +00:00
pop bp
retf
sub_B790 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B7B3 proc far
2014-07-02 17:43:15 +00:00
var_6 = word ptr -6
var_4 = dword ptr -4
arg_0 = word ptr 6
arg_2 = word ptr 8
arg_4 = word ptr 0Ah
enter 6, 0
push si
push di
mov si, [bp+arg_2]
mov di, [bp+arg_4]
mov bx, di
shl bx, 2
mov ax, [bx+2924h]
mov dx, [bx+2922h]
mov word ptr [bp+var_4+2], ax
mov word ptr [bp+var_4], dx
mov [bp+var_6], 0
jmp short loc_B827
; ---------------------------------------------------------------------------
loc_B7D9:
2014-07-02 17:43:15 +00:00
push [bp+arg_0]
push si
push large [bp+var_4]
mov bx, di
imul bx, 48h
push word ptr [bx+294Eh]
2014-08-31 05:26:45 +00:00
call graph_pack_put_8
2014-07-02 17:43:15 +00:00
inc si
cmp si, 190h
jl short loc_B7FA
sub si, 190h
loc_B7FA:
2014-07-02 17:43:15 +00:00
mov bx, di
imul bx, 48h
mov ax, [bx+294Eh]
shr ax, 1
add word ptr [bp+var_4], ax
mov eax, [bp+var_4]
shr eax, 10h
mov dx, word ptr [bp+var_4]
shr dx, 4
add ax, dx
mov dx, word ptr [bp+var_4]
and dx, 0Fh
mov word ptr [bp+var_4+2], ax
mov word ptr [bp+var_4], dx
inc [bp+var_6]
loc_B827:
2014-07-02 17:43:15 +00:00
mov bx, di
imul bx, 48h
mov ax, [bx+2950h]
cmp ax, [bp+var_6]
ja short loc_B7D9
pop di
pop si
leave
retf
sub_B7B3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B839 proc far
2014-07-02 17:43:15 +00:00
arg_0 = word ptr 6
push bp
mov bp, sp
cmp byte_D714, 0
jz short loc_B853
mov ax, [bp+arg_0]
cmp byte_FAF1, 1
jz short loc_B851
int 60h
jmp short loc_B853
; ---------------------------------------------------------------------------
loc_B851:
2014-07-02 17:43:15 +00:00
int 61h ; reserved for user interrupt
loc_B853:
2014-07-02 17:43:15 +00:00
pop bp
retf
sub_B839 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B855 proc far
2014-07-02 17:43:15 +00:00
arg_0 = word ptr 6
push bp
mov bp, sp
cmp byte_D714, 0
jnz short loc_B868
push 64h ; 'd'
nop
push cs
call near ptr sub_B520
pop bp
retf
; ---------------------------------------------------------------------------
loc_B868:
2014-07-02 17:43:15 +00:00
push 1
nop
push cs
call near ptr sub_B520
mov ah, 5
cmp byte_FAF1, 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
2014-07-02 17:43:15 +00:00
int 61h ; reserved for user interrupt
loc_B881:
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
var_2 = word ptr -2
enter 2, 0
push ds
push offset aHuuma_cfg ; "huuma.cfg"
2014-08-30 07:12:17 +00:00
call file_ropen
2014-07-02 17:43:15 +00:00
push large 5
push 0
call file_seek
2014-07-02 17:43:15 +00:00
push ss
lea ax, [bp+var_2]
push ax
push 2
2014-08-30 07:00:31 +00:00
call file_read
call file_close
2014-07-02 17:43:15 +00:00
cmp [bp+var_2], 0
jnz short loc_B8BA
xor ax, ax
leave
retf
; ---------------------------------------------------------------------------
loc_B8BA:
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
push bp
mov bp, sp
push si
xor si, si
jmp short loc_B95F
; ---------------------------------------------------------------------------
loc_B8F5:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
mov bx, si
imul bx, 7
add bx, cx
mov byte ptr [bx+2BC4h], 0DAh
2014-07-02 17:43:15 +00:00
inc cx
loc_B92B:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
push bp
mov bp, sp
push si
push large [HUUHI_DAT]
2014-08-30 07:12:17 +00:00
call file_ropen
2014-07-02 17:43:15 +00:00
mov al, byte_D722
cbw
imul ax, 0B6h
movzx eax, ax
push eax
push 0
call file_seek
2014-07-02 17:43:15 +00:00
push ds
push offset word_FB16
push 0B6h ; '<27>'
2014-08-30 07:00:31 +00:00
call file_read
2014-07-02 17:43:15 +00:00
xor si, si
jmp short loc_B9A5
; ---------------------------------------------------------------------------
loc_B99A:
2014-07-02 17:43:15 +00:00
mov al, [si+2B96h]
add al, 0EEh
2014-07-02 17:43:15 +00:00
mov [si+2B96h], al
inc si
loc_B9A5:
2014-07-02 17:43:15 +00:00
cmp si, 0B2h ; '<27>'
jl short loc_B99A
call file_close
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
mov [bp+var_2], ax
cmp [bp+var_A], 0
jz short loc_BA03
mov [bp+var_B], 1
loc_BA03:
2014-07-02 17:43:15 +00:00
cmp [bp+var_B], 0
jz short loc_BA18
push si
push [bp+arg_6]
push [bp+var_2]
push [bp+arg_0]
2014-08-31 02:56:17 +00:00
call gaiji_putca
2014-07-02 17:43:15 +00:00
loc_BA18:
2014-07-02 17:43:15 +00:00
add si, 2
loc_BA1B:
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
var_2 = word ptr -2
arg_0 = word ptr 4
enter 2, 0
push si
push di
mov di, 0E1h
2014-07-02 17:43:15 +00:00
push large 140002h
push ds
push offset gHI_SCORE
push 81h
2014-08-31 03:05:48 +00:00
call gaiji_putsa
2014-07-02 17:43:15 +00:00
push large 0C0004h
push ds
push offset gNAME
push 81h
2014-08-31 03:05:48 +00:00
call gaiji_putsa
2014-07-02 17:43:15 +00:00
push large 1C0004h
push ds
push offset gPOINT
push 81h
2014-08-31 03:05:48 +00:00
call gaiji_putsa
2014-07-02 17:43:15 +00:00
push large 2A0004h
push ds
push offset gST
push 81h
2014-08-31 03:05:48 +00:00
call gaiji_putsa
2014-07-02 17:43:15 +00:00
cmp [bp+arg_0], 0FFFFh
jz short loc_BACE
xor si, si
jmp short loc_BAB5
; ---------------------------------------------------------------------------
loc_BA80:
2014-07-02 17:43:15 +00:00
mov [bp+var_2], 0
jmp short loc_BAAE
; ---------------------------------------------------------------------------
loc_BA87:
2014-07-02 17:43:15 +00:00
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]
2014-07-02 17:43:15 +00:00
mov ah, 0
push ax
push 0E1h
2014-08-31 02:56:17 +00:00
call gaiji_putca
2014-07-02 17:43:15 +00:00
inc [bp+var_2]
loc_BAAE:
2014-07-02 17:43:15 +00:00
cmp [bp+var_2], 11h
jl short loc_BA87
inc si
loc_BAB5:
2014-07-02 17:43:15 +00:00
cmp si, 3
jl short loc_BA80
push large 0A0012h
mov al, gALPHABET
2014-07-02 17:43:15 +00:00
mov ah, 0
push ax
push 85h ; '<27>E
2014-08-31 02:56:17 +00:00
call gaiji_putca
2014-07-02 17:43:15 +00:00
loc_BACE:
2014-07-02 17:43:15 +00:00
xor si, si
jmp short loc_BB31
; ---------------------------------------------------------------------------
loc_BAD2:
2014-07-02 17:43:15 +00:00
cmp si, [bp+arg_0]
jnz short loc_BADC
mov di, 81h
2014-07-02 17:43:15 +00:00
jmp short loc_BADF
; ---------------------------------------------------------------------------
loc_BADC:
mov di, 0E1h
2014-07-02 17:43:15 +00:00
loc_BADF:
2014-07-02 17:43:15 +00:00
push 0Ah
lea ax, [si+6]
push ax
mov ax, si
imul ax, 7
add ax, 2BC4h
push ds
push ax
push di
2014-08-31 03:05:48 +00:00
call gaiji_putsa
2014-07-02 17:43:15 +00:00
lea ax, [si+6]
push ax
mov bx, si
shl bx, 2
push large dword ptr [bx+2B98h]
push di
push cs
call near ptr sub_B9B3
cmp byte ptr [si+2C0Bh], 7Fh
2014-07-02 17:43:15 +00:00
jz short loc_BB21
push 2Ch ; ','
lea ax, [si+6]
push ax
mov al, [si+2C0Bh]
mov ah, 0
add ax, 0A0h
2014-07-02 17:43:15 +00:00
push ax
jmp short loc_BB2A
; ---------------------------------------------------------------------------
loc_BB21:
2014-07-02 17:43:15 +00:00
push 2Ch ; ','
lea ax, [si+6]
push ax
push 0F0h
2014-07-02 17:43:15 +00:00
loc_BB2A:
2014-07-02 17:43:15 +00:00
push di
2014-08-31 02:56:17 +00:00
call gaiji_putca
2014-07-02 17:43:15 +00:00
inc si
loc_BB31:
2014-07-02 17:43:15 +00:00
cmp si, 0Ah
jl short loc_BAD2
xor si, si
jmp short loc_BB78
; ---------------------------------------------------------------------------
loc_BB3A:
2014-07-02 17:43:15 +00:00
cmp si, [bp+arg_0]
jnz short loc_BB44
mov di, 81h
2014-07-02 17:43:15 +00:00
jmp short loc_BB47
; ---------------------------------------------------------------------------
loc_BB44:
mov di, 0E1h
2014-07-02 17:43:15 +00:00
loc_BB47:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
push large 4000Fh
push 0A1h ; '<27>'
push di
2014-08-31 02:56:17 +00:00
call gaiji_putca
2014-07-02 17:43:15 +00:00
push large 6000Fh
push 0A0h
2014-07-02 17:43:15 +00:00
loc_BB71:
2014-07-02 17:43:15 +00:00
push di
2014-08-31 02:56:17 +00:00
call gaiji_putca
2014-07-02 17:43:15 +00:00
inc si
loc_BB78:
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
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]
2014-08-31 02:56:17 +00:00
call gaiji_putca
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
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
2014-08-31 03:05:48 +00:00
call gaiji_putsa
2014-07-02 17:43:15 +00:00
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
2014-08-31 02:56:17 +00:00
call gaiji_putca
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
cmp si, 0Ah
jl short loc_BC21
xor si, si
jmp short loc_BC65
; ---------------------------------------------------------------------------
loc_BC4F:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
cmp si, 0B2h ; '<27>'
jl short loc_BC4F
push large [HUUHI_DAT]
2014-08-30 05:58:36 +00:00
call file_append
2014-07-02 17:43:15 +00:00
mov al, byte_D722
cbw
imul ax, 0B6h
movzx eax, ax
push eax
push 0
call file_seek
2014-07-02 17:43:15 +00:00
push ds
push offset word_FB16
push 0B6h ; '<27>'
2014-08-30 07:38:09 +00:00
call file_write
call file_close
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
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
push large [HUUHI_DAT]
2014-08-30 06:46:38 +00:00
call file_exist
2014-07-02 17:43:15 +00:00
or ax, ax
jnz short loc_BCBA
push cs
call near ptr sub_B8ED
jmp short loc_BCBD
; ---------------------------------------------------------------------------
loc_BCBA:
2014-07-02 17:43:15 +00:00
call sub_B967
loc_BCBD:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
mov [bp+var_2], 9
jmp short loc_BCF1
; ---------------------------------------------------------------------------
loc_BCDC:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
cmp [bp+var_2], 0
jg short loc_BCDC
loc_BCF7:
2014-07-02 17:43:15 +00:00
mov [bp+var_4], 9
jmp loc_BD91
; ---------------------------------------------------------------------------
loc_BCFF:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
mov bx, [bp+var_4]
imul bx, 7
add bx, [bp+var_6]
mov byte ptr [bx+2BC4h], 0DAh
2014-07-02 17:43:15 +00:00
inc [bp+var_6]
loc_BDEC:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
mov [bp+var_B], 0
loc_BE0E:
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
call sub_BB83
dec [bp+var_8]
cmp [bp+var_8], 0
jge short loc_BE3A
mov [bp+var_8], 2
loc_BE3A:
2014-07-02 17:43:15 +00:00
push di
push [bp+var_8]
push 85h ; '<27>E
2014-07-02 17:43:15 +00:00
call sub_BB83
loc_BE44:
2014-07-02 17:43:15 +00:00
test byte ptr word_FAEE, 2
jz short loc_BE6D
push di
push [bp+var_8]
push 0E1h
2014-07-02 17:43:15 +00:00
call sub_BB83
inc [bp+var_8]
cmp [bp+var_8], 2
jle short loc_BE63
mov [bp+var_8], 0
loc_BE63:
2014-07-02 17:43:15 +00:00
push di
push [bp+var_8]
push 85h ; '<27>E
2014-07-02 17:43:15 +00:00
call sub_BB83
loc_BE6D:
2014-07-02 17:43:15 +00:00
test byte ptr word_FAEE, 4
jz short loc_BE90
push di
push [bp+var_8]
push 0E1h
2014-07-02 17:43:15 +00:00
call sub_BB83
dec di
or di, di
jge short loc_BE86
mov di, 10h
loc_BE86:
2014-07-02 17:43:15 +00:00
push di
push [bp+var_8]
push 85h ; '<27>E
2014-07-02 17:43:15 +00:00
call sub_BB83
loc_BE90:
2014-07-02 17:43:15 +00:00
test byte ptr word_FAEE, 8
jz short loc_BEB3
push di
push [bp+var_8]
push 0E1h
2014-07-02 17:43:15 +00:00
call sub_BB83
inc di
cmp di, 10h
jle short loc_BEA9
xor di, di
loc_BEA9:
2014-07-02 17:43:15 +00:00
push di
push [bp+var_8]
push 85h ; '<27>E
2014-07-02 17:43:15 +00:00
call sub_BB83
loc_BEB3:
2014-07-02 17:43:15 +00:00
test byte ptr word_FAEE, 10h
jnz short loc_BEC3
test byte ptr word_FAEE, 80h
jz loc_BF58
loc_BEC3:
2014-07-02 17:43:15 +00:00
cmp [bp+var_8], 2
jnz short loc_BECE
cmp di, 0Dh
jge short loc_BF0B
loc_BECE:
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
call sub_BB83
mov di, 10h
mov [bp+var_8], 2
push di
push [bp+var_8]
push 85h ; '<27>E
2014-07-02 17:43:15 +00:00
call sub_BB83
loc_BF03:
2014-07-02 17:43:15 +00:00
inc si
cmp si, 5
jle short loc_BF51
jmp short loc_BF47
; ---------------------------------------------------------------------------
loc_BF0B:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
cmp di, 0Eh
jnz short loc_BF3C
dec si
or si, si
jge short loc_BF2F
xor si, si
loc_BF2F:
2014-07-02 17:43:15 +00:00
mov bx, [bp+var_2]
imul bx, 7
mov byte ptr [bx+si+2BC4h], 0CFh ; '<27>'
jmp short loc_BF51
; ---------------------------------------------------------------------------
loc_BF3C:
2014-07-02 17:43:15 +00:00
cmp di, 0Fh
jnz short loc_BF4C
inc si
cmp si, 5
jle short loc_BF51
loc_BF47:
2014-07-02 17:43:15 +00:00
mov si, 5
jmp short loc_BF51
; ---------------------------------------------------------------------------
loc_BF4C:
2014-07-02 17:43:15 +00:00
cmp di, 10h
jz short loc_BFAF
loc_BF51:
2014-07-02 17:43:15 +00:00
push [bp+var_2]
push si
call sub_BBB4
loc_BF58:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
push [bp+var_2]
push si
call sub_BBB4
loc_BF78:
2014-07-02 17:43:15 +00:00
test byte ptr word_FAEE, 40h
jnz short loc_BFAF
loc_BF7F:
2014-07-02 17:43:15 +00:00
push 1
call sub_B520
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:
2014-07-02 17:43:15 +00:00
push cs
call near ptr sub_BBFD
loc_BFB3:
2014-07-02 17:43:15 +00:00
pop di
pop si
leave
retf
sub_BC9E endp
; ---------------------------------------------------------------------------
push bp
mov bp, sp
push large [HUUHI_DAT]
2014-08-30 06:46:38 +00:00
call file_exist
2014-07-02 17:43:15 +00:00
or ax, ax
jnz short loc_BFCE
push cs
call near ptr sub_B8ED
jmp short loc_BFD1
; ---------------------------------------------------------------------------
loc_BFCE:
2014-07-02 17:43:15 +00:00
call sub_B967
loc_BFD1:
2014-07-02 17:43:15 +00:00
mov eax, dword_FB18
cmp eax, dword_FB0C
jl short loc_BFDE
jmp short loc_BFE2
; ---------------------------------------------------------------------------
loc_BFDE:
2014-07-02 17:43:15 +00:00
mov eax, dword_FB0C
loc_BFE2:
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
inc byte_D722
loc_C031:
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
mov al, [bp+arg_0]
add al, 2Fh ; '/'
loc_C0B8:
2014-07-02 17:43:15 +00:00
mov [bp+arg_0], al
inc si
loc_C0BC:
2014-07-02 17:43:15 +00:00
cmp si, 4
jl short loc_C052
push [bp+var_8]
push [bp+var_10]
push [bp+var_6]
push [bp+var_E]
2014-08-31 09:30:26 +00:00
call grcg_line
2014-07-02 17:43:15 +00:00
push [bp+var_6]
push [bp+var_E]
push [bp+var_4]
push [bp+var_C]
2014-08-31 09:30:26 +00:00
call grcg_line
2014-07-02 17:43:15 +00:00
push [bp+var_4]
push [bp+var_C]
push [bp+var_2]
push [bp+var_A]
2014-08-31 09:30:26 +00:00
call grcg_line
2014-07-02 17:43:15 +00:00
push [bp+var_2]
push [bp+var_A]
push [bp+var_8]
push [bp+var_10]
2014-08-31 09:30:26 +00:00
call grcg_line
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
push bp
mov bp, sp
call egc_on
2014-07-02 17:43:15 +00:00
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
push cs
call near ptr sub_C10B
mov word ptr [bp-2], 0
jmp short loc_C1B5
; ---------------------------------------------------------------------------
loc_C173:
2014-07-02 17:43:15 +00:00
mov [bp-4], di
mov ax, [bp-6]
mov [bp-0Ah], ax
jmp short loc_C1A9
; ---------------------------------------------------------------------------
loc_C17E:
2014-07-02 17:43:15 +00:00
mov dx, 0A6h ; '<27>'
mov al, 1
out dx, al
2014-07-02 17:43:15 +00:00
les bx, dword_F892
add bx, [bp-0Ah]
mov ax, es:[bx]
mov [bp-8], ax
mov al, 0
out dx, al
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
cmp [bp-4], si
jl short loc_C17E
add word ptr [bp-6], 50h ; 'P'
inc word ptr [bp-2]
loc_C1B5:
2014-07-02 17:43:15 +00:00
mov ax, [bp-2]
cmp ax, [bp+0Ch]
jl short loc_C173
call egc_off
2014-07-02 17:43:15 +00:00
pop di
pop si
leave
retf
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_C1C6 proc far
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
mov al, [bp+arg_0]
mov byte ptr [bp+si+var_10], al
inc si
loc_C1F9:
2014-07-02 17:43:15 +00:00
cmp si, 5
jl short loc_C1F2
push large 0C00000h
call grcg_setcolor
2014-07-02 17:43:15 +00:00
push large 0
push large 180018Fh
2014-08-28 03:31:57 +00:00
call grcg_boxfill
2014-07-02 17:43:15 +00:00
xor si, si
jmp loc_C2AE
; ---------------------------------------------------------------------------
loc_C21C:
2014-07-02 17:43:15 +00:00
push large 0C00000h
call grcg_setcolor
2014-07-02 17:43:15 +00:00
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 large 0C00004h
call grcg_setcolor
2014-07-02 17:43:15 +00:00
mov di, 1
jmp short loc_C27E
; ---------------------------------------------------------------------------
loc_C24C:
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
cmp di, 4
jl short loc_C24C
push large 0C0000Fh
call grcg_setcolor
2014-07-02 17:43:15 +00:00
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:
2014-07-02 17:43:15 +00:00
push [bp+var_2]
push [bp+var_C]
call sub_C045
push 1
call sub_B520
inc si
loc_C2AE:
2014-07-02 17:43:15 +00:00
cmp si, 14h
jl loc_C21C
push large 0C00000h
call grcg_setcolor
2014-07-02 17:43:15 +00:00
push large 0
push large 180018Fh
2014-08-28 03:31:57 +00:00
call grcg_boxfill
2014-07-02 17:43:15 +00:00
push large 0C0000Fh
call grcg_setcolor
2014-07-02 17:43:15 +00:00
push large 1640060h
push large 1640130h
2014-08-31 09:30:26 +00:00
call grcg_line
2014-07-02 17:43:15 +00:00
push large 1640130h
push large 1C0130h
2014-08-31 09:30:26 +00:00
call grcg_line
2014-07-02 17:43:15 +00:00
push large 1C0130h
push large 1C0060h
2014-08-31 09:30:26 +00:00
call grcg_line
2014-07-02 17:43:15 +00:00
push large 1C0060h
push large 1640060h
2014-08-31 09:30:26 +00:00
call grcg_line
call grcg_off
2014-08-23 13:47:05 +00:00
mov PaletteTone, 0C8h ; '<27>'
2014-08-23 14:11:16 +00:00
call far ptr palette_show
2014-07-02 17:43:15 +00:00
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
2014-08-30 00:37:53 +00:00
include libs/BorlandC/ctor3[textc].asm
include libs/BorlandC/strings[textc].asm
dd 0
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
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
2014-07-02 17:43:15 +00:00
; char path[]
path db 'op',0
2014-08-23 10:08:48 +00:00
include libs/master.lib/bfnt_id[data].asm
include libs/master.lib/clip[data].asm
2014-08-27 22:05:06 +00:00
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
2014-08-31 08:08:09 +00:00
include libs/master.lib/gaiji_entry_bfnt[data].asm
include libs/master.lib/grp[data].asm
2014-07-02 17:43:15 +00:00
db 0
2014-08-23 13:47:05 +00:00
include libs/master.lib/pal[data].asm
include libs/master.lib/pf[data].asm
2014-07-02 17:43:15 +00:00
db 0
include libs/master.lib/sin8[data].asm
2014-08-15 12:26:44 +00:00
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
2014-07-02 17:43:15 +00:00
db 0
a_exe db '.exe',0
byte_D713 db 0
byte_D714 db 0
2014-07-02 17:43:15 +00:00
db 0
aUmx db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E>^',0
byte_D722 db 1
2014-07-02 17:43:15 +00:00
db 0
aHuuma_cfg db 'huuma.cfg',0
include th02/strings/hiscore[data].asm
unk_D77C db 3Eh ; >
2014-07-02 17:43:15 +00:00
db 1
db 76h ; v
db 0
db 0DAh
2014-07-02 17:43:15 +00:00
db 0
aHuuhi_dat db 'huuhi.dat',0
unk_D78C db 0
2014-07-02 17:43:15 +00:00
db 1
db 0
db 1
db 0
db 1
db 0
db 1
db 0
db 1
asc_D796 db ')))))',0
2014-07-02 17:43:15 +00:00
aAbnormalProgra db 'Abnormal program termination',0Dh,0Ah,0
db 0
include libs/BorlandC/atexit[data].asm
2014-08-20 15:53:02 +00:00
include libs/BorlandC/exit[data].asm
include libs/BorlandC/files[data].asm
include libs/BorlandC/__IOERROR[data].asm
2014-07-02 17:43:15 +00:00
db 0
include libs/BorlandC/new[data].asm
__stklen dw 1000h
2014-09-01 07:17:32 +00:00
include libs/master.lib/ctype[data].asm
2014-07-02 17:43:15 +00:00
db 0
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
2014-09-04 18:54:06 +00:00
include libs/BorlandC/srchenv[data].asm
2014-09-04 18:29:49 +00:00
include libs/BorlandC/srchstr[data].asm
2014-09-03 12:02:14 +00:00
include libs/BorlandC/setvbuf[data].asm
include libs/BorlandC/sysnerr[data].asm
include libs/BorlandC/xx[data].asm
2014-08-18 12:33:24 +00:00
include libs/BorlandC/setenvp[data].asm
include libs/BorlandC/strings[data].asm
include libs/BorlandC/mbctype[data].asm
2014-09-06 16:48:39 +00:00
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
2014-08-18 12:33:24 +00:00
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 ? ;
2014-07-02 17:43:15 +00:00
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 ? ;
2014-07-02 17:43:15 +00:00
db ? ;
db ? ;
db ? ;
unk_DFFE db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_E02C db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_E05A db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
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 ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_E112 db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
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 ? ;
2014-07-02 17:43:15 +00:00
db ? ;
db ? ;
db ? ;
unk_E1F8 db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_E226 db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_E254 db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_E282 db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_E2B0 db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_E2DE db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_E30C db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_E33A db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
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 ? ;
2014-07-02 17:43:15 +00:00
db ? ;
db ? ;
db ? ;
unk_E3C4 db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_E3F2 db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_E420 db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_E44E db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_E47C db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
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 ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_E534 db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_E562 db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_E590 db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_E5BE db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
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 ? ;
2014-07-02 17:43:15 +00:00
db ? ;
db ? ;
db ? ;
unk_E6A4 db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_E6D2 db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_E700 db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_E72E db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_E75C db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_E78A db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_E7B8 db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_E7E6 db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_E814 db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_E842 db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
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 ? ;
2014-07-02 17:43:15 +00:00
db ? ;
db ? ;
db ? ;
unk_EA98 db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_EAC6 db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_EAF4 db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_EB22 db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_EB50 db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_EB7E db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_EBAC db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_EBDA db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_EC08 db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_EC36 db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_EC64 db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_EC92 db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_ECC0 db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_ECEE db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
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 ? ;
2014-07-02 17:43:15 +00:00
db ? ;
unk_EEBA db ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
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 ? ;
2014-07-02 17:43:15 +00:00
db ? ;
byte_F02A db ?
byte_F02B db ?
dd ? ;
dd ? ;
dd ? ;
dd ? ;
include libs/master.lib/fil[bss].asm
2014-08-23 13:47:05 +00:00
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 ?
dword_F8A2 dd ?
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
unk_F8BA 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 ? ;
2014-07-02 17:43:15 +00:00
db ? ;
db ? ;
db ? ;
unk_FA6A 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 ? ;
2014-07-02 17:43:15 +00:00
db ? ;
db ? ;
db ? ;
word_FAEA dw ?
word_FAEC dw ?
word_FAEE dw ?
byte_FAF0 db ?
byte_FAF1 db ?
byte_FAF2 db ?
byte_FAF3 db ?
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
db ? ;
dword_FB02 dd ?
2014-07-02 17:43:15 +00:00
db ? ;
byte_FB07 db ?
byte_FB08 db ?
db ?
2014-07-02 17:43:15 +00:00
db ? ;
db ? ;
dword_FB0C dd ?
2014-07-02 17:43:15 +00:00
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 ? ;
2014-07-02 17:43:15 +00:00
db ? ;
db ? ;
byte_FB8A db ?
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
db ? ;
byte_FB95 db ?
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
2014-07-02 17:43:15 +00:00
db ? ;
db ? ;
dword_FBC8 dd ?
include libs/BorlandC/atexit[bss].asm
include libs/BorlandC/sigdata[bss].asm
dd ? ;
include libs/BorlandC/signal[bss].asm
include libs/BorlandC/xx[bss].asm
edata@ label byte
dd ? ;
dd ? ;
dd ? ;
dw ? ;
2014-07-02 17:43:15 +00:00
dseg ends
; ===========================================================================
; Segment type: Uninitialized
seg008 segment byte stack 'STACK' use16
assume cs:seg008
assume es:nothing, ss:nothing, ds:dseg, fs:nothing, gs:nothing
db 80h dup(?)
seg008 ends
end startx