mirror of https://github.com/nmlgc/ReC98.git
7343 lines
130 KiB
NASM
7343 lines
130 KiB
NASM
;
|
||
; +-------------------------------------------------------------------------+
|
||
; | This file has been generated by The Interactive Disassembler (IDA) |
|
||
; | Copyright (c) 2009 by Hex-Rays, <support@hex-rays.com> |
|
||
; +-------------------------------------------------------------------------+
|
||
;
|
||
; Input MD5 : 9FB2839DB50F38119D0B98D4FB70CD0E
|
||
|
||
; File Name : th02/OP.EXE
|
||
; Format : MS-DOS executable (EXE)
|
||
; Base Address: 0h Range: 0h-F9F0h Loaded length: E8F8h
|
||
; 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
|
||
CGROUP07 group seg007
|
||
.386
|
||
.model large
|
||
|
||
include ReC98.inc
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
seg000 segment word public 'CODE' use16
|
||
assume cs:seg000
|
||
assume es:nothing, ss:seg009, ds:dseg, fs:nothing, gs:nothing
|
||
|
||
include libs/BorlandC/c0.asm
|
||
db 0
|
||
include libs/master.lib/bfnt_entry_pat.asm
|
||
include libs/master.lib/bfnt_extend_header_skip.asm
|
||
include libs/master.lib/bfnt_header_read.asm
|
||
include libs/master.lib/bfnt_header_analysis.asm
|
||
include libs/master.lib/bcloser.asm
|
||
include libs/master.lib/bfill.asm
|
||
include libs/master.lib/bfnt_palette_set.asm
|
||
include libs/master.lib/bgetc.asm
|
||
include libs/master.lib/palette_black_in.asm
|
||
include libs/master.lib/palette_black_out.asm
|
||
include libs/master.lib/bopenr.asm
|
||
include libs/master.lib/bread.asm
|
||
include libs/master.lib/bseek.asm
|
||
include libs/master.lib/bseek_.asm
|
||
include libs/master.lib/dos_axdx.asm
|
||
include libs/master.lib/dos_setvect.asm
|
||
include libs/master.lib/egc.asm
|
||
include libs/master.lib/file_close.asm
|
||
include libs/master.lib/file_create.asm
|
||
include libs/master.lib/file_exist.asm
|
||
include libs/master.lib/file_read.asm
|
||
include libs/master.lib/file_ropen.asm
|
||
include libs/master.lib/file_seek.asm
|
||
include libs/master.lib/file_write.asm
|
||
include libs/master.lib/dos_close.asm
|
||
include libs/master.lib/dos_ropen.asm
|
||
include libs/master.lib/grcg_boxfill.asm
|
||
include libs/master.lib/grc_setclip.asm
|
||
include libs/master.lib/grcg_fill.asm
|
||
include libs/master.lib/grcg_hline.asm
|
||
include libs/master.lib/grcg_polygon_c.asm
|
||
include libs/master.lib/grcg_round_boxfill.asm
|
||
include libs/master.lib/grcg_setcolor.asm
|
||
include libs/master.lib/gaiji_backup.asm
|
||
include libs/master.lib/gaiji_entry_bfnt.asm
|
||
include libs/master.lib/gaiji_putca.asm
|
||
include libs/master.lib/gaiji_putsa.asm
|
||
include libs/master.lib/gaiji_read.asm
|
||
include libs/master.lib/gaiji_write.asm
|
||
include libs/master.lib/graph_400line.asm
|
||
include libs/master.lib/graph_clear.asm
|
||
include libs/master.lib/graph_copy_page.asm
|
||
include libs/master.lib/graph_extmode.asm
|
||
include libs/master.lib/graph_gaiji_putc.asm
|
||
include libs/master.lib/graph_gaiji_puts.asm
|
||
include libs/master.lib/graph_pi_free.asm
|
||
include libs/master.lib/graph_pi_load_pack.asm
|
||
include libs/master.lib/graph_pack_put_8.asm
|
||
include libs/master.lib/graph_show.asm
|
||
include libs/master.lib/graph_start.asm
|
||
include libs/master.lib/keybeep.asm
|
||
include libs/master.lib/draw_trapezoid.asm
|
||
include libs/master.lib/make_linework.asm
|
||
include libs/master.lib/palette_init.asm
|
||
include libs/master.lib/palette_show.asm
|
||
include libs/master.lib/pfclose.asm
|
||
include libs/master.lib/pfgetc.asm
|
||
db 0
|
||
include libs/master.lib/pfread.asm
|
||
include libs/master.lib/pfrewind.asm
|
||
include libs/master.lib/pfseek.asm
|
||
include libs/master.lib/random.asm
|
||
include libs/master.lib/palette_entry_rgb.asm
|
||
include libs/master.lib/rottbl.asm
|
||
include libs/master.lib/smem_release.asm
|
||
include libs/master.lib/smem_wget.asm
|
||
include libs/BorlandC/text_clear.asm
|
||
include libs/BorlandC/txesc.asm
|
||
db 0
|
||
include libs/master.lib/text_fillca.asm
|
||
include libs/master.lib/text_putca.asm
|
||
include libs/master.lib/text_putsa.asm
|
||
include libs/master.lib/vsync.asm
|
||
include libs/master.lib/vsync_wait.asm
|
||
include libs/master.lib/palette_white_in.asm
|
||
include libs/master.lib/hmem_lallocate.asm
|
||
include libs/master.lib/mem_assign_dos.asm
|
||
include libs/master.lib/mem_assign.asm
|
||
include libs/master.lib/memheap.asm
|
||
include libs/master.lib/mem_unassign.asm
|
||
include libs/master.lib/super_free.asm
|
||
include libs/master.lib/super_entry_pat.asm
|
||
include libs/master.lib/super_entry_at.asm
|
||
include libs/master.lib/super_entry_bfnt.asm
|
||
include libs/master.lib/super_cancel_pat.asm
|
||
include libs/master.lib/super_put_rect.asm
|
||
include libs/master.lib/super_put.asm
|
||
dword_2F50 dd 0
|
||
byte_2F54 db 0, 90h
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_2F56 proc far
|
||
|
||
arg_0 = dword ptr 6
|
||
|
||
push bp
|
||
mov bp, sp
|
||
cld
|
||
mov ax, word ptr cs:dword_2F50
|
||
or ax, word ptr cs:dword_2F50+2
|
||
jnz short loc_2F8C
|
||
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_2F50, bx
|
||
mov word ptr cs:dword_2F50+2, es
|
||
mov word_F3C4, 0
|
||
mov word_F3C6, 0FFFFh
|
||
push ds
|
||
push cs
|
||
pop ds
|
||
assume ds:seg000
|
||
mov dx, 2FE6h
|
||
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_2F8C:
|
||
push si
|
||
push di
|
||
push ds
|
||
mov cx, 0FFFFh
|
||
mov al, 0
|
||
les di, [bp+arg_0]
|
||
assume es:nothing
|
||
repne scasb
|
||
not cx
|
||
sub di, cx
|
||
mov si, di
|
||
mov di, 1D14h
|
||
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_2F56 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
nop
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_2FB6 proc far
|
||
mov ax, word ptr cs:dword_2F50
|
||
or ax, word ptr cs:dword_2F50+2
|
||
jz short locret_2FE5
|
||
push ds
|
||
lds dx, cs:dword_2F50
|
||
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_2F50, ax
|
||
mov word ptr cs:dword_2F50+2, ax
|
||
cmp word_F3C4, ax
|
||
jz short locret_2FE5
|
||
push word_F3C4
|
||
call pfclose
|
||
|
||
locret_2FE5:
|
||
retf
|
||
sub_2FB6 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
cmp cs:byte_2F54, 0
|
||
jz short loc_2FF3
|
||
jmp cs:dword_2F50
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_2FF3:
|
||
pusha
|
||
push ds
|
||
push es
|
||
mov bp, sp
|
||
mov di, seg dseg
|
||
mov ds, di
|
||
inc cs:byte_2F54
|
||
push word ptr [bp+18h]
|
||
popf
|
||
mov cs:byte_304A, ah
|
||
mov si, 301Ah
|
||
|
||
loc_300E:
|
||
add si, 4
|
||
cmp ah, cs:[si]
|
||
jnz short loc_300E
|
||
mov di, word_F3C6
|
||
jmp word ptr cs:[si+2]
|
||
; ---------------------------------------------------------------------------
|
||
db 3Dh ; =
|
||
db 0
|
||
db 4Eh ; N
|
||
db 30h ; 0
|
||
db 3Eh ; >
|
||
db 0
|
||
db 83h
|
||
db 30h ; 0
|
||
db 3Fh ; ?
|
||
db 0
|
||
db 0A1h ; <20>
|
||
db 30h ; 0
|
||
db 42h ; B
|
||
db 0
|
||
db 0B5h ; <20>
|
||
db 30h ; 0
|
||
db 46h ; F
|
||
db 0
|
||
db 16h
|
||
db 31h ; 1
|
||
db 40h
|
||
db 0
|
||
db 1Ah
|
||
db 31h ; 1
|
||
db 45h ; E
|
||
db 0
|
||
db 1Ah
|
||
db 31h ; 1
|
||
db 4Ch ; L
|
||
db 0
|
||
db 0F8h
|
||
db 30h ; 0
|
||
db 57h ; W
|
||
db 0
|
||
db 1Ah
|
||
db 31h ; 1
|
||
db 5Ch
|
||
db 0
|
||
db 1Ah
|
||
db 31h ; 1
|
||
db 44h ; D
|
||
db 0
|
||
db 4
|
||
db 31h ; 1
|
||
byte_304A db 0
|
||
db 0
|
||
db 1Eh, 31h, 0A8h, 0Fh, 74h, 3, 0E9h, 0C9h, 0, 0Bh, 0FFh
|
||
db 78h, 3, 0E9h, 0C2h, 0, 1Eh, 68h, 14h, 1Dh, 0FFh, 76h
|
||
db 2, 52h, 0Eh, 0E8h, 0E2h, 0, 0Bh, 0C0h, 75h, 3, 0E9h
|
||
db 0AFh, 0, 0A3h, 94h, 1Dh, 8Eh, 0C0h, 26h, 8Eh, 6, 2 dup(0)
|
||
db 26h, 0A1h, 2 dup(0), 0A3h, 96h, 1Dh, 0E9h, 0B6h, 0
|
||
db 3Bh, 0DFh, 74h, 3, 0E9h, 94h, 0, 0FFh, 36h, 94h, 1Dh
|
||
db 0Eh, 0E8h, 82h, 0EDh, 0C7h, 6, 94h, 1Dh, 2 dup(0), 0C7h
|
||
db 6, 96h, 1Dh, 2 dup(0FFh), 0E9h, 98h, 0, 3Bh, 0DFh, 75h
|
||
db 79h, 0FFh, 76h, 2, 52h, 51h, 0FFh, 36h, 94h, 1Dh, 0Eh
|
||
db 0E8h, 2Ch, 0EEh, 0E9h, 84h, 0, 3Bh, 0DFh, 75h, 65h
|
||
db 0Bh, 0C9h, 7Ch, 73h, 3Ch, 1, 74h, 28h, 7Ch, 1Ah, 8Eh
|
||
db 6, 94h, 1Dh, 26h, 8Bh, 2 dup(16h), 0, 26h, 8Bh, 0Eh
|
||
db 18h, 0, 26h, 2Bh, 16h, 12h, 0, 26h, 1Bh, 0Eh, 14h, 0
|
||
db 0EBh, 0Ch, 51h, 52h, 0FFh, 36h, 94h, 1Dh, 0Eh, 0E8h
|
||
db 25h, 0EEh, 5Ah, 59h, 0FFh, 36h, 94h, 1Dh, 51h, 52h
|
||
db 0Eh, 0E8h, 55h, 0EEh, 89h, 56h, 0Eh, 0EBh, 41h, 2Eh
|
||
db 0C5h, 16h, 50h, 2Fh, 0B8h, 21h, 25h, 0CDh, 21h, 0EBh
|
||
db 1Ah, 8Ah, 0C8h, 0B8h, 1, 0, 0D3h, 0E0h, 2Eh, 85h, 6
|
||
db 14h, 31h, 75h, 8, 0EBh, 0Ah, 0CFh, 14h, 8Bh, 0CFh, 74h
|
||
db 16h, 3Bh, 0DFh, 74h, 12h, 2Eh, 0FEh, 0Eh, 54h, 2Fh
|
||
db 0FFh, 76h, 18h, 9Dh, 7, 1Fh, 61h, 0FAh, 2Eh, 0FFh, 2Eh
|
||
db 50h, 2Fh, 80h, 4Eh, 18h, 1, 0B8h, 1, 0, 0EBh, 4, 80h
|
||
db 66h, 18h, 0FEh, 89h, 46h, 12h, 2Eh, 0FEh, 0Eh, 54h
|
||
db 2Fh, 7, 1Fh, 61h, 0CFh, 0, 0C8h, 20h, 2 dup(0), 56h
|
||
db 57h, 0C7h, 6, 82h, 5, 7, 0, 6Ah, 1Fh, 0Eh, 0E8h, 3Ah
|
||
db 0F6h, 73h, 3, 0E9h, 0BBh, 0, 8Bh, 0F0h, 0FFh, 76h, 0Ch
|
||
db 0FFh, 76h, 0Ah, 0Eh, 0E8h, 4Bh, 0D4h, 0Bh, 0C0h, 75h
|
||
db 3, 0E9h, 0A1h, 0, 8Eh, 0C6h, 26h, 0A3h, 2 dup(0), 8Dh
|
||
db 7Eh, 0E0h, 57h, 56h, 0FFh, 76h, 0Ch, 0FFh, 76h, 0Ah
|
||
db 0FFh, 76h, 8, 0FFh, 76h, 6, 0E8h, 9Ch, 0, 0Bh, 0C0h
|
||
db 75h, 77h, 0B8h, 0D0h, 1Eh, 26h, 0A3h, 4, 0, 0A0h, 82h
|
||
db 2, 26h, 0A2h, 1Eh, 0, 36h, 8Bh, 5, 3Dh, 88h, 0F3h, 74h
|
||
db 0Ah, 3Dh, 2 dup(95h), 74h, 0Fh, 0B8h, 5, 0, 0EBh, 57h
|
||
db 26h, 0A1h, 4, 0, 26h, 0A3h, 2, 0, 0EBh, 15h, 26h, 0C7h
|
||
db 6, 2, 0, 3Eh, 1Eh, 26h, 0C7h, 6, 1Ah, 3 dup(0), 26h
|
||
db 0C7h, 6, 1Ch, 0, 2 dup(0FFh), 36h, 8Bh, 45h, 10h, 36h
|
||
db 8Bh, 55h, 12h, 26h, 0A3h, 6, 0, 26h, 89h, 16h, 8, 0
|
||
db 36h, 8Bh, 45h, 14h, 36h, 8Bh, 55h, 16h, 26h, 0A3h, 16h
|
||
db 0, 26h, 89h, 16h, 18h, 0, 33h, 0C0h, 26h, 0A3h, 0Ah
|
||
db 0, 26h, 0A3h, 0Ch, 0, 26h, 0A3h, 12h, 0, 26h, 0A3h
|
||
db 14h, 0, 8Bh, 0C6h, 0EBh, 1Ah, 0A3h, 80h, 2, 26h, 0FFh
|
||
db 36h, 2 dup(0), 0Eh, 0E8h, 5Dh, 0D2h, 56h, 0Eh, 0E8h
|
||
db 80h, 0F6h, 0EBh, 5, 0C6h, 6, 80h, 2, 3, 33h, 0C0h, 5Fh
|
||
db 5Eh, 0C9h, 0CAh, 8, 0, 90h, 0C8h, 6, 2 dup(0), 56h
|
||
db 57h, 6, 8Bh, 76h, 0Ch, 8Eh, 0C6h, 33h, 0C0h, 26h, 0A3h
|
||
db 0Eh, 0, 26h, 0A3h, 10h, 0, 1Eh, 56h, 0FCh, 33h, 0DBh
|
||
db 8Bh, 0D3h, 0C5h, 76h, 8, 0ACh, 3Ch, 0, 74h, 0Bh, 3Ch
|
||
db 2Eh, 75h, 0F7h, 8Dh, 5Ch, 0FFh, 8Ch, 0DAh, 0EBh
|
||
db 0F0h, 5Eh, 1Fh, 8Bh, 0C2h, 0Bh, 0C3h, 74h, 0, 8Bh, 7Eh
|
||
db 0Eh, 0C6h, 6, 0B1h, 5, 0, 8Eh, 0C6h, 16h, 57h, 6Ah
|
||
db 20h, 26h, 0FFh, 36h, 2 dup(0), 0Eh, 0E8h, 93h, 0D3h
|
||
db 0FEh, 6, 0B1h, 5, 80h, 3Eh, 0B1h, 5, 0FFh, 0BBh, 2
|
||
db 0, 74h, 40h, 3Dh, 20h, 0, 75h, 3Bh, 8Eh, 0C6h, 26h
|
||
db 1, 6, 0Eh, 0, 26h, 83h, 16h, 10h, 2 dup(0), 36h, 8Bh
|
||
db 5, 23h, 0C0h, 0BBh, 6, 0, 74h, 24h, 8Dh, 5Dh, 3, 36h
|
||
db 80h, 3Fh, 0, 74h, 6, 36h, 0F6h, 17h, 43h, 0EBh, 0F4h
|
||
db 8Dh, 5Dh, 3, 0FFh, 76h, 6, 0FFh, 76h, 4, 16h, 53h, 0E8h
|
||
db 30h, 0, 0B8h, 2 dup(0), 75h, 4, 0EBh, 0A3h, 8Bh, 0C3h
|
||
db 8Eh, 0C6h, 36h, 8Bh, 45h, 18h, 36h, 8Bh, 55h, 1Ah, 26h
|
||
db 0A3h, 0Eh, 0, 26h, 89h, 16h, 10h, 0, 26h, 0FFh, 36h
|
||
db 2 dup(0), 52h, 50h, 6Ah, 0, 0Eh, 0E8h, 95h, 0D3h, 7
|
||
db 5Fh, 5Eh, 0C9h, 0C2h, 0Ch, 0
|
||
; ---------------------------------------------------------------------------
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push ds
|
||
cld
|
||
les bx, [bp+8]
|
||
lds si, [bp+4]
|
||
|
||
loc_32FC:
|
||
mov ah, es:[bx]
|
||
inc bx
|
||
lodsb
|
||
sub al, 61h ; 'a'
|
||
cmp al, 19h
|
||
ja short loc_3309
|
||
sub al, 20h ; ' '
|
||
|
||
loc_3309:
|
||
sub ah, 61h ; 'a'
|
||
cmp ah, 19h
|
||
ja short loc_3314
|
||
sub ah, 20h ; ' '
|
||
|
||
loc_3314:
|
||
cmp ah, al
|
||
jnz short loc_331E
|
||
add al, 61h ; 'a'
|
||
jnz short loc_32FC
|
||
jmp short loc_3320
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_331E:
|
||
xor ax, ax
|
||
|
||
loc_3320:
|
||
test ax, ax
|
||
pop ds
|
||
pop si
|
||
pop bp
|
||
retn 8
|
||
|
||
include libs/BorlandC/__abort.asm
|
||
include libs/BorlandC/stpcpy.asm
|
||
include libs/BorlandC/abort.asm
|
||
include libs/BorlandC/atexit.asm
|
||
include libs/BorlandC/del.asm
|
||
include libs/BorlandC/delarray.asm
|
||
include libs/BorlandC/dosenv.asm
|
||
include libs/BorlandC/dosgdriv.asm
|
||
include libs/BorlandC/errormsg.asm
|
||
include libs/BorlandC/exit.asm
|
||
include libs/BorlandC/f_lxmul.asm
|
||
include libs/BorlandC/f_scopy.asm
|
||
include libs/BorlandC/getvect.asm
|
||
include libs/BorlandC/H_LDIV.ASM
|
||
include libs/BorlandC/H_LLSH.ASM
|
||
include libs/BorlandC/H_LRSH.ASM
|
||
include libs/BorlandC/H_PADD.ASM
|
||
include libs/BorlandC/__IOERROR.ASM
|
||
include libs/BorlandC/_isatty.asm
|
||
include libs/BorlandC/lseek.asm
|
||
include libs/BorlandC/new.asm
|
||
include libs/BorlandC/N_LXMUL.ASM
|
||
include libs/BorlandC/N_PCMP.ASM
|
||
include libs/BorlandC/setupio.asm
|
||
include libs/BorlandC/toupper.asm
|
||
include libs/BorlandC/xxas.asm
|
||
include libs/BorlandC/xxv.asm
|
||
include libs/BorlandC/cputype.asm
|
||
include libs/BorlandC/FARHEAP.ASM
|
||
include libs/BorlandC/fbrk.asm
|
||
include libs/BorlandC/signal.asm
|
||
include libs/BorlandC/access.asm
|
||
include libs/BorlandC/pathops.asm
|
||
include libs/BorlandC/chmoda.asm
|
||
include libs/BorlandC/fflush.asm
|
||
include libs/BorlandC/flushall.asm
|
||
include libs/BorlandC/fseek.asm
|
||
include libs/BorlandC/fullpath.asm
|
||
include libs/BorlandC/getdcwd.asm
|
||
include libs/BorlandC/getenv.asm
|
||
include libs/BorlandC/memcmp.asm
|
||
include libs/BorlandC/memcpy.asm
|
||
include libs/BorlandC/memset.asm
|
||
include libs/BorlandC/movmem.asm
|
||
include libs/BorlandC/srchenv.asm
|
||
include libs/BorlandC/srchstr.asm
|
||
include libs/BorlandC/setvbuf.asm
|
||
include libs/BorlandC/_strcat.asm
|
||
include libs/BorlandC/_strcmp.asm
|
||
include libs/BorlandC/_strcpy.asm
|
||
include libs/BorlandC/_stricmp.asm
|
||
include libs/BorlandC/_strlen.asm
|
||
include libs/BorlandC/strrchr.asm
|
||
include libs/BorlandC/write.asm
|
||
include libs/BorlandC/writea.asm
|
||
include libs/BorlandC/xfflush.asm
|
||
include libs/BorlandC/xalloc.asm
|
||
include libs/BorlandC/xmsg.asm
|
||
include libs/BorlandC/xx.asm
|
||
include libs/BorlandC/doscmd.asm
|
||
include libs/BorlandC/exec.asm
|
||
include libs/BorlandC/execl.asm
|
||
include libs/BorlandC/setblock.asm
|
||
include libs/BorlandC/setenvp.asm
|
||
include libs/BorlandC/ctor2.asm
|
||
include libs/BorlandC/ctor3.asm
|
||
include libs/BorlandC/strings.asm
|
||
include libs/BorlandC/mbjmsjis.asm
|
||
include libs/BorlandC/loadprog.asm
|
||
seg000 ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
seg001 segment byte public 'CODE' use16
|
||
assume cs:seg001
|
||
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_9BF0 proc far
|
||
|
||
var_C = word ptr -0Ch
|
||
var_A = word ptr -0Ah
|
||
var_8 = byte ptr -8
|
||
var_7 = byte ptr -7
|
||
var_6 = byte ptr -6
|
||
var_5 = byte ptr -5
|
||
var_4 = byte ptr -4
|
||
var_3 = word ptr -3
|
||
var_1 = byte ptr -1
|
||
|
||
enter 0Ch, 0
|
||
mov [bp+var_A], ds
|
||
mov [bp+var_C], 163h
|
||
push [bp+var_A]
|
||
push [bp+var_C]
|
||
call file_exist
|
||
or ax, ax
|
||
jnz short loc_9C0E
|
||
jmp loc_9C9D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9C0E:
|
||
push [bp+var_A]
|
||
push [bp+var_C]
|
||
call file_ropen
|
||
push ss
|
||
lea ax, [bp+var_8]
|
||
push ax
|
||
push 8
|
||
call file_read
|
||
mov al, [bp+var_8]
|
||
mov byte_DC34, al
|
||
mov al, [bp+var_7]
|
||
mov byte_E8F9, al
|
||
mov al, [bp+var_6]
|
||
mov byte_F3E2, al
|
||
mov al, [bp+var_5]
|
||
mov byte_F3E1, al
|
||
mov ax, [bp+var_3]
|
||
mov word_E900, ax
|
||
cmp word_E900, 0
|
||
jz short loc_9C9D
|
||
mov ax, word_E900
|
||
mov word ptr dword_F3DC+2, ax
|
||
mov word ptr dword_F3DC, 0
|
||
les bx, dword_F3DC
|
||
mov al, [bp+var_4]
|
||
mov es:[bx+24h], al
|
||
mov al, [bp+var_1]
|
||
mov es:[bx+0Ch], al
|
||
call file_close
|
||
cmp byte_E8F9, 0
|
||
jnz short loc_9C80
|
||
mov byte_F3CA, 0
|
||
mov byte_DBEE, 0
|
||
jmp short loc_9C99
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9C80:
|
||
cmp byte_E8F9, 1
|
||
jnz short loc_9C8E
|
||
mov byte_F3CB, 0
|
||
jmp short loc_9C94
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9C8E:
|
||
mov al, byte_F3CD
|
||
mov byte_F3CB, al
|
||
|
||
loc_9C94:
|
||
call sub_B092
|
||
|
||
loc_9C99:
|
||
xor ax, ax
|
||
leave
|
||
retf
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9C9D:
|
||
mov ax, 1
|
||
leave
|
||
retf
|
||
sub_9BF0 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_9CA2 proc far
|
||
|
||
var_C = byte ptr -0Ch
|
||
var_B = byte ptr -0Bh
|
||
var_A = byte ptr -0Ah
|
||
var_9 = byte ptr -9
|
||
var_8 = byte ptr -8
|
||
var_5 = byte ptr -5
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
|
||
enter 0Ch, 0
|
||
mov [bp+var_2], ds
|
||
mov [bp+var_4], 163h
|
||
mov [bp+var_5], 0
|
||
mov al, byte_DC34
|
||
mov [bp+var_C], al
|
||
mov al, byte_E8F9
|
||
mov [bp+var_B], al
|
||
mov al, byte_F3E2
|
||
mov [bp+var_A], al
|
||
mov al, byte_F3E1
|
||
mov [bp+var_9], al
|
||
les bx, dword_F3DC
|
||
mov al, es:[bx+24h]
|
||
mov [bp+var_8], al
|
||
push [bp+var_2]
|
||
push [bp+var_4]
|
||
call file_create
|
||
push ss
|
||
lea ax, [bp+var_C]
|
||
push ax
|
||
push 5
|
||
call file_write
|
||
push ds
|
||
push offset word_E900
|
||
push 2
|
||
call file_write
|
||
push ss
|
||
lea ax, [bp+var_5]
|
||
push ax
|
||
push 1
|
||
call file_write
|
||
call file_close
|
||
leave
|
||
retf
|
||
sub_9CA2 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_9D0A proc far
|
||
push bp
|
||
mov bp, sp
|
||
call text_clear
|
||
push 20h ; ' '
|
||
push 5
|
||
call text_fillca
|
||
pop bp
|
||
retf
|
||
sub_9D0A endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_9D1D proc near
|
||
|
||
arg_0 = byte ptr 4
|
||
arg_2 = word ptr 6
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push ds
|
||
push [bp+arg_2]
|
||
push 0
|
||
call sub_ADD5
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, [bp+arg_0]
|
||
out dx, al
|
||
push 0
|
||
call sub_B15A
|
||
push 0
|
||
push 0
|
||
push 0
|
||
call sub_B17D
|
||
add sp, 0Eh
|
||
push ds
|
||
push offset unk_F194
|
||
push word_F17E
|
||
push word_F17C
|
||
call graph_pi_free
|
||
pop bp
|
||
retn 4
|
||
sub_9D1D endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_9D5C proc far
|
||
|
||
var_6 = word ptr -6
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
|
||
enter 6, 0
|
||
push si
|
||
mov dx, word ptr gZUN+2
|
||
mov ax, word ptr gZUN
|
||
mov [bp+var_4], dx
|
||
mov [bp+var_6], ax
|
||
push cs
|
||
call near ptr sub_9D0A
|
||
push 0B00h
|
||
push ds
|
||
push offset aHuuma_efc ; "huuma.efc"
|
||
call sub_B0EA
|
||
push 177h
|
||
push 1
|
||
call sub_9D1D
|
||
push 17Eh
|
||
push 0
|
||
call sub_9D1D
|
||
push ds
|
||
push offset aOpa_pi ; "opa.pi"
|
||
push 0
|
||
call sub_ADD5
|
||
push ds
|
||
push offset aOpb_pi ; "opb.pi"
|
||
push 1
|
||
call sub_ADD5
|
||
push ds
|
||
push offset aOpc_pi ; "opc.pi"
|
||
push 2
|
||
call sub_ADD5
|
||
add sp, 18h
|
||
mov PaletteTone, 0C8h ; '<27>'
|
||
call far ptr palette_show
|
||
mov [bp+var_2], 0
|
||
jmp short loc_9E0F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9DC4:
|
||
xor si, si
|
||
jmp short loc_9DED
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9DC8:
|
||
mov ax, 27h ; '''
|
||
sub ax, [bp+var_2]
|
||
push ax
|
||
push si
|
||
push 20h ; ' '
|
||
push 0E1h
|
||
call text_putca
|
||
mov ax, [bp+var_2]
|
||
add ax, 28h ; '('
|
||
push ax
|
||
push si
|
||
push 20h ; ' '
|
||
push 0E1h
|
||
call text_putca
|
||
inc si
|
||
|
||
loc_9DED:
|
||
cmp si, 19h
|
||
jl short loc_9DC8
|
||
mov ax, [bp+var_2]
|
||
add ax, ax
|
||
mov dx, 0C8h ; '<27>'
|
||
sub dx, ax
|
||
mov PaletteTone, dx
|
||
call far ptr palette_show
|
||
push 1
|
||
call sub_B2D2
|
||
inc [bp+var_2]
|
||
|
||
loc_9E0F:
|
||
cmp [bp+var_2], 28h ; '('
|
||
jl short loc_9DC4
|
||
mov [bp+var_2], 28h ; '('
|
||
jmp short loc_9E39
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9E1C:
|
||
mov ax, [bp+var_2]
|
||
add ax, ax
|
||
mov dx, 0C8h ; '<27>'
|
||
sub dx, ax
|
||
mov PaletteTone, dx
|
||
call far ptr palette_show
|
||
push 1
|
||
call sub_B2D2
|
||
inc [bp+var_2]
|
||
|
||
loc_9E39:
|
||
cmp [bp+var_2], 32h ; '2'
|
||
jl short loc_9E1C
|
||
mov PaletteTone, 64h ; 'd'
|
||
call far ptr palette_show
|
||
les bx, dword_F3DC
|
||
cmp byte ptr es:[bx+27h], 0
|
||
jnz short loc_9E97
|
||
mov [bp+var_2], 0
|
||
cmp byte_F3CD, 0
|
||
jz short loc_9E7D
|
||
mov al, byte_F3CB
|
||
mov ah, 0
|
||
mov [bp+var_2], ax
|
||
mov byte_F3CB, 1
|
||
push 600h
|
||
push ds
|
||
push offset aOp_m ; "op.m"
|
||
call sub_B0EA
|
||
add sp, 6
|
||
|
||
loc_9E7D:
|
||
mov byte_F3CB, 0
|
||
push 600h
|
||
push ds
|
||
push offset aOp_m ; "op.m"
|
||
call sub_B0EA
|
||
add sp, 6
|
||
mov al, byte ptr [bp+var_2]
|
||
mov byte_F3CB, al
|
||
|
||
loc_9E97:
|
||
push 12h
|
||
call sub_B2D2
|
||
call sub_B2E8
|
||
mov PaletteTone, 0C8h ; '<27>'
|
||
call far ptr palette_show
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
push 224h
|
||
push 180h
|
||
push 0DFh ; '<27>'
|
||
push 0
|
||
call graph_gaiji_putc
|
||
push 234h
|
||
push 180h
|
||
push 10h
|
||
push ss
|
||
lea ax, [bp+var_6]
|
||
push ax
|
||
push 0
|
||
call graph_gaiji_puts
|
||
push 220h
|
||
push 17Ch
|
||
push 0DFh ; '<27>'
|
||
push 6
|
||
call graph_gaiji_putc
|
||
push 230h
|
||
push 17Ch
|
||
push 10h
|
||
push ss
|
||
lea ax, [bp+var_6]
|
||
push ax
|
||
push 6
|
||
call graph_gaiji_puts
|
||
push 0
|
||
call graph_copy_page
|
||
les bx, dword_F3DC
|
||
cmp byte ptr es:[bx+27h], 0
|
||
jnz short loc_9F16
|
||
push 0
|
||
call sub_B203
|
||
pop cx
|
||
|
||
loc_9F16:
|
||
les bx, dword_F3DC
|
||
mov byte ptr es:[bx+27h], 0
|
||
push ds
|
||
push offset aOp_rgb ; "op.rgb"
|
||
call palette_entry_rgb
|
||
call far ptr palette_show
|
||
push 6
|
||
call palette_white_in
|
||
pop si
|
||
leave
|
||
retf
|
||
sub_9D5C endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_9F37 proc near
|
||
push bp
|
||
mov bp, sp
|
||
call sub_B252
|
||
push 0Dh
|
||
call sub_B25E
|
||
pop cx
|
||
call sub_B296
|
||
push 14h
|
||
call sub_B2D2
|
||
les bx, dword_F3DC
|
||
mov al, byte_F3E1
|
||
mov es:[bx+15h], al
|
||
mov al, byte_F3E2
|
||
mov es:[bx+14h], al
|
||
mov al, byte_F3E1
|
||
mov es:[bx+1Ah], al
|
||
mov al, byte_F3E2
|
||
mov es:[bx+19h], al
|
||
mov al, byte_E8F9
|
||
mov es:[bx+18h], al
|
||
mov byte ptr es:[bx+17h], 0
|
||
mov word ptr es:[bx+10h], 0
|
||
mov word ptr es:[bx+0Eh], 0
|
||
mov word ptr es:[bx+12h], 0
|
||
mov byte ptr es:[bx+25h], 0
|
||
mov word ptr es:[bx+20h], 0
|
||
mov byte ptr es:[bx+27h], 0
|
||
mov word ptr es:[bx+2Eh], 0
|
||
mov word ptr es:[bx+2Ch], 0
|
||
pop bp
|
||
retn
|
||
sub_9F37 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_9FAF proc far
|
||
push bp
|
||
mov bp, sp
|
||
call sub_9F37
|
||
les bx, dword_F3DC
|
||
mov al, byte_DC34
|
||
mov es:[bx+16h], al
|
||
mov byte ptr es:[bx+0Bh], 0
|
||
push cs
|
||
call near ptr sub_9CA2
|
||
push ds
|
||
push offset aTs1_pi ; "ts1.pi"
|
||
push 0
|
||
call sub_ADD5
|
||
call text_clear
|
||
call sub_BD24
|
||
push 20Fh
|
||
call sub_B203
|
||
add sp, 8
|
||
call gaiji_restore
|
||
call super_free
|
||
call sub_B019
|
||
les bx, dword_F3DC
|
||
cmp byte ptr es:[bx+0Ch], 0
|
||
jz short loc_A011
|
||
push 0
|
||
push 0
|
||
push ds
|
||
push offset aSelect ; "select"
|
||
push ds
|
||
push offset aSelect ; "select"
|
||
jmp short loc_A01D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A011:
|
||
push 0
|
||
push 0
|
||
push ds
|
||
push offset path ; "main"
|
||
push ds
|
||
push offset path ; "main"
|
||
|
||
loc_A01D:
|
||
call _execl
|
||
add sp, 0Ch
|
||
pop bp
|
||
retf
|
||
sub_9FAF endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A027 proc far
|
||
push bp
|
||
mov bp, sp
|
||
les bx, dword_F3DC
|
||
mov byte ptr es:[bx+15h], 2
|
||
mov byte ptr es:[bx+14h], 3
|
||
mov byte ptr es:[bx+1Ah], 2
|
||
mov byte ptr es:[bx+19h], 3
|
||
mov al, byte_E8F9
|
||
mov es:[bx+18h], al
|
||
mov byte ptr es:[bx+16h], 1
|
||
mov word ptr es:[bx+12h], 0
|
||
mov byte ptr es:[bx+25h], 0
|
||
mov al, byte_E8FE
|
||
mov es:[bx+27h], al
|
||
mov byte ptr es:[bx+26h], 0
|
||
push cs
|
||
call near ptr sub_9CA2
|
||
call text_clear
|
||
push ds
|
||
push offset unk_F194
|
||
push word_F17E
|
||
push word_F17C
|
||
call graph_pi_free
|
||
push ds
|
||
push offset unk_F1DC
|
||
push word_F182
|
||
push word_F180
|
||
call graph_pi_free
|
||
push ds
|
||
push offset unk_F224
|
||
push word_F186
|
||
push word_F184
|
||
call graph_pi_free
|
||
call gaiji_restore
|
||
call super_free
|
||
call sub_B019
|
||
push 0
|
||
push 0
|
||
push ds
|
||
push offset path ; "main"
|
||
push ds
|
||
push offset path ; "main"
|
||
call _execl
|
||
add sp, 0Ch
|
||
pop bp
|
||
retf
|
||
sub_A027 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A0C6 proc far
|
||
push bp
|
||
mov bp, sp
|
||
call sub_9F37
|
||
les bx, dword_F3DC
|
||
mov byte ptr es:[bx+16h], 4
|
||
mov byte ptr es:[bx+0Bh], 5
|
||
mov byte ptr es:[bx+15h], 2
|
||
mov byte ptr es:[bx+14h], 1
|
||
mov byte ptr es:[bx+1Ah], 2
|
||
mov byte ptr es:[bx+19h], 1
|
||
push cs
|
||
call near ptr sub_9CA2
|
||
push ds
|
||
push offset aTs1_pi ; "ts1.pi"
|
||
push 0
|
||
call sub_ADD5
|
||
call text_clear
|
||
call sub_BD24
|
||
push 20Fh
|
||
call sub_B203
|
||
add sp, 8
|
||
call gaiji_restore
|
||
call super_free
|
||
call sub_B019
|
||
les bx, dword_F3DC
|
||
cmp byte ptr es:[bx+0Ch], 0
|
||
jz short loc_A13A
|
||
push 0
|
||
push 0
|
||
push ds
|
||
push offset aSelect ; "select"
|
||
push ds
|
||
push offset aSelect ; "select"
|
||
jmp short loc_A146
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A13A:
|
||
push 0
|
||
push 0
|
||
push ds
|
||
push offset path ; "main"
|
||
push ds
|
||
push offset path ; "main"
|
||
|
||
loc_A146:
|
||
call _execl
|
||
add sp, 0Ch
|
||
pop bp
|
||
retf
|
||
sub_A0C6 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A150 proc near
|
||
push bp
|
||
mov bp, sp
|
||
push 11Ch
|
||
push 104h
|
||
push 10h
|
||
push ds
|
||
push offset gSTART
|
||
push 0
|
||
call graph_gaiji_puts
|
||
push 0ECh
|
||
push 114h
|
||
push 10h
|
||
push ds
|
||
push offset gEXTRA_START
|
||
push 0
|
||
call graph_gaiji_puts
|
||
push 10Ch
|
||
push 124h
|
||
push 10h
|
||
push ds
|
||
push offset gHISCORE
|
||
push 0
|
||
call graph_gaiji_puts
|
||
push 114h
|
||
push 134h
|
||
push 10h
|
||
push ds
|
||
push offset gOPTION
|
||
push 0
|
||
call graph_gaiji_puts
|
||
push 0F4h
|
||
push 144h
|
||
push 10h
|
||
push ds
|
||
push offset gMUSIC_MODE
|
||
push 0
|
||
call graph_gaiji_puts
|
||
push 124h
|
||
push 154h
|
||
push 10h
|
||
push ds
|
||
push offset gQUIT
|
||
push 0
|
||
call graph_gaiji_puts
|
||
push 0D4h
|
||
push 174h
|
||
push 10h
|
||
push ds
|
||
push offset gRANK
|
||
push 0
|
||
call graph_gaiji_puts
|
||
push 134h
|
||
push 174h
|
||
push 10h
|
||
push ds
|
||
mov al, byte_DC34
|
||
cbw
|
||
shl ax, 3
|
||
add ax, offset gcEASY
|
||
push ax
|
||
push 0
|
||
call graph_gaiji_puts
|
||
pop bp
|
||
retn
|
||
sub_A150 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A1F5 proc near
|
||
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_2]
|
||
mov di, [bp+arg_0]
|
||
or si, si
|
||
jnz short loc_A20E
|
||
push 23h ; '#'
|
||
push 10h
|
||
push ds
|
||
push offset gSTART
|
||
jmp short loc_A248
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A20E:
|
||
cmp si, 2
|
||
jnz short loc_A21D
|
||
push 21h ; '!'
|
||
push 12h
|
||
push ds
|
||
push offset gHISCORE
|
||
jmp short loc_A248
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A21D:
|
||
cmp si, 3
|
||
jnz short loc_A22C
|
||
push 22h ; '"'
|
||
push 13h
|
||
push ds
|
||
push offset gOPTION
|
||
jmp short loc_A248
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A22C:
|
||
cmp si, 4
|
||
jnz short loc_A23B
|
||
push 1Eh
|
||
push 14h
|
||
push ds
|
||
push offset gMUSIC_MODE
|
||
jmp short loc_A248
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A23B:
|
||
cmp si, 5
|
||
jnz short loc_A24E
|
||
push 24h ; '$'
|
||
push 15h
|
||
push ds
|
||
push offset gQUIT
|
||
|
||
loc_A248:
|
||
push di
|
||
call gaiji_putsa
|
||
|
||
loc_A24E:
|
||
cmp si, 1
|
||
jnz short loc_A274
|
||
cmp byte_F4A2, 0
|
||
jz short loc_A265
|
||
push 1Dh
|
||
push 11h
|
||
push ds
|
||
push offset gEXTRA_START
|
||
push di
|
||
jmp short loc_A26F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A265:
|
||
push 1Dh
|
||
push 11h
|
||
push ds
|
||
push offset gEXTRA_START
|
||
push 21h ; '!'
|
||
|
||
loc_A26F:
|
||
call gaiji_putsa
|
||
|
||
loc_A274:
|
||
push 1Ah
|
||
push 17h
|
||
push ds
|
||
push offset gRANK
|
||
push 81h
|
||
call gaiji_putsa
|
||
push 26h ; '&'
|
||
push 17h
|
||
push ds
|
||
mov al, byte_DC34
|
||
cbw
|
||
shl ax, 3
|
||
add ax, offset gcEASY
|
||
push ax
|
||
push 81h
|
||
call gaiji_putsa
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retn 4
|
||
sub_A1F5 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A2A2 proc near
|
||
|
||
arg_0 = byte ptr 4
|
||
arg_2 = byte ptr 6
|
||
|
||
push bp
|
||
mov bp, sp
|
||
mov al, byte_D6C0
|
||
cbw
|
||
push ax
|
||
push 0C1h
|
||
call word_E902
|
||
mov al, [bp+arg_0]
|
||
add byte_D6C0, al
|
||
cmp byte_D6C1, 0
|
||
jnz short loc_A2D1
|
||
cmp byte_F4A2, 0
|
||
jnz short loc_A2D1
|
||
cmp byte_D6C0, 1
|
||
jnz short loc_A2D1
|
||
add byte_D6C0, al
|
||
|
||
loc_A2D1:
|
||
cmp byte_D6C0, 0
|
||
jge short loc_A2DE
|
||
mov al, [bp+arg_2]
|
||
mov byte_D6C0, al
|
||
|
||
loc_A2DE:
|
||
mov al, byte_D6C0
|
||
cmp al, [bp+arg_2]
|
||
jle short loc_A2EB
|
||
mov byte_D6C0, 0
|
||
|
||
loc_A2EB:
|
||
mov al, byte_D6C0
|
||
cbw
|
||
push ax
|
||
push 0E1h
|
||
call word_E902
|
||
pop bp
|
||
retn 4
|
||
sub_A2A2 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A2FB proc far
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
cmp byte_D790, 0
|
||
jnz short loc_A356
|
||
mov byte_E8F8, 0
|
||
mov byte_D790, 1
|
||
call text_clear
|
||
mov dx, 0A4h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
push 0
|
||
call graph_copy_page
|
||
call sub_A150
|
||
mov dx, 0A4h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
mov word_E8FC, 0
|
||
xor si, si
|
||
jmp short loc_A34B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A335:
|
||
push si
|
||
mov al, byte_D6C0
|
||
cbw
|
||
cmp ax, si
|
||
jnz short loc_A343
|
||
mov ax, 0E1h
|
||
jmp short loc_A346
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A343:
|
||
mov ax, 0C1h
|
||
|
||
loc_A346:
|
||
push ax
|
||
call sub_A1F5
|
||
inc si
|
||
|
||
loc_A34B:
|
||
cmp si, 6
|
||
jl short loc_A335
|
||
mov word_E902, 605h
|
||
|
||
loc_A356:
|
||
cmp word_F3C8, 0
|
||
jnz short loc_A362
|
||
mov byte_E8F8, 1
|
||
|
||
loc_A362:
|
||
cmp byte_E8F8, 0
|
||
jnz short loc_A36C
|
||
jmp loc_A466
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A36C:
|
||
test byte ptr word_F3C8, 1
|
||
jz short loc_A37A
|
||
push 5
|
||
push 0FFFFh
|
||
call sub_A2A2
|
||
|
||
loc_A37A:
|
||
test byte ptr word_F3C8, 2
|
||
jz short loc_A388
|
||
push 5
|
||
push 1
|
||
call sub_A2A2
|
||
|
||
loc_A388:
|
||
test byte ptr word_F3C8, 10h
|
||
jnz short loc_A399
|
||
test byte ptr word_F3C8, 80h
|
||
jnz short loc_A399
|
||
jmp loc_A448
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A399:
|
||
mov al, byte_D6C0
|
||
cbw
|
||
mov bx, ax
|
||
cmp bx, 5
|
||
jbe short loc_A3A7
|
||
jmp loc_A448
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A3A7:
|
||
add bx, bx
|
||
jmp cs:off_A475[bx]
|
||
|
||
loc_A3AE:
|
||
push cs
|
||
call near ptr sub_9FAF
|
||
jmp loc_A448
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A3B5:
|
||
push cs
|
||
call near ptr sub_A0C6
|
||
jmp loc_A448
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A3BC:
|
||
mov word_F4A4, 7D0h
|
||
call text_clear
|
||
call sub_B77E
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
mov dx, 0A4h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
push ds
|
||
push offset aOp2_pi ; "op2.pi"
|
||
push 0
|
||
call sub_ADD5
|
||
push 0
|
||
call sub_B15A
|
||
push 0
|
||
push 0
|
||
push 0
|
||
call sub_B17D
|
||
add sp, 0Eh
|
||
push ds
|
||
push offset unk_F194
|
||
push word_F17E
|
||
push word_F17C
|
||
call graph_pi_free
|
||
push ds
|
||
push offset aOp_rgb ; "op.rgb"
|
||
call palette_entry_rgb
|
||
call far ptr palette_show
|
||
push 0
|
||
call graph_copy_page
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
|
||
loc_A424:
|
||
mov byte_D790, 0
|
||
jmp short loc_A448
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A42B:
|
||
mov byte_D6C0, 0
|
||
mov byte_D6C1, 1
|
||
jmp short loc_A424
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A437:
|
||
call text_clear
|
||
call sub_C7A0
|
||
jmp short loc_A424
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A443:
|
||
mov byte_D6C2, 1
|
||
|
||
loc_A448:
|
||
test byte ptr word_F3C8, 40h
|
||
jz short loc_A454
|
||
mov byte_D6C2, 1
|
||
|
||
loc_A454:
|
||
cmp word_F3C8, 0
|
||
jz short loc_A466
|
||
mov byte_E8F8, 0
|
||
mov word_E8FC, 0
|
||
|
||
loc_A466:
|
||
cmp word_E8FC, 280h
|
||
jbe short loc_A472
|
||
push cs
|
||
call near ptr sub_A027
|
||
|
||
loc_A472:
|
||
pop si
|
||
pop bp
|
||
retf
|
||
sub_A2FB endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
off_A475 dw offset loc_A3AE
|
||
dw offset loc_A3B5
|
||
dw offset loc_A3BC
|
||
dw offset loc_A42B
|
||
dw offset loc_A437
|
||
dw offset loc_A443
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A481 proc near
|
||
push bp
|
||
mov bp, sp
|
||
push 0C4h ; '<27>'
|
||
push 104h
|
||
push 10h
|
||
push ds
|
||
push offset gRANK
|
||
push 0
|
||
call graph_gaiji_puts
|
||
push 0C4h ; '<27>'
|
||
push 114h
|
||
push 10h
|
||
push ds
|
||
push offset gMUSIC
|
||
push 0
|
||
call graph_gaiji_puts
|
||
push 0C4h ; '<27>'
|
||
push 124h
|
||
push 10h
|
||
push ds
|
||
push offset gPLAYER
|
||
push 0
|
||
call graph_gaiji_puts
|
||
push 0C4h ; '<27>'
|
||
push 134h
|
||
push 10h
|
||
push ds
|
||
push offset gBOMB
|
||
push 0
|
||
call graph_gaiji_puts
|
||
push word ptr PERF_TITLE+2
|
||
push word ptr PERF_TITLE
|
||
push 0
|
||
push 144h
|
||
push 0C4h ; '<27>'
|
||
call sub_AB4D
|
||
add sp, 0Ah
|
||
push 11Ch
|
||
push 154h
|
||
push 10h
|
||
push ds
|
||
push offset gRESET
|
||
push 0
|
||
call graph_gaiji_puts
|
||
push 124h
|
||
push 174h
|
||
push 10h
|
||
push ds
|
||
push offset gQUIT
|
||
push 0
|
||
call graph_gaiji_puts
|
||
pop bp
|
||
retn
|
||
sub_A481 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A510 proc near
|
||
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
mov di, [bp+arg_2]
|
||
mov si, [bp+arg_0]
|
||
or di, di
|
||
jnz short loc_A568
|
||
push 18h
|
||
push 10h
|
||
push ds
|
||
push offset gRANK
|
||
push si
|
||
call gaiji_putsa
|
||
push 2Ah ; '*'
|
||
push 10h
|
||
push ds
|
||
mov al, byte_DC34
|
||
cbw
|
||
shl ax, 3
|
||
add ax, offset gcEASY
|
||
push ax
|
||
push si
|
||
call gaiji_putsa
|
||
push 150h
|
||
push 104h
|
||
push 80h
|
||
push 10h
|
||
call sub_AE00
|
||
push 154h
|
||
push 104h
|
||
push 10h
|
||
push ds
|
||
mov al, byte_DC34
|
||
cbw
|
||
shl ax, 3
|
||
add ax, offset gcEASY
|
||
jmp short loc_A5B3
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A568:
|
||
cmp di, 1
|
||
jnz short loc_A5BE
|
||
push 18h
|
||
push 11h
|
||
push ds
|
||
push offset gMUSIC
|
||
push si
|
||
call gaiji_putsa
|
||
push 2Fh ; '/'
|
||
push 11h
|
||
push ds
|
||
mov al, byte_E8F9
|
||
cbw
|
||
imul ax, 5
|
||
add ax, offset gOFF
|
||
push ax
|
||
push si
|
||
call gaiji_putsa
|
||
push 178h
|
||
push 114h
|
||
push 40h
|
||
push 10h
|
||
call sub_AE00
|
||
push 17Ch
|
||
push 114h
|
||
push 10h
|
||
push ds
|
||
mov al, byte_E8F9
|
||
cbw
|
||
imul ax, 5
|
||
add ax, 145h
|
||
|
||
loc_A5B3:
|
||
push ax
|
||
push 0
|
||
call graph_gaiji_puts
|
||
jmp loc_A6E9
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A5BE:
|
||
cmp di, 2
|
||
jnz short loc_A60A
|
||
push 18h
|
||
push 12h
|
||
push ds
|
||
push offset gPLAYER
|
||
push si
|
||
call gaiji_putsa
|
||
push 31h ; '1'
|
||
push 12h
|
||
mov al, byte_F3E1
|
||
cbw
|
||
add ax, 0A1h ; '<27>'
|
||
push ax
|
||
push si
|
||
call gaiji_putca
|
||
push 188h
|
||
push 124h
|
||
push 20h ; ' '
|
||
push 10h
|
||
call sub_AE00
|
||
push 18Ch
|
||
push 124h
|
||
mov al, byte_F3E1
|
||
cbw
|
||
add ax, 0A1h ; '<27>'
|
||
push ax
|
||
push 0
|
||
call graph_gaiji_putc
|
||
jmp loc_A6E9
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A60A:
|
||
cmp di, 3
|
||
jnz short loc_A656
|
||
push 18h
|
||
push 13h
|
||
push ds
|
||
push offset gBOMB
|
||
push si
|
||
call gaiji_putsa
|
||
push 31h ; '1'
|
||
push 13h
|
||
mov al, byte_F3E2
|
||
cbw
|
||
add ax, 0A0h
|
||
push ax
|
||
push si
|
||
call gaiji_putca
|
||
push 188h
|
||
push 134h
|
||
push 20h ; ' '
|
||
push 10h
|
||
call sub_AE00
|
||
push 18Ch
|
||
push 134h
|
||
mov al, byte_F3E2
|
||
cbw
|
||
add ax, 0A0h
|
||
push ax
|
||
push 0
|
||
call graph_gaiji_putc
|
||
jmp loc_A6E9
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A656:
|
||
cmp di, 4
|
||
jnz short loc_A6C7
|
||
push 18h
|
||
push 14h
|
||
push word ptr PERF_TITLE+2
|
||
push word ptr PERF_TITLE
|
||
push si
|
||
call text_putsa
|
||
push 2Dh ; '-'
|
||
push 14h
|
||
les bx, dword_F3DC
|
||
mov al, es:[bx+24h]
|
||
mov ah, 0
|
||
shl ax, 2
|
||
mov bx, ax
|
||
push word ptr (PERF_OPTION+2)[bx]
|
||
push word ptr PERF_OPTION[bx]
|
||
push si
|
||
call text_putsa
|
||
push 168h
|
||
push 144h
|
||
push 80h
|
||
push 10h
|
||
call sub_AE00
|
||
les bx, dword_F3DC
|
||
mov al, es:[bx+24h]
|
||
mov ah, 0
|
||
shl ax, 2
|
||
mov bx, ax
|
||
push word ptr (PERF_OPTION+2)[bx]
|
||
push word ptr PERF_OPTION[bx]
|
||
push 0
|
||
push 144h
|
||
push 16Ch
|
||
call sub_AB4D
|
||
add sp, 0Ah
|
||
jmp short loc_A6E9
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A6C7:
|
||
cmp di, 5
|
||
jnz short loc_A6D6
|
||
push 23h ; '#'
|
||
push 15h
|
||
push ds
|
||
push offset gRESET
|
||
jmp short loc_A6E3
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A6D6:
|
||
cmp di, 6
|
||
jnz short loc_A6E9
|
||
push 24h ; '$'
|
||
push 17h
|
||
push ds
|
||
push offset gQUIT
|
||
|
||
loc_A6E3:
|
||
push si
|
||
call gaiji_putsa
|
||
|
||
loc_A6E9:
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retn 4
|
||
sub_A510 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A6EF proc near
|
||
push bp
|
||
mov bp, sp
|
||
cmp byte_E8F9, 0
|
||
jnz short loc_A70E
|
||
mov byte_F3CA, 0
|
||
push 100h
|
||
call sub_B203
|
||
pop cx
|
||
mov byte_DBEE, 0
|
||
pop bp
|
||
retn
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A70E:
|
||
cmp byte_E8F9, 1
|
||
jnz short loc_A725
|
||
push 100h
|
||
call sub_B203
|
||
pop cx
|
||
mov byte_F3CB, 0
|
||
jmp short loc_A73B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A725:
|
||
cmp byte_E8F9, 2
|
||
jnz short loc_A748
|
||
push 100h
|
||
call sub_B203
|
||
pop cx
|
||
mov al, byte_F3CD
|
||
mov byte_F3CB, al
|
||
|
||
loc_A73B:
|
||
call sub_B092
|
||
push 0
|
||
call sub_B203
|
||
pop cx
|
||
|
||
loc_A748:
|
||
pop bp
|
||
retn
|
||
sub_A6EF endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A74A proc far
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
cmp byte_D792, 0
|
||
jnz short loc_A79F
|
||
mov byte_D791, 0
|
||
mov byte_D792, 1
|
||
call text_clear
|
||
mov dx, 0A4h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
push 0
|
||
call graph_copy_page
|
||
call sub_A481
|
||
mov dx, 0A4h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
xor si, si
|
||
jmp short loc_A794
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A77E:
|
||
push si
|
||
mov al, byte_D6C0
|
||
cbw
|
||
cmp ax, si
|
||
jnz short loc_A78C
|
||
mov ax, 0E1h
|
||
jmp short loc_A78F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A78C:
|
||
mov ax, 0C1h
|
||
|
||
loc_A78F:
|
||
push ax
|
||
call sub_A510
|
||
inc si
|
||
|
||
loc_A794:
|
||
cmp si, 7
|
||
jl short loc_A77E
|
||
mov word_E902, 920h
|
||
|
||
loc_A79F:
|
||
cmp word_F3C8, 0
|
||
jnz short loc_A7AB
|
||
mov byte_D791, 1
|
||
|
||
loc_A7AB:
|
||
cmp byte_D791, 0
|
||
jnz short loc_A7B5
|
||
jmp loc_A9A1
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A7B5:
|
||
test byte ptr word_F3C8, 1
|
||
jz short loc_A7C3
|
||
push 6
|
||
push 0FFFFh
|
||
call sub_A2A2
|
||
|
||
loc_A7C3:
|
||
test byte ptr word_F3C8, 2
|
||
jz short loc_A7D1
|
||
push 6
|
||
push 1
|
||
call sub_A2A2
|
||
|
||
loc_A7D1:
|
||
test byte ptr word_F3C8, 8
|
||
jnz short loc_A7DB
|
||
jmp loc_A85C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A7DB:
|
||
mov al, byte_D6C0
|
||
cbw
|
||
push ax
|
||
push 0C1h
|
||
call sub_A510
|
||
mov al, byte_D6C0
|
||
cbw
|
||
mov bx, ax
|
||
cmp bx, 4
|
||
ja short loc_A851
|
||
add bx, bx
|
||
jmp cs:off_A9AF[bx]
|
||
|
||
loc_A7F8:
|
||
inc byte_DC34
|
||
cmp byte_DC34, 3
|
||
jle short loc_A851
|
||
mov byte_DC34, 0
|
||
jmp short loc_A851
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A80A:
|
||
inc byte_E8F9
|
||
cmp byte_E8F9, 2
|
||
jle short loc_A81A
|
||
mov byte_E8F9, 0
|
||
|
||
loc_A81A:
|
||
call sub_A6EF
|
||
jmp short loc_A851
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A81F:
|
||
inc byte_F3E1
|
||
cmp byte_F3E1, 4
|
||
jle short loc_A851
|
||
mov byte_F3E1, 0
|
||
jmp short loc_A851
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A831:
|
||
inc byte_F3E2
|
||
cmp byte_F3E2, 3
|
||
jle short loc_A851
|
||
mov byte_F3E2, 0
|
||
jmp short loc_A851
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A843:
|
||
les bx, dword_F3DC
|
||
mov al, 1
|
||
sub al, es:[bx+24h]
|
||
mov es:[bx+24h], al
|
||
|
||
loc_A851:
|
||
mov al, byte_D6C0
|
||
cbw
|
||
push ax
|
||
push 0E1h
|
||
call sub_A510
|
||
|
||
loc_A85C:
|
||
test byte ptr word_F3C8, 4
|
||
jnz short loc_A866
|
||
jmp loc_A8E7
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A866:
|
||
mov al, byte_D6C0
|
||
cbw
|
||
push ax
|
||
push 0C1h
|
||
call sub_A510
|
||
mov al, byte_D6C0
|
||
cbw
|
||
mov bx, ax
|
||
cmp bx, 4
|
||
ja short loc_A8DC
|
||
add bx, bx
|
||
jmp cs:off_A9A5[bx]
|
||
|
||
loc_A883:
|
||
dec byte_DC34
|
||
cmp byte_DC34, 0
|
||
jge short loc_A8DC
|
||
mov byte_DC34, 3
|
||
jmp short loc_A8DC
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A895:
|
||
dec byte_E8F9
|
||
cmp byte_E8F9, 0
|
||
jge short loc_A8A5
|
||
mov byte_E8F9, 2
|
||
|
||
loc_A8A5:
|
||
call sub_A6EF
|
||
jmp short loc_A8DC
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A8AA:
|
||
dec byte_F3E1
|
||
cmp byte_F3E1, 0
|
||
jge short loc_A8DC
|
||
mov byte_F3E1, 4
|
||
jmp short loc_A8DC
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A8BC:
|
||
dec byte_F3E2
|
||
cmp byte_F3E2, 0
|
||
jge short loc_A8DC
|
||
mov byte_F3E2, 3
|
||
jmp short loc_A8DC
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A8CE:
|
||
les bx, dword_F3DC
|
||
mov al, 1
|
||
sub al, es:[bx+24h]
|
||
mov es:[bx+24h], al
|
||
|
||
loc_A8DC:
|
||
mov al, byte_D6C0
|
||
cbw
|
||
push ax
|
||
push 0E1h
|
||
call sub_A510
|
||
|
||
loc_A8E7:
|
||
test byte ptr word_F3C8, 10h
|
||
jnz short loc_A8F8
|
||
test byte ptr word_F3C8, 80h
|
||
jnz short loc_A8F8
|
||
jmp loc_A97F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A8F8:
|
||
mov al, byte_D6C0
|
||
cbw
|
||
cmp ax, 5
|
||
jz short loc_A908
|
||
cmp ax, 6
|
||
jz short loc_A970
|
||
jmp short loc_A97F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A908:
|
||
mov byte_DC34, 1
|
||
mov byte_E8F9, 1
|
||
push 100h
|
||
call sub_B203
|
||
mov byte_F3CB, 0
|
||
call sub_B092
|
||
push 0
|
||
call sub_B203
|
||
add sp, 4
|
||
mov byte_F3E1, 2
|
||
mov byte_F3E2, 3
|
||
les bx, dword_F3DC
|
||
mov byte ptr es:[bx+22h], 1
|
||
mov byte ptr es:[bx+24h], 0
|
||
push 0
|
||
push 0C1h
|
||
call sub_A510
|
||
push 1
|
||
push 0C1h
|
||
call sub_A510
|
||
push 2
|
||
push 0C1h
|
||
call sub_A510
|
||
push 3
|
||
push 0C1h
|
||
call sub_A510
|
||
push 4
|
||
push 0C1h
|
||
call sub_A510
|
||
jmp short loc_A97F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A970:
|
||
mov byte_D6C0, 3
|
||
mov byte_D6C1, 0
|
||
mov byte_D792, 0
|
||
|
||
loc_A97F:
|
||
test byte ptr word_F3C8, 40h
|
||
jz short loc_A995
|
||
mov byte_D6C0, 3
|
||
mov byte_D6C1, 0
|
||
mov byte_D792, 0
|
||
|
||
loc_A995:
|
||
cmp word_F3C8, 0
|
||
jz short loc_A9A1
|
||
mov byte_D791, 0
|
||
|
||
loc_A9A1:
|
||
pop si
|
||
pop bp
|
||
retf
|
||
sub_A74A endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
db 0
|
||
off_A9A5 dw offset loc_A883
|
||
dw offset loc_A895
|
||
dw offset loc_A8AA
|
||
dw offset loc_A8BC
|
||
dw offset loc_A8CE
|
||
off_A9AF dw offset loc_A7F8
|
||
dw offset loc_A80A
|
||
dw offset loc_A81F
|
||
dw offset loc_A831
|
||
dw offset loc_A843
|
||
|
||
; =============== 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
|
||
|
||
var_2 = byte ptr -2
|
||
var_1 = byte ptr -1
|
||
_argc = word ptr 6
|
||
_argv = dword ptr 8
|
||
_envp = dword ptr 0Ch
|
||
|
||
enter 2, 0
|
||
call sub_B0B0
|
||
or ax, ax
|
||
jz short loc_A9EE
|
||
call sub_B058
|
||
call sub_AFB0
|
||
or ax, ax
|
||
jz short loc_A9DD
|
||
push 3
|
||
call sub_AB41
|
||
jmp short loc_A9EE
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A9DD:
|
||
call sub_B86E
|
||
mov byte_F4A2, al
|
||
push cs
|
||
call near ptr sub_9BF0
|
||
cmp ax, 1
|
||
jnz short loc_A9F3
|
||
|
||
loc_A9EE:
|
||
mov ax, 1
|
||
leave
|
||
retf
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A9F3:
|
||
call gaiji_backup
|
||
push ds
|
||
push offset aMikoft_bft ; "MIKOFT.bft"
|
||
call gaiji_entry_bfnt
|
||
les bx, dword_F3DC
|
||
cmp byte ptr es:[bx+27h], 0
|
||
jnz short loc_AA1C
|
||
mov byte_E8FE, 1
|
||
push 100h
|
||
call sub_B203
|
||
pop cx
|
||
jmp short loc_AA4A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AA1C:
|
||
les bx, dword_F3DC
|
||
mov al, es:[bx+27h]
|
||
inc al
|
||
mov byte_E8FE, al
|
||
cmp byte_E8FE, 3
|
||
jbe short loc_AA35
|
||
mov byte_E8FE, 1
|
||
|
||
loc_AA35:
|
||
mov word_F4A4, 15Eh
|
||
call sub_B77E
|
||
mov dx, 0A4h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
mov dx, 0A6h ; '<27>'
|
||
out dx, al
|
||
|
||
loc_AA4A:
|
||
mov word_F3C8, 0
|
||
mov al, byte_E8F9
|
||
mov byte_DBEE, al
|
||
les bx, dword_F3DC
|
||
cmp byte ptr es:[bx+27h], 0
|
||
jnz short loc_AA8F
|
||
cmp byte_F3CD, 0
|
||
jz short loc_AA8F
|
||
mov al, byte_F3CB
|
||
mov [bp+var_2], al
|
||
mov byte_F3CB, 1
|
||
push 600h
|
||
push ds
|
||
push offset aGminit_m ; "gminit.m"
|
||
call sub_B0EA
|
||
push 0
|
||
call sub_B203
|
||
add sp, 8
|
||
mov al, [bp+var_2]
|
||
mov byte_F3CB, al
|
||
|
||
loc_AA8F:
|
||
push cs
|
||
call near ptr sub_9D5C
|
||
push ds
|
||
push offset aTs3_pi ; "ts3.pi"
|
||
push 2
|
||
call sub_ADD5
|
||
push ds
|
||
push offset aTs2_pi ; "ts2.pi"
|
||
push 1
|
||
call sub_ADD5
|
||
add sp, 0Ch
|
||
mov word_F3C8, 0
|
||
mov word_E8FC, 0
|
||
jmp short loc_AAF0
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AABA:
|
||
call sub_AED0
|
||
cmp byte_D6C1, 0
|
||
jnz short loc_AACC
|
||
push cs
|
||
call near ptr sub_A2FB
|
||
jmp short loc_AAD7
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AACC:
|
||
cmp byte_D6C1, 1
|
||
jnz short loc_AAD7
|
||
push cs
|
||
call near ptr sub_A74A
|
||
|
||
loc_AAD7:
|
||
les bx, dword_F3DC
|
||
add word ptr es:[bx+1Ch], 1
|
||
adc word ptr es:[bx+1Eh], 0
|
||
inc word_E8FC
|
||
push 1
|
||
call sub_B2D2
|
||
|
||
loc_AAF0:
|
||
cmp byte_D6C2, 0
|
||
jz short loc_AABA
|
||
les bx, dword_F3DC
|
||
mov al, es:[bx+23h]
|
||
mov [bp+var_1], al
|
||
mov word_E900, 0
|
||
push cs
|
||
call near ptr sub_9CA2
|
||
call text_clear
|
||
call graph_clear
|
||
call sub_AB28
|
||
call gaiji_restore
|
||
_main endp ; sp-analysis failed
|
||
|
||
mov al, [bp-1]
|
||
mov ah, 0
|
||
leave
|
||
retf
|
||
seg001 ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
seg002 segment byte public 'CODE' use16
|
||
assume cs:seg002
|
||
;org 7
|
||
assume es:nothing, ss:nothing, ds:dseg, fs:nothing, gs:nothing
|
||
db 0
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_AB28 proc far
|
||
push bp
|
||
mov bp, sp
|
||
nop
|
||
push cs
|
||
call near ptr sub_B019
|
||
call key_beep_on
|
||
call text_systemline_show
|
||
call text_cursor_show
|
||
pop bp
|
||
retf
|
||
sub_AB28 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_AB41 proc far
|
||
|
||
arg_0 = word ptr 6
|
||
|
||
push bp
|
||
mov bp, sp
|
||
mov ax, [bp+arg_0]
|
||
int 59h ; GSS Computer Graphics Interface (GSS*CGI)
|
||
; DS:DX -> block of 5 array pointers
|
||
; Return: CF set on error, AX = error code
|
||
; CF clear if successful, AX = return code
|
||
pop bp
|
||
retf 2
|
||
sub_AB41 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_AB4D proc far
|
||
|
||
var_32 = byte ptr -32h
|
||
var_12 = word ptr -12h
|
||
var_10 = word ptr -10h
|
||
var_E = word ptr -0Eh
|
||
var_C = word ptr -0Ch
|
||
var_A = word ptr -0Ah
|
||
var_8 = dword ptr -8
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 6
|
||
arg_2 = word ptr 8
|
||
arg_4 = word ptr 0Ah
|
||
arg_6 = dword ptr 0Ch
|
||
|
||
enter 32h, 0
|
||
push si
|
||
push di
|
||
mov di, [bp+arg_0]
|
||
mov ax, [bp+arg_4]
|
||
sar ax, 4
|
||
and ax, 3
|
||
mov [bp+var_E], ax
|
||
mov ax, [bp+arg_4]
|
||
sar ax, 6
|
||
and ax, 7
|
||
mov [bp+var_10], ax
|
||
push 0C0h
|
||
push [bp+arg_4]
|
||
call grcg_setcolor
|
||
mov dx, 68h ; 'h'
|
||
mov al, 0Bh
|
||
out dx, al
|
||
jmp loc_AD92
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AB82:
|
||
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+117Bh], 4
|
||
jz short loc_ABD7
|
||
mov bx, word ptr [bp+arg_6]
|
||
mov al, es:[bx]
|
||
cbw
|
||
shl ax, 8
|
||
mov dl, es:[bx+1]
|
||
mov dh, 0
|
||
add ax, dx
|
||
push ax
|
||
call __mbcjmstojis
|
||
pop cx
|
||
mov [bp+var_2], ax
|
||
add word ptr [bp+arg_6], 2
|
||
jmp short loc_AC1D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ABD7:
|
||
les bx, [bp+arg_6]
|
||
mov al, es:[bx]
|
||
mov ah, 0
|
||
mov bx, ax
|
||
test byte ptr [bx+117Bh], 3
|
||
jz short loc_ABF5
|
||
mov bx, word ptr [bp+arg_6]
|
||
mov al, es:[bx]
|
||
mov ah, 0
|
||
add ax, 2980h
|
||
jmp short loc_AC10
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ABF5:
|
||
les bx, [bp+arg_6]
|
||
mov al, es:[bx]
|
||
cbw
|
||
mov bx, ax
|
||
test byte ptr [bx+0E91h], 5Eh
|
||
jz short loc_AC15
|
||
mov bx, word ptr [bp+arg_6]
|
||
mov al, es:[bx]
|
||
mov ah, 0
|
||
add ax, 2900h
|
||
|
||
loc_AC10:
|
||
mov [bp+var_2], ax
|
||
jmp short loc_AC1A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AC15:
|
||
mov [bp+var_2], 2B21h
|
||
|
||
loc_AC1A:
|
||
inc word ptr [bp+arg_6]
|
||
|
||
loc_AC1D:
|
||
mov al, byte ptr [bp+var_2]
|
||
and al, 0FFh
|
||
mov dx, 0A1h ; '<27>'
|
||
out dx, al
|
||
mov ax, [bp+var_2]
|
||
shr ax, 8
|
||
sub al, 20h ; ' '
|
||
mov dx, 0A3h ; '<27>'
|
||
out dx, al
|
||
cmp [bp+var_2], 2921h
|
||
jb short loc_AC7E
|
||
cmp [bp+var_2], 2B7Eh
|
||
ja short loc_AC7E
|
||
cmp di, 278h
|
||
jg loc_AD9D
|
||
mov [bp+var_12], 0
|
||
jmp short loc_AC71
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AC4F:
|
||
mov al, byte ptr [bp+var_12]
|
||
or al, 20h
|
||
mov dx, 0A5h ; '<27>'
|
||
out dx, al
|
||
mov dx, 0A9h ; '<27>'
|
||
in al, dx
|
||
mov ah, 0
|
||
shl ax, 8
|
||
mov bx, [bp+var_12]
|
||
add bx, bx
|
||
lea dx, [bp+var_32]
|
||
add bx, dx
|
||
mov ss:[bx], ax
|
||
inc [bp+var_12]
|
||
|
||
loc_AC71:
|
||
cmp [bp+var_12], 10h
|
||
jl short loc_AC4F
|
||
mov [bp+var_A], 0
|
||
jmp short loc_ACD4
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AC7E:
|
||
cmp di, 270h
|
||
jg loc_AD9D
|
||
mov [bp+var_12], 0
|
||
jmp short loc_ACC9
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AC8D:
|
||
mov al, byte ptr [bp+var_12]
|
||
or al, 20h
|
||
mov dx, 0A5h ; '<27>'
|
||
out dx, al
|
||
mov dx, 0A9h ; '<27>'
|
||
in al, dx
|
||
mov ah, 0
|
||
shl ax, 8
|
||
mov bx, [bp+var_12]
|
||
add bx, bx
|
||
lea dx, [bp+var_32]
|
||
add bx, dx
|
||
mov ss:[bx], ax
|
||
mov dx, 0A5h ; '<27>'
|
||
mov al, byte ptr [bp+var_12]
|
||
out dx, al
|
||
mov dx, 0A9h ; '<27>'
|
||
in al, dx
|
||
mov ah, 0
|
||
mov bx, [bp+var_12]
|
||
add bx, bx
|
||
lea dx, [bp+var_32]
|
||
add bx, dx
|
||
add ss:[bx], ax
|
||
inc [bp+var_12]
|
||
|
||
loc_ACC9:
|
||
cmp [bp+var_12], 10h
|
||
jl short loc_AC8D
|
||
mov [bp+var_A], 1
|
||
|
||
loc_ACD4:
|
||
mov [bp+var_12], 0
|
||
jmp loc_AD79
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ACDC:
|
||
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_AD00
|
||
cmp ax, 2
|
||
jz short loc_AD16
|
||
cmp ax, 3
|
||
jz short loc_AD0C
|
||
jmp short loc_AD2C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AD00:
|
||
mov si, [bp+var_4]
|
||
mov ax, si
|
||
add ax, ax
|
||
or [bp+var_4], ax
|
||
jmp short loc_AD2C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AD0C:
|
||
mov si, [bp+var_4]
|
||
mov ax, si
|
||
add ax, ax
|
||
or [bp+var_4], ax
|
||
|
||
loc_AD16:
|
||
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_AD2C:
|
||
cmp [bp+var_C], 0
|
||
jz short loc_AD5F
|
||
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_AD72
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AD5F:
|
||
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_AD72:
|
||
add word ptr [bp+var_8], 50h ; 'P'
|
||
inc [bp+var_12]
|
||
|
||
loc_AD79:
|
||
cmp [bp+var_12], 10h
|
||
jl loc_ACDC
|
||
cmp [bp+var_A], 0
|
||
jz short loc_AD8A
|
||
add di, 8
|
||
|
||
loc_AD8A:
|
||
mov ax, [bp+var_10]
|
||
add ax, 8
|
||
add di, ax
|
||
|
||
loc_AD92:
|
||
les bx, [bp+arg_6]
|
||
cmp byte ptr es:[bx], 0
|
||
jnz loc_AB82
|
||
|
||
loc_AD9D:
|
||
mov dx, 68h ; 'h'
|
||
mov al, 0Ah
|
||
out dx, al
|
||
call grcg_off
|
||
pop di
|
||
pop si
|
||
leave
|
||
retf
|
||
sub_AB4D endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_ADAC proc far
|
||
push bp
|
||
mov bp, sp
|
||
mov dword_F16C, 0A8000000h
|
||
mov dword_F170, 0B0000000h
|
||
mov dword_F174, 0B8000000h
|
||
mov dword_F178, 0E0000000h
|
||
pop bp
|
||
retf
|
||
sub_ADAC endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_ADD5 proc far
|
||
|
||
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, 1B64h
|
||
push ds
|
||
push ax
|
||
mov ax, si
|
||
shl ax, 2
|
||
add ax, 1B4Ch
|
||
push ds
|
||
push ax
|
||
call graph_pi_load_pack
|
||
mov [bp+var_2], ax
|
||
pop si
|
||
leave
|
||
retf
|
||
sub_ADD5 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_AE00 proc far
|
||
|
||
var_A = word ptr -0Ah
|
||
var_8 = word ptr -8
|
||
var_6 = word ptr -6
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 6
|
||
arg_2 = word ptr 8
|
||
arg_4 = word ptr 0Ah
|
||
arg_6 = word ptr 0Ch
|
||
|
||
enter 0Ah, 0
|
||
push si
|
||
push di
|
||
mov ax, [bp+arg_6]
|
||
sar ax, 3
|
||
mov dx, [bp+arg_4]
|
||
shl dx, 6
|
||
add ax, dx
|
||
mov dx, [bp+arg_4]
|
||
shl dx, 4
|
||
add ax, dx
|
||
mov si, ax
|
||
xor di, di
|
||
jmp loc_AEAE
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AE23:
|
||
mov [bp+var_2], 0
|
||
mov cx, si
|
||
jmp short loc_AE9F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AE2C:
|
||
or si, si
|
||
jl short loc_AE99
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
les bx, dword_F16C
|
||
add bx, cx
|
||
mov ax, es:[bx]
|
||
mov [bp+var_A], ax
|
||
les bx, dword_F170
|
||
add bx, cx
|
||
mov ax, es:[bx]
|
||
mov [bp+var_8], ax
|
||
les bx, dword_F174
|
||
add bx, cx
|
||
mov ax, es:[bx]
|
||
mov [bp+var_6], ax
|
||
les bx, dword_F178
|
||
add bx, cx
|
||
mov ax, es:[bx]
|
||
mov [bp+var_4], ax
|
||
mov al, 0
|
||
out dx, al
|
||
les bx, dword_F16C
|
||
add bx, cx
|
||
mov ax, [bp+var_A]
|
||
mov es:[bx], ax
|
||
les bx, dword_F170
|
||
add bx, cx
|
||
mov ax, [bp+var_8]
|
||
mov es:[bx], ax
|
||
les bx, dword_F174
|
||
add bx, cx
|
||
mov ax, [bp+var_6]
|
||
mov es:[bx], ax
|
||
les bx, dword_F178
|
||
add bx, cx
|
||
mov ax, [bp+var_4]
|
||
mov es:[bx], ax
|
||
|
||
loc_AE99:
|
||
inc [bp+var_2]
|
||
add cx, 2
|
||
|
||
loc_AE9F:
|
||
mov ax, [bp+arg_2]
|
||
sar ax, 4
|
||
cmp ax, [bp+var_2]
|
||
jg short loc_AE2C
|
||
add si, 50h ; 'P'
|
||
inc di
|
||
|
||
loc_AEAE:
|
||
cmp di, [bp+arg_0]
|
||
jl loc_AE23
|
||
pop di
|
||
pop si
|
||
leave
|
||
retf 8
|
||
sub_AE00 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_AEBB proc far
|
||
|
||
arg_0 = word ptr 6
|
||
|
||
push bp
|
||
mov bp, sp
|
||
mov vsync_Count1, 0
|
||
|
||
loc_AEC4:
|
||
mov ax, vsync_Count1
|
||
cmp ax, [bp+arg_0]
|
||
jb short loc_AEC4
|
||
pop bp
|
||
retf 2
|
||
sub_AEBB endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_AED0 proc far
|
||
mov word_F3C8, 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_AEEE
|
||
test ah, 8
|
||
jz short loc_AEF3
|
||
|
||
loc_AEEE:
|
||
or word_F3C8, 1
|
||
|
||
loc_AEF3:
|
||
test bh, 8
|
||
jnz short loc_AEFD
|
||
test ah, 40h
|
||
jz short loc_AF02
|
||
|
||
loc_AEFD:
|
||
or word_F3C8, 4
|
||
|
||
loc_AF02:
|
||
test ah, 4
|
||
jz short loc_AF0D
|
||
or word_F3C8, 1000h
|
||
|
||
loc_AF0D:
|
||
test ah, 10h
|
||
jz short loc_AF18
|
||
or word_F3C8, 2000h
|
||
|
||
loc_AF18:
|
||
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_AF28
|
||
test ah, 8
|
||
jz short loc_AF2D
|
||
|
||
loc_AF28:
|
||
or word_F3C8, 2
|
||
|
||
loc_AF2D:
|
||
test bh, 10h
|
||
jnz short loc_AF37
|
||
test ah, 1
|
||
jz short loc_AF3C
|
||
|
||
loc_AF37:
|
||
or word_F3C8, 8
|
||
|
||
loc_AF3C:
|
||
test ah, 4
|
||
jz short loc_AF47
|
||
or word_F3C8, 4000h
|
||
|
||
loc_AF47:
|
||
test ah, 10h
|
||
jz short loc_AF52
|
||
or word_F3C8, 8000h
|
||
|
||
loc_AF52:
|
||
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_AF62
|
||
or word_F3C8, 10h
|
||
|
||
loc_AF62:
|
||
test ah, 4
|
||
jz short loc_AF6C
|
||
or word_F3C8, 20h
|
||
|
||
loc_AF6C:
|
||
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_AF7C
|
||
or word_F3C8, 40h
|
||
|
||
loc_AF7C:
|
||
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_AF8D
|
||
or word_F3C8, 80h
|
||
|
||
loc_AF8D:
|
||
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_AF9E
|
||
or word_F3C8, 100h
|
||
|
||
loc_AF9E:
|
||
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_AFAE
|
||
or word_F3C8, 10h
|
||
|
||
locret_AFAE:
|
||
retf
|
||
sub_AED0 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
nop
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_AFB0 proc far
|
||
push bp
|
||
mov bp, sp
|
||
push 3E80h
|
||
call mem_assign_dos
|
||
or ax, ax
|
||
jz short loc_AFC4
|
||
mov ax, 1
|
||
pop bp
|
||
retf
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AFC4:
|
||
nop
|
||
push cs
|
||
call near ptr sub_ADAC
|
||
call graph_start
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call graph_clear
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
call graph_clear
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
mov dx, 0A4h ; '<27>'
|
||
out dx, al
|
||
call vsync_start
|
||
call key_beep_off
|
||
call text_systemline_hide
|
||
call text_cursor_hide
|
||
call egc_start
|
||
mov pfkey, 12h
|
||
push ds
|
||
push offset aUmx ; "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E>^"
|
||
call sub_2F56
|
||
xor ax, ax
|
||
pop bp
|
||
retf
|
||
sub_AFB0 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B019 proc far
|
||
push bp
|
||
mov bp, sp
|
||
call sub_2FB6
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call graph_clear
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
call graph_clear
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
mov dx, 0A4h ; '<27>'
|
||
out dx, al
|
||
call vsync_end
|
||
call mem_unassign
|
||
call text_clear
|
||
call egc_start
|
||
pop bp
|
||
retf
|
||
sub_B019 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
db 0
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_B058 proc far
|
||
xor ax, ax
|
||
mov es, ax
|
||
les bx, dword ptr es:[0184h]
|
||
assume es:nothing
|
||
cmp byte ptr es:[bx+2], 4Dh ; 'M'
|
||
jnz short loc_B089
|
||
cmp byte ptr es:[bx+3], 4Dh ; 'M'
|
||
jnz short loc_B089
|
||
cmp byte ptr es:[bx+4], 44h ; 'D'
|
||
jnz short loc_B089
|
||
mov byte_F3CC, 61h ; 'a'
|
||
mov byte_F3CB, 1
|
||
mov byte_F3CD, 1
|
||
mov ax, 1
|
||
retf
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B089:
|
||
mov byte_F3CD, 0
|
||
xor ax, ax
|
||
retf
|
||
sub_B058 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
nop
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_B092 proc far
|
||
mov ah, 9
|
||
int 60h
|
||
xor bx, bx
|
||
cmp al, 0FFh
|
||
jz short loc_B0A4
|
||
inc bx
|
||
mov byte_F3CA, 1
|
||
jmp short loc_B0A8
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B0A4:
|
||
mov bl, byte_F3CB
|
||
|
||
loc_B0A8:
|
||
mov byte_DBEE, bl
|
||
mov ax, bx
|
||
retf
|
||
sub_B092 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
nop
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_B0B0 proc far
|
||
mov byte_F3CC, 60h
|
||
mov byte_F3CB, 0
|
||
mov byte_F3CA, 0
|
||
mov byte_F3CD, 0
|
||
xor ax, ax
|
||
mov es, ax
|
||
les bx, dword ptr es:[0180h]
|
||
assume es:nothing
|
||
cmp byte ptr es:[bx+2], 50h ; 'P'
|
||
jnz short loc_B0E6
|
||
cmp byte ptr es:[bx+3], 4Dh ; 'M'
|
||
jnz short loc_B0E6
|
||
cmp byte ptr es:[bx+4], 44h ; 'D'
|
||
jnz short loc_B0E6
|
||
mov ax, 1
|
||
retf
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B0E6:
|
||
xor ax, ax
|
||
retf
|
||
sub_B0B0 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
nop
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B0EA proc far
|
||
|
||
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_B0F4:
|
||
les bx, [bp+arg_0]
|
||
add bx, si
|
||
mov al, es:[bx]
|
||
mov [si+1D9Eh], al
|
||
inc si
|
||
loop loc_B0F4
|
||
mov ax, [bp+arg_4]
|
||
cmp ax, 600h
|
||
jnz short loc_B12B
|
||
cmp byte_F3CB, 0
|
||
jz short loc_B12B
|
||
xor bx, bx
|
||
|
||
loc_B114:
|
||
inc bx
|
||
cmp byte ptr [bx+1D9Eh], 0
|
||
jnz short loc_B114
|
||
mov byte ptr [bx+1D9Eh], 6Dh ; 'm'
|
||
mov byte ptr [bx+1D9Fh], 64h ; 'd'
|
||
mov byte ptr [bx+1DA0h], 0
|
||
|
||
loc_B12B:
|
||
mov dx, 1D9Eh
|
||
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_B148
|
||
cmp byte_F3CB, 0
|
||
jz short loc_B148
|
||
int 61h ; reserved for user interrupt
|
||
jmp short loc_B14A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B148:
|
||
int 60h
|
||
|
||
loc_B14A:
|
||
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_B0EA endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B15A proc far
|
||
|
||
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, 1B7Ch
|
||
push ax ; src
|
||
push ds
|
||
push offset Palettes ; dest
|
||
call _memcpy
|
||
add sp, 0Ah
|
||
call far ptr palette_show
|
||
pop bp
|
||
retf
|
||
sub_B15A endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B17D proc far
|
||
|
||
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+1B4Eh]
|
||
mov dx, [bx+1B4Ch]
|
||
mov word ptr [bp+var_4+2], ax
|
||
mov word ptr [bp+var_4], dx
|
||
mov [bp+var_6], 0
|
||
jmp short loc_B1F1
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B1A3:
|
||
push [bp+arg_0]
|
||
push si
|
||
push large [bp+var_4]
|
||
mov bx, di
|
||
imul bx, 48h
|
||
push word ptr [bx+1B78h]
|
||
call graph_pack_put_8
|
||
inc si
|
||
cmp si, 190h
|
||
jl short loc_B1C4
|
||
sub si, 190h
|
||
|
||
loc_B1C4:
|
||
mov bx, di
|
||
imul bx, 48h
|
||
mov ax, [bx+1B78h]
|
||
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_B1F1:
|
||
mov bx, di
|
||
imul bx, 48h
|
||
mov ax, [bx+1B7Ah]
|
||
cmp ax, [bp+var_6]
|
||
ja short loc_B1A3
|
||
pop di
|
||
pop si
|
||
leave
|
||
retf
|
||
sub_B17D endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B203 proc far
|
||
|
||
arg_0 = word ptr 6
|
||
|
||
push bp
|
||
mov bp, sp
|
||
cmp byte_DBEE, 0
|
||
jz short loc_B21D
|
||
mov ax, [bp+arg_0]
|
||
cmp byte_F3CB, 1
|
||
jz short loc_B21B
|
||
int 60h
|
||
jmp short loc_B21D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B21B:
|
||
int 61h ; reserved for user interrupt
|
||
|
||
loc_B21D:
|
||
pop bp
|
||
retf
|
||
sub_B203 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
push bp
|
||
mov bp, sp
|
||
cmp byte_DBEE, 0
|
||
jnz short loc_B232
|
||
push 64h ; 'd'
|
||
nop
|
||
push cs
|
||
call near ptr sub_AEBB
|
||
pop bp
|
||
retf
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B232:
|
||
push 1
|
||
nop
|
||
push cs
|
||
call near ptr sub_AEBB
|
||
mov ah, 5
|
||
cmp byte_F3CB, 1
|
||
jz short loc_B246
|
||
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_B24B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B246:
|
||
mov dx, 0C0h
|
||
int 61h ; reserved for user interrupt
|
||
|
||
loc_B24B:
|
||
cmp ax, [bp+6]
|
||
jb short loc_B232
|
||
pop bp
|
||
retf
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_B252 proc far
|
||
mov byte_DC33, 0
|
||
mov byte_DBF0, 0FFh
|
||
retf
|
||
sub_B252 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
nop
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B25E proc far
|
||
|
||
arg_0 = word ptr 6
|
||
|
||
push bp
|
||
mov bp, sp
|
||
mov dx, [bp+arg_0]
|
||
cmp byte_F3CA, 0
|
||
jz short loc_B294
|
||
cmp byte_DBF0, 0FFh
|
||
jnz short loc_B278
|
||
mov byte_DBF0, dl
|
||
pop bp
|
||
retf
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B278:
|
||
mov al, byte_DBF0
|
||
mov ah, 0
|
||
mov bx, ax
|
||
mov al, [bx+5C1h]
|
||
mov bx, dx
|
||
cmp al, [bx+5C1h]
|
||
ja short loc_B294
|
||
mov byte_DBF0, dl
|
||
mov byte_DC33, 0
|
||
|
||
loc_B294:
|
||
pop bp
|
||
retf
|
||
sub_B25E endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_B296 proc far
|
||
cmp byte_F3CA, 0
|
||
jz short locret_B2D1
|
||
cmp byte_DBF0, 0FFh
|
||
jz short locret_B2D1
|
||
cmp byte_DC33, 0
|
||
jnz short loc_B2B2
|
||
mov ah, 0Ch
|
||
mov al, byte_DBF0
|
||
int 60h ; - Banyan VINES, 3com - GET STATION ADDRESS
|
||
; Return: AL = status, 00h successful, ES:SI -> 6-byte station address
|
||
; 02h semaphore service is unavailable
|
||
|
||
loc_B2B2:
|
||
inc byte_DC33
|
||
mov al, byte_DBF0
|
||
mov ah, 0
|
||
mov bx, ax
|
||
mov al, [bx+5E2h]
|
||
cmp al, byte_DC33
|
||
jnb short locret_B2D1
|
||
mov byte_DC33, 0
|
||
mov byte_DBF0, 0FFh
|
||
|
||
locret_B2D1:
|
||
retf
|
||
sub_B296 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B2D2 proc far
|
||
|
||
arg_0 = word ptr 6
|
||
|
||
push bp
|
||
mov bp, sp
|
||
mov vsync_Count1, 0
|
||
|
||
loc_B2DB:
|
||
mov ax, vsync_Count1
|
||
cmp ax, [bp+arg_0]
|
||
jb short loc_B2DB
|
||
pop bp
|
||
retf 2
|
||
sub_B2D2 endp
|
||
|
||
seg002 ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
seg003 segment byte public 'CODE' use16
|
||
assume cs:seg003
|
||
;org 7
|
||
assume es:nothing, ss:nothing, ds:dseg, fs:nothing, gs:nothing
|
||
db 0
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B2E8 proc far
|
||
|
||
var_2 = word ptr -2
|
||
|
||
enter 2, 0
|
||
push si
|
||
mov [bp+var_2], 1
|
||
call sub_B252
|
||
push 6
|
||
call sub_B25E
|
||
pop cx
|
||
call sub_B296
|
||
xor si, si
|
||
jmp short loc_B370
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B308:
|
||
mov dx, 0A4h ; '<27>'
|
||
mov al, byte ptr [bp+var_2]
|
||
out dx, al
|
||
mov ax, 1
|
||
sub ax, [bp+var_2]
|
||
mov [bp+var_2], ax
|
||
or si, si
|
||
jnz short loc_B320
|
||
push 0
|
||
jmp short loc_B330
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B320:
|
||
cmp si, 5
|
||
jnz short loc_B329
|
||
push 1
|
||
jmp short loc_B330
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B329:
|
||
cmp si, 0Ah
|
||
jnz short loc_B33C
|
||
push 2
|
||
|
||
loc_B330:
|
||
push 0
|
||
push 0
|
||
call sub_B17D
|
||
add sp, 6
|
||
|
||
loc_B33C:
|
||
mov ax, si
|
||
mov bx, 3
|
||
cwd
|
||
idiv bx
|
||
or dx, dx
|
||
jnz short loc_B350
|
||
mov PaletteTone, 96h
|
||
jmp short loc_B363
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B350:
|
||
mov ax, si
|
||
mov bx, 3
|
||
cwd
|
||
idiv bx
|
||
cmp dx, 1
|
||
jnz short loc_B368
|
||
mov PaletteTone, 64h ; 'd'
|
||
|
||
loc_B363:
|
||
call far ptr palette_show
|
||
|
||
loc_B368:
|
||
push 1
|
||
call sub_B2D2
|
||
inc si
|
||
|
||
loc_B370:
|
||
cmp si, 12h
|
||
jl short loc_B308
|
||
mov dx, 0A4h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
push ds
|
||
push offset unk_F194
|
||
push word_F17E
|
||
push word_F17C
|
||
call graph_pi_free
|
||
push ds
|
||
push offset unk_F1DC
|
||
push word_F182
|
||
push word_F180
|
||
call graph_pi_free
|
||
push ds
|
||
push offset unk_F224
|
||
push word_F186
|
||
push word_F184
|
||
call graph_pi_free
|
||
pop si
|
||
leave
|
||
retf
|
||
sub_B2E8 endp
|
||
|
||
seg003 ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
seg004 segment byte public 'CODE' use16
|
||
assume cs:seg004
|
||
;org 1
|
||
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_B3B1 proc near
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push word ptr HUUHI_DAT+2
|
||
push word ptr HUUHI_DAT
|
||
call file_ropen
|
||
mov al, byte_DC34
|
||
cbw
|
||
imul ax, 0B6h
|
||
push 0
|
||
push ax
|
||
push 0
|
||
call file_seek
|
||
push ds
|
||
push offset word_F3EC
|
||
push 0B6h ; '<27>'
|
||
call file_read
|
||
xor si, si
|
||
jmp short loc_B3EF
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B3E4:
|
||
mov al, [si+1DBCh]
|
||
add al, 0EEh
|
||
mov [si+1DBCh], al
|
||
inc si
|
||
|
||
loc_B3EF:
|
||
cmp si, 0B2h ; '<27>'
|
||
jl short loc_B3E4
|
||
call file_close
|
||
pop si
|
||
pop bp
|
||
retn
|
||
sub_B3B1 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B3FD proc near
|
||
|
||
var_9 = byte ptr -9
|
||
var_8 = word ptr -8
|
||
var_6 = word ptr -6
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
arg_4 = word ptr 8
|
||
arg_6 = word ptr 0Ah
|
||
|
||
enter 0Ah, 0
|
||
push si
|
||
push di
|
||
mov di, 0A0h
|
||
mov [bp+var_2], 98h
|
||
mov [bp+var_4], 9680h
|
||
mov [bp+var_9], 0
|
||
xor si, si
|
||
jmp short loc_B492
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B418:
|
||
mov ax, [bp+var_4]
|
||
or ax, [bp+var_2]
|
||
jz short loc_B439
|
||
push 0
|
||
push 0Ah
|
||
push [bp+var_2]
|
||
push [bp+var_4]
|
||
push [bp+arg_4]
|
||
push [bp+arg_2]
|
||
call far ptr LDIV@
|
||
push dx
|
||
push ax
|
||
jmp short loc_B443
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B439:
|
||
push 0
|
||
push 0Ah
|
||
push [bp+arg_4]
|
||
push [bp+arg_2]
|
||
|
||
loc_B443:
|
||
call far ptr F_LMOD@
|
||
mov [bp+var_6], dx
|
||
mov [bp+var_8], ax
|
||
push 0
|
||
push 0Ah
|
||
push [bp+var_2]
|
||
push [bp+var_4]
|
||
call far ptr LDIV@
|
||
mov [bp+var_2], dx
|
||
mov [bp+var_4], ax
|
||
mov ax, [bp+var_8]
|
||
add ax, 0A0h
|
||
mov di, ax
|
||
mov ax, [bp+var_8]
|
||
or ax, [bp+var_6]
|
||
jz short loc_B477
|
||
mov [bp+var_9], 1
|
||
|
||
loc_B477:
|
||
cmp [bp+var_9], 0
|
||
jz short loc_B491
|
||
mov ax, si
|
||
add ax, ax
|
||
add ax, 1Ah
|
||
push ax
|
||
push [bp+arg_6]
|
||
push di
|
||
push [bp+arg_0]
|
||
call gaiji_putca
|
||
|
||
loc_B491:
|
||
inc si
|
||
|
||
loc_B492:
|
||
cmp si, 8
|
||
jl short loc_B418
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 8
|
||
sub_B3FD endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B49D proc near
|
||
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
arg_4 = word ptr 8
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push 30h ; '0'
|
||
push [bp+arg_4]
|
||
mov bx, [bp+arg_2]
|
||
shl bx, 2
|
||
push word ptr [bx+676h]
|
||
push word ptr [bx+674h]
|
||
push [bp+arg_0]
|
||
call text_putsa
|
||
pop bp
|
||
retn 6
|
||
sub_B49D endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B4BF proc far
|
||
|
||
var_2 = word ptr -2
|
||
arg_0 = dword ptr 6
|
||
arg_4 = word ptr 0Ah
|
||
arg_6 = word ptr 0Ch
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
mov di, [bp+arg_6]
|
||
mov si, 1
|
||
mov cx, 1
|
||
jmp short loc_B4D8
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B4D0:
|
||
mov ax, 0Ah
|
||
imul si
|
||
mov si, ax
|
||
inc cx
|
||
|
||
loc_B4D8:
|
||
cmp cx, di
|
||
jl short loc_B4D0
|
||
xor cx, cx
|
||
jmp short loc_B507
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B4E0:
|
||
mov ax, [bp+arg_4]
|
||
cwd
|
||
idiv si
|
||
mov bx, 0Ah
|
||
cwd
|
||
idiv bx
|
||
mov [bp+var_2], dx
|
||
les bx, [bp+arg_0]
|
||
add bx, cx
|
||
mov al, byte ptr [bp+var_2]
|
||
add al, 30h ; '0'
|
||
mov es:[bx], al
|
||
mov bx, 0Ah
|
||
mov ax, si
|
||
cwd
|
||
idiv bx
|
||
mov si, ax
|
||
inc cx
|
||
|
||
loc_B507:
|
||
cmp cx, di
|
||
jl short loc_B4E0
|
||
les bx, [bp+arg_0]
|
||
add bx, cx
|
||
mov byte ptr es:[bx], 0
|
||
pop di
|
||
pop si
|
||
leave
|
||
retf
|
||
sub_B4BF endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B518 proc near
|
||
|
||
var_6 = byte ptr -6
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
arg_4 = word ptr 8
|
||
|
||
enter 6, 0
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_4]
|
||
mov di, [bp+arg_0]
|
||
push 4
|
||
mov bx, [bp+arg_2]
|
||
shl bx, 2
|
||
push word ptr [bx+1E3Ch]
|
||
push ss
|
||
lea ax, [bp+var_6]
|
||
push ax
|
||
push cs
|
||
call near ptr sub_B4BF
|
||
push 38h ; '8'
|
||
push si
|
||
push ss
|
||
lea ax, [bp+var_6]
|
||
push ax
|
||
push di
|
||
call text_putsa
|
||
push 2
|
||
mov bx, [bp+arg_2]
|
||
shl bx, 2
|
||
mov al, [bx+1E3Fh]
|
||
cbw
|
||
push ax
|
||
push ss
|
||
lea ax, [bp+var_6]
|
||
push ax
|
||
push cs
|
||
call near ptr sub_B4BF
|
||
push 3Ch ; '<'
|
||
push si
|
||
push 2Fh ; '/'
|
||
push di
|
||
call text_putca
|
||
push 3Dh ; '='
|
||
push si
|
||
push ss
|
||
lea ax, [bp+var_6]
|
||
push ax
|
||
push di
|
||
call text_putsa
|
||
push 2
|
||
mov bx, [bp+arg_2]
|
||
shl bx, 2
|
||
mov al, [bx+1E3Eh]
|
||
cbw
|
||
push ax
|
||
push ss
|
||
lea ax, [bp+var_6]
|
||
push ax
|
||
push cs
|
||
call near ptr sub_B4BF
|
||
add sp, 18h
|
||
push 3Fh ; '?'
|
||
push si
|
||
push 2Fh ; '/'
|
||
push di
|
||
call text_putca
|
||
push 40h
|
||
push si
|
||
push ss
|
||
lea ax, [bp+var_6]
|
||
push ax
|
||
push di
|
||
call text_putsa
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 6
|
||
sub_B518 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B5B0 proc near
|
||
|
||
arg_0 = word ptr 4
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
mov di, 0E1h
|
||
push 16h
|
||
push 2
|
||
push ds
|
||
push offset gHI_SCORE
|
||
push 81h
|
||
call gaiji_putsa
|
||
push 28h ; '('
|
||
push 2
|
||
push ds
|
||
mov al, byte_DC34
|
||
cbw
|
||
shl ax, 3
|
||
add ax, offset gcEASY_0
|
||
push ax
|
||
push 81h
|
||
call gaiji_putsa
|
||
push 8
|
||
push 4
|
||
push ds
|
||
push offset aVicSob@b@b@b@b ; " <09><><EFBFBD><EFBFBD><EFBFBD>O<EFBFBD>@<40>@<40>@<40>@<40>@<40>@<40><><EFBFBD>_<EFBFBD>@<40>@<40>@ STAG"...
|
||
push 81h
|
||
call text_putsa
|
||
xor si, si
|
||
jmp short loc_B66D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B5F4:
|
||
cmp si, [bp+arg_0]
|
||
jnz short loc_B5FE
|
||
mov di, 81h
|
||
jmp short loc_B601
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B5FE:
|
||
mov di, 0E1h
|
||
|
||
loc_B601:
|
||
push 0Ch
|
||
lea ax, [si+7]
|
||
push ax
|
||
push ds
|
||
mov ax, si
|
||
imul ax, 7
|
||
add ax, 1DEAh
|
||
push ax
|
||
push di
|
||
call gaiji_putsa
|
||
lea ax, [si+7]
|
||
push ax
|
||
mov bx, si
|
||
shl bx, 2
|
||
push word ptr [bx+1DC0h]
|
||
push word ptr [bx+1DBEh]
|
||
push di
|
||
call sub_B3FD
|
||
cmp byte ptr [si+1E31h], 7Fh
|
||
jz short loc_B645
|
||
push 2Ch ; ','
|
||
lea ax, [si+7]
|
||
push ax
|
||
mov al, [si+1E31h]
|
||
mov ah, 0
|
||
add ax, 0A0h
|
||
push ax
|
||
jmp short loc_B64E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B645:
|
||
push 2Ch ; ','
|
||
lea ax, [si+7]
|
||
push ax
|
||
push 0F0h
|
||
|
||
loc_B64E:
|
||
push di
|
||
call gaiji_putca
|
||
lea ax, [si+7]
|
||
push ax
|
||
mov al, [si+1E64h]
|
||
mov ah, 0
|
||
push ax
|
||
push di
|
||
call sub_B49D
|
||
lea ax, [si+7]
|
||
push ax
|
||
push si
|
||
push di
|
||
call sub_B518
|
||
inc si
|
||
|
||
loc_B66D:
|
||
cmp si, 0Ah
|
||
jl short loc_B5F4
|
||
xor si, si
|
||
jmp short loc_B6B0
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B676:
|
||
cmp si, [bp+arg_0]
|
||
jnz short loc_B680
|
||
mov di, 81h
|
||
jmp short loc_B683
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B680:
|
||
mov di, 0E1h
|
||
|
||
loc_B683:
|
||
cmp si, 9
|
||
jz short loc_B695
|
||
push 9
|
||
lea ax, [si+7]
|
||
push ax
|
||
lea ax, [si+0A1h]
|
||
push ax
|
||
jmp short loc_B6A9
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B695:
|
||
push 8
|
||
push 10h
|
||
push 0A1h ; '<27>'
|
||
push di
|
||
call gaiji_putca
|
||
push 0Ah
|
||
push 10h
|
||
push 0A0h
|
||
|
||
loc_B6A9:
|
||
push di
|
||
call gaiji_putca
|
||
inc si
|
||
|
||
loc_B6B0:
|
||
cmp si, 0Ah
|
||
jl short loc_B676
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retn 2
|
||
sub_B5B0 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B6BB proc near
|
||
|
||
var_2 = word ptr -2
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
push 0C0h
|
||
push 0Ah
|
||
call grcg_setcolor
|
||
call grcg_fill
|
||
call grcg_off
|
||
inc word_DCB0
|
||
xor si, si
|
||
jmp short loc_B723
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B6DD:
|
||
mov ax, si
|
||
imul ax, 0A0h
|
||
add ax, word_DCB0
|
||
mov [bp+var_2], ax
|
||
mov bx, 280h
|
||
cwd
|
||
idiv bx
|
||
mov [bp+var_2], dx
|
||
mov ax, si
|
||
imul ax, 64h
|
||
sub ax, word_DCB0
|
||
mov di, ax
|
||
|
||
loc_B6FE:
|
||
or di, di
|
||
jge short loc_B708
|
||
add di, 190h
|
||
jmp short loc_B6FE
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B708:
|
||
push [bp+var_2]
|
||
push di
|
||
push 0
|
||
call super_put_rect
|
||
mov ax, [bp+var_2]
|
||
add ax, 40h
|
||
push ax
|
||
push di
|
||
push 1
|
||
call super_put_rect
|
||
inc si
|
||
|
||
loc_B723:
|
||
cmp si, 4
|
||
jl short loc_B6DD
|
||
xor si, si
|
||
jmp short loc_B775
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B72C:
|
||
mov ax, si
|
||
imul ax, 0A0h
|
||
add ax, word_DCB0
|
||
add ax, 140h
|
||
mov [bp+var_2], ax
|
||
mov bx, 280h
|
||
cwd
|
||
idiv bx
|
||
mov [bp+var_2], dx
|
||
mov ax, si
|
||
imul ax, 64h
|
||
sub ax, word_DCB0
|
||
mov di, ax
|
||
|
||
loc_B750:
|
||
or di, di
|
||
jge short loc_B75A
|
||
add di, 190h
|
||
jmp short loc_B750
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B75A:
|
||
push [bp+var_2]
|
||
push di
|
||
push 0
|
||
call super_put_rect
|
||
mov ax, [bp+var_2]
|
||
add ax, 40h
|
||
push ax
|
||
push di
|
||
push 1
|
||
call super_put_rect
|
||
inc si
|
||
|
||
loc_B775:
|
||
cmp si, 4
|
||
jl short loc_B72C
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn
|
||
sub_B6BB endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B77E proc far
|
||
|
||
var_1 = byte ptr -1
|
||
|
||
enter 2, 0
|
||
push si
|
||
xor si, si
|
||
mov [bp+var_1], 0
|
||
call sub_B3B1
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
call graph_clear
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call graph_clear
|
||
cmp byte_DCB2, 0
|
||
jz short loc_B7B7
|
||
mov byte_DCB2, 0
|
||
push ds
|
||
push offset aOp_h_bft ; "op_h.bft"
|
||
call super_entry_bfnt
|
||
|
||
loc_B7B7:
|
||
push ds
|
||
push offset aOp_h_rgb ; "op_h.rgb"
|
||
call palette_entry_rgb
|
||
call far ptr palette_show
|
||
push 80h
|
||
push 60h
|
||
push 200h
|
||
push 130h
|
||
call grc_setclip
|
||
push 0C0h
|
||
push 0Ah
|
||
call grcg_setcolor
|
||
call grcg_fill
|
||
call grcg_off
|
||
push 0FFFFh
|
||
call sub_B5B0
|
||
mov word_DCB0, 0
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
mov al, 1
|
||
sub al, [bp+var_1]
|
||
mov [bp+var_1], al
|
||
mov dx, 0A4h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
|
||
loc_B808:
|
||
call sub_AED0
|
||
or si, si
|
||
jnz short loc_B81D
|
||
cmp word_F3C8, 0
|
||
jnz short loc_B81D
|
||
mov si, 1
|
||
jmp short loc_B829
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B81D:
|
||
cmp si, 1
|
||
jnz short loc_B829
|
||
cmp word_F3C8, 0
|
||
jnz short loc_B84F
|
||
|
||
loc_B829:
|
||
call sub_B6BB
|
||
push 1
|
||
call sub_B2D2
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, [bp+var_1]
|
||
out dx, al
|
||
mov al, 1
|
||
sub al, [bp+var_1]
|
||
mov [bp+var_1], al
|
||
mov dx, 0A4h ; '<27>'
|
||
out dx, al
|
||
mov ax, word_DCB0
|
||
cmp ax, word_F4A4
|
||
jbe short loc_B808
|
||
|
||
loc_B84F:
|
||
mov word_F3C8, 0
|
||
push 14h
|
||
call sub_B2D2
|
||
push 0
|
||
push 0
|
||
push 27Fh
|
||
push 18Fh
|
||
call grc_setclip
|
||
pop si
|
||
leave
|
||
retf
|
||
sub_B77E endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B86E proc far
|
||
|
||
var_A = byte ptr -0Ah
|
||
var_6 = byte ptr -6
|
||
|
||
enter 0Ah, 0
|
||
push si
|
||
push di
|
||
lea ax, [bp+var_6]
|
||
push ss
|
||
push ax
|
||
push ds
|
||
push offset unk_DCB4
|
||
mov cx, 6
|
||
call SCOPY@
|
||
lea ax, [bp+var_A]
|
||
push ss
|
||
push ax
|
||
push ds
|
||
push offset unk_DCBA
|
||
mov cx, 3
|
||
call SCOPY@
|
||
mov di, 1
|
||
mov byte_DC34, 0
|
||
jmp short loc_B8D7
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B8A0:
|
||
call sub_B3B1
|
||
mov al, byte_DC34
|
||
cbw
|
||
add ax, ax
|
||
lea dx, [bp+var_6]
|
||
add ax, dx
|
||
mov bx, ax
|
||
mov ax, ss:[bx]
|
||
cmp ax, word_F3EC
|
||
jz short loc_B8C8
|
||
mov al, byte_DC34
|
||
cbw
|
||
mov bx, ax
|
||
mov byte ptr [bx+1E76h], 0
|
||
xor di, di
|
||
jmp short loc_B8D3
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B8C8:
|
||
mov al, byte_DC34
|
||
cbw
|
||
mov bx, ax
|
||
mov byte ptr [bx+1E76h], 1
|
||
|
||
loc_B8D3:
|
||
inc byte_DC34
|
||
|
||
loc_B8D7:
|
||
cmp byte_DC34, 3
|
||
jl short loc_B8A0
|
||
mov byte_DC34, 3
|
||
call sub_B3B1
|
||
xor si, si
|
||
jmp short loc_B902
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B8EA:
|
||
mov al, [bp+si+var_A]
|
||
mov ah, 0
|
||
test word_F3EC, ax
|
||
jz short loc_B8FC
|
||
mov byte ptr [si+1E79h], 1
|
||
jmp short loc_B901
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B8FC:
|
||
mov byte ptr [si+1E79h], 0
|
||
|
||
loc_B901:
|
||
inc si
|
||
|
||
loc_B902:
|
||
cmp si, 3
|
||
jl short loc_B8EA
|
||
mov ax, di
|
||
pop di
|
||
pop si
|
||
leave
|
||
retf
|
||
sub_B86E endp
|
||
|
||
seg004 ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
seg005 segment byte public 'CODE' use16
|
||
assume cs:seg005
|
||
;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_B90D proc far
|
||
|
||
arg_0 = word ptr 6
|
||
arg_2 = word ptr 8
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
cmp [bp+arg_2], 0
|
||
jnz short loc_B953
|
||
mov ax, [bp+arg_0]
|
||
or ax, ax
|
||
jz short loc_B92B
|
||
cmp ax, 1
|
||
jz short loc_B930
|
||
cmp ax, 2
|
||
jz short loc_B938
|
||
jmp short loc_B93E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B92B:
|
||
mov si, 10h
|
||
jmp short loc_B93B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B930:
|
||
mov si, 0E0h
|
||
mov di, 0E0h
|
||
jmp short loc_B93E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B938:
|
||
mov si, 1B0h
|
||
|
||
loc_B93B:
|
||
mov di, 80h
|
||
|
||
loc_B93E:
|
||
push si
|
||
push di
|
||
push 10h
|
||
push 90h
|
||
call sub_AE00
|
||
push si
|
||
push di
|
||
push 0C0h
|
||
push 0Ah
|
||
jmp short loc_B9B2
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B953:
|
||
mov ax, [bp+arg_0]
|
||
or ax, ax
|
||
jz short loc_B966
|
||
cmp ax, 1
|
||
jz short loc_B96B
|
||
cmp ax, 2
|
||
jz short loc_B973
|
||
jmp short loc_B979
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B966:
|
||
mov si, 0D0h
|
||
jmp short loc_B976
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B96B:
|
||
mov si, 1A0h
|
||
mov di, 0E8h
|
||
jmp short loc_B979
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B973:
|
||
mov si, 270h
|
||
|
||
loc_B976:
|
||
mov di, 88h
|
||
|
||
loc_B979:
|
||
push si
|
||
push di
|
||
push 10h
|
||
push 90h
|
||
call sub_AE00
|
||
mov ax, [bp+arg_0]
|
||
or ax, ax
|
||
jz short loc_B998
|
||
cmp ax, 1
|
||
jz short loc_B99D
|
||
cmp ax, 2
|
||
jz short loc_B9A5
|
||
jmp short loc_B9AB
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B998:
|
||
mov si, 18h
|
||
jmp short loc_B9A8
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B99D:
|
||
mov si, 0E8h
|
||
mov di, 170h
|
||
jmp short loc_B9AB
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B9A5:
|
||
mov si, 1B8h
|
||
|
||
loc_B9A8:
|
||
mov di, 110h
|
||
|
||
loc_B9AB:
|
||
push si
|
||
push di
|
||
push 0C0h
|
||
push 8
|
||
|
||
loc_B9B2:
|
||
call sub_AE00
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retf
|
||
sub_B90D endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B9BB proc far
|
||
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 6
|
||
arg_2 = word ptr 8
|
||
|
||
enter 2, 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 [bp+var_2], ax
|
||
push 0C0h
|
||
push 0
|
||
call grcg_setcolor
|
||
xor si, si
|
||
jmp short loc_BA11
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B9E8:
|
||
xor di, di
|
||
jmp short loc_BA07
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B9EC:
|
||
test si, 1
|
||
jz short loc_B9F7
|
||
mov ax, 0AAAAh
|
||
jmp short loc_B9FA
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B9F7:
|
||
mov ax, 5555h
|
||
|
||
loc_B9FA:
|
||
les bx, dword_F16C
|
||
add bx, [bp+var_2]
|
||
mov es:[bx+di], ax
|
||
add di, 2
|
||
|
||
loc_BA07:
|
||
cmp di, 18h
|
||
jl short loc_B9EC
|
||
inc si
|
||
add [bp+var_2], 50h ; 'P'
|
||
|
||
loc_BA11:
|
||
cmp si, 90h
|
||
jl short loc_B9E8
|
||
call grcg_off
|
||
pop di
|
||
pop si
|
||
leave
|
||
retf
|
||
sub_B9BB endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_BA20 proc far
|
||
|
||
arg_0 = word ptr 6
|
||
arg_2 = word ptr 8
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
mov ax, [bp+arg_0]
|
||
or ax, ax
|
||
jz short loc_BA38
|
||
cmp ax, 1
|
||
jz short loc_BA3D
|
||
cmp ax, 2
|
||
jz short loc_BA45
|
||
jmp short loc_BA4B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BA38:
|
||
mov si, 10h
|
||
jmp short loc_BA48
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BA3D:
|
||
mov si, 0E0h
|
||
mov di, 88h
|
||
jmp short loc_BA4B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BA45:
|
||
mov si, 1B0h
|
||
|
||
loc_BA48:
|
||
mov di, 128h
|
||
|
||
loc_BA4B:
|
||
push 0C0h
|
||
push [bp+arg_2]
|
||
call grcg_setcolor
|
||
lea ax, [si+8]
|
||
push ax
|
||
lea ax, [di+8]
|
||
push ax
|
||
lea ax, [si+0C8h]
|
||
push ax
|
||
lea ax, [di+48h]
|
||
push ax
|
||
push 8
|
||
call grcg_round_boxfill
|
||
push 0C0h
|
||
push 0
|
||
call grcg_setcolor
|
||
push si
|
||
push di
|
||
lea ax, [si+0C0h]
|
||
push ax
|
||
lea ax, [di+40h]
|
||
push ax
|
||
push 8
|
||
call grcg_round_boxfill
|
||
call grcg_off
|
||
mov bx, [bp+arg_0]
|
||
imul bx, 0Ch
|
||
push word ptr [bx+6F4h]
|
||
push word ptr [bx+6F2h]
|
||
mov ax, [bp+arg_2]
|
||
or ax, 20h
|
||
push ax
|
||
lea ax, [di+8]
|
||
push ax
|
||
lea ax, [si+8]
|
||
push ax
|
||
call sub_AB4D
|
||
mov bx, [bp+arg_0]
|
||
imul bx, 0Ch
|
||
push word ptr [bx+6F8h]
|
||
push word ptr [bx+6F6h]
|
||
mov ax, [bp+arg_2]
|
||
or ax, 20h
|
||
push ax
|
||
lea ax, [di+18h]
|
||
push ax
|
||
lea ax, [si+8]
|
||
push ax
|
||
call sub_AB4D
|
||
mov bx, [bp+arg_0]
|
||
imul bx, 0Ch
|
||
push word ptr [bx+6FCh]
|
||
push word ptr [bx+6FAh]
|
||
mov ax, [bp+arg_2]
|
||
or ax, 20h
|
||
push ax
|
||
lea ax, [di+28h]
|
||
push ax
|
||
lea ax, [si+8]
|
||
push ax
|
||
call sub_AB4D
|
||
add sp, 1Eh
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retf
|
||
sub_BA20 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_BAFC proc far
|
||
push bp
|
||
mov bp, sp
|
||
push 0C0h
|
||
push 0Ch
|
||
call grcg_setcolor
|
||
push 88h
|
||
push 18h
|
||
push 208h
|
||
push 38h ; '8'
|
||
push 8
|
||
call grcg_round_boxfill
|
||
push 0C0h
|
||
push 0
|
||
call grcg_setcolor
|
||
push 80h
|
||
push 10h
|
||
push 200h
|
||
push 30h ; '0'
|
||
push 8
|
||
call grcg_round_boxfill
|
||
call grcg_off
|
||
push word ptr off_DD46+2
|
||
push word ptr off_DD46
|
||
push 2Ch ; ','
|
||
push 18h
|
||
push 90h
|
||
call sub_AB4D
|
||
add sp, 0Ah
|
||
les bx, dword_F3DC
|
||
cmp byte ptr es:[bx+0Bh], 5
|
||
jnz short loc_BBBE
|
||
push 0C0h
|
||
push 0Ch
|
||
call grcg_setcolor
|
||
push 18h
|
||
push 38h ; '8'
|
||
push 278h
|
||
push 68h ; 'h'
|
||
push 8
|
||
call grcg_round_boxfill
|
||
push 0C0h
|
||
push 0
|
||
call grcg_setcolor
|
||
push 10h
|
||
push 30h ; '0'
|
||
push 270h
|
||
push 60h
|
||
push 8
|
||
call grcg_round_boxfill
|
||
call grcg_off
|
||
push word ptr off_DD4A+2
|
||
push word ptr off_DD4A
|
||
push 2Fh ; '/'
|
||
push 38h ; '8'
|
||
push 20h ; ' '
|
||
call sub_AB4D
|
||
push word ptr off_DD4E+2
|
||
push word ptr off_DD4E
|
||
push 2Fh ; '/'
|
||
push 48h ; 'H'
|
||
push 20h ; ' '
|
||
call sub_AB4D
|
||
add sp, 14h
|
||
|
||
loc_BBBE:
|
||
pop bp
|
||
retf
|
||
sub_BAFC endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_BBC0 proc far
|
||
push bp
|
||
mov bp, sp
|
||
mov PaletteTone, 0
|
||
call far ptr palette_show
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
push ds
|
||
push offset aTselect_pi ; "TSELECT.pi"
|
||
push 3
|
||
call sub_ADD5
|
||
push 3
|
||
call sub_B15A
|
||
push 3
|
||
push 0
|
||
push 0
|
||
call sub_B17D
|
||
add sp, 0Eh
|
||
push ds
|
||
push offset unk_F26C
|
||
push word_F18A
|
||
push word_F188
|
||
call graph_pi_free
|
||
push 1
|
||
call graph_copy_page
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
les bx, dword_F3DC
|
||
cmp byte ptr es:[bx+0Bh], 5
|
||
jz short loc_BC61
|
||
cmp byte_F4A6, 0
|
||
jz short loc_BC3A
|
||
push word ptr off_DD52+2
|
||
push word ptr off_DD52
|
||
push 2Fh ; '/'
|
||
push 70h ; 'p'
|
||
push 10h
|
||
call sub_AB4D
|
||
add sp, 0Ah
|
||
|
||
loc_BC3A:
|
||
cmp byte_F4A7, 0
|
||
jz short loc_BC58
|
||
push word ptr off_DD52+2
|
||
push word ptr off_DD52
|
||
push 2Fh ; '/'
|
||
push 70h ; 'p'
|
||
push 0E0h
|
||
call sub_AB4D
|
||
add sp, 0Ah
|
||
|
||
loc_BC58:
|
||
cmp byte_F4A8, 0
|
||
jz short loc_BCBA
|
||
jmp short loc_BCA3
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BC61:
|
||
cmp byte_F4A9, 0
|
||
jz short loc_BC7E
|
||
push word ptr off_DD52+2
|
||
push word ptr off_DD52
|
||
push 2Fh ; '/'
|
||
push 70h ; 'p'
|
||
push 10h
|
||
call sub_AB4D
|
||
add sp, 0Ah
|
||
|
||
loc_BC7E:
|
||
cmp byte_F4AA, 0
|
||
jz short loc_BC9C
|
||
push word ptr off_DD52+2
|
||
push word ptr off_DD52
|
||
push 2Fh ; '/'
|
||
push 70h ; 'p'
|
||
push 0E0h
|
||
call sub_AB4D
|
||
add sp, 0Ah
|
||
|
||
loc_BC9C:
|
||
cmp byte_F4AB, 0
|
||
jz short loc_BCBA
|
||
|
||
loc_BCA3:
|
||
push word ptr off_DD52+2
|
||
push word ptr off_DD52
|
||
push 2Fh ; '/'
|
||
push 70h ; 'p'
|
||
push 1B0h
|
||
call sub_AB4D
|
||
add sp, 0Ah
|
||
|
||
loc_BCBA:
|
||
push 0
|
||
push 88h
|
||
push 18h
|
||
call sub_B17D
|
||
push 1
|
||
push 0E0h
|
||
push 0E0h
|
||
call sub_B17D
|
||
push 2
|
||
push 88h
|
||
push 1B8h
|
||
call sub_B17D
|
||
les bx, dword_F3DC
|
||
mov byte ptr es:[bx+26h], 1
|
||
push 88h
|
||
push 18h
|
||
push cs
|
||
call near ptr sub_B9BB
|
||
push 88h
|
||
push 1B8h
|
||
push cs
|
||
call near ptr sub_B9BB
|
||
push 7
|
||
push 0
|
||
push cs
|
||
call near ptr sub_BA20
|
||
push 0Ch
|
||
push 1
|
||
push cs
|
||
call near ptr sub_BA20
|
||
push 7
|
||
push 2
|
||
push cs
|
||
call near ptr sub_BA20
|
||
add sp, 26h
|
||
push cs
|
||
call near ptr sub_BAFC
|
||
push 2
|
||
call palette_black_in
|
||
pop bp
|
||
retf
|
||
sub_BBC0 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_BD24 proc far
|
||
|
||
var_C = byte ptr -0Ch
|
||
var_6 = byte ptr -6
|
||
|
||
enter 0Ch, 0
|
||
push si
|
||
push di
|
||
xor si, si
|
||
lea ax, [bp+var_6]
|
||
push ss
|
||
push ax
|
||
push ds
|
||
push offset unk_DD56
|
||
mov cx, 6
|
||
call SCOPY@
|
||
lea ax, [bp+var_C]
|
||
push ss
|
||
push ax
|
||
push ds
|
||
push offset unk_DD5C
|
||
mov cx, 6
|
||
call SCOPY@
|
||
xor di, di
|
||
push cs
|
||
call near ptr sub_BBC0
|
||
|
||
loc_BD54:
|
||
call sub_AED0
|
||
or si, si
|
||
jz short loc_BD60
|
||
jmp loc_BF95
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BD60:
|
||
test byte ptr word_F3C8, 4
|
||
jnz short loc_BD6A
|
||
jmp loc_BE6D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BD6A:
|
||
push 7
|
||
mov al, byte_DD20
|
||
cbw
|
||
push ax
|
||
push cs
|
||
call near ptr sub_BA20
|
||
add sp, 4
|
||
push 1
|
||
call sub_B2D2
|
||
push 0
|
||
mov al, byte_DD20
|
||
cbw
|
||
push ax
|
||
push cs
|
||
call near ptr sub_B90D
|
||
add sp, 4
|
||
push 1
|
||
call sub_B2D2
|
||
mov al, byte_DD20
|
||
cbw
|
||
push ax
|
||
mov al, byte_DD20
|
||
cbw
|
||
add ax, ax
|
||
lea dx, [bp+var_C]
|
||
add ax, dx
|
||
mov bx, ax
|
||
mov ax, ss:[bx]
|
||
add ax, 8
|
||
push ax
|
||
mov al, byte_DD20
|
||
cbw
|
||
add ax, ax
|
||
lea dx, [bp+var_6]
|
||
add ax, dx
|
||
mov bx, ax
|
||
mov ax, ss:[bx]
|
||
add ax, 8
|
||
push ax
|
||
call sub_B17D
|
||
add sp, 6
|
||
push 1
|
||
call sub_B2D2
|
||
mov al, byte_DD20
|
||
cbw
|
||
add ax, ax
|
||
lea dx, [bp+var_C]
|
||
add ax, dx
|
||
mov bx, ax
|
||
mov ax, ss:[bx]
|
||
add ax, 8
|
||
push ax
|
||
mov al, byte_DD20
|
||
cbw
|
||
add ax, ax
|
||
lea dx, [bp+var_6]
|
||
add ax, dx
|
||
mov bx, ax
|
||
mov ax, ss:[bx]
|
||
add ax, 8
|
||
push ax
|
||
push cs
|
||
call near ptr sub_B9BB
|
||
add sp, 4
|
||
dec byte_DD20
|
||
cmp byte_DD20, 0
|
||
jge short loc_BE0F
|
||
mov byte_DD20, 2
|
||
|
||
loc_BE0F:
|
||
push 1
|
||
call sub_B2D2
|
||
push 1
|
||
mov al, byte_DD20
|
||
cbw
|
||
push ax
|
||
push cs
|
||
call near ptr sub_B90D
|
||
add sp, 4
|
||
push 1
|
||
call sub_B2D2
|
||
push 0Ch
|
||
mov al, byte_DD20
|
||
cbw
|
||
push ax
|
||
push cs
|
||
call near ptr sub_BA20
|
||
add sp, 4
|
||
push 1
|
||
call sub_B2D2
|
||
mov al, byte_DD20
|
||
cbw
|
||
push ax
|
||
mov al, byte_DD20
|
||
cbw
|
||
add ax, ax
|
||
lea dx, [bp+var_C]
|
||
add ax, dx
|
||
mov bx, ax
|
||
push word ptr ss:[bx]
|
||
mov al, byte_DD20
|
||
cbw
|
||
add ax, ax
|
||
lea dx, [bp+var_6]
|
||
add ax, dx
|
||
mov bx, ax
|
||
push word ptr ss:[bx]
|
||
call sub_B17D
|
||
add sp, 6
|
||
|
||
loc_BE6D:
|
||
test byte ptr word_F3C8, 8
|
||
jnz short loc_BE77
|
||
jmp loc_BF7A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BE77:
|
||
push 0
|
||
mov al, byte_DD20
|
||
cbw
|
||
push ax
|
||
push cs
|
||
call near ptr sub_B90D
|
||
add sp, 4
|
||
push 1
|
||
call sub_B2D2
|
||
mov al, byte_DD20
|
||
cbw
|
||
push ax
|
||
mov al, byte_DD20
|
||
cbw
|
||
add ax, ax
|
||
lea dx, [bp+var_C]
|
||
add ax, dx
|
||
mov bx, ax
|
||
mov ax, ss:[bx]
|
||
add ax, 8
|
||
push ax
|
||
mov al, byte_DD20
|
||
cbw
|
||
add ax, ax
|
||
lea dx, [bp+var_6]
|
||
add ax, dx
|
||
mov bx, ax
|
||
mov ax, ss:[bx]
|
||
add ax, 8
|
||
push ax
|
||
call sub_B17D
|
||
add sp, 6
|
||
push 1
|
||
call sub_B2D2
|
||
push 7
|
||
mov al, byte_DD20
|
||
cbw
|
||
push ax
|
||
push cs
|
||
call near ptr sub_BA20
|
||
add sp, 4
|
||
push 1
|
||
call sub_B2D2
|
||
mov al, byte_DD20
|
||
cbw
|
||
add ax, ax
|
||
lea dx, [bp+var_C]
|
||
add ax, dx
|
||
mov bx, ax
|
||
mov ax, ss:[bx]
|
||
add ax, 8
|
||
push ax
|
||
mov al, byte_DD20
|
||
cbw
|
||
add ax, ax
|
||
lea dx, [bp+var_6]
|
||
add ax, dx
|
||
mov bx, ax
|
||
mov ax, ss:[bx]
|
||
add ax, 8
|
||
push ax
|
||
push cs
|
||
call near ptr sub_B9BB
|
||
add sp, 4
|
||
inc byte_DD20
|
||
cmp byte_DD20, 2
|
||
jle short loc_BF1C
|
||
mov byte_DD20, 0
|
||
|
||
loc_BF1C:
|
||
push 1
|
||
call sub_B2D2
|
||
push 1
|
||
mov al, byte_DD20
|
||
cbw
|
||
push ax
|
||
push cs
|
||
call near ptr sub_B90D
|
||
add sp, 4
|
||
push 1
|
||
call sub_B2D2
|
||
push 0Ch
|
||
mov al, byte_DD20
|
||
cbw
|
||
push ax
|
||
push cs
|
||
call near ptr sub_BA20
|
||
add sp, 4
|
||
push 1
|
||
call sub_B2D2
|
||
mov al, byte_DD20
|
||
cbw
|
||
push ax
|
||
mov al, byte_DD20
|
||
cbw
|
||
add ax, ax
|
||
lea dx, [bp+var_C]
|
||
add ax, dx
|
||
mov bx, ax
|
||
push word ptr ss:[bx]
|
||
mov al, byte_DD20
|
||
cbw
|
||
add ax, ax
|
||
lea dx, [bp+var_6]
|
||
add ax, dx
|
||
mov bx, ax
|
||
push word ptr ss:[bx]
|
||
call sub_B17D
|
||
add sp, 6
|
||
|
||
loc_BF7A:
|
||
test byte ptr word_F3C8, 10h
|
||
jnz short loc_BF88
|
||
test byte ptr word_F3C8, 80h
|
||
jz short loc_BF95
|
||
|
||
loc_BF88:
|
||
les bx, dword_F3DC
|
||
mov al, byte_DD20
|
||
mov es:[bx+26h], al
|
||
jmp short loc_BFB7
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BF95:
|
||
push 1
|
||
call sub_B2D2
|
||
mov si, word_F3C8
|
||
or si, si
|
||
jz short loc_BFB2
|
||
inc di
|
||
cmp di, 1Eh
|
||
ja short loc_BFAD
|
||
jmp loc_BD54
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BFAD:
|
||
xor si, si
|
||
jmp loc_BD54
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BFB2:
|
||
xor di, di
|
||
jmp loc_BD54
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BFB7:
|
||
push ds
|
||
push offset unk_F194
|
||
push word_F17E
|
||
push word_F17C
|
||
call graph_pi_free
|
||
push ds
|
||
push offset unk_F1DC
|
||
push word_F182
|
||
push word_F180
|
||
call graph_pi_free
|
||
push ds
|
||
push offset unk_F224
|
||
push word_F186
|
||
push word_F184
|
||
call graph_pi_free
|
||
push 1
|
||
call palette_black_out
|
||
pop di
|
||
pop si
|
||
leave
|
||
retf
|
||
sub_BD24 endp
|
||
|
||
seg005 ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
seg006 segment byte public 'CODE' use16
|
||
assume cs:seg006
|
||
;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_BFF5 proc near
|
||
|
||
var_1 = byte ptr -1
|
||
arg_0 = byte ptr 4
|
||
arg_2 = byte ptr 6
|
||
|
||
enter 2, 0
|
||
mov al, 1
|
||
sub al, byte ptr word_F57C+1
|
||
mov [bp+var_1], al
|
||
mov dx, 0A6h ; '<27>'
|
||
out dx, al
|
||
mov al, [bp+arg_2]
|
||
mov ah, 0
|
||
shl ax, 2
|
||
mov bx, ax
|
||
push word ptr [bx+8E8h]
|
||
push word ptr [bx+8E6h]
|
||
mov al, [bp+arg_0]
|
||
mov ah, 0
|
||
or ax, 20h
|
||
push ax
|
||
mov al, [bp+arg_2]
|
||
mov ah, 0
|
||
add ax, 6
|
||
shl ax, 4
|
||
push ax
|
||
push 10h
|
||
call sub_AB4D
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, byte ptr word_F57C+1
|
||
out dx, al
|
||
mov al, [bp+arg_2]
|
||
mov ah, 0
|
||
shl ax, 2
|
||
mov bx, ax
|
||
push word ptr [bx+8E8h]
|
||
push word ptr [bx+8E6h]
|
||
mov al, [bp+arg_0]
|
||
mov ah, 0
|
||
or ax, 20h
|
||
push ax
|
||
mov al, [bp+arg_2]
|
||
mov ah, 0
|
||
add ax, 6
|
||
shl ax, 4
|
||
push ax
|
||
push 10h
|
||
call sub_AB4D
|
||
add sp, 14h
|
||
leave
|
||
retn 4
|
||
sub_BFF5 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C070 proc near
|
||
|
||
arg_0 = byte ptr 4
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
xor si, si
|
||
jmp short loc_C08D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C078:
|
||
push si
|
||
mov al, [bp+arg_0]
|
||
mov ah, 0
|
||
cmp ax, si
|
||
jnz short loc_C086
|
||
mov al, 0Fh
|
||
jmp short loc_C088
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C086:
|
||
mov al, 3
|
||
|
||
loc_C088:
|
||
push ax
|
||
call sub_BFF5
|
||
inc si
|
||
|
||
loc_C08D:
|
||
cmp si, 11h
|
||
jl short loc_C078
|
||
pop si
|
||
pop bp
|
||
retn 2
|
||
sub_C070 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C097 proc near
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push 7D00h
|
||
call hmem_allocbyte
|
||
mov word ptr dword_F57E+2, ax
|
||
mov word ptr dword_F57E, 0
|
||
xor si, si
|
||
jmp short loc_C0CD
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C0B0:
|
||
les bx, dword_F16C
|
||
add bx, si
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
les bx, dword_F57E
|
||
add bx, si
|
||
mov es:[bx+2], dx
|
||
mov es:[bx], ax
|
||
add si, 4
|
||
|
||
loc_C0CD:
|
||
cmp si, 7D00h
|
||
jl short loc_C0B0
|
||
pop si
|
||
pop bp
|
||
retn
|
||
sub_C097 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C0D6 proc near
|
||
push bp
|
||
mov bp, sp
|
||
push word ptr dword_F57E+2
|
||
call hmem_free
|
||
pop bp
|
||
retn
|
||
sub_C0D6 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C0E4 proc near
|
||
push bp
|
||
mov bp, sp
|
||
xor cx, cx
|
||
jmp short loc_C108
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C0EB:
|
||
les bx, dword_F57E
|
||
add bx, cx
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
les bx, dword_F16C
|
||
add bx, cx
|
||
mov es:[bx+2], dx
|
||
mov es:[bx], ax
|
||
add cx, 4
|
||
|
||
loc_C108:
|
||
cmp cx, 7D00h
|
||
jl short loc_C0EB
|
||
pop bp
|
||
retn
|
||
sub_C0E4 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C110 proc near
|
||
|
||
var_3 = byte ptr -3
|
||
var_2 = word ptr -2
|
||
arg_0 = byte ptr 4
|
||
arg_2 = word ptr 6
|
||
arg_4 = word ptr 8
|
||
arg_6 = word ptr 0Ah
|
||
arg_8 = word ptr 0Ch
|
||
arg_A = word ptr 0Eh
|
||
|
||
enter 4, 0
|
||
push si
|
||
push di
|
||
mov di, [bp+arg_A]
|
||
sar [bp+arg_6], 4
|
||
mov [bp+var_2], 0
|
||
jmp short loc_C18E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C124:
|
||
mov ax, [bp+var_2]
|
||
shl ax, 8
|
||
cwd
|
||
idiv [bp+arg_2]
|
||
add al, [bp+arg_0]
|
||
mov [bp+var_3], al
|
||
mov ax, [bp+arg_4]
|
||
cwd
|
||
mov bl, [bp+var_3]
|
||
mov bh, 0
|
||
add bx, bx
|
||
push ax
|
||
mov ax, [bx+308h]
|
||
push dx
|
||
cwd
|
||
pop cx
|
||
pop bx
|
||
call LXMUL@
|
||
mov cl, 8
|
||
call far ptr LXRSH@
|
||
add ax, [bp+arg_8]
|
||
mov bx, [bp+var_2]
|
||
shl bx, 2
|
||
mov [bx+di], ax
|
||
mov ax, [bp+arg_4]
|
||
cwd
|
||
mov bl, [bp+var_3]
|
||
mov bh, 0
|
||
add bx, bx
|
||
push ax
|
||
mov ax, [bx+288h]
|
||
push dx
|
||
cwd
|
||
pop cx
|
||
pop bx
|
||
call LXMUL@
|
||
mov cl, 8
|
||
call far ptr LXRSH@
|
||
add ax, [bp+arg_6]
|
||
mov bx, [bp+var_2]
|
||
shl bx, 2
|
||
mov [bx+di+2], ax
|
||
inc [bp+var_2]
|
||
|
||
loc_C18E:
|
||
mov ax, [bp+var_2]
|
||
cmp ax, [bp+arg_2]
|
||
jl short loc_C124
|
||
mov bx, [bp+var_2]
|
||
shl bx, 2
|
||
mov ax, [di]
|
||
mov [bx+di], ax
|
||
mov bx, [bp+var_2]
|
||
shl bx, 2
|
||
mov ax, [di+2]
|
||
mov [bx+di+2], ax
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 0Ch
|
||
sub_C110 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C1B2 proc near
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
cmp byte_DF96, 0
|
||
jz short loc_C1C0
|
||
jmp loc_C263
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C1C0:
|
||
xor si, si
|
||
jmp loc_C256
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C1C5:
|
||
call IRand
|
||
mov bx, 280h
|
||
cwd
|
||
idiv bx
|
||
mov bx, si
|
||
shl bx, 2
|
||
mov [bx+1EACh], dx
|
||
call IRand
|
||
mov bx, 1900h
|
||
cwd
|
||
idiv bx
|
||
mov bx, si
|
||
shl bx, 2
|
||
mov [bx+1EAEh], dx
|
||
call IRand
|
||
and ax, 7
|
||
mov dx, 4
|
||
sub dx, ax
|
||
mov bx, si
|
||
shl bx, 2
|
||
mov [bx+1EECh], dx
|
||
mov bx, si
|
||
shl bx, 2
|
||
cmp word ptr [bx+1EECh], 0
|
||
jnz short loc_C21A
|
||
mov bx, si
|
||
shl bx, 2
|
||
mov word ptr [bx+1EECh], 1
|
||
|
||
loc_C21A:
|
||
call IRand
|
||
and ax, 3
|
||
shl ax, 4
|
||
add ax, 20h ; ' '
|
||
mov bx, si
|
||
shl bx, 2
|
||
mov [bx+1EEEh], ax
|
||
call IRand
|
||
mov [si+1F2Ch], al
|
||
call IRand
|
||
and al, 7
|
||
mov dl, 4
|
||
sub dl, al
|
||
mov [si+1F3Ch], dl
|
||
cmp byte ptr [si+1F3Ch], 0
|
||
jnz short loc_C255
|
||
mov byte ptr [si+1F3Ch], 4
|
||
|
||
loc_C255:
|
||
inc si
|
||
|
||
loc_C256:
|
||
cmp si, 10h
|
||
jge short loc_C25E
|
||
jmp loc_C1C5
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C25E:
|
||
mov byte_DF96, 1
|
||
|
||
loc_C263:
|
||
xor si, si
|
||
jmp loc_C3A1
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C268:
|
||
push 1E84h
|
||
mov bx, si
|
||
shl bx, 2
|
||
push word ptr [bx+1EACh]
|
||
mov bx, si
|
||
shl bx, 2
|
||
push word ptr [bx+1EAEh]
|
||
mov ax, si
|
||
and ax, 3
|
||
shl ax, 4
|
||
add ax, 40h
|
||
push ax
|
||
mov ax, si
|
||
mov bx, 4
|
||
cwd
|
||
idiv bx
|
||
add ax, 3
|
||
push ax
|
||
mov al, [si+1F2Ch]
|
||
push ax
|
||
call sub_C110
|
||
mov bx, si
|
||
shl bx, 2
|
||
mov ax, [bx+1EECh]
|
||
mov bx, si
|
||
shl bx, 2
|
||
add [bx+1EACh], ax
|
||
mov bx, si
|
||
shl bx, 2
|
||
mov ax, [bx+1EEEh]
|
||
mov bx, si
|
||
shl bx, 2
|
||
add [bx+1EAEh], ax
|
||
mov al, [si+1F3Ch]
|
||
add [si+1F2Ch], al
|
||
mov bx, si
|
||
shl bx, 2
|
||
cmp word ptr [bx+1EACh], 0
|
||
jle short loc_C2E2
|
||
mov bx, si
|
||
shl bx, 2
|
||
cmp word ptr [bx+1EACh], 27Fh
|
||
jl short loc_C2F4
|
||
|
||
loc_C2E2:
|
||
mov bx, si
|
||
shl bx, 2
|
||
mov dx, 0FFFFh
|
||
mov ax, [bx+1EECh]
|
||
imul dx
|
||
mov [bx+1EECh], ax
|
||
|
||
loc_C2F4:
|
||
mov bx, si
|
||
shl bx, 2
|
||
cmp word ptr [bx+1EAEh], 1F40h
|
||
jge short loc_C304
|
||
jmp loc_C38B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C304:
|
||
call IRand
|
||
mov bx, 280h
|
||
cwd
|
||
idiv bx
|
||
mov bx, si
|
||
shl bx, 2
|
||
mov [bx+1EACh], dx
|
||
mov bx, si
|
||
shl bx, 2
|
||
mov word ptr [bx+1EAEh], 0F9C0h
|
||
call IRand
|
||
and ax, 0Fh
|
||
mov dx, 8
|
||
sub dx, ax
|
||
mov bx, si
|
||
shl bx, 2
|
||
mov [bx+1EECh], dx
|
||
mov bx, si
|
||
shl bx, 2
|
||
cmp word ptr [bx+1EECh], 0
|
||
jnz short loc_C350
|
||
mov bx, si
|
||
shl bx, 2
|
||
mov word ptr [bx+1EECh], 1
|
||
|
||
loc_C350:
|
||
call IRand
|
||
and ax, 3
|
||
shl ax, 4
|
||
add ax, 20h ; ' '
|
||
mov bx, si
|
||
shl bx, 2
|
||
mov [bx+1EEEh], ax
|
||
call IRand
|
||
mov [si+1F2Ch], al
|
||
call IRand
|
||
and al, 7
|
||
mov dl, 4
|
||
sub dl, al
|
||
mov [si+1F3Ch], dl
|
||
cmp byte ptr [si+1F3Ch], 0
|
||
jnz short loc_C38B
|
||
mov byte ptr [si+1F3Ch], 4
|
||
|
||
loc_C38B:
|
||
push ds
|
||
push offset unk_F4B4
|
||
mov ax, si
|
||
mov bx, 4
|
||
cwd
|
||
idiv bx
|
||
add ax, 3
|
||
push ax
|
||
call grcg_polygon_c
|
||
inc si
|
||
|
||
loc_C3A1:
|
||
cmp si, 10h
|
||
jge short loc_C3A9
|
||
jmp loc_C268
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C3A9:
|
||
pop si
|
||
pop bp
|
||
retn
|
||
sub_C1B2 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C3AC proc near
|
||
push bp
|
||
mov bp, sp
|
||
call sub_C0E4
|
||
push 0CEh
|
||
push 0Fh
|
||
call grcg_setcolor
|
||
call sub_C1B2
|
||
call grcg_off
|
||
mov dx, 0A4h ; '<27>'
|
||
mov al, byte ptr word_F57C+1
|
||
out dx, al
|
||
mov al, 1
|
||
sub al, byte ptr word_F57C+1
|
||
mov byte ptr word_F57C+1, al
|
||
mov dx, 0A6h ; '<27>'
|
||
out dx, al
|
||
push 1
|
||
call sub_B2D2
|
||
pop bp
|
||
retn
|
||
sub_C3AC endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C3E1 proc near
|
||
|
||
var_6 = word ptr -6
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
|
||
enter 6, 0
|
||
push si
|
||
push di
|
||
mov [bp+var_6], 0
|
||
jmp short loc_C409
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C3EE:
|
||
push 3200h
|
||
call hmem_allocbyte
|
||
mov bx, [bp+var_6]
|
||
shl bx, 2
|
||
mov [bx+1F54h], ax
|
||
mov word ptr [bx+1F52h], 0
|
||
inc [bp+var_6]
|
||
|
||
loc_C409:
|
||
cmp [bp+var_6], 4
|
||
jl short loc_C3EE
|
||
xor si, si
|
||
mov di, 40h
|
||
jmp loc_C4AC
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C417:
|
||
mov [bp+var_2], 0A0h
|
||
jmp loc_C4A1
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C41F:
|
||
mov ax, [bp+var_2]
|
||
sar ax, 3
|
||
mov dx, di
|
||
shl dx, 6
|
||
add ax, dx
|
||
mov dx, di
|
||
shl dx, 4
|
||
add ax, dx
|
||
mov [bp+var_4], ax
|
||
les bx, dword_F16C
|
||
add bx, [bp+var_4]
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
les bx, dword ptr unk_F582
|
||
mov es:[bx+si+2], dx
|
||
mov es:[bx+si], ax
|
||
les bx, dword_F170
|
||
add bx, [bp+var_4]
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
les bx, dword ptr unk_F586
|
||
mov es:[bx+si+2], dx
|
||
mov es:[bx+si], ax
|
||
les bx, dword_F174
|
||
add bx, [bp+var_4]
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
les bx, dword ptr unk_F58A
|
||
mov es:[bx+si+2], dx
|
||
mov es:[bx+si], ax
|
||
les bx, dword_F178
|
||
add bx, [bp+var_4]
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
les bx, dword ptr unk_F58E
|
||
mov es:[bx+si+2], dx
|
||
mov es:[bx+si], ax
|
||
add si, 4
|
||
add [bp+var_2], 20h ; ' '
|
||
|
||
loc_C4A1:
|
||
cmp [bp+var_2], 1E0h
|
||
jge short loc_C4AB
|
||
jmp loc_C41F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C4AB:
|
||
inc di
|
||
|
||
loc_C4AC:
|
||
cmp di, 50h ; 'P'
|
||
jge short loc_C4B4
|
||
jmp loc_C417
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C4B4:
|
||
mov di, 50h ; 'P'
|
||
jmp loc_C54F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C4BA:
|
||
mov [bp+var_2], 130h
|
||
jmp loc_C544
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C4C2:
|
||
mov ax, [bp+var_2]
|
||
sar ax, 3
|
||
mov dx, di
|
||
shl dx, 6
|
||
add ax, dx
|
||
mov dx, di
|
||
shl dx, 4
|
||
add ax, dx
|
||
mov [bp+var_4], ax
|
||
les bx, dword_F16C
|
||
add bx, [bp+var_4]
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
les bx, dword ptr unk_F582
|
||
mov es:[bx+si+2], dx
|
||
mov es:[bx+si], ax
|
||
les bx, dword_F170
|
||
add bx, [bp+var_4]
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
les bx, dword ptr unk_F586
|
||
mov es:[bx+si+2], dx
|
||
mov es:[bx+si], ax
|
||
les bx, dword_F174
|
||
add bx, [bp+var_4]
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
les bx, dword ptr unk_F58A
|
||
mov es:[bx+si+2], dx
|
||
mov es:[bx+si], ax
|
||
les bx, dword_F178
|
||
add bx, [bp+var_4]
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
les bx, dword ptr unk_F58E
|
||
mov es:[bx+si+2], dx
|
||
mov es:[bx+si], ax
|
||
add si, 4
|
||
add [bp+var_2], 20h ; ' '
|
||
|
||
loc_C544:
|
||
cmp [bp+var_2], 270h
|
||
jge short loc_C54E
|
||
jmp loc_C4C2
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C54E:
|
||
inc di
|
||
|
||
loc_C54F:
|
||
cmp di, 180h
|
||
jge short loc_C558
|
||
jmp loc_C4BA
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C558:
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn
|
||
sub_C3E1 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C55C proc near
|
||
|
||
arg_0 = word ptr 4
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push ds
|
||
push offset aMusic_txt ; "MUSIC.TXT"
|
||
call file_ropen
|
||
mov ax, [bp+arg_0]
|
||
imul ax, 348h
|
||
cwd
|
||
push dx
|
||
push ax
|
||
push 0
|
||
call file_seek
|
||
push ds
|
||
push offset unk_F592
|
||
push 348h
|
||
call file_read
|
||
call file_close
|
||
xor si, si
|
||
jmp short loc_C59A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C58F:
|
||
mov bx, si
|
||
imul bx, 2Ah
|
||
mov byte ptr [bx+1F8Ah], 0
|
||
inc si
|
||
|
||
loc_C59A:
|
||
cmp si, 14h
|
||
jl short loc_C58F
|
||
pop si
|
||
pop bp
|
||
retn 2
|
||
sub_C55C endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C5A4 proc near
|
||
push bp
|
||
mov bp, sp
|
||
push word_F584
|
||
call hmem_free
|
||
push word_F588
|
||
call hmem_free
|
||
push word_F58C
|
||
call hmem_free
|
||
push word_F590
|
||
call hmem_free
|
||
pop bp
|
||
retn
|
||
sub_C5A4 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C5CD proc near
|
||
|
||
var_2 = word ptr -2
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
xor cx, cx
|
||
mov si, 40h
|
||
jmp loc_C673
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C5DB:
|
||
mov di, 0A0h
|
||
jmp loc_C669
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C5E1:
|
||
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 ptr unk_F582
|
||
add bx, cx
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
les bx, dword_F16C
|
||
add bx, [bp+var_2]
|
||
mov es:[bx+2], dx
|
||
mov es:[bx], ax
|
||
les bx, dword ptr unk_F586
|
||
add bx, cx
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
les bx, dword_F170
|
||
add bx, [bp+var_2]
|
||
mov es:[bx+2], dx
|
||
mov es:[bx], ax
|
||
les bx, dword ptr unk_F58A
|
||
add bx, cx
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
les bx, dword_F174
|
||
add bx, [bp+var_2]
|
||
mov es:[bx+2], dx
|
||
mov es:[bx], ax
|
||
les bx, dword ptr unk_F58E
|
||
add bx, cx
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
les bx, dword_F178
|
||
add bx, [bp+var_2]
|
||
mov es:[bx+2], dx
|
||
mov es:[bx], ax
|
||
add cx, 4
|
||
add di, 20h ; ' '
|
||
|
||
loc_C669:
|
||
cmp di, 1E0h
|
||
jge short loc_C672
|
||
jmp loc_C5E1
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C672:
|
||
inc si
|
||
|
||
loc_C673:
|
||
cmp si, 50h ; 'P'
|
||
jge short loc_C67B
|
||
jmp loc_C5DB
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C67B:
|
||
mov si, 50h ; 'P'
|
||
jmp loc_C719
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C681:
|
||
mov di, 130h
|
||
jmp loc_C70F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C687:
|
||
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 ptr unk_F582
|
||
add bx, cx
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
les bx, dword_F16C
|
||
add bx, [bp+var_2]
|
||
mov es:[bx+2], dx
|
||
mov es:[bx], ax
|
||
les bx, dword ptr unk_F586
|
||
add bx, cx
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
les bx, dword_F170
|
||
add bx, [bp+var_2]
|
||
mov es:[bx+2], dx
|
||
mov es:[bx], ax
|
||
les bx, dword ptr unk_F58A
|
||
add bx, cx
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
les bx, dword_F174
|
||
add bx, [bp+var_2]
|
||
mov es:[bx+2], dx
|
||
mov es:[bx], ax
|
||
les bx, dword ptr unk_F58E
|
||
add bx, cx
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
les bx, dword_F178
|
||
add bx, [bp+var_2]
|
||
mov es:[bx+2], dx
|
||
mov es:[bx], ax
|
||
add cx, 4
|
||
add di, 20h ; ' '
|
||
|
||
loc_C70F:
|
||
cmp di, 270h
|
||
jge short loc_C718
|
||
jmp loc_C687
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C718:
|
||
inc si
|
||
|
||
loc_C719:
|
||
cmp si, 180h
|
||
jge short loc_C722
|
||
jmp loc_C681
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C722:
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn
|
||
sub_C5CD endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C726 proc near
|
||
|
||
arg_0 = word ptr 4
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
push [bp+arg_0]
|
||
call sub_C55C
|
||
call sub_C0E4
|
||
call sub_C5CD
|
||
push ds
|
||
push offset unk_F592
|
||
push 1Fh
|
||
push 40h
|
||
push 0A0h
|
||
call sub_AB4D
|
||
add sp, 0Ah
|
||
mov si, 1
|
||
jmp short loc_C76E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C74F:
|
||
push ds
|
||
mov ax, si
|
||
imul ax, 2Ah
|
||
add ax, 1F62h
|
||
push ax
|
||
push 1Dh
|
||
lea ax, [si+4]
|
||
shl ax, 4
|
||
push ax
|
||
push 130h
|
||
call sub_AB4D
|
||
add sp, 0Ah
|
||
inc si
|
||
|
||
loc_C76E:
|
||
cmp si, 14h
|
||
jl short loc_C74F
|
||
xor di, di
|
||
jmp short loc_C794
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C777:
|
||
les bx, dword_F16C
|
||
add bx, di
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
les bx, dword_F57E
|
||
add bx, di
|
||
mov es:[bx+2], dx
|
||
mov es:[bx], ax
|
||
add di, 4
|
||
|
||
loc_C794:
|
||
cmp di, 7D00h
|
||
jl short loc_C777
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retn 2
|
||
sub_C726 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C7A0 proc far
|
||
|
||
var_1 = byte ptr -1
|
||
|
||
enter 2, 0
|
||
mov byte ptr word_F57C+1, 1
|
||
mov PaletteTone, 0
|
||
call far ptr palette_show
|
||
mov dx, 0A4h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
mov dx, 0A6h ; '<27>'
|
||
out dx, al
|
||
call graph_clear
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
push ds
|
||
push offset aOp3_pi ; "op3.pi"
|
||
push 0
|
||
call sub_ADD5
|
||
push 0
|
||
call sub_B15A
|
||
push 0
|
||
push 0
|
||
push 0
|
||
call sub_B17D
|
||
add sp, 0Eh
|
||
push ds
|
||
push offset unk_F194
|
||
push word_F17E
|
||
push word_F17C
|
||
call graph_pi_free
|
||
mov al, byte_DF97
|
||
mov byte ptr word_F57C, al
|
||
push word_F57C
|
||
call sub_C070
|
||
push 0
|
||
call graph_copy_page
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
mov dx, 0A4h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
call sub_C097
|
||
call sub_C3E1
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
mov al, byte_DF97
|
||
mov ah, 0
|
||
push ax
|
||
call sub_C726
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
mov al, byte_DF97
|
||
mov ah, 0
|
||
push ax
|
||
call sub_C726
|
||
mov PaletteTone, 64h ; 'd'
|
||
call far ptr palette_show
|
||
|
||
loc_C849:
|
||
call sub_AED0
|
||
cmp word_F3C8, 0
|
||
jz short loc_C85A
|
||
call sub_C3AC
|
||
jmp short loc_C849
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C85A:
|
||
call sub_AED0
|
||
test byte ptr word_F3C8, 1
|
||
jz short loc_C895
|
||
push word_F57C
|
||
push 3
|
||
call sub_BFF5
|
||
cmp byte ptr word_F57C, 0
|
||
jbe short loc_C87C
|
||
dec byte ptr word_F57C
|
||
jmp short loc_C881
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C87C:
|
||
mov byte ptr word_F57C, 10h
|
||
|
||
loc_C881:
|
||
cmp byte ptr word_F57C, 0Fh
|
||
jnz short loc_C88C
|
||
dec byte ptr word_F57C
|
||
|
||
loc_C88C:
|
||
push word_F57C
|
||
push 0Fh
|
||
call sub_BFF5
|
||
|
||
loc_C895:
|
||
test byte ptr word_F3C8, 2
|
||
jz short loc_C8CB
|
||
push word_F57C
|
||
push 3
|
||
call sub_BFF5
|
||
cmp byte ptr word_F57C, 10h
|
||
jnb short loc_C8B2
|
||
inc byte ptr word_F57C
|
||
jmp short loc_C8B7
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C8B2:
|
||
mov byte ptr word_F57C, 0
|
||
|
||
loc_C8B7:
|
||
cmp byte ptr word_F57C, 0Fh
|
||
jnz short loc_C8C2
|
||
inc byte ptr word_F57C
|
||
|
||
loc_C8C2:
|
||
push word_F57C
|
||
push 0Fh
|
||
call sub_BFF5
|
||
|
||
loc_C8CB:
|
||
test byte ptr word_F3C8, 10h
|
||
jnz short loc_C8D9
|
||
test byte ptr word_F3C8, 80h
|
||
jz short loc_C950
|
||
|
||
loc_C8D9:
|
||
cmp byte ptr word_F57C, 10h
|
||
jnz short loc_C8E3
|
||
jmp loc_C967
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C8E3:
|
||
mov al, byte_F3CB
|
||
mov [bp+var_1], al
|
||
mov al, byte_F3CD
|
||
mov byte_F3CB, al
|
||
push 600h
|
||
mov al, byte ptr word_F57C
|
||
mov ah, 0
|
||
shl ax, 2
|
||
mov bx, ax
|
||
push word ptr [bx+92Ch]
|
||
push word ptr [bx+92Ah]
|
||
call sub_B0EA
|
||
mov byte_F3CB, 0
|
||
push 600h
|
||
mov al, byte ptr word_F57C
|
||
mov ah, 0
|
||
shl ax, 2
|
||
mov bx, ax
|
||
push word ptr [bx+92Ch]
|
||
push word ptr [bx+92Ah]
|
||
call sub_B0EA
|
||
mov al, [bp+var_1]
|
||
mov byte_F3CB, al
|
||
push 0
|
||
call sub_B203
|
||
add sp, 0Eh
|
||
mov al, byte ptr word_F57C
|
||
mov byte_DF97, al
|
||
mov ah, 0
|
||
push ax
|
||
call sub_C726
|
||
call sub_C3AC
|
||
mov al, byte ptr word_F57C
|
||
mov ah, 0
|
||
push ax
|
||
call sub_C726
|
||
|
||
loc_C950:
|
||
test byte ptr word_F3C8, 40h
|
||
jnz short loc_C967
|
||
cmp word_F3C8, 0
|
||
jz short loc_C961
|
||
jmp loc_C849
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C961:
|
||
call sub_C3AC
|
||
jmp loc_C85A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C967:
|
||
call sub_AED0
|
||
cmp word_F3C8, 0
|
||
jz short loc_C978
|
||
call sub_C3AC
|
||
jmp short loc_C967
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C978:
|
||
call sub_C0D6
|
||
call sub_C5A4
|
||
mov dx, 0A4h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
mov dx, 0A6h ; '<27>'
|
||
out dx, al
|
||
call graph_clear
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
push ds
|
||
push offset aOp2_pi_0 ; "op2.pi"
|
||
push 0
|
||
call sub_ADD5
|
||
push 0
|
||
call sub_B15A
|
||
push 0
|
||
push 0
|
||
push 0
|
||
call sub_B17D
|
||
add sp, 0Eh
|
||
push ds
|
||
push offset unk_F194
|
||
push word_F17E
|
||
push word_F17C
|
||
call graph_pi_free
|
||
push ds
|
||
push offset aOp_rgb_0 ; "op.rgb"
|
||
call palette_entry_rgb
|
||
call far ptr palette_show
|
||
push 0
|
||
call graph_copy_page
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
leave
|
||
retf
|
||
sub_C7A0 endp
|
||
|
||
seg006 ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
seg007 segment byte public 'CODE' use16
|
||
assume cs:seg007
|
||
;org 1
|
||
assume es:nothing, ss:nothing, ds:dseg, fs:nothing, gs:nothing
|
||
|
||
include libs/BorlandC/ctor2[textc].asm
|
||
include libs/BorlandC/ctor3[textc].asm
|
||
include libs/BorlandC/strings[textc].asm
|
||
dd 0
|
||
seg007 ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure data
|
||
dseg segment para public 'DATA' use16
|
||
assume cs:dseg
|
||
|
||
include libs/BorlandC/c0[data].asm
|
||
|
||
byte_D6C0 db 0
|
||
byte_D6C1 db 0
|
||
byte_D6C2 db 0
|
||
db 0
|
||
gZUN db 0C3h, 0BEh, 0B6h, 0
|
||
include th02/strings/ranks_center[data].asm
|
||
gHIT_KEY db 0B1h, 0B2h, 0BDh, 0CFh, 0B4h, 0AEh, 0C2h, 0
|
||
g7SPACES db 0CFh, 0CFh, 0CFh, 0CFh, 0CFh, 0CFh, 0CFh, 0
|
||
gSTART db 0BCh, 0BDh, 0AAh, 0BBh, 0BDh, 0, 0, 0, 0, 0
|
||
gEXTRA_START db 0AEh, 0C1h, 0BDh, 0BBh, 0AAh, 0CFh, 0BCh, 0BDh, 0AAh, 0BBh, 0BDh, 0
|
||
gHISCORE db 0B1h, 0B2h, 0BCh, 0ACh, 0B8h, 0BBh, 0AEh, 0, 0, 0
|
||
gOPTION db 0B8h, 0B9h, 0BDh, 0B2h, 0B8h, 0B6h, 0, 0, 0, 0
|
||
gQUIT db 0BAh, 0BEh, 0B2h, 0BDh, 0, 0, 0, 0, 0, 0
|
||
gRANK db 0BBh, 0AAh, 0B6h, 0B4h, 0, 0, 0, 0, 0, 0
|
||
gPLAYER db 0B9h, 0B5h, 0AAh, 0C2h, 0AEh, 0BBh, 0, 0, 0, 0
|
||
gMUSIC db 0B7h, 0BEh, 0BCh, 0B2h, 0ACh, 0, 0, 0, 0, 0
|
||
gBOMB db 0ABh, 0B8h, 0B7h, 0ABh, 0, 0, 0, 0, 0, 0
|
||
gMUSIC_MODE db 0B7h, 0BEh, 0BCh, 0B2h, 0ACh, 0CFh, 0B7h, 0B8h, 0ADh, 0AEh, 0
|
||
gRESET db 0BBh, 0AEh, 0BCh, 0AEh, 0BDh, 0, 0, 0, 0, 0
|
||
gsEASY db 0E8h, 0E9h, 0
|
||
gsNORMAL db 0EAh, 0EBh, 0
|
||
gsHARD db 0ECh, 0EDh, 0
|
||
gsLUNATIC db 0EEh, 0EFh, 0
|
||
gOFF db 0B8h, 0AFh, 0AFh, 0CFh, 0
|
||
gFM db 0CFh, 0AFh, 0B7h, 0CFh, 0
|
||
gMIDI db 0B7h, 0B2h, 0ADh, 0B2h, 0
|
||
PERF_TITLE dd aPERF_TITLE
|
||
PERF_OPTION dd aPERF_NORMAL
|
||
dd aPERF_TRUNCATE
|
||
byte_D790 db 0
|
||
byte_D791 db 0
|
||
byte_D792 db 0
|
||
aHuuma_cfg db 'huuma.cfg',0
|
||
aHuuma_efc db 'huuma.efc',0
|
||
aOp2_pi db 'op2.pi',0
|
||
aOp_pi db 'op.pi',0
|
||
aOpa_pi db 'opa.pi',0
|
||
aOpb_pi db 'opb.pi',0
|
||
aOpc_pi db 'opc.pi',0
|
||
aOp_m db 'op.m',0
|
||
aOp_rgb db 'op.rgb',0
|
||
aTs1_pi db 'ts1.pi',0
|
||
aSelect db 'select',0
|
||
; char path[]
|
||
path db 'main',0
|
||
aPERF_TITLE db '<27><><EFBFBD>o',0
|
||
aPERF_NORMAL db '<27>@<40>ʏ<EFBFBD> ',0
|
||
aPERF_TRUNCATE db '<27>ꕔ<EFBFBD>y<EFBFBD><79>',0
|
||
aMikoft_bft db 'MIKOFT.bft',0
|
||
aGminit_m db 'gminit.m',0
|
||
aTs3_pi db 'ts3.pi',0
|
||
aTs2_pi db 'ts2.pi',0
|
||
db 0
|
||
include libs/master.lib/bfnt_id[data].asm
|
||
include libs/master.lib/clip[data].asm
|
||
include libs/master.lib/edges[data].asm
|
||
include libs/master.lib/fil[data].asm
|
||
include libs/master.lib/dos_ropen[data].asm
|
||
include libs/master.lib/gaiji_backup[data].asm
|
||
include libs/master.lib/gaiji_entry_bfnt[data].asm
|
||
include libs/master.lib/grp[data].asm
|
||
db 0
|
||
include libs/master.lib/pal[data].asm
|
||
include libs/master.lib/pf[data].asm
|
||
db 0
|
||
include libs/master.lib/rand[data].asm
|
||
include libs/master.lib/sin8[data].asm
|
||
include libs/master.lib/tx[data].asm
|
||
include libs/master.lib/version[data].asm
|
||
include libs/master.lib/vs[data].asm
|
||
include libs/master.lib/wordmask[data].asm
|
||
include libs/master.lib/mem[data].asm
|
||
include libs/master.lib/super_entry_bfnt[data].asm
|
||
include libs/master.lib/superpa[data].asm
|
||
a_exe db '.exe',0
|
||
db 0
|
||
aUmx db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E>^',0
|
||
byte_DBEE db 0
|
||
db 0
|
||
byte_DBF0 db 0FFh
|
||
db 0
|
||
db 0
|
||
db 20h
|
||
db 9
|
||
db 2
|
||
db 10h
|
||
db 5
|
||
db 6
|
||
db 30h ; 0
|
||
db 8
|
||
db 9
|
||
db 5
|
||
db 10h
|
||
db 0Ah
|
||
db 11h
|
||
db 0Ch
|
||
db 20h
|
||
db 20h
|
||
db 10h
|
||
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 24h ; $
|
||
db 10h
|
||
db 4
|
||
db 10h
|
||
db 8
|
||
db 0Ah
|
||
db 30h ; 0
|
||
db 50h ; P
|
||
db 18h
|
||
db 11h
|
||
db 0Bh
|
||
db 4
|
||
db 50h ; P
|
||
db 10h
|
||
db 30h ; 0
|
||
db 4Ah ; J
|
||
db 20h
|
||
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
|
||
byte_DC33 db 0
|
||
byte_DC34 db 1
|
||
db 0
|
||
include th02/strings/hiscore[data].asm
|
||
gcEASY_0 db 0CFh, 0AEh, 0AAh, 0BCh, 0C2h, 0CFh, 0CFh, 0
|
||
gcNORMAL_0 db 0B6h, 0B8h, 0BBh, 0B7h, 0AAh, 0B5h, 0CFh, 0
|
||
gcHARD_0 db 0CFh, 0B1h, 0AAh, 0BBh, 0ADh, 0CFh, 0CFh, 0
|
||
gcLUNATIC_0 db 0B5h, 0BEh, 0B6h, 0AAh, 0BDh, 0B2h, 0ACh, 0
|
||
dd aNvl@uo ; "<22><><EFBFBD>@<40><>"
|
||
dd aChmf ; "<22>h<EFBFBD><68>"
|
||
dd aNumv ; "<22>U<EFBFBD><55>"
|
||
word_DCB0 dw 0
|
||
byte_DCB2 db 1
|
||
db 0
|
||
unk_DCB4 db 3Eh ; >
|
||
db 1
|
||
db 76h ; v
|
||
db 0
|
||
db 0DAh ; <20>
|
||
db 0
|
||
unk_DCBA db 1
|
||
db 2
|
||
db 4
|
||
aHuuhi_dat db 'huuhi.dat',0
|
||
aNvl@uo db '<27><><EFBFBD>@<40><>',0
|
||
aChmf db '<27>h<EFBFBD><68>',0
|
||
aNumv db '<27>U<EFBFBD><55>',0
|
||
aVicSob@b@b@b@b db ' <20><><EFBFBD><EFBFBD><EFBFBD>O<EFBFBD>@<40>@<40>@<40>@<40>@<40>@<40><><EFBFBD>_<EFBFBD>@<40>@<40>@ STAGE TYPE <20><><EFBFBD>t',0
|
||
aOp_h_bft db 'op_h.bft',0
|
||
aOp_h_rgb db 'op_h.rgb',0
|
||
byte_DD20 db 1
|
||
db 0
|
||
dd aIaczlVCV ; " <20>A<EFBFBD>z<EFBFBD>ʂ̗͂<CC97><CD82>g<EFBFBD><67><EFBFBD>Ȃ<EFBFBD> "
|
||
dd aNlfIVVivL@uocV ; " <20>L<EFBFBD>͈͂ł<CD82><C582>@<40><><EFBFBD>͂<EFBFBD> "
|
||
dd aB@lnvvnvl@uocG ; "<22>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40><><EFBFBD>̓^<5E>C<EFBFBD>v<EFBFBD>@"
|
||
dd aB@sMvvkcdvVVvv ; " <20>@<40>ˌ<EFBFBD><CB8C><EFBFBD><EFBFBD>D<EFBFBD><44><EFBFBD>Ă<EFBFBD><C482><EFBFBD> <20>@"
|
||
dd aB@GogigugxvOcv ; "<22>@ <20>o<EFBFBD><6F><EFBFBD><EFBFBD><EFBFBD>X<EFBFBD>̎<EFBFBD><CC8E>ꂽ<EFBFBD>@ "
|
||
dd aB@b@chmfpdolgG ; "<22>@<40>@<40>h<EFBFBD><68><EFBFBD>d<EFBFBD><64><EFBFBD>^<5E>C<EFBFBD>v<EFBFBD>@<40>@"
|
||
dd aB@iaczlVCVRavd ; " <20>@<40>A<EFBFBD>z<EFBFBD>ʂ̗͂Ő키 "
|
||
dd aB@numvcVkcdvVV ; "<22>@<40>U<EFBFBD><55><EFBFBD>͂<EFBFBD><CD82>D<EFBFBD><44><EFBFBD>Ă<EFBFBD><C482><EFBFBD><EFBFBD>@"
|
||
dd aB@b@numvpdolgG ; "<22>@<40>@<40>U<EFBFBD><55><EFBFBD>d<EFBFBD><64><EFBFBD>^<5E>C<EFBFBD>v<EFBFBD>@<40>@"
|
||
off_DD46 dd aSCVRaumgxgGcgl
|
||
; "<22>˖<EFBFBD><CB96>̐퓬<CC90>X<EFBFBD>^<5E>C<EFBFBD><43><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD><41><EFBFBD>̂R<CC82><EFBFBD><C282>炦<EFBFBD><E782A6><EFBFBD>E...
|
||
off_DD4A dd aTnbjb@ggglgxgg
|
||
; "<22><><EFBFBD>j<EFBFBD>@<40>G<EFBFBD>L<EFBFBD>X<EFBFBD>g<EFBFBD><67><EFBFBD>X<EFBFBD>e<EFBFBD>[<5B>W<EFBFBD>ł́A<CD81><41><EFBFBD>Փx<D593>A<EFBFBD>E...
|
||
off_DD4E dd aB@b@b@vVVVBauq
|
||
; "<22>@<40>@<40>@<40><><EFBFBD>ꂼ<EFBFBD><EA82BC><EFBFBD>A<EFBFBD><41><EFBFBD>Փx<D593>d<EFBFBD>w<EFBFBD>s<EFBFBD>q<EFBFBD>`<60>A<EFBFBD>v<EFBFBD><76><EFBFBD>E...
|
||
off_DD52 dd aBsbsvbvkvdvVqv
|
||
; " <20><><EFBFBD><EFBFBD><EFBFBD>b<EFBFBD>k<EFBFBD>d<EFBFBD>`<60>q<EFBFBD>d<EFBFBD>c<EFBFBD><63><EFBFBD><EFBFBD> "
|
||
unk_DD56 db 10h
|
||
db 0
|
||
db 0E0h
|
||
db 0
|
||
db 0B0h ; <20>
|
||
db 1
|
||
unk_DD5C db 80h
|
||
db 0
|
||
db 0E0h
|
||
db 0
|
||
db 80h
|
||
db 0
|
||
aIaczlVCV db ' <20>A<EFBFBD>z<EFBFBD>ʂ̗͂<CC97><CD82>g<EFBFBD><67><EFBFBD>Ȃ<EFBFBD> ',0
|
||
aNlfIVVivL@uocV db ' <20>L<EFBFBD>͈͂ł<CD82><C582>@<40><><EFBFBD>͂<EFBFBD> ',0
|
||
aB@lnvvnvl@uocG db '<27>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40><><EFBFBD>̓^<5E>C<EFBFBD>v<EFBFBD>@',0
|
||
aB@sMvvkcdvVVvv db ' <20>@<40>ˌ<EFBFBD><CB8C><EFBFBD><EFBFBD>D<EFBFBD><44><EFBFBD>Ă<EFBFBD><C482><EFBFBD> <20>@',0
|
||
aB@GogigugxvOcv db '<27>@ <20>o<EFBFBD><6F><EFBFBD><EFBFBD><EFBFBD>X<EFBFBD>̎<EFBFBD><CC8E>ꂽ<EFBFBD>@ ',0
|
||
aB@b@chmfpdolgG db '<27>@<40>@<40>h<EFBFBD><68><EFBFBD>d<EFBFBD><64><EFBFBD>^<5E>C<EFBFBD>v<EFBFBD>@<40>@',0
|
||
aB@iaczlVCVRavd db ' <20>@<40>A<EFBFBD>z<EFBFBD>ʂ̗͂Ő키 ',0
|
||
aB@numvcVkcdvVV db '<27>@<40>U<EFBFBD><55><EFBFBD>͂<EFBFBD><CD82>D<EFBFBD><44><EFBFBD>Ă<EFBFBD><C482><EFBFBD><EFBFBD>@',0
|
||
aB@b@numvpdolgG db '<27>@<40>@<40>U<EFBFBD><55><EFBFBD>d<EFBFBD><64><EFBFBD>^<5E>C<EFBFBD>v<EFBFBD>@<40>@',0
|
||
aSCVRaumgxgGcgl db '<27>˖<EFBFBD><CB96>̐퓬<CC90>X<EFBFBD>^<5E>C<EFBFBD><43><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD><41><EFBFBD>̂R<CC82><EFBFBD><C282>炦<EFBFBD><E782A6><EFBFBD><EFBFBD><EFBFBD>ł<EFBFBD>',0
|
||
aTnbjb@ggglgxgg db '<27><><EFBFBD>j<EFBFBD>@<40>G<EFBFBD>L<EFBFBD>X<EFBFBD>g<EFBFBD><67><EFBFBD>X<EFBFBD>e<EFBFBD>[<5B>W<EFBFBD>ł́A<CD81><41><EFBFBD>Փx<D593>A<EFBFBD>v<EFBFBD><76><EFBFBD>C<EFBFBD><43><EFBFBD>[<5B>A<EFBFBD>{<7B><><EFBFBD><EFBFBD><EFBFBD>͕ύX<CF8D>o<EFBFBD><6F><EFBFBD>܂<EFBFBD><DC82><EFBFBD>',0
|
||
aB@b@b@vVVVBauq db '<27>@<40>@<40>@<40><><EFBFBD>ꂼ<EFBFBD><EA82BC><EFBFBD>A<EFBFBD><41><EFBFBD>Փx<D593>d<EFBFBD>w<EFBFBD>s<EFBFBD>q<EFBFBD>`<60>A<EFBFBD>v<EFBFBD><76><EFBFBD>C<EFBFBD><43><EFBFBD>[<5B>R<EFBFBD>l<EFBFBD>A<EFBFBD>{<7B><><EFBFBD>P<EFBFBD>ƂȂ<C682><C882>܂<EFBFBD> ',0
|
||
aBsbsvbvkvdvVqv db ' <20><><EFBFBD><EFBFBD><EFBFBD>b<EFBFBD>k<EFBFBD>d<EFBFBD>`<60>q<EFBFBD>d<EFBFBD>c<EFBFBD><63><EFBFBD><EFBFBD> ',0
|
||
aTselect_pi db 'TSELECT.pi',0
|
||
dd aNo_1Umx ; "NO.1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>^<5E>@<40>`<60><><EFBFBD>y<EFBFBD><79>䶗<EFBFBD>"
|
||
dd aNo_2B@Focab@bE ; "NO.2 <20>@ <20><><EFBFBD><EFBFBD><EFBFBD>@<40>`Eastern Wind "
|
||
dd aNo_3B@EndOfDay ; "NO.3 <20>@ End of Daylight<68>@ "
|
||
dd aNo_4B@b@b@b@b@ ; "NO.4 <20>@<40>@<40>@<40>@<40>@<40><><EFBFBD><EFBFBD><EFBFBD>E<EFBFBD>@<40>@<40>@<40>@"
|
||
dd aNo_5VVrvivmbav ; "NO.5 <20>Ђ<EFBFBD><D082>났<EFBFBD>A<EFBFBD>ނ炳<DE82><E782B3><EFBFBD>ɂ<EFBFBD><C982><EFBFBD>"
|
||
dd aNo_6B@umx ; "NO.6 <20>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>^<5E>@<40>`<60>H<EFBFBD><48><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||
dd aNo_7B@SheSInAT ; "NO.7 <20>@ She's in a temper!! "
|
||
dd aNo_8B@B@VtvVVV ; "NO.8 <20>@ <20>@ <20><><EFBFBD>݂̂<DD82><CC82><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40>@ "
|
||
dd aNo_9B@b@b@b@oa ; "NO.9 <20>@<40>@<40>@<40>@<40><><EFBFBD><EFBFBD><EFBFBD>q<EFBFBD><71><EFBFBD>ā@<40>@<40>@"
|
||
dd aNo_10B@B@C ; "NO.10 <20>@ <09>@ <20><><EFBFBD>F<EFBFBD>}<7D>W<EFBFBD>b<EFBFBD>N <09>@ "
|
||
dd aNo_11CompleteD ; "NO.11 Complete Darkness "
|
||
dd aNo_12B@b@iucVR ; "NO.12 <09>@<40>@<40><><EFBFBD><EFBFBD><EFBFBD>̐X<CC90>@<40>@<40>@ "
|
||
dd aNo_13RSbvav ; "NO.13 <20>̘b<CC98><62><EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "
|
||
dd aNo_14B@Ggglgxg ; "NO.14 <20>@ <20>G<EFBFBD>L<EFBFBD>X<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD>u "
|
||
dd aNo_15RaoVVVVVV ; "NO.15 <20><><EFBFBD>Ԃނ<D482><DE82>߂݂̂<CC82><DD82><EFBFBD><EFBFBD><EFBFBD> "
|
||
dd aB@b@ ; " <20>@<40>@ "
|
||
dd aB@b@vpvxvivf ; " <20>@<40>@<40>p<EFBFBD><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "
|
||
dd aOp_m_0 ; "op.m"
|
||
dd aStage0_m ; "stage0.m"
|
||
dd aStage1_m ; "stage1.m"
|
||
dd aStage2_m ; "stage2.m"
|
||
dd aStage3_m ; "stage3.m"
|
||
dd aStage4_m ; "stage4.m"
|
||
dd aBoss1_m ; "boss1.m"
|
||
dd aBoss4_m ; "boss4.m"
|
||
dd aBoss2_m ; "boss2.m"
|
||
dd aBoss3_m ; "boss3.m"
|
||
dd aMima_m ; "mima.m"
|
||
dd aEnd1_m ; "end1.m"
|
||
dd aEnding_m ; "ending.m"
|
||
dd aStage5_m ; "stage5.m"
|
||
dd aBoss5_m ; "boss5.m"
|
||
byte_DF96 db 0
|
||
byte_DF97 db 0
|
||
aNo_1Umx db 'NO.1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>^<5E>@<40>`<60><><EFBFBD>y<EFBFBD><79>䶗<EFBFBD>',0
|
||
aNo_2B@Focab@bE db 'NO.2 <20>@ <20><><EFBFBD><EFBFBD><EFBFBD>@<40>`Eastern Wind ',0
|
||
aNo_3B@EndOfDay db 'NO.3 <20>@ End of Daylight<68>@ ',0
|
||
aNo_4B@b@b@b@b@ db 'NO.4 <20>@<40>@<40>@<40>@<40>@<40><><EFBFBD><EFBFBD><EFBFBD>E<EFBFBD>@<40>@<40>@<40>@',0
|
||
aNo_5VVrvivmbav db 'NO.5 <20>Ђ<EFBFBD><D082>났<EFBFBD>A<EFBFBD>ނ炳<DE82><E782B3><EFBFBD>ɂ<EFBFBD><C982><EFBFBD>',0
|
||
aNo_6B@umx db 'NO.6 <20>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>^<5E>@<40>`<60>H<EFBFBD><48><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
|
||
aNo_7B@SheSInAT db 'NO.7 <20>@ She',27h,'s in a temper!! ',0
|
||
aNo_8B@B@VtvVVV db 'NO.8 <20>@ <20>@ <20><><EFBFBD>݂̂<DD82><CC82><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40>@ ',0
|
||
aNo_9B@b@b@b@oa db 'NO.9 <20>@<40>@<40>@<40>@<40><><EFBFBD><EFBFBD><EFBFBD>q<EFBFBD><71><EFBFBD>ā@<40>@<40>@',0
|
||
aNo_10B@B@C db 'NO.10 <20>@ <20>@ <20><><EFBFBD>F<EFBFBD>}<7D>W<EFBFBD>b<EFBFBD>N <20>@ ',0
|
||
aNo_11CompleteD db 'NO.11 Complete Darkness ',0
|
||
aNo_12B@b@iucVR db 'NO.12 <20>@<40>@<40><><EFBFBD><EFBFBD><EFBFBD>̐X<CC90>@<40>@<40>@ ',0
|
||
aNo_13RSbvav db 'NO.13 <20>̘b<CC98><62><EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',0
|
||
aNo_14B@Ggglgxg db 'NO.14 <20>@ <20>G<EFBFBD>L<EFBFBD>X<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD>u ',0
|
||
aNo_15RaoVVVVVV db 'NO.15 <20><><EFBFBD>Ԃނ<D482><DE82>߂݂̂<CC82><DD82><EFBFBD><EFBFBD><EFBFBD> ',0
|
||
aB@b@ db ' <20>@<40>@ ',0
|
||
aB@b@vpvxvivf db ' <20>@<40>@<40>p<EFBFBD><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',0
|
||
aOp_m_0 db 'op.m',0
|
||
aStage0_m db 'stage0.m',0
|
||
aStage1_m db 'stage1.m',0
|
||
aStage2_m db 'stage2.m',0
|
||
aStage3_m db 'stage3.m',0
|
||
aStage4_m db 'stage4.m',0
|
||
aBoss1_m db 'boss1.m',0
|
||
aBoss4_m db 'boss4.m',0
|
||
aBoss2_m db 'boss2.m',0
|
||
aBoss3_m db 'boss3.m',0
|
||
aMima_m db 'mima.m',0
|
||
aEnd1_m db 'end1.m',0
|
||
aEnding_m db 'ending.m',0
|
||
aStage5_m db 'stage5.m',0
|
||
aBoss5_m db 'boss5.m',0
|
||
aMusic_txt db 'MUSIC.TXT',0
|
||
aOp3_pi db 'op3.pi',0
|
||
aOp2_pi_0 db 'op2.pi',0
|
||
aOp_rgb_0 db 'op.rgb',0
|
||
aAbnormalProgra db 'Abnormal program termination',0Dh,0Ah,0
|
||
db 0
|
||
include libs/BorlandC/atexit[data].asm
|
||
include libs/BorlandC/exit[data].asm
|
||
include libs/BorlandC/files[data].asm
|
||
include libs/BorlandC/__IOERROR[data].asm
|
||
db 0
|
||
include libs/BorlandC/new[data].asm
|
||
__stklen dw 1000h
|
||
include libs/master.lib/ctype[data].asm
|
||
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
|
||
include libs/BorlandC/srchenv[data].asm
|
||
include libs/BorlandC/srchstr[data].asm
|
||
include libs/BorlandC/setvbuf[data].asm
|
||
include libs/BorlandC/sysnerr[data].asm
|
||
include libs/BorlandC/xx[data].asm
|
||
include libs/BorlandC/setenvp[data].asm
|
||
include libs/BorlandC/strings[data].asm
|
||
include libs/BorlandC/mbctype[data].asm
|
||
include libs/BorlandC/loadprog[data].asm
|
||
|
||
InitStart label byte
|
||
include libs/BorlandC/new[initdata].asm
|
||
include libs/BorlandC/setupio[initdata].asm
|
||
include libs/BorlandC/cputype[initdata].asm
|
||
include libs/BorlandC/pathops[initdata].asm
|
||
include libs/BorlandC/setenvp[initdata].asm
|
||
InitEnd label byte
|
||
|
||
ExitStart label byte
|
||
include libs/BorlandC/new[exitdata].asm
|
||
ExitEnd label byte
|
||
|
||
bdata@ label byte
|
||
byte_E8F8 db ?
|
||
byte_E8F9 db ?
|
||
dw ?
|
||
word_E8FC dw ?
|
||
byte_E8FE db ?
|
||
db ?
|
||
word_E900 dw ?
|
||
word_E902 dw ?
|
||
include libs/master.lib/clip[bss].asm
|
||
include libs/master.lib/fil[bss].asm
|
||
include libs/master.lib/pal[bss].asm
|
||
include libs/master.lib/vs[bss].asm
|
||
include libs/master.lib/vsync[bss].asm
|
||
include libs/master.lib/mem[bss].asm
|
||
include libs/master.lib/superpa[bss].asm
|
||
include libs/master.lib/super_put_rect[bss].asm
|
||
dword_F16C dd ?
|
||
dword_F170 dd ?
|
||
dword_F174 dd ?
|
||
dword_F178 dd ?
|
||
word_F17C dw ?
|
||
word_F17E dw ?
|
||
word_F180 dw ?
|
||
word_F182 dw ?
|
||
word_F184 dw ?
|
||
word_F186 dw ?
|
||
word_F188 dw ?
|
||
word_F18A dw ?
|
||
dd ? ;
|
||
dd ? ;
|
||
unk_F194 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
db ? ;
|
||
db ? ;
|
||
unk_F1DC db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
db ? ;
|
||
db ? ;
|
||
unk_F224 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
db ? ;
|
||
db ? ;
|
||
unk_F26C 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 ? ;
|
||
db ? ;
|
||
db ? ;
|
||
db ? ;
|
||
word_F3C4 dw ?
|
||
word_F3C6 dw ?
|
||
word_F3C8 dw ?
|
||
byte_F3CA db ?
|
||
byte_F3CB db ?
|
||
byte_F3CC db ?
|
||
byte_F3CD db ?
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
db ? ;
|
||
dword_F3DC dd ?
|
||
db ? ;
|
||
byte_F3E1 db ?
|
||
byte_F3E2 db ?
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
word_F3EC dw ?
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
byte_F4A2 db ?
|
||
db ?
|
||
word_F4A4 dw ?
|
||
byte_F4A6 db ?
|
||
byte_F4A7 db ?
|
||
byte_F4A8 db ?
|
||
byte_F4A9 db ?
|
||
byte_F4AA db ?
|
||
byte_F4AB db ?
|
||
dd ? ;
|
||
dd ? ;
|
||
unk_F4B4 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 ? ;
|
||
db ? ;
|
||
db ? ;
|
||
db ? ;
|
||
word_F57C dw ?
|
||
dword_F57E dd ?
|
||
unk_F582 db ? ;
|
||
db ? ;
|
||
word_F584 dw ?
|
||
unk_F586 db ? ;
|
||
db ? ;
|
||
word_F588 dw ?
|
||
unk_F58A db ? ;
|
||
db ? ;
|
||
word_F58C dw ?
|
||
unk_F58E db ? ;
|
||
db ? ;
|
||
word_F590 dw ?
|
||
unk_F592 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
db ? ;
|
||
db ? ;
|
||
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
|
||
|
||
dseg ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Uninitialized
|
||
seg009 segment byte stack 'STACK' use16
|
||
assume cs:seg009
|
||
assume es:nothing, ss:nothing, ds:dseg, fs:nothing, gs:nothing
|
||
db 80h dup(?)
|
||
seg009 ends
|
||
|
||
|
||
end startx
|