mirror of https://github.com/nmlgc/ReC98.git
9692 lines
166 KiB
NASM
9692 lines
166 KiB
NASM
;
|
||
; +-------------------------------------------------------------------------+
|
||
; | This file has been generated by The Interactive Disassembler (IDA) |
|
||
; | Copyright (c) 2009 by Hex-Rays, <support@hex-rays.com> |
|
||
; +-------------------------------------------------------------------------+
|
||
;
|
||
; Input MD5 : 492DA6ACEE8714C252630BCE0D3C12FD
|
||
|
||
; File Name : th04/OP.EXE
|
||
; Format : MS-DOS executable (EXE)
|
||
; Base Address: 0h Range: 0h-133E0h Loaded length: 11A40h
|
||
; Entry Point : 0:0
|
||
; OS type : MS DOS
|
||
; Application type: Executable 16bit
|
||
|
||
CGROUP00 group seg000
|
||
CGROUP01 group seg001
|
||
CGROUP02 group seg002
|
||
CGROUP03 group seg003
|
||
|
||
.286 ; Force the .model directive to create 16-bit default segments...
|
||
.model large
|
||
__LARGE__ equ 1
|
||
.386 ; ... then switch to what we actually need.
|
||
; And yes, we can't move this to an include file for some reason.
|
||
|
||
include ReC98.inc
|
||
include th04/th04.asm
|
||
include th04/music/music.inc
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
seg000 segment word public 'CODE' use16
|
||
assume cs:seg000
|
||
assume es:nothing, ss:_STACK, ds:dseg, fs:nothing, gs:nothing
|
||
|
||
include libs/BorlandC/c0.asm
|
||
db 0
|
||
include libs/master.lib/bfnt_entry_pat.asm
|
||
include libs/master.lib/bfnt_extend_header_skip.asm
|
||
include libs/master.lib/bfnt_header_read.asm
|
||
include libs/master.lib/bfnt_header_analysis.asm
|
||
include libs/master.lib/atrtcmod.asm
|
||
include libs/master.lib/bcloser.asm
|
||
include libs/master.lib/bfill.asm
|
||
include libs/master.lib/bfnt_palette_set.asm
|
||
include libs/master.lib/bgetc.asm
|
||
include libs/master.lib/palette_black_in.asm
|
||
include libs/master.lib/palette_black_out.asm
|
||
include libs/master.lib/bopenr.asm
|
||
include libs/master.lib/bread.asm
|
||
include libs/master.lib/bseek.asm
|
||
include libs/master.lib/bseek_.asm
|
||
include libs/master.lib/dos_axdx.asm
|
||
include libs/master.lib/dos_keyclear.asm
|
||
include libs/master.lib/dos_puts2.asm
|
||
include libs/master.lib/dos_read.asm
|
||
include libs/master.lib/dos_seek.asm
|
||
include libs/master.lib/dos_setvect.asm
|
||
include libs/master.lib/egc.asm
|
||
include libs/master.lib/file_append.asm
|
||
include libs/master.lib/file_close.asm
|
||
include libs/master.lib/file_create.asm
|
||
include libs/master.lib/file_exist.asm
|
||
include libs/master.lib/file_read.asm
|
||
include libs/master.lib/file_ropen.asm
|
||
include libs/master.lib/file_seek.asm
|
||
include libs/master.lib/file_write.asm
|
||
include libs/master.lib/dos_close.asm
|
||
include libs/master.lib/dos_ropen.asm
|
||
include libs/master.lib/grcg_boxfill.asm
|
||
include libs/master.lib/grcg_byteboxfill_x.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/get_machine_98.asm
|
||
include libs/master.lib/get_machine_at.asm
|
||
include libs/master.lib/get_machine_dosbox.asm
|
||
include libs/master.lib/check_machine_fmr.asm
|
||
include libs/master.lib/get_machine.asm
|
||
include libs/master.lib/gaiji_backup.asm
|
||
include libs/master.lib/gaiji_entry_bfnt.asm
|
||
include libs/master.lib/gaiji_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_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/js_end.asm
|
||
include libs/master.lib/keybeep.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
|
||
include libs/master.lib/pfread.asm
|
||
include libs/master.lib/pfrewind.asm
|
||
include libs/master.lib/pfseek.asm
|
||
include libs/master.lib/random.asm
|
||
include libs/master.lib/rottbl.asm
|
||
include libs/master.lib/smem_release.asm
|
||
include libs/master.lib/smem_wget.asm
|
||
include libs/master.lib/soundio.asm
|
||
include libs/master.lib/text_clear.asm
|
||
include libs/master.lib/txesc.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
|
||
include libs/master.lib/respal_exist.asm
|
||
include libs/master.lib/respal_free.asm
|
||
include libs/master.lib/pfint21.asm
|
||
db 0
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_323A proc far
|
||
mov cx, 100h
|
||
mov dx, 188h
|
||
|
||
loc_3240:
|
||
in al, dx
|
||
inc al
|
||
jnz short loc_324B
|
||
loop loc_3240
|
||
xor ax, ax
|
||
jmp short loc_325F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_324B:
|
||
pushf
|
||
cli
|
||
mov bh, 7
|
||
call sound_i
|
||
and al, 3Fh
|
||
or al, 80h
|
||
mov bl, al
|
||
call sound_o
|
||
popf
|
||
mov ax, 1
|
||
|
||
loc_325F:
|
||
mov word_F8BC, ax
|
||
retf
|
||
sub_323A endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
nop
|
||
|
||
include libs/master.lib/draw_trapezoid.asm
|
||
include th03/formats/pfopen.asm
|
||
include libs/master.lib/pf_str_ieq.asm
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_3488 proc near
|
||
mov bh, 0Fh
|
||
call sound_o
|
||
mov dx, 188h
|
||
mov al, 0Eh
|
||
out dx, al
|
||
inc dx
|
||
inc dx
|
||
in al, dx
|
||
not al
|
||
retn
|
||
sub_3488 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
nop
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_349A proc far
|
||
pushf
|
||
cli
|
||
mov bl, 80h
|
||
call sub_3488
|
||
and ax, 3Fh
|
||
popf
|
||
retf
|
||
sub_349A endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
xchg dx, bx
|
||
out dx, al
|
||
xchg dx, bx
|
||
in al, dx
|
||
not al
|
||
retn
|
||
; ---------------------------------------------------------------------------
|
||
|
||
include libs/master.lib/bgm_bell_org.asm
|
||
include libs/master.lib/bgm_mget.asm
|
||
include libs/master.lib/bgm_read_sdata.asm
|
||
include libs/master.lib/bgm_timer.asm
|
||
include libs/master.lib/bgm_pinit.asm
|
||
include libs/master.lib/bgm_timerhook.asm
|
||
include libs/master.lib/bgm_play.asm
|
||
include libs/master.lib/bgm_sound.asm
|
||
include libs/master.lib/bgm_effect_sound.asm
|
||
include libs/master.lib/bgm_stop_play.asm
|
||
include libs/master.lib/bgm_set_tempo.asm
|
||
include libs/master.lib/bgm_init_finish.asm
|
||
include libs/master.lib/bgm_stop_sound.asm
|
||
include libs/master.lib/graph_gaiji_puts.asm
|
||
include libs/master.lib/graph_gaiji_putc.asm
|
||
include libs/BorlandC/_abort.asm
|
||
include libs/BorlandC/stpcpy.asm
|
||
include libs/BorlandC/abort.asm
|
||
include libs/BorlandC/atexit.asm
|
||
include libs/BorlandC/del.asm
|
||
include libs/BorlandC/delarray.asm
|
||
include libs/BorlandC/dosenv.asm
|
||
include libs/BorlandC/dosgdriv.asm
|
||
include libs/BorlandC/errormsg.asm
|
||
include libs/BorlandC/exit.asm
|
||
include libs/BorlandC/f_scopy.asm
|
||
include libs/BorlandC/getvect.asm
|
||
include libs/BorlandC/H_LDIV.ASM
|
||
include libs/BorlandC/H_LLSH.ASM
|
||
include libs/BorlandC/H_PADD.ASM
|
||
include libs/BorlandC/ioerror.asm
|
||
include libs/BorlandC/_isatty.asm
|
||
include libs/BorlandC/lseek.asm
|
||
include libs/BorlandC/new.asm
|
||
include libs/BorlandC/N_LXMUL.ASM
|
||
include libs/BorlandC/N_PCMP.ASM
|
||
include libs/BorlandC/setupio.asm
|
||
include libs/BorlandC/toupper.asm
|
||
include libs/BorlandC/xxas.asm
|
||
include libs/BorlandC/xxv.asm
|
||
include libs/BorlandC/cputype.asm
|
||
include libs/BorlandC/FARHEAP.ASM
|
||
include libs/BorlandC/fbrk.asm
|
||
include libs/BorlandC/signal.asm
|
||
include libs/BorlandC/_access.asm
|
||
include libs/BorlandC/pathops.asm
|
||
include libs/BorlandC/chmoda.asm
|
||
include libs/BorlandC/fflush.asm
|
||
include libs/BorlandC/flushall.asm
|
||
include libs/BorlandC/fseek.asm
|
||
include libs/BorlandC/fullpath.asm
|
||
include libs/BorlandC/getdcwd.asm
|
||
include libs/BorlandC/getenv.asm
|
||
include libs/BorlandC/memcmp.asm
|
||
include libs/BorlandC/memcpy.asm
|
||
include libs/BorlandC/memset.asm
|
||
include libs/BorlandC/movmem.asm
|
||
include libs/BorlandC/srchenv.asm
|
||
include libs/BorlandC/srchstr.asm
|
||
include libs/BorlandC/setvbuf.asm
|
||
include libs/BorlandC/_strcat.asm
|
||
include libs/BorlandC/_strcmp.asm
|
||
include libs/BorlandC/_strcpy.asm
|
||
include libs/BorlandC/_stricmp.asm
|
||
include libs/BorlandC/_strlen.asm
|
||
include libs/BorlandC/strrchr.asm
|
||
include libs/BorlandC/write.asm
|
||
include libs/BorlandC/writea.asm
|
||
include libs/BorlandC/xfflush.asm
|
||
include libs/BorlandC/xalloc.asm
|
||
include libs/BorlandC/xmsg.asm
|
||
include libs/BorlandC/xx.asm
|
||
include libs/BorlandC/doscmd.asm
|
||
include libs/BorlandC/exec.asm
|
||
include libs/BorlandC/execl.asm
|
||
include libs/BorlandC/setblock.asm
|
||
include libs/BorlandC/setenvp.asm
|
||
include libs/BorlandC/ctor2.asm
|
||
include libs/BorlandC/ctor3.asm
|
||
include libs/BorlandC/strings.asm
|
||
include libs/BorlandC/getch.asm
|
||
include libs/BorlandC/kbhit.asm
|
||
include libs/BorlandC/loadprog.asm
|
||
seg000 ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
seg001 segment byte public 'CODE' use16
|
||
assume cs:seg001
|
||
;org 0Ch
|
||
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_A74C proc near
|
||
|
||
var_C = word ptr -0Ch
|
||
var_A = byte ptr -0Ah
|
||
var_9 = byte ptr -9
|
||
var_8 = byte ptr -8
|
||
var_7 = byte ptr -7
|
||
var_6 = byte ptr -6
|
||
var_5 = byte ptr -5
|
||
var_4 = word ptr -4
|
||
|
||
enter 0Ch, 0
|
||
push ds
|
||
push offset aMiko_cfg ; "MIKO.CFG"
|
||
call file_ropen
|
||
push ss
|
||
lea ax, [bp+var_A]
|
||
push ax
|
||
push 0Ah
|
||
call file_read
|
||
call file_close
|
||
mov ax, [bp+var_4]
|
||
mov [bp+var_C], ax
|
||
mov word ptr dword_10DA4+2, ax
|
||
mov word ptr dword_10DA4, 0
|
||
les bx, dword_10DA4
|
||
mov al, [bp+var_A]
|
||
mov es:[bx+0Fh], al
|
||
mov al, [bp+var_9]
|
||
mov es:[bx+3Ah], al
|
||
mov al, [bp+var_8]
|
||
mov es:[bx+3Bh], al
|
||
mov al, [bp+var_7]
|
||
mov es:[bx+10h], al
|
||
mov al, [bp+var_6]
|
||
mov es:[bx+18h], al
|
||
mov al, [bp+var_5]
|
||
mov es:[bx+49h], al
|
||
cmp byte ptr es:[bx+3Ah], 6
|
||
ja short loc_A7B5
|
||
cmp byte ptr es:[bx+3Ah], 0
|
||
jnz short loc_A7BE
|
||
|
||
loc_A7B5:
|
||
les bx, dword_10DA4
|
||
mov byte ptr es:[bx+3Ah], 3
|
||
|
||
loc_A7BE:
|
||
les bx, dword_10DA4
|
||
cmp byte ptr es:[bx+3Bh], 2
|
||
jbe short loc_A7CE
|
||
mov byte ptr es:[bx+3Bh], 2
|
||
|
||
loc_A7CE:
|
||
les bx, dword_10DA4
|
||
cmp byte ptr es:[bx+10h], 3
|
||
jb short loc_A7DE
|
||
mov byte ptr es:[bx+10h], 0
|
||
|
||
loc_A7DE:
|
||
les bx, dword_10DA4
|
||
cmp byte ptr es:[bx+18h], 3
|
||
jb short locret_A7EE
|
||
mov byte ptr es:[bx+18h], 0
|
||
|
||
locret_A7EE:
|
||
leave
|
||
retn
|
||
sub_A74C endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A7F0 proc near
|
||
|
||
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 = byte ptr -3
|
||
var_2 = byte ptr -2
|
||
|
||
enter 8, 0
|
||
push ds
|
||
push offset aMiko_cfg ; "MIKO.CFG"
|
||
call file_append
|
||
pushd 0
|
||
push 0
|
||
call file_seek
|
||
les bx, dword_10DA4
|
||
mov al, es:[bx+0Fh]
|
||
mov [bp+var_8], al
|
||
mov al, es:[bx+3Ah]
|
||
mov [bp+var_7], al
|
||
mov al, es:[bx+3Bh]
|
||
mov [bp+var_6], al
|
||
mov al, es:[bx+10h]
|
||
mov [bp+var_5], al
|
||
mov al, es:[bx+18h]
|
||
mov [bp+var_4], al
|
||
mov al, es:[bx+49h]
|
||
mov [bp+var_3], al
|
||
push ss
|
||
lea ax, [bp+var_8]
|
||
push ax
|
||
push 6
|
||
call file_write
|
||
pushd 9
|
||
push 0
|
||
call file_seek
|
||
mov al, [bp+var_8]
|
||
add al, [bp+var_7]
|
||
add al, [bp+var_6]
|
||
add al, [bp+var_5]
|
||
add al, [bp+var_4]
|
||
add al, [bp+var_3]
|
||
mov [bp+var_2], al
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
push 1
|
||
call file_write
|
||
call file_close
|
||
leave
|
||
retn
|
||
sub_A7F0 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A873 proc near
|
||
|
||
var_A = byte ptr -0Ah
|
||
var_9 = byte ptr -9
|
||
var_8 = byte ptr -8
|
||
var_7 = byte ptr -7
|
||
var_6 = byte ptr -6
|
||
var_5 = byte ptr -5
|
||
var_1 = byte ptr -1
|
||
|
||
enter 0Ah, 0
|
||
lea ax, [bp+var_A]
|
||
push ss
|
||
push ax
|
||
push ds
|
||
push offset unk_F3D1
|
||
mov cx, 0Ah
|
||
call SCOPY@
|
||
push ds
|
||
push offset aMiko_cfg ; "MIKO.CFG"
|
||
call file_append
|
||
pushd 0
|
||
push 0
|
||
call file_seek
|
||
les bx, dword_10DA4
|
||
mov al, es:[bx+0Fh]
|
||
mov [bp+var_A], al
|
||
mov al, es:[bx+3Ah]
|
||
mov [bp+var_9], al
|
||
mov al, es:[bx+3Bh]
|
||
mov [bp+var_8], al
|
||
mov al, es:[bx+10h]
|
||
mov [bp+var_7], al
|
||
mov al, es:[bx+18h]
|
||
mov [bp+var_6], al
|
||
mov al, es:[bx+49h]
|
||
mov [bp+var_5], al
|
||
mov al, [bp+var_A]
|
||
add al, [bp+var_9]
|
||
add al, [bp+var_8]
|
||
add al, [bp+var_7]
|
||
add al, [bp+var_6]
|
||
add al, [bp+var_5]
|
||
mov [bp+var_1], al
|
||
push ss
|
||
lea ax, [bp+var_A]
|
||
push ax
|
||
push 0Ah
|
||
call file_write
|
||
call file_close
|
||
leave
|
||
retn
|
||
sub_A873 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A8F1 proc near
|
||
push bp
|
||
mov bp, sp
|
||
les bx, dword_10DA4
|
||
mov byte ptr es:[bx+11h], 0
|
||
mov al, es:[bx+3Ah]
|
||
mov es:[bx+0Ch], al
|
||
mov al, es:[bx+3Bh]
|
||
mov es:[bx+0Eh], al
|
||
mov byte ptr es:[bx+12h], 30h ; '0'
|
||
mov byte ptr es:[bx+13h], 30h ; '0'
|
||
call sub_D708
|
||
or ax, ax
|
||
jnz short loc_A96A
|
||
les bx, dword_10DA4
|
||
mov byte ptr es:[bx+3Eh], 0
|
||
call sub_CCC8
|
||
call sub_A7F0
|
||
call gaiji_restore
|
||
kajacall KAJA_SONG_FADE, 10
|
||
call sub_E0AC
|
||
les bx, dword_10DA4
|
||
cmp byte ptr es:[bx+1Ah], 0
|
||
jnz short loc_A957
|
||
pushd 0
|
||
push ds
|
||
push offset aMain ; "main"
|
||
push ds
|
||
push offset aMain ; "main"
|
||
jmp short loc_A962
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A957:
|
||
pushd 0
|
||
push ds
|
||
push offset path ; "deb"
|
||
push ds
|
||
push offset path ; "deb"
|
||
|
||
loc_A962:
|
||
call _execl
|
||
add sp, 0Ch
|
||
|
||
loc_A96A:
|
||
pop bp
|
||
retn
|
||
sub_A8F1 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A96C proc near
|
||
push bp
|
||
mov bp, sp
|
||
les bx, dword_10DA4
|
||
mov byte ptr es:[bx+11h], 6
|
||
mov byte ptr es:[bx+0Ch], 3
|
||
mov byte ptr es:[bx+0Eh], 2
|
||
mov byte ptr es:[bx+12h], 30h ; '0'
|
||
mov byte ptr es:[bx+13h], 36h ; '6'
|
||
call sub_D708
|
||
or ax, ax
|
||
jnz short loc_A9C7
|
||
les bx, dword_10DA4
|
||
mov byte ptr es:[bx+3Eh], 0
|
||
call sub_CCC8
|
||
call sub_A7F0
|
||
call gaiji_restore
|
||
kajacall KAJA_SONG_FADE, 10
|
||
call sub_E0AC
|
||
pushd 0
|
||
push ds
|
||
push offset aMain ; "main"
|
||
push ds
|
||
push offset aMain ; "main"
|
||
call _execl
|
||
add sp, 0Ch
|
||
|
||
loc_A9C7:
|
||
pop bp
|
||
retn
|
||
sub_A96C endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A9C9 proc near
|
||
push bp
|
||
mov bp, sp
|
||
les bx, dword_10DA4
|
||
mov byte ptr es:[bx+11h], 0
|
||
mov byte ptr es:[bx+0Ch], 3
|
||
mov byte ptr es:[bx+0Eh], 3
|
||
inc byte ptr es:[bx+3Eh]
|
||
cmp byte ptr es:[bx+3Eh], 4
|
||
jbe short loc_A9EF
|
||
mov byte ptr es:[bx+3Eh], 1
|
||
|
||
loc_A9EF:
|
||
les bx, dword_10DA4
|
||
mov al, es:[bx+3Eh]
|
||
mov ah, 0
|
||
dec ax
|
||
mov bx, ax
|
||
cmp bx, 3
|
||
ja short loc_AA6E
|
||
add bx, bx
|
||
jmp cs:off_AAAD[bx]
|
||
|
||
loc_AA08:
|
||
les bx, dword_10DA4
|
||
mov byte ptr es:[bx+12h], 30h ; '0'
|
||
mov byte ptr es:[bx+13h], 33h ; '3'
|
||
mov byte ptr es:[bx+19h], 0
|
||
mov byte ptr es:[bx+3Ch], 3
|
||
jmp short loc_AA6E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AA22:
|
||
les bx, dword_10DA4
|
||
mov byte ptr es:[bx+12h], 31h ; '1'
|
||
mov byte ptr es:[bx+13h], 30h ; '0'
|
||
mov byte ptr es:[bx+19h], 0
|
||
mov byte ptr es:[bx+3Ch], 0
|
||
jmp short loc_AA6E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AA3C:
|
||
les bx, dword_10DA4
|
||
mov byte ptr es:[bx+12h], 30h ; '0'
|
||
mov byte ptr es:[bx+13h], 32h ; '2'
|
||
mov byte ptr es:[bx+19h], 1
|
||
mov byte ptr es:[bx+3Ch], 2
|
||
jmp short loc_AA6E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AA56:
|
||
les bx, dword_10DA4
|
||
mov byte ptr es:[bx+12h], 31h ; '1'
|
||
mov byte ptr es:[bx+13h], 31h ; '1'
|
||
mov byte ptr es:[bx+19h], 1
|
||
mov byte ptr es:[bx+3Ch], 1
|
||
|
||
loc_AA6E:
|
||
push 1
|
||
call palette_black_out
|
||
call super_free
|
||
freePISlotLarge 0
|
||
call sub_CCC8
|
||
call sub_A7F0
|
||
call gaiji_restore
|
||
call sub_E0AC
|
||
pushd 0
|
||
push ds
|
||
push offset aMain ; "main"
|
||
push ds
|
||
push offset aMain ; "main"
|
||
call _execl
|
||
add sp, 0Ch
|
||
pop bp
|
||
retn
|
||
sub_A9C9 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
off_AAAD dw offset loc_AA08
|
||
dw offset loc_AA22
|
||
dw offset loc_AA3C
|
||
dw offset loc_AA56
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_AAB5 proc near
|
||
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_2]
|
||
mov ax, si
|
||
imul ax, 14h
|
||
add ax, 0E0h
|
||
mov di, ax
|
||
push 100h
|
||
push ax
|
||
push 800010h
|
||
call sub_E378
|
||
call grcg_setcolor pascal, GC_RMW, [bp+arg_0]
|
||
mov [bp+var_2], si
|
||
mov bx, si
|
||
cmp bx, 5
|
||
ja short loc_AB59
|
||
add bx, bx
|
||
jmp cs:off_ABCB[bx]
|
||
|
||
loc_AAF3:
|
||
push 11000E0h
|
||
push 0Ah
|
||
call sub_DC92
|
||
les bx, dword_10DA4
|
||
mov al, es:[bx+0Fh]
|
||
mov ah, 0
|
||
add ax, 16h
|
||
mov [bp+var_2], ax
|
||
jmp short loc_AB59
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AB12:
|
||
cmp byte_13286, 0
|
||
jnz short loc_AB24
|
||
call grcg_setcolor pascal, (GC_RMW shl 16) + 12
|
||
|
||
loc_AB24:
|
||
push 11000F4h
|
||
push 0Bh
|
||
jmp short loc_AB54
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AB2E:
|
||
push 1100108h
|
||
push 0Ch
|
||
jmp short loc_AB54
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AB38:
|
||
push 110011Ch
|
||
push 0Dh
|
||
jmp short loc_AB54
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AB42:
|
||
push 1100130h
|
||
push 0Eh
|
||
jmp short loc_AB54
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AB4C:
|
||
push 1100144h
|
||
push 0Fh
|
||
|
||
loc_AB54:
|
||
call sub_DC92
|
||
|
||
loc_AB59:
|
||
mov dx, 7Ch
|
||
mov al, GC_OFF
|
||
out dx, al
|
||
cmp [bp+arg_0], 8
|
||
jnz short loc_ABC4
|
||
push 100h
|
||
push di
|
||
push 23h ; '#'
|
||
call sub_E00E
|
||
push 160h
|
||
push di
|
||
push 24h ; '$'
|
||
call sub_E00E
|
||
pushd 180h
|
||
push 2800010h
|
||
call sub_E378
|
||
mov word_FD7C, 2
|
||
mov bx, [bp+var_2]
|
||
shl bx, 2
|
||
pushd dword ptr [bx+9Eh] ; s
|
||
call _strlen
|
||
add sp, 4
|
||
shl ax, 3
|
||
mov dx, 270h
|
||
sub dx, ax
|
||
push dx
|
||
push 180000Fh
|
||
mov bx, [bp+var_2]
|
||
shl bx, 2
|
||
pushd dword ptr [bx+9Eh]
|
||
call sub_DEB4
|
||
|
||
loc_ABC4:
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 4
|
||
sub_AAB5 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
db 0
|
||
off_ABCB dw offset loc_AAF3
|
||
dw offset loc_AB12
|
||
dw offset loc_AB2E
|
||
dw offset loc_AB38
|
||
dw offset loc_AB42
|
||
dw offset loc_AB4C
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_ABD7 proc near
|
||
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
|
||
enter 4, 0
|
||
push si
|
||
push di
|
||
mov di, 0E0h
|
||
mov ax, [bp+arg_2]
|
||
shl ax, 4
|
||
add ax, 0E0h
|
||
mov [bp+var_4], ax
|
||
cmp [bp+arg_2], 7
|
||
jnz short loc_ABF7
|
||
mov [bp+var_4], 154h
|
||
|
||
loc_ABF7:
|
||
push 0E0h
|
||
push [bp+var_4]
|
||
push 0C00010h
|
||
call sub_E378
|
||
|
||
loc_AC08:
|
||
call grcg_setcolor pascal, GC_RMW, [bp+arg_0]
|
||
mov bx, [bp+arg_2]
|
||
cmp bx, 7
|
||
ja loc_AD9A
|
||
add bx, bx
|
||
jmp cs:off_AE18[bx]
|
||
|
||
loc_AC24:
|
||
push 0E000E0h
|
||
push 10h
|
||
call sub_DC92
|
||
push 14000E0h
|
||
les bx, dword_10DA4
|
||
mov al, es:[bx+0Fh]
|
||
mov ah, 0
|
||
add ax, 15h
|
||
push ax
|
||
call sub_DC92
|
||
les bx, dword_10DA4
|
||
mov al, es:[bx+0Fh]
|
||
mov ah, 0
|
||
add ax, 6
|
||
|
||
loc_AC57:
|
||
mov si, ax
|
||
jmp loc_AD9A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AC5C:
|
||
push 0E000F0h
|
||
push 11h
|
||
call sub_DC92
|
||
push 14000F0h
|
||
les bx, dword_10DA4
|
||
mov al, es:[bx+3Ah]
|
||
mov ah, 0
|
||
push ax
|
||
call sub_DC92
|
||
mov si, 0Ah
|
||
jmp loc_AD9A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AC85:
|
||
push 0E00100h
|
||
push 12h
|
||
call sub_DC92
|
||
push 1400100h
|
||
les bx, dword_10DA4
|
||
mov al, es:[bx+3Bh]
|
||
mov ah, 0
|
||
push ax
|
||
call sub_DC92
|
||
mov si, 0Bh
|
||
jmp loc_AD9A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ACAE:
|
||
push 0E00110h
|
||
push 13h
|
||
call sub_DC92
|
||
les bx, dword_10DA4
|
||
cmp byte ptr es:[bx+10h], 0
|
||
jnz short loc_ACCB
|
||
mov ax, 1Ch
|
||
jmp short loc_ACD8
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ACCB:
|
||
les bx, dword_10DA4
|
||
mov al, es:[bx+10h]
|
||
mov ah, 0
|
||
add ax, 18h
|
||
|
||
loc_ACD8:
|
||
mov [bp+var_2], ax
|
||
push 1400110h
|
||
push ax
|
||
call sub_DC92
|
||
les bx, dword_10DA4
|
||
mov al, es:[bx+10h]
|
||
mov ah, 0
|
||
add ax, 0Ch
|
||
jmp loc_AC57
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ACF7:
|
||
push 0E00120h
|
||
push 14h
|
||
call sub_DC92
|
||
les bx, dword_10DA4
|
||
cmp byte ptr es:[bx+18h], 0
|
||
jnz short loc_AD14
|
||
mov ax, 1Ch
|
||
jmp short loc_AD25
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AD14:
|
||
les bx, dword_10DA4
|
||
mov al, es:[bx+18h]
|
||
mov ah, 0
|
||
push ax
|
||
mov ax, 1Fh
|
||
pop dx
|
||
sub ax, dx
|
||
|
||
loc_AD25:
|
||
mov [bp+var_2], ax
|
||
push 1400120h
|
||
push ax
|
||
call sub_DC92
|
||
les bx, dword_10DA4
|
||
mov al, es:[bx+18h]
|
||
mov ah, 0
|
||
add ax, 0Fh
|
||
jmp loc_AC57
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AD44:
|
||
push 1100130h
|
||
les bx, dword_10DA4
|
||
mov al, es:[bx+49h]
|
||
mov ah, 0
|
||
mov dx, 21h ; '!'
|
||
sub dx, ax
|
||
push dx
|
||
call sub_DC92
|
||
mov di, 100h
|
||
les bx, dword_10DA4
|
||
mov al, es:[bx+49h]
|
||
mov ah, 0
|
||
add ax, 12h
|
||
jmp loc_AC57
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AD72:
|
||
push 1100140h
|
||
push 1Fh
|
||
call sub_DC92
|
||
mov di, 100h
|
||
mov si, 14h
|
||
jmp short loc_AD9A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AD87:
|
||
push 1100154h
|
||
push 0Fh
|
||
call sub_DC92
|
||
mov di, 100h
|
||
mov si, 15h
|
||
|
||
loc_AD9A:
|
||
mov dx, 7Ch
|
||
mov al, GC_OFF
|
||
out dx, al
|
||
cmp [bp+arg_0], 8
|
||
jnz short loc_AE11
|
||
push di
|
||
push [bp+var_4]
|
||
push 23h ; '#'
|
||
call sub_E00E
|
||
cmp di, 100h
|
||
jnz short loc_ADBD
|
||
lea ax, [di+60h]
|
||
push ax
|
||
jmp short loc_ADC0
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ADBD:
|
||
push 180h
|
||
|
||
loc_ADC0:
|
||
push [bp+var_4]
|
||
push 24h ; '$'
|
||
call sub_E00E
|
||
pushd 180h
|
||
push 2800010h
|
||
call sub_E378
|
||
mov word_FD7C, 2
|
||
mov bx, si
|
||
shl bx, 2
|
||
pushd dword ptr [bx+9Eh] ; s
|
||
call _strlen
|
||
add sp, 4
|
||
shl ax, 3
|
||
mov dx, 270h
|
||
sub dx, ax
|
||
push dx
|
||
push 180000Fh
|
||
mov bx, si
|
||
shl bx, 2
|
||
pushd dword ptr [bx+9Eh]
|
||
call sub_DEB4
|
||
|
||
loc_AE11:
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 4
|
||
sub_ABD7 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
db 0
|
||
off_AE18 dw offset loc_AC24
|
||
dw offset loc_AC5C
|
||
dw offset loc_AC85
|
||
dw offset loc_ACAE
|
||
dw offset loc_ACF7
|
||
dw offset loc_AD44
|
||
dw offset loc_AD72
|
||
dw offset loc_AD87
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_AE28 proc near
|
||
|
||
arg_0 = byte ptr 4
|
||
arg_2 = byte ptr 6
|
||
|
||
push bp
|
||
mov bp, sp
|
||
mov al, byte_F3DB
|
||
cbw
|
||
push ax
|
||
push 1
|
||
call fp_10DAA
|
||
mov al, [bp+arg_0]
|
||
add byte_F3DB, al
|
||
mov al, byte_F3DB
|
||
cbw
|
||
or ax, ax
|
||
jge short loc_AE4B
|
||
mov al, [bp+arg_2]
|
||
mov byte_F3DB, al
|
||
|
||
loc_AE4B:
|
||
mov al, byte_F3DB
|
||
cmp al, [bp+arg_2]
|
||
jle short loc_AE58
|
||
mov byte_F3DB, 0
|
||
|
||
loc_AE58:
|
||
cmp byte_13286, 0
|
||
jnz short loc_AE76
|
||
mov al, byte_F3DB
|
||
cbw
|
||
cmp ax, 1
|
||
jnz short loc_AE76
|
||
cmp byte_10DA8, 0
|
||
jnz short loc_AE76
|
||
mov al, [bp+arg_0]
|
||
add byte_F3DB, al
|
||
|
||
loc_AE76:
|
||
mov al, byte_F3DB
|
||
cbw
|
||
push ax
|
||
push 8
|
||
call fp_10DAA
|
||
call snd_se_reset
|
||
call snd_se_play pascal, 1
|
||
call snd_se_update
|
||
pop bp
|
||
retn 4
|
||
sub_AE28 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_AE96 proc near
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
cmp byte_F446, 0
|
||
jnz short loc_AEEB
|
||
mov byte_F3DD, 0
|
||
mov byte_10DAC, 0
|
||
push 0C000E0h
|
||
push 12000A0h
|
||
call sub_E378
|
||
xor si, si
|
||
jmp short loc_AED6
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AEC0:
|
||
push si
|
||
mov al, byte_F3DB
|
||
cbw
|
||
cmp ax, si
|
||
jnz short loc_AECE
|
||
mov ax, 8
|
||
jmp short loc_AED1
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AECE:
|
||
mov ax, 1
|
||
|
||
loc_AED1:
|
||
push ax
|
||
call sub_AAB5
|
||
inc si
|
||
|
||
loc_AED6:
|
||
cmp si, 6
|
||
jl short loc_AEC0
|
||
mov fp_10DAA, offset sub_AAB5
|
||
mov byte_F446, 1
|
||
mov byte_10DAC, 0
|
||
|
||
loc_AEEB:
|
||
cmp word_11A50, 0
|
||
jnz short loc_AEF7
|
||
mov byte_10DAC, 1
|
||
|
||
loc_AEF7:
|
||
cmp byte_10DAC, 0
|
||
jz loc_B043
|
||
test byte ptr word_11A50, 1
|
||
jz short loc_AF0E
|
||
push 5
|
||
push 0FFFFh
|
||
call sub_AE28
|
||
|
||
loc_AF0E:
|
||
test byte ptr word_11A50, 2
|
||
jz short loc_AF1C
|
||
push 5
|
||
push 1
|
||
call sub_AE28
|
||
|
||
loc_AF1C:
|
||
test byte ptr word_11A50+1, 20h
|
||
jnz short loc_AF2C
|
||
test byte ptr word_11A50, 20h
|
||
jz loc_B02B
|
||
|
||
loc_AF2C:
|
||
call snd_se_reset
|
||
call snd_se_play pascal, 11
|
||
call snd_se_update
|
||
mov al, byte_F3DB
|
||
cbw
|
||
mov bx, ax
|
||
cmp bx, 5
|
||
ja loc_B02B
|
||
add bx, bx
|
||
jmp cs:off_B046[bx]
|
||
|
||
loc_AF51:
|
||
call sub_A8F1
|
||
jmp short loc_AFBD
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AF56:
|
||
call sub_A96C
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call pi_slot_load pascal, 0, ds, offset aOp1_pi
|
||
call pi_slot_palette_apply pascal, 0
|
||
call pi_slot_put pascal, large 0, 0
|
||
freePISlotLarge 0
|
||
push 0
|
||
call graph_copy_page
|
||
mov PaletteTone, 64h ; 'd'
|
||
call far ptr palette_show
|
||
mov byte_F446, 0
|
||
mov byte_10DA8, 0
|
||
mov byte_F3DB, 1
|
||
jmp loc_B043
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AFAD:
|
||
call sub_CA94
|
||
mov byte_F446, 0
|
||
jmp short loc_B02B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AFB7:
|
||
call sub_C3B7
|
||
call sub_CC97
|
||
|
||
loc_AFBD:
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call pi_slot_load pascal, 0, ds, offset aOp1_pi
|
||
call pi_slot_palette_apply pascal, 0
|
||
call pi_slot_put pascal, large 0, 0
|
||
freePISlotLarge 0
|
||
push 0
|
||
call graph_copy_page
|
||
mov PaletteTone, 64h ; 'd'
|
||
call far ptr palette_show
|
||
mov byte_F446, 0
|
||
mov byte_10DA8, 0
|
||
mov byte_F3DB, 0
|
||
jmp short loc_B043
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B010:
|
||
mov byte_F446, 0
|
||
mov byte_10DA8, 1
|
||
mov byte_F3DB, 0
|
||
jmp short loc_B02B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B021:
|
||
mov byte_F446, 0
|
||
mov byte_F3DC, 1
|
||
|
||
loc_B02B:
|
||
test byte ptr word_11A50+1, 10h
|
||
jz short loc_B037
|
||
mov byte_F3DC, 1
|
||
|
||
loc_B037:
|
||
cmp word_11A50, 0
|
||
jz short loc_B043
|
||
mov byte_10DAC, 0
|
||
|
||
loc_B043:
|
||
pop si
|
||
pop bp
|
||
retn
|
||
sub_AE96 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
off_B046 dw offset loc_AF51
|
||
dw offset loc_AF56
|
||
dw offset loc_AFAD
|
||
dw offset loc_AFB7
|
||
dw offset loc_B010
|
||
dw offset loc_B021
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B052 proc near
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
cmp byte_F447, 0
|
||
jnz short loc_B0A2
|
||
mov byte_10DAD, 0
|
||
push 11000E0h
|
||
push 0A00090h
|
||
call sub_E378
|
||
xor si, si
|
||
jmp short loc_B08D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B077:
|
||
push si
|
||
mov al, byte_F3DB
|
||
cbw
|
||
cmp ax, si
|
||
jnz short loc_B085
|
||
mov ax, 8
|
||
jmp short loc_B088
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B085:
|
||
mov ax, 1
|
||
|
||
loc_B088:
|
||
push ax
|
||
call sub_ABD7
|
||
inc si
|
||
|
||
loc_B08D:
|
||
cmp si, 8
|
||
jl short loc_B077
|
||
mov fp_10DAA, offset sub_ABD7
|
||
mov byte_F447, 1
|
||
mov byte_10DAD, 0
|
||
|
||
loc_B0A2:
|
||
cmp word_11A50, 0
|
||
jnz short loc_B0AE
|
||
mov byte_10DAD, 1
|
||
|
||
loc_B0AE:
|
||
cmp byte_10DAD, 0
|
||
jz loc_B35B
|
||
test byte ptr word_11A50, 1
|
||
jz short loc_B0C5
|
||
push 7
|
||
push 0FFFFh
|
||
call sub_AE28
|
||
|
||
loc_B0C5:
|
||
test byte ptr word_11A50, 2
|
||
jz short loc_B0D3
|
||
push 7
|
||
push 1
|
||
call sub_AE28
|
||
|
||
loc_B0D3:
|
||
test byte ptr word_11A50+1, 20h
|
||
jnz short loc_B0E3
|
||
test byte ptr word_11A50, 20h
|
||
jz loc_B16F
|
||
|
||
loc_B0E3:
|
||
mov al, byte_F3DB
|
||
cbw
|
||
cmp ax, 6
|
||
jz short loc_B0F4
|
||
cmp ax, 7
|
||
jz short loc_B14F
|
||
jmp loc_B178
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B0F4:
|
||
les bx, dword_10DA4
|
||
mov byte ptr es:[bx+0Fh], 1
|
||
mov byte ptr es:[bx+3Ah], 3
|
||
mov byte ptr es:[bx+3Bh], 2
|
||
mov byte ptr es:[bx+10h], 2
|
||
mov byte ptr es:[bx+18h], 1
|
||
mov byte ptr es:[bx+49h], 1
|
||
kajacall KAJA_SONG_STOP
|
||
les bx, dword_10DA4
|
||
mov al, es:[bx+10h]
|
||
mov ah, 0
|
||
push ax
|
||
mov al, es:[bx+18h]
|
||
mov ah, 0
|
||
push ax
|
||
call snd_determine_modes
|
||
call snd_load pascal, ds, offset aOp, SND_LOAD_SONG
|
||
kajacall KAJA_SONG_PLAY
|
||
mov byte_F447, 0
|
||
jmp short loc_B16F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B14F:
|
||
call snd_se_reset
|
||
call snd_se_play pascal, 11
|
||
call snd_se_update
|
||
mov byte_F447, 0
|
||
mov byte_F3DB, 4
|
||
mov byte_10DA8, 0
|
||
|
||
loc_B16F:
|
||
test byte ptr word_11A50, 8
|
||
jz loc_B250
|
||
|
||
loc_B178:
|
||
mov al, byte_F3DB
|
||
cbw
|
||
mov bx, ax
|
||
cmp bx, 5
|
||
ja loc_B246
|
||
add bx, bx
|
||
jmp cs:off_B36B[bx]
|
||
|
||
loc_B18C:
|
||
les bx, dword_10DA4
|
||
inc byte ptr es:[bx+0Fh]
|
||
cmp byte ptr es:[bx+0Fh], 3
|
||
jbe loc_B246
|
||
mov byte ptr es:[bx+0Fh], 0
|
||
jmp loc_B246
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B1A5:
|
||
les bx, dword_10DA4
|
||
inc byte ptr es:[bx+3Ah]
|
||
cmp byte ptr es:[bx+3Ah], 6
|
||
jbe loc_B246
|
||
mov byte ptr es:[bx+3Ah], 1
|
||
jmp loc_B246
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B1BE:
|
||
les bx, dword_10DA4
|
||
inc byte ptr es:[bx+3Bh]
|
||
cmp byte ptr es:[bx+3Bh], 2
|
||
jbe short loc_B246
|
||
mov byte ptr es:[bx+3Bh], 0
|
||
jmp short loc_B246
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B1D4:
|
||
les bx, dword_10DA4
|
||
inc byte ptr es:[bx+10h]
|
||
cmp byte ptr es:[bx+10h], 3
|
||
jb short loc_B1E8
|
||
mov byte ptr es:[bx+10h], 0
|
||
|
||
loc_B1E8:
|
||
kajacall KAJA_SONG_STOP
|
||
les bx, dword_10DA4
|
||
mov al, es:[bx+10h]
|
||
mov ah, 0
|
||
push ax
|
||
mov al, es:[bx+18h]
|
||
mov ah, 0
|
||
push ax
|
||
call snd_determine_modes
|
||
call snd_load pascal, ds, offset aOp, SND_LOAD_SONG
|
||
kajacall KAJA_SONG_PLAY
|
||
jmp short loc_B246
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B21C:
|
||
les bx, dword_10DA4
|
||
cmp byte ptr es:[bx+18h], 0
|
||
jnz short loc_B22E
|
||
mov byte ptr es:[bx+18h], 2
|
||
jmp short loc_B246
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B22E:
|
||
les bx, dword_10DA4
|
||
dec byte ptr es:[bx+18h]
|
||
jmp short loc_B246
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B238:
|
||
les bx, dword_10DA4
|
||
mov al, 1
|
||
sub al, es:[bx+49h]
|
||
mov es:[bx+49h], al
|
||
|
||
loc_B246:
|
||
mov al, byte_F3DB
|
||
cbw
|
||
push ax
|
||
push 8
|
||
call sub_ABD7
|
||
|
||
loc_B250:
|
||
test byte ptr word_11A50, 4
|
||
jz loc_B339
|
||
mov al, byte_F3DB
|
||
cbw
|
||
mov bx, ax
|
||
cmp bx, 5
|
||
ja loc_B32F
|
||
add bx, bx
|
||
jmp cs:off_B35F[bx]
|
||
|
||
loc_B26D:
|
||
les bx, dword_10DA4
|
||
cmp byte ptr es:[bx+0Fh], 0
|
||
jnz short loc_B27D
|
||
mov byte ptr es:[bx+0Fh], 4
|
||
|
||
loc_B27D:
|
||
les bx, dword_10DA4
|
||
dec byte ptr es:[bx+0Fh]
|
||
jmp loc_B32F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B288:
|
||
les bx, dword_10DA4
|
||
cmp byte ptr es:[bx+3Ah], 1
|
||
jnz short loc_B298
|
||
mov byte ptr es:[bx+3Ah], 7
|
||
|
||
loc_B298:
|
||
les bx, dword_10DA4
|
||
dec byte ptr es:[bx+3Ah]
|
||
jmp loc_B32F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B2A3:
|
||
les bx, dword_10DA4
|
||
cmp byte ptr es:[bx+3Bh], 0
|
||
jnz short loc_B2B3
|
||
mov byte ptr es:[bx+3Bh], 3
|
||
|
||
loc_B2B3:
|
||
les bx, dword_10DA4
|
||
dec byte ptr es:[bx+3Bh]
|
||
jmp short loc_B32F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B2BD:
|
||
les bx, dword_10DA4
|
||
cmp byte ptr es:[bx+10h], 0
|
||
jnz short loc_B2CF
|
||
mov byte ptr es:[bx+10h], 2
|
||
jmp short loc_B2D7
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B2CF:
|
||
les bx, dword_10DA4
|
||
dec byte ptr es:[bx+10h]
|
||
|
||
loc_B2D7:
|
||
kajacall KAJA_SONG_STOP
|
||
les bx, dword_10DA4
|
||
mov al, es:[bx+10h]
|
||
mov ah, 0
|
||
push ax
|
||
mov al, es:[bx+18h]
|
||
mov ah, 0
|
||
push ax
|
||
call snd_determine_modes
|
||
call snd_load pascal, ds, offset aOp, SND_LOAD_SONG
|
||
kajacall KAJA_SONG_PLAY
|
||
jmp short loc_B32F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B30B:
|
||
les bx, dword_10DA4
|
||
inc byte ptr es:[bx+18h]
|
||
cmp byte ptr es:[bx+18h], 3
|
||
jb short loc_B32F
|
||
mov byte ptr es:[bx+18h], 0
|
||
jmp short loc_B32F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B321:
|
||
les bx, dword_10DA4
|
||
mov al, 1
|
||
sub al, es:[bx+49h]
|
||
mov es:[bx+49h], al
|
||
|
||
loc_B32F:
|
||
mov al, byte_F3DB
|
||
cbw
|
||
push ax
|
||
push 8
|
||
call sub_ABD7
|
||
|
||
loc_B339:
|
||
test byte ptr word_11A50+1, 10h
|
||
jz short loc_B34F
|
||
mov byte_F447, 0
|
||
mov byte_F3DB, 4
|
||
mov byte_10DA8, 0
|
||
|
||
loc_B34F:
|
||
cmp word_11A50, 0
|
||
jz short loc_B35B
|
||
mov byte_10DAD, 0
|
||
|
||
loc_B35B:
|
||
pop si
|
||
pop bp
|
||
retn
|
||
sub_B052 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
db 0
|
||
off_B35F dw offset loc_B26D
|
||
dw offset loc_B288
|
||
dw offset loc_B2A3
|
||
dw offset loc_B2BD
|
||
dw offset loc_B30B
|
||
dw offset loc_B321
|
||
off_B36B dw offset loc_B18C
|
||
dw offset loc_B1A5
|
||
dw offset loc_B1BE
|
||
dw offset loc_B1D4
|
||
dw offset loc_B21C
|
||
dw offset loc_B238
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
; int __cdecl main(int argc, const char **argv, const char **envp)
|
||
_main proc far
|
||
|
||
_argc = word ptr 6
|
||
_argv = dword ptr 8
|
||
_envp = dword ptr 0Ch
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
xor si, si
|
||
call text_clear
|
||
call respal_create
|
||
mov word_11A4E, 5208h
|
||
push ds
|
||
push offset aMSzlEd_dat ; "<22><><EFBFBD>z<EFBFBD><7A>ed.dat"
|
||
call sub_E0F4
|
||
add sp, 4
|
||
or ax, ax
|
||
jz short loc_B3AB
|
||
push ds
|
||
push offset asc_F7F7 ; "\n<><EFBFBD><F382AB83><EFBFBD><EFBFBD><EFBFBD><EFBFBD>s<EFBFBD><73><EFBFBD>ł<EFBFBD><C582>B<EFBFBD><42><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𑝂₵"...
|
||
call dos_puts2
|
||
call getch
|
||
|
||
loc_B3AB:
|
||
call gaiji_backup
|
||
push ds
|
||
push offset aGameft_bft ; "GAMEFT.bft"
|
||
call gaiji_entry_bfnt
|
||
call sub_A74C
|
||
les bx, dword_10DA4
|
||
cmp byte ptr es:[bx+0Fh], 0FFh
|
||
jnz short loc_B3D3
|
||
call sub_B9CE
|
||
les bx, dword_10DA4
|
||
mov byte ptr es:[bx+0Fh], 1
|
||
|
||
loc_B3D3:
|
||
les bx, dword_10DA4
|
||
mov al, es:[bx+10h]
|
||
mov ah, 0
|
||
push ax
|
||
mov al, es:[bx+18h]
|
||
mov ah, 0
|
||
push ax
|
||
call snd_determine_modes
|
||
call snd_load pascal, ds, offset aMiko, SND_LOAD_SE
|
||
les bx, dword_10DA4
|
||
cmp byte ptr es:[bx+48h], 0
|
||
jnz short loc_B40D
|
||
call sub_BC35
|
||
les bx, dword_10DA4
|
||
mov byte ptr es:[bx+48h], 1
|
||
|
||
loc_B40D:
|
||
les bx, dword_10DA4
|
||
cmp byte ptr es:[bx+3Eh], 0
|
||
jnz short loc_B420
|
||
kajacall KAJA_SONG_STOP
|
||
|
||
loc_B420:
|
||
call sub_CCD2
|
||
call sub_CBE3
|
||
call sub_CC97
|
||
mov byte_10DA8, 0
|
||
mov byte_F3DC, 0
|
||
mov byte_F3DB, 0
|
||
jmp short loc_B47B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B43A:
|
||
call far ptr sub_E1DC
|
||
mov al, byte_10DA8
|
||
cbw
|
||
or ax, ax
|
||
jz short loc_B44E
|
||
cmp ax, 1
|
||
jz short loc_B45C
|
||
jmp short loc_B45F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B44E:
|
||
call sub_AE96
|
||
cmp si, 280h
|
||
jl short loc_B45F
|
||
call sub_A9C9
|
||
jmp short loc_B45F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B45C:
|
||
call sub_B052
|
||
|
||
loc_B45F:
|
||
cmp word_11A50, 0
|
||
jnz short loc_B469
|
||
inc si
|
||
jmp short loc_B46B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B469:
|
||
xor si, si
|
||
|
||
loc_B46B:
|
||
les bx, dword_10DA4
|
||
inc dword ptr es:[bx+14h]
|
||
push 1
|
||
call frame_delay
|
||
|
||
loc_B47B:
|
||
cmp byte_F3DC, 0
|
||
jz short loc_B43A
|
||
call sub_CCC8
|
||
call sub_A873
|
||
call gaiji_restore
|
||
call text_clear
|
||
call sub_DDB1
|
||
call respal_free
|
||
pop si
|
||
pop bp
|
||
retf
|
||
_main endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B49F proc near
|
||
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_2]
|
||
mov di, [bp+arg_0]
|
||
push si
|
||
push di
|
||
mov ax, word_11E88
|
||
shl ax, 4
|
||
push ax
|
||
push 10h
|
||
call sub_E378
|
||
push si
|
||
push di
|
||
push 2
|
||
call super_put
|
||
push si
|
||
lea ax, [di+8]
|
||
push ax
|
||
push 6
|
||
call super_put
|
||
add si, 10h
|
||
mov [bp+var_2], 1
|
||
jmp short loc_B4F5
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B4DA:
|
||
push si
|
||
push di
|
||
push 0
|
||
call super_put
|
||
push si
|
||
lea ax, [di+8]
|
||
push ax
|
||
push 3
|
||
call super_put
|
||
inc [bp+var_2]
|
||
add si, 10h
|
||
|
||
loc_B4F5:
|
||
mov ax, word_11E88
|
||
dec ax
|
||
cmp ax, [bp+var_2]
|
||
jg short loc_B4DA
|
||
push si
|
||
push di
|
||
push 4
|
||
call super_put
|
||
push si
|
||
lea ax, [di+8]
|
||
push ax
|
||
push 7
|
||
call super_put
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 4
|
||
sub_B49F endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B519 proc near
|
||
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_2]
|
||
mov di, [bp+arg_0]
|
||
push si
|
||
lea ax, [di+8]
|
||
push ax
|
||
mov ax, word_11E88
|
||
shl ax, 4
|
||
push ax
|
||
push 10h
|
||
call sub_E378
|
||
push si
|
||
push di
|
||
push 6
|
||
call super_put
|
||
add si, 10h
|
||
mov [bp+var_2], 1
|
||
jmp short loc_B55A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B54B:
|
||
push si
|
||
push di
|
||
push 3
|
||
call super_put
|
||
inc [bp+var_2]
|
||
add si, 10h
|
||
|
||
loc_B55A:
|
||
mov ax, word_11E88
|
||
dec ax
|
||
cmp ax, [bp+var_2]
|
||
jg short loc_B54B
|
||
push si
|
||
push di
|
||
push 7
|
||
call super_put
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 4
|
||
sub_B519 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B572 proc near
|
||
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
mov ax, [bp+arg_2]
|
||
mov [bp+var_2], ax
|
||
mov si, [bp+arg_0]
|
||
push ax
|
||
push si
|
||
push 5
|
||
call super_put
|
||
add [bp+var_2], 10h
|
||
mov di, 1
|
||
jmp short loc_B5A3
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B593:
|
||
push [bp+var_2]
|
||
push si
|
||
push 1
|
||
call super_put
|
||
inc di
|
||
add [bp+var_2], 10h
|
||
|
||
loc_B5A3:
|
||
mov ax, word_11E88
|
||
dec ax
|
||
cmp ax, di
|
||
jg short loc_B593
|
||
push [bp+var_2]
|
||
push si
|
||
push 8
|
||
call super_put
|
||
add si, 10h
|
||
mov di, 1
|
||
jmp short loc_B5D0
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B5BE:
|
||
push [bp+arg_2]
|
||
push si
|
||
call sub_B49F
|
||
push 1
|
||
call frame_delay
|
||
inc di
|
||
add si, 8
|
||
|
||
loc_B5D0:
|
||
mov ax, word_11E8A
|
||
add ax, ax
|
||
add ax, 0FFFDh
|
||
cmp ax, di
|
||
jg short loc_B5BE
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 4
|
||
sub_B572 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B5E2 proc near
|
||
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_2]
|
||
mov di, [bp+arg_0]
|
||
push si
|
||
push di
|
||
mov ax, word_11E88
|
||
shl ax, 4
|
||
push ax
|
||
push 20h ; ' '
|
||
call sub_E378
|
||
push si
|
||
push di
|
||
push 5
|
||
call super_put
|
||
push si
|
||
lea ax, [di+10h]
|
||
push ax
|
||
push 6
|
||
call super_put
|
||
add si, 10h
|
||
mov [bp+var_2], 1
|
||
jmp short loc_B638
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B61D:
|
||
push si
|
||
push di
|
||
push 1
|
||
call super_put
|
||
push si
|
||
lea ax, [di+10h]
|
||
push ax
|
||
push 3
|
||
call super_put
|
||
inc [bp+var_2]
|
||
add si, 10h
|
||
|
||
loc_B638:
|
||
mov ax, word_11E88
|
||
dec ax
|
||
cmp ax, [bp+var_2]
|
||
jg short loc_B61D
|
||
push si
|
||
push di
|
||
push 8
|
||
call super_put
|
||
push si
|
||
lea ax, [di+10h]
|
||
push ax
|
||
push 7
|
||
call super_put
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 4
|
||
sub_B5E2 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B65C 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_0]
|
||
mov ax, word_11E8A
|
||
shl ax, 4
|
||
add ax, 0FFF0h
|
||
add si, ax
|
||
mov di, 1
|
||
jmp short loc_B686
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B674:
|
||
push [bp+arg_2]
|
||
push si
|
||
call sub_B519
|
||
push 1
|
||
call frame_delay
|
||
inc di
|
||
sub si, 8
|
||
|
||
loc_B686:
|
||
mov ax, word_11E8A
|
||
add ax, ax
|
||
add ax, 0FFFEh
|
||
cmp ax, di
|
||
jg short loc_B674
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retn 4
|
||
sub_B65C endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B698 proc near
|
||
|
||
var_4 = dword ptr -4
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
|
||
enter 4, 0
|
||
push si
|
||
mov si, 88h
|
||
mov ax, [bp+arg_2]
|
||
or ax, ax
|
||
jz short loc_B6C8
|
||
cmp ax, 1
|
||
jz short loc_B6BB
|
||
cmp ax, 2
|
||
jnz short loc_B6D3
|
||
mov word ptr [bp+var_4+2], ds
|
||
mov word ptr [bp+var_4], 0DB3h
|
||
jmp short loc_B6D3
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B6BB:
|
||
mov word ptr [bp+var_4+2], ds
|
||
mov word ptr [bp+var_4], 0DC4h
|
||
add si, 10h
|
||
jmp short loc_B6D3
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B6C8:
|
||
mov word ptr [bp+var_4+2], ds
|
||
mov word ptr [bp+var_4], 0DD5h
|
||
add si, 20h ; ' '
|
||
|
||
loc_B6D3:
|
||
push 30h ; '0'
|
||
push si
|
||
push [bp+arg_0]
|
||
pushd [bp+var_4]
|
||
call sub_DEB4
|
||
pop si
|
||
leave
|
||
retn 4
|
||
sub_B698 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B6E7 proc near
|
||
|
||
var_4 = dword ptr -4
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
|
||
enter 4, 0
|
||
push si
|
||
mov si, 88h
|
||
mov ax, [bp+arg_2]
|
||
or ax, ax
|
||
jz short loc_B719
|
||
cmp ax, 1
|
||
jz short loc_B702
|
||
cmp ax, 2
|
||
jz short loc_B70C
|
||
jmp short loc_B724
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B702:
|
||
mov word ptr [bp+var_4+2], ds
|
||
mov word ptr [bp+var_4], 0DE6h
|
||
jmp short loc_B724
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B70C:
|
||
mov word ptr [bp+var_4+2], ds
|
||
mov word ptr [bp+var_4], 0DF7h
|
||
add si, 10h
|
||
jmp short loc_B724
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B719:
|
||
mov word ptr [bp+var_4+2], ds
|
||
mov word ptr [bp+var_4], 0E08h
|
||
add si, 20h ; ' '
|
||
|
||
loc_B724:
|
||
push 30h ; '0'
|
||
push si
|
||
push [bp+arg_0]
|
||
pushd [bp+var_4]
|
||
call sub_DEB4
|
||
pop si
|
||
leave
|
||
retn 4
|
||
sub_B6E7 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B738 proc near
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
mov di, 88h
|
||
xor si, si
|
||
jmp short loc_B75D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B744:
|
||
push 0D0h ; '<27>'
|
||
push di
|
||
push 0Fh
|
||
mov bx, si
|
||
shl bx, 2
|
||
pushd dword ptr [bx+0A4Ch]
|
||
call sub_DEB4
|
||
inc si
|
||
add di, 10h
|
||
|
||
loc_B75D:
|
||
cmp si, 9
|
||
jl short loc_B744
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retn
|
||
sub_B738 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B766 proc near
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
mov di, 88h
|
||
xor si, si
|
||
jmp short loc_B78B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B772:
|
||
push 0D0h ; '<27>'
|
||
push di
|
||
push 0Fh
|
||
mov bx, si
|
||
shl bx, 2
|
||
pushd dword ptr [bx+0A70h]
|
||
call sub_DEB4
|
||
inc si
|
||
add di, 10h
|
||
|
||
loc_B78B:
|
||
cmp si, 9
|
||
jl short loc_B772
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retn
|
||
sub_B766 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B794 proc near
|
||
|
||
var_2 = word ptr -2
|
||
|
||
enter 2, 0
|
||
mov word_11E88, 1Ch
|
||
push 600050h
|
||
call sub_B5E2
|
||
push 700058h
|
||
push 0Fh
|
||
push ds
|
||
push offset aB@b@b@b@b@ogcp ; "<22>@<40>@<40>@<40>@<40>@<40>g<EFBFBD>p<EFBFBD><70><EFBFBD>鉹<EFBFBD><E989B9><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD><49><EFBFBD><EFBFBD><EFBFBD>ĉ<EFBFBD><C489><EFBFBD><EFBFBD><EFBFBD><EFBFBD>E...
|
||
call sub_DEB4
|
||
mov word_11E88, 0Ah
|
||
mov word_11E8A, 4
|
||
push 200080h
|
||
call sub_B572
|
||
mov [bp+var_2], 0
|
||
jmp short loc_B7EB
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B7D4:
|
||
push [bp+var_2]
|
||
cmp [bp+var_2], 2
|
||
jnz short loc_B7E2
|
||
mov ax, 0Fh
|
||
jmp short loc_B7E4
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B7E2:
|
||
xor ax, ax
|
||
|
||
loc_B7E4:
|
||
push ax
|
||
call sub_B698
|
||
inc [bp+var_2]
|
||
|
||
loc_B7EB:
|
||
cmp [bp+var_2], 3
|
||
jl short loc_B7D4
|
||
mov word_11E88, 19h
|
||
mov word_11E8A, 0Ah
|
||
push 0C00080h
|
||
call sub_B572
|
||
call sub_B738
|
||
mov [bp+var_2], 2
|
||
|
||
loc_B80E:
|
||
push 0
|
||
call sub_DB62
|
||
push 1
|
||
call frame_delay
|
||
test byte ptr word_11A50+1, 20h
|
||
jnz short loc_B87A
|
||
test byte ptr word_11A50, 20h
|
||
jnz short loc_B87A
|
||
test byte ptr word_11A50, 1
|
||
jz short loc_B851
|
||
push [bp+var_2]
|
||
push 0
|
||
call sub_B698
|
||
cmp [bp+var_2], 2
|
||
jnz short loc_B846
|
||
mov [bp+var_2], 0
|
||
jmp short loc_B849
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B846:
|
||
inc [bp+var_2]
|
||
|
||
loc_B849:
|
||
push [bp+var_2]
|
||
push 0Fh
|
||
call sub_B698
|
||
|
||
loc_B851:
|
||
test byte ptr word_11A50, 2
|
||
jz short loc_B80E
|
||
push [bp+var_2]
|
||
push 0
|
||
call sub_B698
|
||
cmp [bp+var_2], 0
|
||
jnz short loc_B86D
|
||
mov [bp+var_2], 2
|
||
jmp short loc_B870
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B86D:
|
||
dec [bp+var_2]
|
||
|
||
loc_B870:
|
||
push [bp+var_2]
|
||
push 0Fh
|
||
call sub_B698
|
||
jmp short loc_B80E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B87A:
|
||
mov word_11E88, 19h
|
||
mov word_11E8A, 0Ah
|
||
push 0C00080h
|
||
call sub_B65C
|
||
mov word_11E88, 0Ah
|
||
mov word_11E8A, 4
|
||
push 200080h
|
||
call sub_B65C
|
||
les bx, dword_10DA4
|
||
mov al, byte ptr [bp+var_2]
|
||
mov es:[bx+10h], al
|
||
leave
|
||
retn
|
||
sub_B794 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B8B1 proc near
|
||
|
||
var_2 = word ptr -2
|
||
|
||
enter 2, 0
|
||
mov word_11E88, 1Ch
|
||
push 600050h
|
||
call sub_B5E2
|
||
push 700058h
|
||
push 0Fh
|
||
push ds
|
||
push offset aB@b@b@b@m ; "<22>@<40>@<40>@<40>@<40><><EFBFBD>ʉ<EFBFBD><CA89>Ɏg<C98E>p<EFBFBD><70><EFBFBD>鉹<EFBFBD><E989B9><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD><49><EFBFBD><EFBFBD><EFBFBD>āE...
|
||
call sub_DEB4
|
||
mov word_11E88, 0Ah
|
||
mov word_11E8A, 4
|
||
push 200080h
|
||
call sub_B572
|
||
mov [bp+var_2], 0
|
||
jmp short loc_B908
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B8F1:
|
||
push [bp+var_2]
|
||
cmp [bp+var_2], 1
|
||
jnz short loc_B8FF
|
||
mov ax, 0Fh
|
||
jmp short loc_B901
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B8FF:
|
||
xor ax, ax
|
||
|
||
loc_B901:
|
||
push ax
|
||
call sub_B6E7
|
||
inc [bp+var_2]
|
||
|
||
loc_B908:
|
||
cmp [bp+var_2], 3
|
||
jl short loc_B8F1
|
||
mov word_11E88, 19h
|
||
mov word_11E8A, 0Ah
|
||
push 0C00080h
|
||
call sub_B572
|
||
call sub_B766
|
||
mov [bp+var_2], 1
|
||
|
||
loc_B92B:
|
||
push 0
|
||
call sub_DB62
|
||
push 1
|
||
call frame_delay
|
||
test byte ptr word_11A50+1, 20h
|
||
jnz short loc_B997
|
||
test byte ptr word_11A50, 20h
|
||
jnz short loc_B997
|
||
test byte ptr word_11A50, 2
|
||
jz short loc_B96E
|
||
push [bp+var_2]
|
||
push 0
|
||
call sub_B6E7
|
||
cmp [bp+var_2], 2
|
||
jnz short loc_B963
|
||
mov [bp+var_2], 0
|
||
jmp short loc_B966
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B963:
|
||
inc [bp+var_2]
|
||
|
||
loc_B966:
|
||
push [bp+var_2]
|
||
push 0Fh
|
||
call sub_B6E7
|
||
|
||
loc_B96E:
|
||
test byte ptr word_11A50, 1
|
||
jz short loc_B92B
|
||
push [bp+var_2]
|
||
push 0
|
||
call sub_B6E7
|
||
cmp [bp+var_2], 0
|
||
jnz short loc_B98A
|
||
mov [bp+var_2], 2
|
||
jmp short loc_B98D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B98A:
|
||
dec [bp+var_2]
|
||
|
||
loc_B98D:
|
||
push [bp+var_2]
|
||
push 0Fh
|
||
call sub_B6E7
|
||
jmp short loc_B92B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B997:
|
||
mov word_11E88, 19h
|
||
mov word_11E8A, 0Ah
|
||
push 0C00080h
|
||
call sub_B65C
|
||
mov word_11E88, 0Ah
|
||
mov word_11E8A, 4
|
||
push 200080h
|
||
call sub_B65C
|
||
les bx, dword_10DA4
|
||
mov al, byte ptr [bp+var_2]
|
||
mov es:[bx+18h], al
|
||
leave
|
||
retn
|
||
sub_B8B1 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B9CE proc near
|
||
push bp
|
||
mov bp, sp
|
||
mov PaletteTone, 0
|
||
call far ptr palette_show
|
||
push ds
|
||
push offset aMswin_bft ; "mswin.bft"
|
||
call super_entry_bfnt
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call pi_slot_load pascal, 0, ds, offset aMs_pi
|
||
call pi_slot_palette_apply pascal, 0
|
||
call pi_slot_put pascal, large 0, 0
|
||
freePISlotLarge 0
|
||
push 0
|
||
call graph_copy_page
|
||
push 1
|
||
call palette_black_in
|
||
call sub_B794
|
||
push 1
|
||
call frame_delay
|
||
push 0
|
||
call graph_copy_page
|
||
call sub_B8B1
|
||
push 1
|
||
call palette_black_out
|
||
call super_free
|
||
pop bp
|
||
retn
|
||
sub_B9CE endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_BA45 proc near
|
||
|
||
var_4 = word ptr -4
|
||
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
|
||
|
||
enter 4, 0
|
||
push si
|
||
push di
|
||
mov di, [bp+arg_6]
|
||
mov [bp+var_4], 0
|
||
mov ax, 10h
|
||
imul [bp+arg_4]
|
||
mov [bp+arg_4], ax
|
||
mov ax, 10h
|
||
imul di
|
||
mov di, ax
|
||
mov si, 2B7Ch
|
||
mov [bp+var_2], 0
|
||
jmp short loc_BABC
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BA6D:
|
||
cmp byte ptr [si], 0
|
||
jnz short loc_BAB6
|
||
mov byte ptr [si], 1
|
||
mov byte ptr [si+1], 0
|
||
mov [si+2], di
|
||
mov ax, [bp+arg_4]
|
||
mov [si+4], ax
|
||
mov word ptr [si+8], 0
|
||
mov word ptr [si+6], 0
|
||
call IRand
|
||
mov bx, 0E0h
|
||
cwd
|
||
idiv bx
|
||
add dx, 40h
|
||
mov [si+0Ah], dx
|
||
call IRand
|
||
mov [si+0Ch], al
|
||
mov al, [bp+arg_0]
|
||
mov [si+0Dh], al
|
||
inc [bp+var_4]
|
||
mov ax, [bp+var_4]
|
||
cmp ax, [bp+arg_2]
|
||
jge short loc_BAC3
|
||
|
||
loc_BAB6:
|
||
inc [bp+var_2]
|
||
add si, 0Eh
|
||
|
||
loc_BABC:
|
||
cmp [bp+var_2], 100h
|
||
jl short loc_BA6D
|
||
|
||
loc_BAC3:
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 8
|
||
sub_BA45 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_BAC9 proc near
|
||
|
||
var_8 = word ptr -8
|
||
var_6 = word ptr -6
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
|
||
enter 8, 0
|
||
push si
|
||
push di
|
||
mov si, 2B7Ch
|
||
xor di, di
|
||
jmp loc_BBE8
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BAD7:
|
||
cmp byte ptr [si], 1
|
||
jnz loc_BBE4
|
||
inc byte ptr [si+1]
|
||
mov al, [si+1]
|
||
mov ah, 0
|
||
mov bx, 4
|
||
cwd
|
||
idiv bx
|
||
mov [bp+var_2], ax
|
||
mov al, [si+0Dh]
|
||
mov ah, 0
|
||
add ax, [bp+var_2]
|
||
mov [bp+var_8], ax
|
||
cmp byte ptr [si+1], 28h ; '('
|
||
jb short loc_BB0A
|
||
mov byte ptr [si], 0
|
||
mov byte ptr [si+1], 0
|
||
jmp loc_BBE4
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BB0A:
|
||
cmp byte ptr [si+1], 10h
|
||
jnb short loc_BB29
|
||
mov ax, [si+2]
|
||
mov bx, 10h
|
||
cwd
|
||
idiv bx
|
||
add ax, 0FFF8h
|
||
push ax
|
||
mov ax, [si+4]
|
||
cwd
|
||
idiv bx
|
||
add ax, 0FFF8h
|
||
jmp loc_BBDB
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BB29:
|
||
cmp byte ptr [si+1], 20h ; ' '
|
||
jnb short loc_BB83
|
||
cmp byte ptr [si+1], 10h
|
||
jnz short loc_BB3C
|
||
call snd_se_play pascal, 15
|
||
|
||
loc_BB3C:
|
||
mov ax, [si+8]
|
||
mov [si+6], ax
|
||
mov ax, [si+0Ah]
|
||
add [si+8], ax
|
||
push word ptr [si+2]
|
||
push word ptr [si+8]
|
||
mov al, [si+0Ch]
|
||
mov ah, 0
|
||
add ax, ax
|
||
mov bx, ax
|
||
push word ptr [bx+648h]
|
||
call sub_DBB8
|
||
add ax, 0FF80h
|
||
mov [bp+var_4], ax
|
||
push word ptr [si+4]
|
||
push word ptr [si+8]
|
||
mov al, [si+0Ch]
|
||
mov ah, 0
|
||
add ax, ax
|
||
mov bx, ax
|
||
push word ptr [bx+5C8h]
|
||
call sub_DBB8
|
||
add ax, 0FF80h
|
||
jmp short loc_BBC8
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BB83:
|
||
mov ax, [si+8]
|
||
mov [si+6], ax
|
||
mov ax, [si+0Ah]
|
||
add [si+8], ax
|
||
push word ptr [si+2]
|
||
push word ptr [si+8]
|
||
mov al, [si+0Ch]
|
||
mov ah, 0
|
||
add ax, ax
|
||
mov bx, ax
|
||
push word ptr [bx+648h]
|
||
call sub_DBB8
|
||
add ax, 0FF00h
|
||
mov [bp+var_4], ax
|
||
push word ptr [si+4]
|
||
push word ptr [si+8]
|
||
mov al, [si+0Ch]
|
||
mov ah, 0
|
||
add ax, ax
|
||
mov bx, ax
|
||
push word ptr [bx+5C8h]
|
||
call sub_DBB8
|
||
add ax, 0FF00h
|
||
|
||
loc_BBC8:
|
||
mov [bp+var_6], ax
|
||
mov ax, [bp+var_4]
|
||
mov bx, 10h
|
||
cwd
|
||
idiv bx
|
||
push ax
|
||
mov ax, [bp+var_6]
|
||
cwd
|
||
idiv bx
|
||
|
||
loc_BBDB:
|
||
push ax
|
||
push [bp+var_8]
|
||
call super_put_rect
|
||
|
||
loc_BBE4:
|
||
inc di
|
||
add si, 0Eh
|
||
|
||
loc_BBE8:
|
||
cmp di, 100h
|
||
jl loc_BAD7
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn
|
||
sub_BAC9 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_BBF4 proc near
|
||
|
||
arg_0 = word ptr 4
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
xor si, si
|
||
jmp short loc_BC25
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BBFD:
|
||
xor di, di
|
||
jmp short loc_BC1F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BC01:
|
||
mov bx, si
|
||
imul bx, 3
|
||
mov al, [bx+di+2B4Ch]
|
||
mov ah, 0
|
||
imul [bp+arg_0]
|
||
mov bx, 64h ; 'd'
|
||
cwd
|
||
idiv bx
|
||
mov bx, si
|
||
imul bx, 3
|
||
mov [bx+di+1A96h], al
|
||
inc di
|
||
|
||
loc_BC1F:
|
||
cmp di, 3
|
||
jl short loc_BC01
|
||
inc si
|
||
|
||
loc_BC25:
|
||
cmp si, 0Fh
|
||
jl short loc_BBFD
|
||
call far ptr palette_show
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retn 2
|
||
sub_BBF4 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_BC35 proc near
|
||
|
||
var_8 = word ptr -8
|
||
var_6 = word ptr -6
|
||
var_4 = byte ptr -4
|
||
var_3 = byte ptr -3
|
||
var_2 = byte ptr -2
|
||
var_1 = byte ptr -1
|
||
|
||
enter 8, 0
|
||
push si
|
||
push di
|
||
mov [bp+var_2], 0
|
||
mov [bp+var_3], 0
|
||
mov [bp+var_4], 64h ; 'd'
|
||
mov PaletteTone, 0
|
||
call far ptr palette_show
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call pi_slot_load pascal, 0, ds, offset aZun00_pi
|
||
call pi_slot_palette_apply pascal, 0
|
||
call pi_slot_put pascal, large 0, 0
|
||
freePISlotLarge 0
|
||
push 0
|
||
call graph_copy_page
|
||
call sub_E428
|
||
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
|
||
xor si, si
|
||
jmp short loc_BCFD
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BCA8:
|
||
mov bx, si
|
||
imul bx, 3
|
||
mov al, [bx+1A96h]
|
||
mov bx, si
|
||
imul bx, 3
|
||
mov [bx+2B4Ch], al
|
||
mov bx, si
|
||
imul bx, 3
|
||
mov al, [bx+1A97h]
|
||
mov bx, si
|
||
imul bx, 3
|
||
mov [bx+2B4Dh], al
|
||
mov bx, si
|
||
imul bx, 3
|
||
mov al, [bx+1A98h]
|
||
mov bx, si
|
||
imul bx, 3
|
||
mov [bx+2B4Eh], al
|
||
mov bx, si
|
||
imul bx, 3
|
||
mov byte ptr [bx+1A96h], 0
|
||
mov bx, si
|
||
imul bx, 3
|
||
mov byte ptr [bx+1A97h], 0
|
||
mov bx, si
|
||
imul bx, 3
|
||
mov byte ptr [bx+1A98h], 0
|
||
inc si
|
||
|
||
loc_BCFD:
|
||
cmp si, 0Fh
|
||
jl short loc_BCA8
|
||
call snd_load pascal, ds, offset aLogo, SND_LOAD_SONG
|
||
kajacall KAJA_SONG_PLAY
|
||
mov [bp+var_6], 2B7Ch
|
||
xor si, si
|
||
jmp short loc_BD2A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BD1E:
|
||
mov bx, [bp+var_6]
|
||
mov word ptr [bx], 0
|
||
inc si
|
||
add [bp+var_6], 0Eh
|
||
|
||
loc_BD2A:
|
||
cmp si, 100h
|
||
jl short loc_BD1E
|
||
push 20000h
|
||
call sub_DD80
|
||
mov PaletteTone, 64h ; 'd'
|
||
call far ptr palette_show
|
||
push ds
|
||
push offset aZun02_bft ; "zun02.bft"
|
||
call super_entry_bfnt
|
||
push ds
|
||
push offset aZun04_bft ; "zun04.bft"
|
||
call super_entry_bfnt
|
||
push ds
|
||
push offset aZun01_bft ; "zun01.bft"
|
||
call super_entry_bfnt
|
||
push ds
|
||
push offset aZun03_bft ; "zun03.bft"
|
||
call super_entry_bfnt
|
||
mov [bp+var_1], 0
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
mov dx, 0A4h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
call far ptr sub_E1DC
|
||
xor di, di
|
||
jmp loc_BE87
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BD84:
|
||
call sub_E1E4
|
||
cmp word_11A50, 0
|
||
jz short loc_BD94
|
||
mov [bp+var_2], 1
|
||
|
||
loc_BD94:
|
||
mov [bp+var_8], di
|
||
mov cx, 0Ch ; switch 12 cases
|
||
mov bx, offset word_BEA5
|
||
|
||
loc_BD9D:
|
||
mov ax, cs:[bx]
|
||
cmp ax, [bp+var_8]
|
||
jz short loc_BDAC
|
||
add bx, 2
|
||
loop loc_BD9D
|
||
jmp short loc_BE15 ; default
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BDAC:
|
||
jmp word ptr cs:[bx+18h] ; switch jump
|
||
|
||
loc_BDB0:
|
||
push 0B400B4h ; jumptable 0000BDAC case 0
|
||
jmp short loc_BDEE
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BDB8:
|
||
push 1CC00DCh ; jumptable 0000BDAC case 16
|
||
jmp short loc_BDF8
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BDC0:
|
||
push 0DC00A0h ; jumptable 0000BDAC case 24
|
||
jmp short loc_BDEE
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BDC8:
|
||
push 17C00F0h ; jumptable 0000BDAC case 32
|
||
jmp short loc_BDF8
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BDD0:
|
||
push 15400C8h ; jumptable 0000BDAC case 44
|
||
jmp short loc_BDF8
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BDD8:
|
||
push 11800AAh ; jumptable 0000BDAC case 48
|
||
jmp short loc_BDEE
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BDE0:
|
||
push 17C0104h ; jumptable 0000BDAC case 52
|
||
jmp short loc_BDF8
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BDE8:
|
||
push 0C800BEh ; jumptable 0000BDAC cases 40,56
|
||
|
||
loc_BDEE:
|
||
push 14h
|
||
jmp short loc_BE04
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BDF2:
|
||
push 1B800D2h ; jumptable 0000BDAC case 60
|
||
|
||
loc_BDF8:
|
||
push 14h
|
||
jmp short loc_BE10
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BDFC:
|
||
push 14000C8h ; jumptable 0000BDAC case 64
|
||
push 40h
|
||
|
||
loc_BE04:
|
||
push 0
|
||
jmp short loc_BE12
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BE08:
|
||
push 14000C8h ; jumptable 0000BDAC case 68
|
||
push 40h
|
||
|
||
loc_BE10:
|
||
push 0Ah
|
||
|
||
loc_BE12:
|
||
call sub_BA45
|
||
|
||
loc_BE15:
|
||
call sub_E490 ; default
|
||
call sub_BAC9
|
||
call far ptr sub_E1DC
|
||
|
||
loc_BE22:
|
||
cmp vsync_Count1, 2
|
||
jb short loc_BE22
|
||
mov vsync_Count1, 0
|
||
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
|
||
cmp [bp+var_2], 0
|
||
jnz short loc_BE66
|
||
cmp di, 10h
|
||
jl short loc_BE5B
|
||
cmp [bp+var_3], 64h ; 'd'
|
||
jnb short loc_BE5B
|
||
mov al, [bp+var_3]
|
||
add al, 2
|
||
mov [bp+var_3], al
|
||
|
||
loc_BE5B:
|
||
mov al, [bp+var_3]
|
||
mov ah, 0
|
||
push ax
|
||
call sub_BBF4
|
||
jmp short loc_BE81
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BE66:
|
||
cmp [bp+var_4], 0
|
||
jbe short loc_BE96
|
||
mov al, [bp+var_4]
|
||
add al, 0FEh
|
||
mov [bp+var_4], al
|
||
mov al, [bp+var_4]
|
||
mov ah, 0
|
||
mov PaletteTone, ax
|
||
call far ptr palette_show
|
||
|
||
loc_BE81:
|
||
call snd_se_update
|
||
inc di
|
||
|
||
loc_BE87:
|
||
cmp di, 0AAh ; '<27>'
|
||
jl loc_BD84
|
||
push 1
|
||
call palette_black_out
|
||
|
||
loc_BE96:
|
||
call super_free
|
||
call sub_E4C6
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn
|
||
sub_BC35 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
db 0
|
||
word_BEA5 dw 0, 10h, 18h, 20h
|
||
dw 28h, 2Ch, 30h, 34h ; value table for switch statement
|
||
dw 38h, 3Ch, 40h, 44h
|
||
dw offset loc_BDB0 ; jump table for switch statement
|
||
dw offset loc_BDB8
|
||
dw offset loc_BDC0
|
||
dw offset loc_BDC8
|
||
dw offset loc_BDE8
|
||
dw offset loc_BDD0
|
||
dw offset loc_BDD8
|
||
dw offset loc_BDE0
|
||
dw offset loc_BDE8
|
||
dw offset loc_BDF2
|
||
dw offset loc_BDFC
|
||
dw offset loc_BE08
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_BED5 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_12DBC+1
|
||
mov [bp+var_1], al
|
||
mov dx, 0A6h ; '<27>'
|
||
out dx, al
|
||
push 10h
|
||
mov al, [bp+arg_2]
|
||
mov ah, 0
|
||
shl ax, 4
|
||
add ax, 8
|
||
push ax
|
||
mov al, [bp+arg_0]
|
||
mov ah, 0
|
||
push ax
|
||
mov al, [bp+arg_2]
|
||
mov ah, 0
|
||
shl ax, 2
|
||
mov bx, ax
|
||
pushd dword ptr [bx+0EB6h]
|
||
call sub_DEB4
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, byte ptr word_12DBC+1
|
||
out dx, al
|
||
push 10h
|
||
mov al, [bp+arg_2]
|
||
mov ah, 0
|
||
shl ax, 4
|
||
add ax, 8
|
||
push ax
|
||
mov al, [bp+arg_0]
|
||
mov ah, 0
|
||
push ax
|
||
mov al, [bp+arg_2]
|
||
mov ah, 0
|
||
shl ax, 2
|
||
mov bx, ax
|
||
pushd dword ptr [bx+0EB6h]
|
||
call sub_DEB4
|
||
leave
|
||
retn 4
|
||
sub_BED5 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_BF41 proc near
|
||
|
||
arg_0 = byte ptr 4
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
xor si, si
|
||
jmp short loc_BF5E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BF49:
|
||
push si
|
||
mov al, [bp+arg_0]
|
||
mov ah, 0
|
||
cmp ax, si
|
||
jnz short loc_BF57
|
||
mov al, 3
|
||
jmp short loc_BF59
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BF57:
|
||
mov al, 5
|
||
|
||
loc_BF59:
|
||
push ax
|
||
call sub_BED5
|
||
inc si
|
||
|
||
loc_BF5E:
|
||
cmp si, 18h
|
||
jl short loc_BF49
|
||
pop si
|
||
pop bp
|
||
retn 2
|
||
sub_BF41 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_BF68 proc near
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push 7D00h
|
||
call hmem_allocbyte
|
||
mov word_12DC0, ax
|
||
xor si, si
|
||
jmp short loc_BF90
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BF7B:
|
||
les bx, VRAM_PLANE_B
|
||
add bx, si
|
||
mov eax, es:[bx]
|
||
mov es, word_12DC0
|
||
mov es:[si], eax
|
||
add si, 4
|
||
|
||
loc_BF90:
|
||
cmp si, 7D00h
|
||
jl short loc_BF7B
|
||
pop si
|
||
pop bp
|
||
retn
|
||
sub_BF68 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_BF99 proc near
|
||
push bp
|
||
mov bp, sp
|
||
push word_12DC0
|
||
call hmem_free
|
||
pop bp
|
||
retn
|
||
sub_BF99 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_BFA7 proc near
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
push ds
|
||
mov ax, 0A800h
|
||
mov es, ax
|
||
assume es:nothing
|
||
mov ax, word_12DC0
|
||
mov ds, ax
|
||
xor di, di
|
||
xor si, si
|
||
mov cx, 3E80h
|
||
rep movsw
|
||
pop ds
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retn
|
||
sub_BFA7 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_BFC5 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_C02A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BFD9:
|
||
mov ax, [bp+var_2]
|
||
shl ax, 8
|
||
cwd
|
||
idiv [bp+arg_2]
|
||
add al, [bp+arg_0]
|
||
mov [bp+var_3], al
|
||
push [bp+arg_8]
|
||
push [bp+arg_4]
|
||
mov ah, 0
|
||
add ax, ax
|
||
mov bx, ax
|
||
push word ptr [bx+648h]
|
||
call sub_DBB8
|
||
mov bx, [bp+var_2]
|
||
shl bx, 2
|
||
mov [bx+di], ax
|
||
push [bp+arg_6]
|
||
push [bp+arg_4]
|
||
mov al, [bp+var_3]
|
||
mov ah, 0
|
||
add ax, ax
|
||
mov bx, ax
|
||
push word ptr [bx+5C8h]
|
||
call sub_DBB8
|
||
mov bx, [bp+var_2]
|
||
shl bx, 2
|
||
mov [bx+di+2], ax
|
||
inc [bp+var_2]
|
||
|
||
loc_C02A:
|
||
mov ax, [bp+var_2]
|
||
cmp ax, [bp+arg_2]
|
||
jl short loc_BFD9
|
||
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_BFC5 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C04E proc near
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
cmp byte_102AE, 0
|
||
jnz loc_C0FD
|
||
xor si, si
|
||
jmp loc_C0F1
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C060:
|
||
call IRand
|
||
mov bx, 280h
|
||
cwd
|
||
idiv bx
|
||
mov bx, si
|
||
shl bx, 2
|
||
mov [bx+39DCh], dx
|
||
call IRand
|
||
mov bx, 1900h
|
||
cwd
|
||
idiv bx
|
||
mov bx, si
|
||
shl bx, 2
|
||
mov [bx+39DEh], dx
|
||
call IRand
|
||
and ax, 7
|
||
mov dx, 4
|
||
sub dx, ax
|
||
mov bx, si
|
||
shl bx, 2
|
||
mov [bx+3A1Ch], dx
|
||
mov bx, si
|
||
shl bx, 2
|
||
cmp word ptr [bx+3A1Ch], 0
|
||
jnz short loc_C0B5
|
||
mov bx, si
|
||
shl bx, 2
|
||
mov word ptr [bx+3A1Ch], 1
|
||
|
||
loc_C0B5:
|
||
call IRand
|
||
and ax, 3
|
||
shl ax, 4
|
||
add ax, 20h ; ' '
|
||
mov bx, si
|
||
shl bx, 2
|
||
mov [bx+3A1Eh], ax
|
||
call IRand
|
||
mov [si+3A5Ch], al
|
||
call IRand
|
||
and al, 7
|
||
mov dl, 4
|
||
sub dl, al
|
||
mov [si+3A6Ch], dl
|
||
cmp byte ptr [si+3A6Ch], 0
|
||
jnz short loc_C0F0
|
||
mov byte ptr [si+3A6Ch], 4
|
||
|
||
loc_C0F0:
|
||
inc si
|
||
|
||
loc_C0F1:
|
||
cmp si, 10h
|
||
jl loc_C060
|
||
mov byte_102AE, 1
|
||
|
||
loc_C0FD:
|
||
xor si, si
|
||
jmp loc_C23A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C102:
|
||
push 39B4h
|
||
mov bx, si
|
||
shl bx, 2
|
||
push word ptr [bx+39DCh]
|
||
mov bx, si
|
||
shl bx, 2
|
||
push word ptr [bx+39DEh]
|
||
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+3A5Ch]
|
||
push ax
|
||
call sub_BFC5
|
||
mov bx, si
|
||
shl bx, 2
|
||
mov ax, [bx+3A1Ch]
|
||
mov bx, si
|
||
shl bx, 2
|
||
add [bx+39DCh], ax
|
||
mov bx, si
|
||
shl bx, 2
|
||
mov ax, [bx+3A1Eh]
|
||
mov bx, si
|
||
shl bx, 2
|
||
add [bx+39DEh], ax
|
||
mov al, [si+3A6Ch]
|
||
add [si+3A5Ch], al
|
||
mov bx, si
|
||
shl bx, 2
|
||
cmp word ptr [bx+39DCh], 0
|
||
jle short loc_C17C
|
||
mov bx, si
|
||
shl bx, 2
|
||
cmp word ptr [bx+39DCh], 27Fh
|
||
jl short loc_C18E
|
||
|
||
loc_C17C:
|
||
mov bx, si
|
||
shl bx, 2
|
||
mov dx, 0FFFFh
|
||
mov ax, [bx+3A1Ch]
|
||
imul dx
|
||
mov [bx+3A1Ch], ax
|
||
|
||
loc_C18E:
|
||
mov bx, si
|
||
shl bx, 2
|
||
cmp word ptr [bx+39DEh], 1F40h
|
||
jl loc_C224
|
||
call IRand
|
||
mov bx, 280h
|
||
cwd
|
||
idiv bx
|
||
mov bx, si
|
||
shl bx, 2
|
||
mov [bx+39DCh], dx
|
||
mov bx, si
|
||
shl bx, 2
|
||
mov word ptr [bx+39DEh], 0F9C0h
|
||
call IRand
|
||
and ax, 0Fh
|
||
mov dx, 8
|
||
sub dx, ax
|
||
mov bx, si
|
||
shl bx, 2
|
||
mov [bx+3A1Ch], dx
|
||
mov bx, si
|
||
shl bx, 2
|
||
cmp word ptr [bx+3A1Ch], 0
|
||
jnz short loc_C1E9
|
||
mov bx, si
|
||
shl bx, 2
|
||
mov word ptr [bx+3A1Ch], 1
|
||
|
||
loc_C1E9:
|
||
call IRand
|
||
and ax, 3
|
||
shl ax, 4
|
||
add ax, 20h ; ' '
|
||
mov bx, si
|
||
shl bx, 2
|
||
mov [bx+3A1Eh], ax
|
||
call IRand
|
||
mov [si+3A5Ch], al
|
||
call IRand
|
||
and al, 7
|
||
mov dl, 4
|
||
sub dl, al
|
||
mov [si+3A6Ch], dl
|
||
cmp byte ptr [si+3A6Ch], 0
|
||
jnz short loc_C224
|
||
mov byte ptr [si+3A6Ch], 4
|
||
|
||
loc_C224:
|
||
push ds
|
||
push offset unk_12CF4
|
||
mov ax, si
|
||
mov bx, 4
|
||
cwd
|
||
idiv bx
|
||
add ax, 3
|
||
push ax
|
||
call grcg_polygon_c
|
||
inc si
|
||
|
||
loc_C23A:
|
||
cmp si, 10h
|
||
jl loc_C102
|
||
pop si
|
||
pop bp
|
||
retn
|
||
sub_C04E endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C244 proc near
|
||
push bp
|
||
mov bp, sp
|
||
call sub_BFA7
|
||
call grcg_setcolor pascal, ((GC_RMW or GC_B) shl 16) + 15
|
||
call sub_C04E
|
||
mov dx, 7Ch
|
||
mov al, GC_OFF
|
||
out dx, al
|
||
mov dx, 0A4h ; '<27>'
|
||
mov al, byte ptr word_12DBC+1
|
||
out dx, al
|
||
mov al, 1
|
||
sub al, byte ptr word_12DBC+1
|
||
mov byte ptr word_12DBC+1, al
|
||
mov dx, 0A6h ; '<27>'
|
||
out dx, al
|
||
push 1
|
||
call frame_delay_
|
||
pop bp
|
||
retn
|
||
sub_C244 endp
|
||
|
||
include th02/music/music_cmt_load.asm
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C2C4 proc near
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push 1400040h
|
||
push 7
|
||
push ds
|
||
push offset music_cmt
|
||
call sub_DEB4
|
||
mov si, 1
|
||
jmp short loc_C306
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C2DE:
|
||
mov bx, si
|
||
imul bx, MUSIC_CMT_LINE_LEN
|
||
cmp byte ptr music_cmt[bx], ';'
|
||
jz short loc_C305
|
||
push 140h
|
||
lea ax, [si+4]
|
||
shl ax, 4
|
||
push ax
|
||
push 7
|
||
push ds
|
||
mov ax, si
|
||
imul ax, MUSIC_CMT_LINE_LEN
|
||
add ax, offset music_cmt
|
||
push ax
|
||
call sub_DEB4
|
||
|
||
loc_C305:
|
||
inc si
|
||
|
||
loc_C306:
|
||
cmp si, MUSIC_CMT_LINE_COUNT
|
||
jl short loc_C2DE
|
||
pop si
|
||
pop bp
|
||
retn
|
||
sub_C2C4 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C30E proc near
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
mov si, 4
|
||
jmp short loc_C328
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C317:
|
||
mov word_FD7C, si
|
||
call sub_C2C4
|
||
call sub_C244
|
||
call sub_C2C4
|
||
call sub_C244
|
||
inc si
|
||
|
||
loc_C328:
|
||
cmp si, 8
|
||
jl short loc_C317
|
||
mov word_FD7C, 2
|
||
call sub_C2C4
|
||
call sub_C244
|
||
call sub_C2C4
|
||
pop si
|
||
pop bp
|
||
retn
|
||
sub_C30E endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C33F proc near
|
||
push bp
|
||
mov bp, sp
|
||
mov word_FD7C, 2
|
||
push 1400040h
|
||
push 1400140h
|
||
call sub_E4F8
|
||
call sub_C244
|
||
push 1400040h
|
||
push 1400140h
|
||
call sub_E4F8
|
||
pop bp
|
||
retn
|
||
sub_C33F endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C36F proc near
|
||
|
||
@@track = word ptr 4
|
||
|
||
push bp
|
||
mov bp, sp
|
||
cmp byte_12DBE, 0
|
||
jz short loc_C37C
|
||
call sub_C33F
|
||
|
||
loc_C37C:
|
||
call music_cmt_load pascal, [bp+@@track]
|
||
call sub_BFA7
|
||
push 1400040h
|
||
push 1400140h
|
||
call sub_E4F8
|
||
cmp byte_12DBE, 0
|
||
jz short loc_C3A2
|
||
call sub_C30E
|
||
jmp short loc_C3B0
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C3A2:
|
||
mov byte_12DBE, 1
|
||
call sub_C2C4
|
||
call sub_C244
|
||
call sub_C2C4
|
||
|
||
loc_C3B0:
|
||
call sub_BFA7
|
||
pop bp
|
||
retn 2
|
||
sub_C36F endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C3B7 proc near
|
||
push bp
|
||
mov bp, sp
|
||
mov byte_12DBE, 0
|
||
call sub_E6D0
|
||
call text_clear
|
||
mov byte ptr word_12DBC+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
|
||
call pi_slot_load pascal, 0, ds, offset aMusic_pi
|
||
call pi_slot_palette_apply pascal, 0
|
||
call pi_slot_put pascal, large 0, 0
|
||
freePISlotLarge 0
|
||
mov al, byte_102AF
|
||
mov byte ptr word_12DBC, al
|
||
push word_12DBC
|
||
call sub_BF41
|
||
push 0
|
||
call graph_copy_page
|
||
call sub_E428
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
mov dx, 0A4h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
call sub_BF68
|
||
mov al, byte_102AF
|
||
mov ah, 0
|
||
call sub_C36F pascal, ax
|
||
mov PaletteTone, 64h ; 'd'
|
||
call far ptr palette_show
|
||
|
||
loc_C454:
|
||
call far ptr sub_E1DC
|
||
cmp word_11A50, 0
|
||
jz short loc_C465
|
||
call sub_C244
|
||
jmp short loc_C454
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C465:
|
||
call far ptr sub_E1DC
|
||
test byte ptr word_11A50, 1
|
||
jz short loc_C4A0
|
||
push word_12DBC
|
||
push 5
|
||
call sub_BED5
|
||
cmp byte ptr word_12DBC, 0
|
||
jbe short loc_C487
|
||
dec byte ptr word_12DBC
|
||
jmp short loc_C48C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C487:
|
||
mov byte ptr word_12DBC, 17h
|
||
|
||
loc_C48C:
|
||
cmp byte ptr word_12DBC, 16h
|
||
jnz short loc_C497
|
||
dec byte ptr word_12DBC
|
||
|
||
loc_C497:
|
||
push word_12DBC
|
||
push 3
|
||
call sub_BED5
|
||
|
||
loc_C4A0:
|
||
test byte ptr word_11A50, 2
|
||
jz short loc_C4D6
|
||
push word_12DBC
|
||
push 5
|
||
call sub_BED5
|
||
cmp byte ptr word_12DBC, 17h
|
||
jnb short loc_C4BD
|
||
inc byte ptr word_12DBC
|
||
jmp short loc_C4C2
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C4BD:
|
||
mov byte ptr word_12DBC, 0
|
||
|
||
loc_C4C2:
|
||
cmp byte ptr word_12DBC, 16h
|
||
jnz short loc_C4CD
|
||
inc byte ptr word_12DBC
|
||
|
||
loc_C4CD:
|
||
push word_12DBC
|
||
push 3
|
||
call sub_BED5
|
||
|
||
loc_C4D6:
|
||
test byte ptr word_11A50, 20h
|
||
jnz short loc_C4E4
|
||
test byte ptr word_11A50+1, 20h
|
||
jz short loc_C51D
|
||
|
||
loc_C4E4:
|
||
cmp byte ptr word_12DBC, 17h
|
||
jz short loc_C533
|
||
kajacall KAJA_SONG_FADE, 32
|
||
mov al, byte ptr word_12DBC
|
||
mov byte_102AF, al
|
||
mov ah, 0
|
||
call sub_C36F pascal, ax
|
||
mov al, byte ptr word_12DBC
|
||
mov ah, 0
|
||
shl ax, 2
|
||
mov bx, ax
|
||
call snd_load pascal, dword ptr [bx+0F16h], SND_LOAD_SONG
|
||
kajacall KAJA_SONG_PLAY
|
||
|
||
loc_C51D:
|
||
test byte ptr word_11A50+1, 10h
|
||
jnz short loc_C533
|
||
cmp word_11A50, 0
|
||
jnz loc_C454
|
||
call sub_C244
|
||
jmp loc_C465
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C533:
|
||
call far ptr sub_E1DC
|
||
cmp word_11A50, 0
|
||
jz short loc_C544
|
||
call sub_C244
|
||
jmp short loc_C533
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C544:
|
||
kajacall KAJA_SONG_FADE, 16
|
||
call sub_BF99
|
||
mov dx, 0A4h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
mov dx, 0A6h ; '<27>'
|
||
out dx, al
|
||
push 1
|
||
call palette_black_out
|
||
call sub_E4C6
|
||
call snd_load pascal, ds, offset aOp_2, SND_LOAD_SONG
|
||
kajacall KAJA_SONG_PLAY
|
||
pop bp
|
||
retn
|
||
sub_C3B7 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C57A proc near
|
||
|
||
var_1 = byte ptr -1
|
||
|
||
enter 2, 0
|
||
push si
|
||
mov si, 4
|
||
jmp short loc_C5A7
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C584:
|
||
mov al, [si+3DB3h]
|
||
mov [bp+var_1], al
|
||
mov al, byte_130F3
|
||
ror [bp+var_1], 3
|
||
xor [bp+var_1], al
|
||
mov al, [si+3DB2h]
|
||
mov dl, byte_130F2
|
||
add dl, [bp+var_1]
|
||
add al, dl
|
||
mov [si+3DB2h], al
|
||
inc si
|
||
|
||
loc_C5A7:
|
||
cmp si, 0C3h ; '<27>'
|
||
jl short loc_C584
|
||
mov al, byte_130F2
|
||
add [si+3DB2h], al
|
||
xor cx, cx
|
||
mov si, 4
|
||
jmp short loc_C5C4
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C5BB:
|
||
mov al, [si+3DB2h]
|
||
mov ah, 0
|
||
add cx, ax
|
||
inc si
|
||
|
||
loc_C5C4:
|
||
cmp si, 0C4h ; '<27>'
|
||
jl short loc_C5BB
|
||
cmp word_130F4, cx
|
||
jz short loc_C5D4
|
||
mov al, 1
|
||
jmp short loc_C624
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C5D4:
|
||
mov si, 4
|
||
jmp short loc_C5FC
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C5D9:
|
||
mov al, [si+3E77h]
|
||
mov [bp+var_1], al
|
||
mov al, byte_131B7
|
||
ror [bp+var_1], 3
|
||
xor [bp+var_1], al
|
||
mov al, [si+3E76h]
|
||
mov dl, byte_131B6
|
||
add dl, [bp+var_1]
|
||
add al, dl
|
||
mov [si+3E76h], al
|
||
inc si
|
||
|
||
loc_C5FC:
|
||
cmp si, 0C3h ; '<27>'
|
||
jl short loc_C5D9
|
||
mov al, byte_131B6
|
||
add [si+3E76h], al
|
||
xor cx, cx
|
||
mov si, 4
|
||
jmp short loc_C619
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C610:
|
||
mov al, [si+3E76h]
|
||
mov ah, 0
|
||
add cx, ax
|
||
|
||
loc_C618:
|
||
inc si
|
||
|
||
loc_C619:
|
||
cmp si, 0C4h ; '<27>'
|
||
jl short loc_C610
|
||
mov al, byte_131B8
|
||
sub al, cl
|
||
|
||
loc_C624:
|
||
pop si
|
||
leave
|
||
retn
|
||
sub_C57A endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C627 proc near
|
||
|
||
var_1 = byte ptr -1
|
||
|
||
enter 2, 0
|
||
push si
|
||
mov word_130F4, 0
|
||
mov si, 4
|
||
jmp short loc_C642
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C637:
|
||
mov al, [si+3DB2h]
|
||
mov ah, 0
|
||
add word_130F4, ax
|
||
inc si
|
||
|
||
loc_C642:
|
||
cmp si, 0C4h ; '<27>'
|
||
jl short loc_C637
|
||
call IRand
|
||
mov byte_130F2, al
|
||
call IRand
|
||
mov byte_130F3, al
|
||
mov [bp+var_1], 0
|
||
mov si, 0C3h ; '<27>'
|
||
jmp short loc_C684
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C661:
|
||
mov al, [si+3DB2h]
|
||
mov dl, byte_130F2
|
||
add dl, [bp+var_1]
|
||
sub al, dl
|
||
mov [si+3DB2h], al
|
||
mov al, [si+3DB2h]
|
||
mov [bp+var_1], al
|
||
mov al, byte_130F3
|
||
ror [bp+var_1], 3
|
||
xor [bp+var_1], al
|
||
dec si
|
||
|
||
loc_C684:
|
||
cmp si, 4
|
||
jge short loc_C661
|
||
pop si
|
||
leave
|
||
retn
|
||
sub_C627 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C68C proc near
|
||
|
||
var_1 = byte ptr -1
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
mov [bp+var_1], 0A9h ; '<27>'
|
||
xor si, si
|
||
jmp short loc_C700
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C69A:
|
||
mov byte_131A0, 19h
|
||
xor di, di
|
||
jmp short loc_C6AE
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C6A3:
|
||
mov bx, si
|
||
shl bx, 3
|
||
mov byte ptr [bx+di+3E10h], 0A0h
|
||
inc di
|
||
|
||
loc_C6AE:
|
||
cmp di, 8
|
||
jl short loc_C6A3
|
||
or si, si
|
||
jnz short loc_C6C3
|
||
mov bx, si
|
||
shl bx, 3
|
||
mov byte ptr [bx+3E15h], 0A1h ; '<27>'
|
||
jmp short loc_C6D2
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C6C3:
|
||
mov bx, si
|
||
shl bx, 3
|
||
mov al, [bp+var_1]
|
||
mov [bx+3E14h], al
|
||
dec [bp+var_1]
|
||
|
||
loc_C6D2:
|
||
mov ax, si
|
||
cwd
|
||
sub ax, dx
|
||
sar ax, 1
|
||
mov dl, 0A5h ; '<27>'
|
||
sub dl, al
|
||
mov [si+3E62h], dl
|
||
xor di, di
|
||
jmp short loc_C6F0
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C6E5:
|
||
mov bx, si
|
||
imul bx, 9
|
||
mov byte ptr [bx+di+3DB6h], 0C4h ; '<27>'
|
||
inc di
|
||
|
||
loc_C6F0:
|
||
cmp di, 8
|
||
jl short loc_C6E5
|
||
mov bx, si
|
||
imul bx, 9
|
||
mov byte ptr [bx+3DBEh], 0
|
||
inc si
|
||
|
||
loc_C700:
|
||
cmp si, 0Ah
|
||
jl short loc_C69A
|
||
push ds
|
||
push offset aGensou_scr ; "GENSOU.SCR"
|
||
call file_create
|
||
xor si, si
|
||
jmp short loc_C725
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C712:
|
||
call sub_C627
|
||
push ds
|
||
push offset byte_130F2
|
||
push 0C4h ; '<27>'
|
||
call file_write
|
||
call sub_C57A
|
||
inc si
|
||
|
||
loc_C725:
|
||
cmp si, 0Ah
|
||
jl short loc_C712
|
||
call file_close
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn
|
||
sub_C68C endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C733 proc near
|
||
push bp
|
||
mov bp, sp
|
||
push ds
|
||
push offset aGensou_scr ; "GENSOU.SCR"
|
||
call file_exist
|
||
or ax, ax
|
||
jz short loc_C793
|
||
push ds
|
||
push offset aGensou_scr ; "GENSOU.SCR"
|
||
call file_ropen
|
||
mov al, byte_1327B
|
||
mov ah, 0
|
||
imul ax, 0C4h
|
||
movzx eax, ax
|
||
push eax
|
||
push 0
|
||
call file_seek
|
||
push ds
|
||
push offset byte_130F2
|
||
push 0C4h ; '<27>'
|
||
call file_read
|
||
pushd 310h
|
||
push 1
|
||
call file_seek
|
||
push ds
|
||
push offset byte_131B6
|
||
push 0C4h ; '<27>'
|
||
call file_read
|
||
call file_close
|
||
call sub_C57A
|
||
or al, al
|
||
jz short loc_C79A
|
||
|
||
loc_C793:
|
||
call sub_C68C
|
||
mov al, 1
|
||
pop bp
|
||
retn
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C79A:
|
||
mov al, 0
|
||
pop bp
|
||
retn
|
||
sub_C733 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C79E proc near
|
||
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
|
||
enter 4, 0
|
||
push si
|
||
push di
|
||
mov di, [bp+arg_2]
|
||
mov si, [bp+arg_0]
|
||
mov [bp+var_4], 10h
|
||
mov bx, si
|
||
shl bx, 3
|
||
mov al, [bx+3E17h]
|
||
mov ah, 0
|
||
add ax, 0FF60h
|
||
cmp ax, 0Ah
|
||
jl short loc_C7E0
|
||
push 8Ch
|
||
push di
|
||
mov bx, si
|
||
shl bx, 3
|
||
mov al, [bx+3E17h]
|
||
mov ah, 0
|
||
add ax, 0FF60h
|
||
mov bx, 0Ah
|
||
cwd
|
||
idiv bx
|
||
push ax
|
||
call super_put
|
||
|
||
loc_C7E0:
|
||
mov bx, si
|
||
shl bx, 3
|
||
mov al, [bx+3EDBh]
|
||
mov ah, 0
|
||
add ax, 0FF60h
|
||
cmp ax, 0Ah
|
||
jl short loc_C811
|
||
push 1C0h
|
||
push di
|
||
mov bx, si
|
||
shl bx, 3
|
||
mov al, [bx+3EDBh]
|
||
mov ah, 0
|
||
add ax, 0FF60h
|
||
mov bx, 0Ah
|
||
cwd
|
||
idiv bx
|
||
push ax
|
||
call super_put
|
||
|
||
loc_C811:
|
||
push 9Ch
|
||
push di
|
||
mov bx, si
|
||
shl bx, 3
|
||
mov al, [bx+3E17h]
|
||
mov ah, 0
|
||
add ax, 0FF60h
|
||
mov bx, 0Ah
|
||
cwd
|
||
idiv bx
|
||
push dx
|
||
call super_put
|
||
push 1D0h
|
||
push di
|
||
mov bx, si
|
||
shl bx, 3
|
||
mov al, [bx+3EDBh]
|
||
mov ah, 0
|
||
add ax, 0FF60h
|
||
mov bx, 0Ah
|
||
cwd
|
||
idiv bx
|
||
push dx
|
||
call super_put
|
||
mov [bp+var_2], 6
|
||
jmp short loc_C899
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C854:
|
||
mov ax, [bp+var_4]
|
||
add ax, 9Ch
|
||
push ax
|
||
push di
|
||
mov bx, si
|
||
shl bx, 3
|
||
add bx, [bp+var_2]
|
||
mov al, [bx+3E10h]
|
||
mov ah, 0
|
||
add ax, 0FF60h
|
||
push ax
|
||
call super_put
|
||
mov ax, [bp+var_4]
|
||
add ax, 1D0h
|
||
push ax
|
||
push di
|
||
mov bx, si
|
||
shl bx, 3
|
||
add bx, [bp+var_2]
|
||
mov al, [bx+3ED4h]
|
||
mov ah, 0
|
||
add ax, 0FF60h
|
||
push ax
|
||
call super_put
|
||
dec [bp+var_2]
|
||
add [bp+var_4], 10h
|
||
|
||
loc_C899:
|
||
cmp [bp+var_2], 0
|
||
jge short loc_C854
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 4
|
||
sub_C79E endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C8A5 proc near
|
||
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
arg_4 = word ptr 8
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_4]
|
||
mov di, [bp+arg_2]
|
||
cmp [bp+arg_0], 0FFh
|
||
jz short loc_C8D0
|
||
lea ax, [si+2]
|
||
push ax
|
||
lea ax, [di+2]
|
||
push ax
|
||
push [bp+arg_0]
|
||
push 0Eh
|
||
call graph_gaiji_putc
|
||
push si
|
||
push di
|
||
push [bp+arg_0]
|
||
jmp short loc_C8E8
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C8D0:
|
||
lea ax, [si+2]
|
||
push ax
|
||
lea ax, [di+2]
|
||
push ax
|
||
push 0EF000Eh
|
||
call graph_gaiji_putc
|
||
push si
|
||
push di
|
||
push 0EFh
|
||
|
||
loc_C8E8:
|
||
push 7
|
||
call graph_gaiji_putc
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retn 6
|
||
sub_C8A5 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C8F5 proc near
|
||
|
||
arg_0 = word ptr 4
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_0]
|
||
or si, si
|
||
jnz loc_C989
|
||
push 0A0062h
|
||
push 10h
|
||
mov ax, si
|
||
imul ax, 9
|
||
add ax, 3DB6h
|
||
push ds
|
||
push ax
|
||
push 0Eh
|
||
call graph_gaiji_puts
|
||
push 80060h
|
||
push 10h
|
||
mov ax, si
|
||
imul ax, 9
|
||
add ax, 3DB6h
|
||
push ds
|
||
push ax
|
||
push 7
|
||
call graph_gaiji_puts
|
||
push 1420062h
|
||
push 10h
|
||
mov ax, si
|
||
imul ax, 9
|
||
add ax, 3E7Ah
|
||
push ds
|
||
push ax
|
||
push 0Eh
|
||
call graph_gaiji_puts
|
||
push 1400060h
|
||
push 10h
|
||
mov ax, si
|
||
imul ax, 9
|
||
add ax, 3E7Ah
|
||
push ds
|
||
push ax
|
||
push 7
|
||
call graph_gaiji_puts
|
||
push 600000h
|
||
call sub_C79E
|
||
push 1240060h
|
||
mov al, [si+3E62h]
|
||
mov ah, 0
|
||
push ax
|
||
call sub_C8A5
|
||
push 2580060h
|
||
jmp loc_CA0A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C989:
|
||
mov ax, si
|
||
shl ax, 4
|
||
add ax, 70h ; 'p'
|
||
mov di, ax
|
||
push 0Ah
|
||
add ax, 2
|
||
push ax
|
||
push 10h
|
||
mov ax, si
|
||
imul ax, 9
|
||
add ax, 3DB6h
|
||
push ds
|
||
push ax
|
||
push 0Eh
|
||
call graph_gaiji_puts
|
||
push 8
|
||
push di
|
||
push 10h
|
||
mov ax, si
|
||
imul ax, 9
|
||
add ax, 3DB6h
|
||
push ds
|
||
push ax
|
||
push 2
|
||
call graph_gaiji_puts
|
||
push 142h
|
||
lea ax, [di+2]
|
||
push ax
|
||
push 10h
|
||
mov ax, si
|
||
imul ax, 9
|
||
add ax, 3E7Ah
|
||
push ds
|
||
push ax
|
||
push 0Eh
|
||
call graph_gaiji_puts
|
||
push 140h
|
||
push di
|
||
push 10h
|
||
mov ax, si
|
||
imul ax, 9
|
||
add ax, 3E7Ah
|
||
push ds
|
||
push ax
|
||
push 2
|
||
call graph_gaiji_puts
|
||
push di
|
||
push si
|
||
call sub_C79E
|
||
push 124h
|
||
push di
|
||
mov al, [si+3E62h]
|
||
mov ah, 0
|
||
push ax
|
||
call sub_C8A5
|
||
push 258h
|
||
push di
|
||
|
||
loc_CA0A:
|
||
mov al, [si+3F26h]
|
||
mov ah, 0
|
||
push ax
|
||
call sub_C8A5
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retn 2
|
||
sub_C8F5 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_CA1A proc near
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call pi_slot_palette_apply pascal, 0
|
||
call pi_slot_put pascal, large 0, 0
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
call pi_slot_palette_apply pascal, 0
|
||
call pi_slot_put pascal, large 0, 0
|
||
push 0
|
||
call sub_C8F5
|
||
mov si, 1
|
||
jmp short loc_CA5B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CA56:
|
||
push si
|
||
call sub_C8F5
|
||
inc si
|
||
|
||
loc_CA5B:
|
||
cmp si, 9
|
||
jl short loc_CA56
|
||
push 9
|
||
call sub_C8F5
|
||
push 1F00178h
|
||
mov al, byte_1327B
|
||
mov ah, 0
|
||
add ax, ax
|
||
add ax, 0Ah
|
||
push ax
|
||
call super_put
|
||
push 2300178h
|
||
mov al, byte_1327B
|
||
mov ah, 0
|
||
add ax, ax
|
||
add ax, 0Bh
|
||
push ax
|
||
call super_put
|
||
pop si
|
||
pop bp
|
||
retn
|
||
sub_CA1A endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_CA94 proc near
|
||
push bp
|
||
mov bp, sp
|
||
kajacall KAJA_SONG_STOP
|
||
call snd_load pascal, ds, offset aName, SND_LOAD_SONG
|
||
kajacall KAJA_SONG_PLAY
|
||
kajacall KAJA_SONG_FADE, -128
|
||
push 1
|
||
call palette_black_out
|
||
les bx, dword_10DA4
|
||
assume es:nothing
|
||
mov al, es:[bx+0Fh]
|
||
mov byte_1327B, al
|
||
call sub_C733
|
||
call pi_slot_load pascal, 0, ds, offset aHi01_pi
|
||
|
||
loc_CADA:
|
||
call sub_CA1A
|
||
push 1
|
||
call palette_black_in
|
||
|
||
loc_CAE4:
|
||
call far ptr sub_E1DC
|
||
push 1
|
||
call frame_delay
|
||
test byte ptr word_11A50+1, 20h
|
||
jnz short loc_CB58
|
||
test byte ptr word_11A50, 20h
|
||
jnz short loc_CB58
|
||
test byte ptr word_11A50+1, 10h
|
||
jnz short loc_CB58
|
||
test byte ptr word_11A50+1, 20h
|
||
jnz short loc_CB58
|
||
test byte ptr word_11A50, 4
|
||
jz short loc_CB36
|
||
cmp byte_1327B, 0
|
||
jz short loc_CB36
|
||
dec byte_1327B
|
||
mov PaletteTone, 0
|
||
call far ptr palette_show
|
||
call sub_C733
|
||
call sub_CA1A
|
||
push 1
|
||
call palette_black_in
|
||
|
||
loc_CB36:
|
||
test byte ptr word_11A50, 8
|
||
jz short loc_CAE4
|
||
cmp byte_1327B, 4
|
||
jnb short loc_CAE4
|
||
inc byte_1327B
|
||
mov PaletteTone, 0
|
||
call far ptr palette_show
|
||
call sub_C733
|
||
jmp short loc_CADA
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CB58:
|
||
kajacall KAJA_SONG_FADE, 1
|
||
push 1
|
||
call palette_black_out
|
||
freePISlotLarge 0
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call pi_slot_load pascal, 0, ds, offset aOp1_pi_0
|
||
call pi_slot_palette_apply pascal, 0
|
||
call pi_slot_put pascal, large 0, 0
|
||
freePISlotLarge 0
|
||
push 0
|
||
call graph_copy_page
|
||
push 1
|
||
call palette_black_in
|
||
|
||
loc_CBB3:
|
||
call far ptr sub_E1DC
|
||
push 1
|
||
call frame_delay
|
||
cmp word_11A50, 0
|
||
jnz short loc_CBB3
|
||
kajacall KAJA_SONG_STOP
|
||
call snd_load pascal, ds, offset aOp_0, SND_LOAD_SONG
|
||
kajacall KAJA_SONG_PLAY
|
||
pop bp
|
||
retn
|
||
sub_CA94 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_CBE3 proc near
|
||
push bp
|
||
mov bp, sp
|
||
mov byte_1327B, 0
|
||
jmp loc_CC6F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CBEE:
|
||
call sub_C733
|
||
or al, al
|
||
jnz loc_CC78
|
||
mov al, byte_1327B
|
||
mov ah, 0
|
||
mov dl, byte_131A0
|
||
mov bx, ax
|
||
mov [bx+3F3Ch], dl
|
||
mov al, byte_1327B
|
||
mov ah, 0
|
||
mov dl, byte_13264
|
||
mov bx, ax
|
||
mov [bx+3F41h], dl
|
||
mov al, byte_1327B
|
||
mov ah, 0
|
||
mov bx, ax
|
||
cmp byte ptr [bx+3F3Ch], 3
|
||
jbe short loc_CC2F
|
||
mov al, byte_1327B
|
||
mov ah, 0
|
||
mov bx, ax
|
||
mov byte ptr [bx+3F3Ch], 0
|
||
|
||
loc_CC2F:
|
||
mov al, byte_1327B
|
||
mov ah, 0
|
||
mov bx, ax
|
||
cmp byte ptr [bx+3F41h], 3
|
||
jbe short loc_CC49
|
||
mov al, byte_1327B
|
||
mov ah, 0
|
||
mov bx, ax
|
||
mov byte ptr [bx+3F41h], 0
|
||
|
||
loc_CC49:
|
||
cmp byte_1327B, 0
|
||
jz short loc_CC6B
|
||
mov al, byte_1327B
|
||
mov ah, 0
|
||
mov bx, ax
|
||
mov al, [bx+3F3Ch]
|
||
mov dl, byte_1327B
|
||
mov dh, 0
|
||
mov bx, dx
|
||
or al, [bx+3F41h]
|
||
or byte_13286, al
|
||
|
||
loc_CC6B:
|
||
inc byte_1327B
|
||
|
||
loc_CC6F:
|
||
cmp byte_1327B, 5
|
||
jb loc_CBEE
|
||
|
||
loc_CC78:
|
||
les bx, dword_10DA4
|
||
mov al, es:[bx+0Fh]
|
||
mov byte_1327B, al
|
||
push ds
|
||
push offset aScnum_bft ; "scnum.bft"
|
||
call super_entry_bfnt
|
||
push ds
|
||
push offset aHi_m_bft ; "hi_m.bft"
|
||
call super_entry_bfnt
|
||
pop bp
|
||
retn
|
||
sub_CBE3 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_CC97 proc near
|
||
push bp
|
||
mov bp, sp
|
||
push 0
|
||
push ds
|
||
push offset aSft1_cd2 ; "sft1.cd2"
|
||
call sub_E63E
|
||
push 0Ah
|
||
push ds
|
||
push offset aSft2_cd2 ; "sft2.cd2"
|
||
call sub_E63E
|
||
push 23h ; '#'
|
||
push ds
|
||
push offset aCar_cd2 ; "car.cd2"
|
||
call sub_E63E
|
||
push 28h ; '('
|
||
push ds
|
||
push offset aSl_cd2 ; "sl.cd2"
|
||
call far ptr sub_E638
|
||
pop bp
|
||
retn
|
||
sub_CC97 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_CCC8 proc near
|
||
push bp
|
||
mov bp, sp
|
||
call sub_E6D0
|
||
pop bp
|
||
retn
|
||
sub_CCC8 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_CCD2 proc near
|
||
|
||
var_4 = byte ptr -4
|
||
var_3 = byte ptr -3
|
||
var_2 = word ptr -2
|
||
|
||
enter 4, 0
|
||
push si
|
||
push di
|
||
mov PaletteTone, 0
|
||
call far ptr palette_show
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call grcg_setcolor pascal, (GC_RMW shl 16) + 15
|
||
pushd 0
|
||
push 4F018Fh
|
||
call grcg_byteboxfill_x
|
||
mov dx, 7Ch
|
||
mov al, GC_OFF
|
||
out dx, al
|
||
push 0
|
||
call graph_copy_page
|
||
call pi_slot_load pascal, 0, ds, offset aOp5b_pi
|
||
call pi_slot_load pascal, 1, ds, offset aOp4b_pi
|
||
call pi_slot_load pascal, 2, ds, offset aOp3b_pi
|
||
call pi_slot_load pascal, 3, ds, offset aOp2b_pi
|
||
call pi_slot_load pascal, 4, ds, offset aOp1b_pi
|
||
call pi_slot_load pascal, 5, ds, offset aOp0b_pi
|
||
call pi_slot_palette_apply pascal, 0
|
||
push 4
|
||
call palette_black_in
|
||
mov dx, 0A4h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
xor si, si
|
||
mov [bp+var_3], 0
|
||
mov di, 64h ; 'd'
|
||
mov [bp+var_4], 0
|
||
jmp short loc_CDC4
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CD7A:
|
||
mov ax, si
|
||
mov bx, 4
|
||
cwd
|
||
idiv bx
|
||
or dx, dx
|
||
jnz short loc_CDB0
|
||
cmp [bp+var_3], 6
|
||
jnb short loc_CDB0
|
||
pushd 38
|
||
mov al, [bp+var_3]
|
||
mov ah, 0
|
||
push ax
|
||
call pi_slot_put
|
||
inc [bp+var_3]
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, [bp+var_4]
|
||
out dx, al
|
||
mov al, 1
|
||
sub al, [bp+var_4]
|
||
mov [bp+var_4], al
|
||
mov dx, 0A4h ; '<27>'
|
||
out dx, al
|
||
|
||
loc_CDB0:
|
||
mov PaletteTone, di
|
||
call far ptr palette_show
|
||
add di, 2
|
||
push 1
|
||
call frame_delay
|
||
inc si
|
||
|
||
loc_CDC4:
|
||
cmp si, 1Ch
|
||
jl short loc_CD7A
|
||
mov PaletteTone, 0C8h ; '<27>'
|
||
call far ptr palette_show
|
||
mov dx, 0A4h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
mov dx, 0A6h ; '<27>'
|
||
out dx, al
|
||
freePISlotLarge 0
|
||
freePISlotLarge 1
|
||
freePISlotLarge 2
|
||
freePISlotLarge 3
|
||
freePISlotLarge 4
|
||
freePISlotLarge 5
|
||
les bx, dword_10DA4
|
||
cmp byte ptr es:[bx+3Eh], 0
|
||
jnz short loc_CE50
|
||
call snd_load pascal, ds, offset aOp_1, SND_LOAD_SONG
|
||
kajacall KAJA_SONG_PLAY
|
||
|
||
loc_CE50:
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call pi_slot_load pascal, 0, ds, offset aOp1_pi_1
|
||
call pi_slot_palette_apply pascal, 0
|
||
call pi_slot_put pascal, large 0, 0
|
||
freePISlotLarge 0
|
||
push 0
|
||
call graph_copy_page
|
||
xor si, si
|
||
jmp short loc_CEAA
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CE8B:
|
||
mov bx, si
|
||
imul bx, 3
|
||
mov byte ptr [bx+1A96h], 0FFh
|
||
mov bx, si
|
||
imul bx, 3
|
||
mov byte ptr [bx+1A97h], 0FFh
|
||
mov bx, si
|
||
imul bx, 3
|
||
mov byte ptr [bx+1A98h], 0FFh
|
||
inc si
|
||
|
||
loc_CEAA:
|
||
cmp si, 10h
|
||
jl short loc_CE8B
|
||
call far ptr palette_show
|
||
mov PaletteTone, 64h ; 'd'
|
||
call far ptr palette_show
|
||
xor si, si
|
||
mov [bp+var_3], 0F0h
|
||
jmp short loc_CEE8
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CEC7:
|
||
mov al, [bp+var_3]
|
||
mov Palettes, al
|
||
mov Palettes+1, al
|
||
mov Palettes+2, al
|
||
call far ptr palette_show
|
||
push 1
|
||
call frame_delay
|
||
inc si
|
||
mov al, [bp+var_3]
|
||
add al, 0F0h
|
||
mov [bp+var_3], al
|
||
|
||
loc_CEE8:
|
||
cmp si, 0Fh
|
||
jl short loc_CEC7
|
||
xor si, si
|
||
mov [bp+var_3], 0FCh
|
||
jmp short loc_CF4E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CEF5:
|
||
mov di, 1
|
||
jmp short loc_CF34
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CEFA:
|
||
mov [bp+var_2], 0
|
||
jmp short loc_CF2D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CF01:
|
||
mov bx, di
|
||
imul bx, 3
|
||
add bx, [bp+var_2]
|
||
mov al, [bx+23A0h]
|
||
mov bx, di
|
||
imul bx, 3
|
||
add bx, [bp+var_2]
|
||
cmp al, [bx+1A96h]
|
||
jnb short loc_CF2A
|
||
mov bx, di
|
||
imul bx, 3
|
||
add bx, [bp+var_2]
|
||
mov al, [bp+var_3]
|
||
mov [bx+1A96h], al
|
||
|
||
loc_CF2A:
|
||
inc [bp+var_2]
|
||
|
||
loc_CF2D:
|
||
cmp [bp+var_2], 3
|
||
jl short loc_CF01
|
||
inc di
|
||
|
||
loc_CF34:
|
||
cmp di, 10h
|
||
jl short loc_CEFA
|
||
call far ptr palette_show
|
||
push 1
|
||
call frame_delay
|
||
inc si
|
||
mov al, [bp+var_3]
|
||
add al, 0FCh
|
||
mov [bp+var_3], al
|
||
|
||
loc_CF4E:
|
||
cmp si, 3Fh ; '?'
|
||
jl short loc_CEF5
|
||
call pi_slot_palette_apply pascal, 0
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn
|
||
sub_CCD2 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_CF5E proc near
|
||
|
||
var_A = word ptr -0Ah
|
||
var_8 = word ptr -8
|
||
var_6 = word ptr -6
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
|
||
enter 0Ah, 0
|
||
push si
|
||
push di
|
||
push 7D0h
|
||
call hmem_allocbyte
|
||
mov word ptr dword_132BA+2, ax
|
||
mov word ptr dword_132BA, 0
|
||
push 7D0h
|
||
call hmem_allocbyte
|
||
mov word ptr dword_132BE+2, ax
|
||
mov word ptr dword_132BE, 0
|
||
mov di, 0DC5h
|
||
mov [bp+var_8], 0DE9h
|
||
mov [bp+var_2], 0
|
||
xor si, si
|
||
jmp loc_D050
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CF98:
|
||
mov [bp+var_4], 0
|
||
mov [bp+var_6], di
|
||
mov ax, [bp+var_8]
|
||
mov [bp+var_A], ax
|
||
jmp loc_D03E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CFA9:
|
||
les bx, VRAM_PLANE_B
|
||
add bx, [bp+var_6]
|
||
mov al, es:[bx]
|
||
les bx, dword_132BA
|
||
mov es:[bx+si], al
|
||
les bx, VRAM_PLANE_B
|
||
add bx, [bp+var_A]
|
||
mov al, es:[bx]
|
||
les bx, dword_132BE
|
||
mov es:[bx+si], al
|
||
inc si
|
||
les bx, VRAM_PLANE_R
|
||
add bx, [bp+var_6]
|
||
mov al, es:[bx]
|
||
les bx, dword_132BA
|
||
mov es:[bx+si], al
|
||
les bx, VRAM_PLANE_R
|
||
add bx, [bp+var_A]
|
||
mov al, es:[bx]
|
||
les bx, dword_132BE
|
||
mov es:[bx+si], al
|
||
inc si
|
||
les bx, VRAM_PLANE_G
|
||
add bx, [bp+var_6]
|
||
mov al, es:[bx]
|
||
les bx, dword_132BA
|
||
mov es:[bx+si], al
|
||
les bx, VRAM_PLANE_G
|
||
add bx, [bp+var_A]
|
||
mov al, es:[bx]
|
||
les bx, dword_132BE
|
||
mov es:[bx+si], al
|
||
inc si
|
||
les bx, VRAM_PLANE_E
|
||
add bx, [bp+var_6]
|
||
mov al, es:[bx]
|
||
les bx, dword_132BA
|
||
mov es:[bx+si], al
|
||
les bx, VRAM_PLANE_E
|
||
add bx, [bp+var_A]
|
||
mov al, es:[bx]
|
||
les bx, dword_132BE
|
||
mov es:[bx+si], al
|
||
inc si
|
||
inc [bp+var_4]
|
||
inc [bp+var_6]
|
||
inc [bp+var_A]
|
||
|
||
loc_D03E:
|
||
cmp [bp+var_4], 20h ; ' '
|
||
jl loc_CFA9
|
||
inc [bp+var_2]
|
||
add di, 50h ; 'P'
|
||
add [bp+var_8], 50h ; 'P'
|
||
|
||
loc_D050:
|
||
cmp [bp+var_2], 8
|
||
jl loc_CF98
|
||
mov [bp+var_2], 0
|
||
jmp loc_D0F2
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D060:
|
||
les bx, VRAM_PLANE_B
|
||
add bx, di
|
||
mov al, es:[bx]
|
||
les bx, dword_132BA
|
||
mov es:[bx+si], al
|
||
les bx, VRAM_PLANE_B
|
||
add bx, [bp+var_8]
|
||
mov al, es:[bx]
|
||
les bx, dword_132BE
|
||
mov es:[bx+si], al
|
||
inc si
|
||
les bx, VRAM_PLANE_R
|
||
add bx, di
|
||
mov al, es:[bx]
|
||
les bx, dword_132BA
|
||
mov es:[bx+si], al
|
||
les bx, VRAM_PLANE_R
|
||
add bx, [bp+var_8]
|
||
mov al, es:[bx]
|
||
les bx, dword_132BE
|
||
mov es:[bx+si], al
|
||
inc si
|
||
les bx, VRAM_PLANE_G
|
||
add bx, di
|
||
mov al, es:[bx]
|
||
les bx, dword_132BA
|
||
mov es:[bx+si], al
|
||
les bx, VRAM_PLANE_G
|
||
add bx, [bp+var_8]
|
||
mov al, es:[bx]
|
||
les bx, dword_132BE
|
||
mov es:[bx+si], al
|
||
inc si
|
||
les bx, VRAM_PLANE_E
|
||
add bx, di
|
||
mov al, es:[bx]
|
||
les bx, dword_132BA
|
||
mov es:[bx+si], al
|
||
les bx, VRAM_PLANE_E
|
||
add bx, [bp+var_8]
|
||
mov al, es:[bx]
|
||
les bx, dword_132BE
|
||
mov es:[bx+si], al
|
||
inc si
|
||
inc [bp+var_2]
|
||
add di, 50h ; 'P'
|
||
add [bp+var_8], 50h ; 'P'
|
||
|
||
loc_D0F2:
|
||
cmp [bp+var_2], 0F4h
|
||
jl loc_D060
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn
|
||
sub_CF5E endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_D0FF proc near
|
||
|
||
var_6 = dword ptr -6
|
||
var_2 = word ptr -2
|
||
arg_0 = byte ptr 4
|
||
|
||
enter 6, 0
|
||
push si
|
||
push di
|
||
cmp [bp+arg_0], 0
|
||
jnz short loc_D114
|
||
mov dx, 0DC5h
|
||
mov eax, dword_132BA
|
||
jmp short loc_D11B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D114:
|
||
mov dx, 0DE9h
|
||
mov eax, dword_132BE
|
||
|
||
loc_D11B:
|
||
mov [bp+var_6], eax
|
||
xor cx, cx
|
||
jmp short loc_D18A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D123:
|
||
mov [bp+var_2], 0
|
||
mov di, dx
|
||
jmp short loc_D180
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D12C:
|
||
les bx, VRAM_PLANE_B
|
||
add bx, di
|
||
push es
|
||
les si, [bp+var_6]
|
||
mov al, es:[si]
|
||
pop es
|
||
mov es:[bx], al
|
||
inc word ptr [bp+var_6]
|
||
les bx, VRAM_PLANE_R
|
||
add bx, di
|
||
push es
|
||
les si, [bp+var_6]
|
||
mov al, es:[si]
|
||
pop es
|
||
mov es:[bx], al
|
||
inc word ptr [bp+var_6]
|
||
les bx, VRAM_PLANE_G
|
||
add bx, di
|
||
push es
|
||
les si, [bp+var_6]
|
||
mov al, es:[si]
|
||
pop es
|
||
mov es:[bx], al
|
||
inc word ptr [bp+var_6]
|
||
les bx, VRAM_PLANE_E
|
||
add bx, di
|
||
push es
|
||
les si, [bp+var_6]
|
||
mov al, es:[si]
|
||
pop es
|
||
mov es:[bx], al
|
||
inc word ptr [bp+var_6]
|
||
inc [bp+var_2]
|
||
inc di
|
||
|
||
loc_D180:
|
||
cmp [bp+var_2], 20h ; ' '
|
||
jl short loc_D12C
|
||
inc cx
|
||
add dx, 50h ; 'P'
|
||
|
||
loc_D18A:
|
||
cmp cx, 8
|
||
jl short loc_D123
|
||
xor cx, cx
|
||
jmp short loc_D1E7
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D193:
|
||
les bx, VRAM_PLANE_B
|
||
add bx, dx
|
||
push es
|
||
les si, [bp+var_6]
|
||
mov al, es:[si]
|
||
pop es
|
||
mov es:[bx], al
|
||
inc word ptr [bp+var_6]
|
||
les bx, VRAM_PLANE_R
|
||
add bx, dx
|
||
push es
|
||
les si, [bp+var_6]
|
||
mov al, es:[si]
|
||
pop es
|
||
mov es:[bx], al
|
||
inc word ptr [bp+var_6]
|
||
les bx, VRAM_PLANE_G
|
||
add bx, dx
|
||
push es
|
||
les si, [bp+var_6]
|
||
mov al, es:[si]
|
||
pop es
|
||
mov es:[bx], al
|
||
inc word ptr [bp+var_6]
|
||
les bx, VRAM_PLANE_E
|
||
add bx, dx
|
||
push es
|
||
les si, [bp+var_6]
|
||
mov al, es:[si]
|
||
pop es
|
||
mov es:[bx], al
|
||
inc word ptr [bp+var_6]
|
||
inc cx
|
||
add dx, 50h ; 'P'
|
||
|
||
loc_D1E7:
|
||
cmp cx, 0F4h
|
||
jl short loc_D193
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 2
|
||
sub_D0FF endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_D1F3 proc near
|
||
push bp
|
||
mov bp, sp
|
||
push word ptr dword_132BA+2
|
||
call hmem_free
|
||
push word ptr dword_132BE+2
|
||
call hmem_free
|
||
pop bp
|
||
retn
|
||
sub_D1F3 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_D20A proc near
|
||
|
||
var_6 = dword ptr -6
|
||
var_2 = word ptr -2
|
||
arg_0 = byte ptr 4
|
||
|
||
enter 6, 0
|
||
push si
|
||
push di
|
||
cmp [bp+arg_0], 0
|
||
jnz short loc_D21B
|
||
mov si, 1046h
|
||
jmp short loc_D21E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D21B:
|
||
mov si, 106Ah
|
||
|
||
loc_D21E:
|
||
call grcg_setcolor pascal, (GC_RMW shl 16) + 1
|
||
mov [bp+var_6], 0AAAAAAAAh
|
||
xor di, di
|
||
jmp short loc_D273
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D235:
|
||
test di, 1
|
||
jnz short loc_D243
|
||
mov eax, 0AAAAAAAAh
|
||
jmp short loc_D249
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D243:
|
||
mov eax, 55555555h
|
||
|
||
loc_D249:
|
||
mov [bp+var_6], eax
|
||
mov [bp+var_2], 0
|
||
jmp short loc_D269
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D254:
|
||
les bx, VRAM_PLANE_B
|
||
add bx, si
|
||
mov eax, [bp+var_6]
|
||
mov es:[bx], eax
|
||
add [bp+var_2], 4
|
||
add si, 4
|
||
|
||
loc_D269:
|
||
cmp [bp+var_2], 20h ; ' '
|
||
jl short loc_D254
|
||
inc di
|
||
add si, 30h ; '0'
|
||
|
||
loc_D273:
|
||
cmp di, 0F4h
|
||
jl short loc_D235
|
||
mov dx, 7Ch
|
||
mov al, GC_OFF
|
||
out dx, al
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 2
|
||
sub_D20A endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_D285 proc near
|
||
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_0]
|
||
mov ax, si
|
||
or ax, ax
|
||
jz short loc_D29B
|
||
cmp ax, 1
|
||
jz short loc_D2A0
|
||
jmp short loc_D2A3
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D29B:
|
||
mov di, 50h ; 'P'
|
||
jmp short loc_D2A3
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D2A0:
|
||
mov di, 170h
|
||
|
||
loc_D2A3:
|
||
mov [bp+var_2], 138h
|
||
lea ax, [di+8]
|
||
push ax
|
||
mov ax, [bp+var_2]
|
||
add ax, 8
|
||
push ax
|
||
push 0Fh
|
||
mov bx, si
|
||
shl bx, 3
|
||
pushd dword ptr [bx+13D4h]
|
||
call sub_DEB4
|
||
lea ax, [di+8]
|
||
push ax
|
||
mov ax, [bp+var_2]
|
||
add ax, 28h ; '('
|
||
push ax
|
||
push 0Fh
|
||
mov bx, si
|
||
shl bx, 3
|
||
pushd dword ptr [bx+13D8h]
|
||
call sub_DEB4
|
||
mov ax, 1
|
||
sub ax, si
|
||
mov si, ax
|
||
or ax, ax
|
||
jz short loc_D2F2
|
||
cmp ax, 1
|
||
jz short loc_D2F7
|
||
jmp short loc_D2FA
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D2F2:
|
||
mov di, 50h ; 'P'
|
||
jmp short loc_D2FA
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D2F7:
|
||
mov di, 170h
|
||
|
||
loc_D2FA:
|
||
lea ax, [di+8]
|
||
push ax
|
||
mov ax, [bp+var_2]
|
||
add ax, 8
|
||
push ax
|
||
push 3
|
||
mov bx, si
|
||
shl bx, 3
|
||
pushd dword ptr [bx+13D4h]
|
||
call sub_DEB4
|
||
lea ax, [di+8]
|
||
push ax
|
||
mov ax, [bp+var_2]
|
||
add ax, 28h ; '('
|
||
push ax
|
||
push 3
|
||
mov bx, si
|
||
shl bx, 3
|
||
pushd dword ptr [bx+13D8h]
|
||
call sub_DEB4
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 2
|
||
sub_D285 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_D338 proc near
|
||
|
||
arg_0 = word ptr 4
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
mov ax, [bp+arg_0]
|
||
or ax, ax
|
||
jz short loc_D34B
|
||
cmp ax, 1
|
||
jz short loc_D350
|
||
jmp short loc_D353
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D34B:
|
||
mov si, 50h ; 'P'
|
||
jmp short loc_D353
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D350:
|
||
mov si, 170h
|
||
|
||
loc_D353:
|
||
mov di, 138h
|
||
call grcg_setcolor pascal, (GC_RMW shl 16) + 1
|
||
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
|
||
call grcg_setcolor pascal, (GC_RMW shl 16) + 2
|
||
push si
|
||
push di
|
||
lea ax, [si+0C0h]
|
||
push ax
|
||
lea ax, [di+40h]
|
||
push ax
|
||
push 8
|
||
call grcg_round_boxfill
|
||
mov dx, 7Ch
|
||
mov al, GC_OFF
|
||
out dx, al
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retn 2
|
||
sub_D338 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_D3A2 proc near
|
||
push bp
|
||
mov bp, sp
|
||
cmp byte_132B8, 0
|
||
jnz short loc_D407
|
||
push 28002Ch
|
||
push 28h ; '('
|
||
call sub_E176
|
||
push 1
|
||
call sub_D0FF
|
||
push 1500034h
|
||
push 29h ; ')'
|
||
call sub_E176
|
||
push 1
|
||
call sub_D20A
|
||
call grcg_setcolor pascal, (GC_RMW shl 16) + 1
|
||
push 250034h
|
||
push 25011Fh
|
||
call grcg_byteboxfill_x
|
||
push 60120h
|
||
push 250127h
|
||
call grcg_byteboxfill_x
|
||
mov dx, 7Ch
|
||
mov al, GC_OFF
|
||
out dx, al
|
||
push 0
|
||
jmp short loc_D460
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D407:
|
||
push 148002Ch
|
||
push 29h ; ')'
|
||
call sub_E176
|
||
push 0
|
||
call sub_D0FF
|
||
push 300034h
|
||
push 28h ; '('
|
||
call sub_E176
|
||
push 0
|
||
call sub_D20A
|
||
call grcg_setcolor pascal, (GC_RMW shl 16) + 1
|
||
push 490034h
|
||
push 49011Fh
|
||
call grcg_byteboxfill_x
|
||
push 2A0120h
|
||
push 490127h
|
||
call grcg_byteboxfill_x
|
||
mov dx, 7Ch
|
||
mov al, GC_OFF
|
||
out dx, al
|
||
push 1
|
||
|
||
loc_D460:
|
||
call sub_D285
|
||
pop bp
|
||
retn
|
||
sub_D3A2 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_D465 proc near
|
||
|
||
var_5 = byte ptr -5
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
|
||
enter 6, 0
|
||
push si
|
||
push di
|
||
mov di, [bp+arg_0]
|
||
les bx, dword_10DA4
|
||
cmp byte ptr es:[bx+11h], 6
|
||
jnz short loc_D47E
|
||
mov ax, 4
|
||
jmp short loc_D488
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D47E:
|
||
les bx, dword_10DA4
|
||
mov al, es:[bx+0Fh]
|
||
mov ah, 0
|
||
|
||
loc_D488:
|
||
mov [bp+var_4], ax
|
||
mov ax, di
|
||
or ax, ax
|
||
jz short loc_D498
|
||
cmp ax, 1
|
||
jz short loc_D4A1
|
||
jmp short loc_D4A8
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D498:
|
||
mov si, 138h
|
||
mov [bp+var_5], 1
|
||
jmp short loc_D4A8
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D4A1:
|
||
mov si, 150h
|
||
mov [bp+var_5], 2
|
||
|
||
loc_D4A8:
|
||
mov [bp+var_2], 140h
|
||
mov al, byte_132B8
|
||
mov ah, 0
|
||
imul ax, 5
|
||
add ax, [bp+var_4]
|
||
mov dl, [bp+var_5]
|
||
mov bx, ax
|
||
test [bx+3F3Ch], dl
|
||
jz short loc_D4E5
|
||
mov word_FD7C, 0
|
||
mov ax, [bp+var_2]
|
||
add ax, 0FFF8h
|
||
push ax
|
||
lea ax, [si+4]
|
||
push ax
|
||
push 0Fh
|
||
push ds
|
||
push offset aStar
|
||
call sub_DEB4
|
||
mov word_FD7C, 2
|
||
|
||
loc_D4E5:
|
||
mov ax, [bp+var_2]
|
||
add ax, 8
|
||
push ax
|
||
lea ax, [si+4]
|
||
push ax
|
||
push 0Fh
|
||
mov al, byte_132B8
|
||
mov ah, 0
|
||
shl ax, 3
|
||
mov dx, di
|
||
shl dx, 2
|
||
add ax, dx
|
||
mov bx, ax
|
||
pushd dword ptr [bx+13E4h]
|
||
call sub_DEB4
|
||
mov ax, 1
|
||
sub ax, di
|
||
mov di, ax
|
||
or ax, ax
|
||
jz short loc_D51F
|
||
cmp ax, 1
|
||
jz short loc_D528
|
||
jmp short loc_D52F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D51F:
|
||
mov si, 138h
|
||
mov [bp+var_5], 1
|
||
jmp short loc_D52F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D528:
|
||
mov si, 150h
|
||
mov [bp+var_5], 2
|
||
|
||
loc_D52F:
|
||
mov al, byte_132B8
|
||
mov ah, 0
|
||
imul ax, 5
|
||
add ax, [bp+var_4]
|
||
mov dl, [bp+var_5]
|
||
mov bx, ax
|
||
test [bx+3F3Ch], dl
|
||
jz short loc_D567
|
||
mov word_FD7C, 0
|
||
mov ax, [bp+var_2]
|
||
add ax, 0FFF8h
|
||
push ax
|
||
lea ax, [si+4]
|
||
push ax
|
||
push 0Fh
|
||
push ds
|
||
push offset aStar
|
||
call sub_DEB4
|
||
mov word_FD7C, 2
|
||
|
||
loc_D567:
|
||
mov ax, [bp+var_2]
|
||
add ax, 8
|
||
push ax
|
||
lea ax, [si+4]
|
||
push ax
|
||
push 3
|
||
mov al, byte_132B8
|
||
mov ah, 0
|
||
shl ax, 3
|
||
mov dx, di
|
||
shl dx, 2
|
||
add ax, dx
|
||
mov bx, ax
|
||
pushd dword ptr [bx+13E4h]
|
||
call sub_DEB4
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 2
|
||
sub_D465 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_D595 proc near
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
mov si, 138h
|
||
mov di, 140h
|
||
call grcg_setcolor pascal, (GC_RMW shl 16) + 1
|
||
lea ax, [di+8]
|
||
push ax
|
||
lea ax, [si+8]
|
||
push ax
|
||
lea ax, [di+0C7h]
|
||
push ax
|
||
lea ax, [si+1Fh]
|
||
push ax
|
||
push 8
|
||
call grcg_round_boxfill
|
||
lea ax, [di+8]
|
||
push ax
|
||
lea ax, [si+20h]
|
||
push ax
|
||
lea ax, [di+0C7h]
|
||
push ax
|
||
lea ax, [si+37h]
|
||
push ax
|
||
push 8
|
||
call grcg_round_boxfill
|
||
push 88h
|
||
lea ax, [si+8]
|
||
push ax
|
||
push 147h
|
||
lea ax, [si+1Fh]
|
||
push ax
|
||
push 8
|
||
call grcg_round_boxfill
|
||
call grcg_setcolor pascal, (GC_RMW shl 16) + 2
|
||
push di
|
||
push si
|
||
lea ax, [di+0C0h]
|
||
push ax
|
||
lea ax, [si+17h]
|
||
push ax
|
||
push 8
|
||
call grcg_round_boxfill
|
||
push di
|
||
lea ax, [si+18h]
|
||
push ax
|
||
lea ax, [di+0C0h]
|
||
push ax
|
||
lea ax, [si+2Fh]
|
||
push ax
|
||
push 8
|
||
call grcg_round_boxfill
|
||
push 80h
|
||
push si
|
||
push 13Fh
|
||
lea ax, [si+17h]
|
||
push ax
|
||
push 8
|
||
call grcg_round_boxfill
|
||
mov dx, 7Ch
|
||
mov al, GC_OFF
|
||
out dx, al
|
||
push 98h
|
||
lea ax, [si+4]
|
||
push ax
|
||
push 3
|
||
push ds
|
||
push offset aGtgugegfgGuvSi ; "<22>T<EFBFBD>u<EFBFBD>E<EFBFBD>F<EFBFBD>|<7C><><EFBFBD>̑I<CC91><49>"
|
||
call sub_DEB4
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retn
|
||
sub_D595 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_D650 proc near
|
||
push bp
|
||
mov bp, sp
|
||
cmp byte_132B8, 0
|
||
jnz short loc_D664
|
||
push 0B8002Ch
|
||
push 28h ; '('
|
||
jmp short loc_D66C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D664:
|
||
push 0B8002Ch
|
||
push 29h ; ')'
|
||
|
||
loc_D66C:
|
||
call sub_E176
|
||
call grcg_setcolor pascal, (GC_RMW shl 16) + 1
|
||
push 370034h
|
||
push 37011Fh
|
||
call grcg_byteboxfill_x
|
||
push 180120h
|
||
push 370127h
|
||
call grcg_byteboxfill_x
|
||
mov dx, 7Ch
|
||
mov al, GC_OFF
|
||
out dx, al
|
||
call sub_D595
|
||
mov al, byte_132B9
|
||
mov ah, 0
|
||
push ax
|
||
call sub_D465
|
||
pop bp
|
||
retn
|
||
sub_D650 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_D6B2 proc near
|
||
push bp
|
||
mov bp, sp
|
||
mov PaletteTone, 0
|
||
call far ptr palette_show
|
||
call pi_slot_load pascal, 0, ds, offset aSlb1_pi
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
mov dx, 0A4h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
call pi_slot_palette_apply pascal, 0
|
||
call pi_slot_put pascal, large 0, 0
|
||
call sub_CF5E
|
||
push 0
|
||
call sub_D338
|
||
push 1
|
||
call sub_D338
|
||
call sub_D3A2
|
||
push 0
|
||
call graph_copy_page
|
||
push 1
|
||
call palette_black_in
|
||
pop bp
|
||
retn
|
||
sub_D6B2 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_D708 proc near
|
||
|
||
var_2 = byte ptr -2
|
||
var_1 = byte ptr -1
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
les bx, dword_10DA4
|
||
cmp byte ptr es:[bx+11h], 6
|
||
jnz short loc_D78D
|
||
xor di, di
|
||
jmp short loc_D786
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D71D:
|
||
mov [bp+var_2], 0
|
||
mov si, 1
|
||
jmp short loc_D735
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D726:
|
||
mov bx, di
|
||
imul bx, 5
|
||
mov al, [bx+si+3F3Ch]
|
||
and al, 1
|
||
or [bp+var_2], al
|
||
inc si
|
||
|
||
loc_D735:
|
||
cmp si, 4
|
||
jl short loc_D726
|
||
mov bx, di
|
||
add bx, bx
|
||
push bx
|
||
cmp [bp+var_2], 0
|
||
jz short loc_D74A
|
||
mov ax, 1
|
||
jmp short loc_D74C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D74A:
|
||
xor ax, ax
|
||
|
||
loc_D74C:
|
||
pop bx
|
||
mov [bx+3F82h], al
|
||
mov [bp+var_2], 0
|
||
mov si, 1
|
||
jmp short loc_D769
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D75A:
|
||
mov bx, di
|
||
imul bx, 5
|
||
mov al, [bx+si+3F3Ch]
|
||
and al, 2
|
||
or [bp+var_2], al
|
||
inc si
|
||
|
||
loc_D769:
|
||
cmp si, 4
|
||
jl short loc_D75A
|
||
mov bx, di
|
||
add bx, bx
|
||
push bx
|
||
cmp [bp+var_2], 0
|
||
jz short loc_D77E
|
||
mov ax, 1
|
||
jmp short loc_D780
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D77E:
|
||
xor ax, ax
|
||
|
||
loc_D780:
|
||
pop bx
|
||
mov [bx+3F83h], al
|
||
inc di
|
||
|
||
loc_D786:
|
||
cmp di, 2
|
||
jl short loc_D71D
|
||
jmp short loc_D7A1
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D78D:
|
||
mov byte_132C2, 1
|
||
mov byte_132C3, 1
|
||
mov byte_132C4, 1
|
||
mov byte_132C5, 1
|
||
|
||
loc_D7A1:
|
||
cmp byte_132C2, 0
|
||
jnz short loc_D7AF
|
||
cmp byte_132C3, 0
|
||
jz short loc_D7B3
|
||
|
||
loc_D7AF:
|
||
mov al, 0
|
||
jmp short loc_D7B5
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D7B3:
|
||
mov al, 1
|
||
|
||
loc_D7B5:
|
||
mov byte_132B8, al
|
||
|
||
loc_D7B8:
|
||
call sub_D6B2
|
||
|
||
loc_D7BB:
|
||
call far ptr sub_E1DC
|
||
cmp [bp+var_1], 0
|
||
jnz loc_D8DF
|
||
test byte ptr word_11A50, 4
|
||
jnz short loc_D7D6
|
||
test byte ptr word_11A50, 8
|
||
jz short loc_D84C
|
||
|
||
loc_D7D6:
|
||
call snd_se_reset
|
||
call snd_se_play pascal, 1
|
||
call snd_se_update
|
||
mov al, 1
|
||
sub al, byte_132B8
|
||
mov byte_132B8, al
|
||
mov ah, 0
|
||
add ax, ax
|
||
mov bx, ax
|
||
cmp byte ptr [bx+3F82h], 0
|
||
jnz short loc_D816
|
||
mov al, byte_132B8
|
||
mov ah, 0
|
||
add ax, ax
|
||
mov bx, ax
|
||
cmp byte ptr [bx+3F83h], 0
|
||
jnz short loc_D816
|
||
mov al, 1
|
||
sub al, byte_132B8
|
||
mov byte_132B8, al
|
||
|
||
loc_D816:
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call sub_D3A2
|
||
mov vsync_Count1, 0
|
||
push 1
|
||
call frame_delay
|
||
mov dx, 0A4h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
push 0
|
||
call graph_copy_page
|
||
mov vsync_Count1, 0
|
||
push 1
|
||
call frame_delay
|
||
mov dx, 0A4h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
|
||
loc_D84C:
|
||
test byte ptr word_11A50+1, 20h
|
||
jnz short loc_D85A
|
||
test byte ptr word_11A50, 20h
|
||
jz short loc_D8B2
|
||
|
||
loc_D85A:
|
||
call snd_se_reset
|
||
call snd_se_play pascal, 11
|
||
call snd_se_update
|
||
mov al, byte_132B8
|
||
mov ah, 0
|
||
add ax, ax
|
||
mov bx, ax
|
||
cmp byte ptr [bx+3F82h], 0
|
||
jz short loc_D87F
|
||
mov al, 0
|
||
jmp short loc_D881
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D87F:
|
||
mov al, 1
|
||
|
||
loc_D881:
|
||
mov byte_132B9, al
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
mov PaletteTone, 0C8h ; '<27>'
|
||
call far ptr palette_show
|
||
call pi_slot_put pascal, large 0, 0
|
||
call sub_D650
|
||
push 0
|
||
call graph_copy_page
|
||
push 1
|
||
call palette_white_in
|
||
|
||
loc_D8B0:
|
||
jmp short loc_D8F4
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D8B2:
|
||
test byte ptr word_11A50+1, 10h
|
||
jz short loc_D8D7
|
||
push 1
|
||
call palette_black_out
|
||
call sub_D1F3
|
||
freePISlotLarge 0
|
||
mov ax, 1
|
||
jmp loc_DA0D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D8D7:
|
||
mov al, byte ptr word_11A50
|
||
mov [bp+var_1], al
|
||
jmp short loc_D8EA
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D8DF:
|
||
cmp word_11A50, 0
|
||
jnz short loc_D8EA
|
||
mov [bp+var_1], 0
|
||
|
||
loc_D8EA:
|
||
push 1
|
||
call frame_delay
|
||
jmp loc_D7BB
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D8F4:
|
||
call far ptr sub_E1DC
|
||
cmp [bp+var_1], 0
|
||
jnz loc_D9F8
|
||
test byte ptr word_11A50, 1
|
||
jnz short loc_D90F
|
||
test byte ptr word_11A50, 2
|
||
jz short loc_D986
|
||
|
||
loc_D90F:
|
||
mov al, 1
|
||
sub al, byte_132B9
|
||
mov byte_132B9, al
|
||
mov al, byte_132B8
|
||
mov ah, 0
|
||
add ax, ax
|
||
mov dl, byte_132B9
|
||
mov dh, 0
|
||
add ax, dx
|
||
mov bx, ax
|
||
cmp byte ptr [bx+3F82h], 0
|
||
jnz short loc_D939
|
||
mov al, 1
|
||
sub al, byte_132B9
|
||
mov byte_132B9, al
|
||
|
||
loc_D939:
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
mov al, byte_132B9
|
||
mov ah, 0
|
||
push ax
|
||
call sub_D465
|
||
mov vsync_Count1, 0
|
||
push 1
|
||
call frame_delay
|
||
mov dx, 0A4h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
push 0
|
||
call graph_copy_page
|
||
mov vsync_Count1, 0
|
||
push 1
|
||
call frame_delay
|
||
mov dx, 0A4h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
call snd_se_reset
|
||
call snd_se_play pascal, 1
|
||
call snd_se_update
|
||
|
||
loc_D986:
|
||
test byte ptr word_11A50+1, 20h
|
||
jnz short loc_D994
|
||
test byte ptr word_11A50, 20h
|
||
jz short loc_D9D5
|
||
|
||
loc_D994:
|
||
call snd_se_reset
|
||
call snd_se_play pascal, 11
|
||
call snd_se_update
|
||
les bx, dword_10DA4
|
||
mov al, byte_132B9
|
||
mov es:[bx+19h], al
|
||
mov al, byte_132B8
|
||
add al, 30h ; '0'
|
||
mov es:[bx+12h], al
|
||
push 1
|
||
call palette_black_out
|
||
call sub_D1F3
|
||
freePISlotLarge 0
|
||
xor ax, ax
|
||
jmp short loc_DA0D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D9D5:
|
||
test byte ptr word_11A50+1, 10h
|
||
jz short loc_D9F0
|
||
call sub_D1F3
|
||
freePISlotLarge 0
|
||
jmp loc_D7B8
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D9F0:
|
||
mov al, byte ptr word_11A50
|
||
mov [bp+var_1], al
|
||
jmp short loc_DA03
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D9F8:
|
||
cmp word_11A50, 0
|
||
jnz short loc_DA03
|
||
mov [bp+var_1], 0
|
||
|
||
loc_DA03:
|
||
push 1
|
||
call frame_delay
|
||
jmp loc_D8B0
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_DA0D:
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn
|
||
sub_D708 endp
|
||
db 0
|
||
|
||
seg001 ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
seg002 segment word public 'CODE' use16
|
||
assume cs:seg002
|
||
;org 2
|
||
assume es:nothing, ss:nothing, ds:dseg, fs:nothing, gs:nothing
|
||
|
||
include th01/hardware/vram_planes_set.asm
|
||
include th02/frame_delay.asm
|
||
include th02/formats/pi_slot_palette_apply.asm
|
||
include th02/formats/pi_slot_put.asm
|
||
include th02/formats/pi_slot_load.asm
|
||
|
||
; ---------------------------------------------------------------------------
|
||
db 0
|
||
; ---------------------------------------------------------------------------
|
||
push di
|
||
xor ax, ax
|
||
mov di, 2538h
|
||
xor dl, dl
|
||
jmp short loc_DB59
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_DB4E:
|
||
xor dl, dl
|
||
mov cx, 8
|
||
|
||
loc_DB53:
|
||
rol al, 1
|
||
rcr dl, 1
|
||
loop loc_DB53
|
||
|
||
loc_DB59:
|
||
mov [di], dl
|
||
inc di
|
||
inc al
|
||
jnz short loc_DB4E
|
||
pop di
|
||
retf
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_DB62 proc far
|
||
|
||
arg_0 = word ptr 6
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_0]
|
||
xor di, di
|
||
|
||
loc_DB6C:
|
||
nop
|
||
push cs
|
||
call sub_E1DC
|
||
push 1
|
||
nopcall frame_delay
|
||
nopcall sub_E1E4
|
||
cmp word_11A50, 0
|
||
jnz short loc_DB6C
|
||
or si, si
|
||
jnz short loc_DBAE
|
||
mov si, 270Fh
|
||
jmp short loc_DBAE
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_DB8D:
|
||
nop
|
||
push cs
|
||
call sub_E1DC
|
||
push 1
|
||
nopcall frame_delay
|
||
nopcall sub_E1E4
|
||
cmp word_11A50, 0
|
||
jnz short loc_DBB2
|
||
inc di
|
||
cmp si, 270Fh
|
||
jnz short loc_DBAE
|
||
xor di, di
|
||
|
||
loc_DBAE:
|
||
cmp di, si
|
||
jl short loc_DB8D
|
||
|
||
loc_DBB2:
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retf 2
|
||
sub_DB62 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_DBB8 proc far
|
||
|
||
arg_0 = word ptr 6
|
||
arg_2 = word ptr 8
|
||
arg_4 = word ptr 0Ah
|
||
|
||
push bp
|
||
mov bp, sp
|
||
movsx eax, [bp+arg_2]
|
||
movsx edx, [bp+arg_0]
|
||
imul eax, edx
|
||
sar eax, 8
|
||
add ax, [bp+arg_4]
|
||
pop bp
|
||
retf 6
|
||
sub_DBB8 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
mov si, [bp+0Eh]
|
||
mov bx, [bp+6]
|
||
add bx, bx
|
||
movsx eax, word ptr [bp+8]
|
||
movsx edx, word ptr [bx+648h]
|
||
imul eax, edx
|
||
sar eax, 8
|
||
add ax, [bp+0Ch]
|
||
mov [si], ax
|
||
movsx eax, word ptr [bp+8]
|
||
movsx edx, word ptr [bx+5C8h]
|
||
imul eax, edx
|
||
sar eax, 8
|
||
add ax, [bp+0Ah]
|
||
mov [si+2], ax
|
||
pop si
|
||
pop bp
|
||
retf 0Ah
|
||
|
||
include th04/hardware/snd_pmd_resident.asm
|
||
include th02/hardware/snd_mmd_resident.asm
|
||
include th04/hardware/snd_kaja_func.asm
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_DC92 proc far
|
||
|
||
arg_0 = word ptr 6
|
||
arg_2 = word ptr 8
|
||
arg_4 = word ptr 0Ah
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_0]
|
||
shl si, 4
|
||
add si, 2716h
|
||
mov di, [bp+arg_4]
|
||
sar di, 3
|
||
add di, [si+6]
|
||
mov ax, [si+8]
|
||
mov word ptr cs:loc_DCD2+1, ax
|
||
jmp short $+2
|
||
shl ax, 2
|
||
add ax, 50h ; 'P'
|
||
mov dx, ax
|
||
mov ax, [bp+arg_2]
|
||
mov bx, ax
|
||
shl ax, 2
|
||
add ax, bx
|
||
add ax, 0A800h
|
||
mov es, ax
|
||
push ds
|
||
mov ds, word ptr [si+0Ch]
|
||
xor si, si
|
||
cld
|
||
nop
|
||
|
||
loc_DCD2:
|
||
mov cx, 1234h
|
||
rep movsd
|
||
sub di, dx
|
||
jns short loc_DCD2
|
||
pop ds
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retf 6
|
||
sub_DC92 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
nop
|
||
include th04/hardware/snd_determine_modes.asm
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_DD80 proc far
|
||
|
||
arg_0 = word ptr 6
|
||
arg_2 = word ptr 8
|
||
|
||
push bp
|
||
mov bp, sp
|
||
cmp snd_bgm_mode, SND_BGM_OFF
|
||
jnz short loc_DD96
|
||
push [bp+arg_0]
|
||
nopcall frame_delay
|
||
pop bp
|
||
retf 4
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_DD96:
|
||
mov ah, KAJA_GET_SONG_MEASURE
|
||
cmp snd_bgm_mode, SND_BGM_MIDI
|
||
jz short loc_DDA3
|
||
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_DDA8
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_DDA3:
|
||
mov dx, 0C0h
|
||
int 61h ; reserved for user interrupt
|
||
|
||
loc_DDA8:
|
||
cmp ax, [bp+arg_2]
|
||
jb short loc_DD96
|
||
pop bp
|
||
retf 4
|
||
sub_DD80 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_DDB1 proc far
|
||
push bp
|
||
mov bp, sp
|
||
nopcall sub_E0AC
|
||
call key_beep_on
|
||
call text_systemline_show
|
||
call text_cursor_show
|
||
pop bp
|
||
retf
|
||
sub_DDB1 endp
|
||
|
||
include th04/hardware/snd_load.asm
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_DEB4 proc far
|
||
|
||
arg_0 = dword ptr 6
|
||
arg_4 = word ptr 0Ah
|
||
arg_6 = word ptr 0Ch
|
||
arg_8 = word ptr 0Eh
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
push ds
|
||
mov dx, [bp+arg_4]
|
||
mov al, GC_RMW
|
||
pushf
|
||
cli
|
||
out 7Ch, al
|
||
popf
|
||
shr dx, 1
|
||
sbb al, al
|
||
out 7Eh, al
|
||
shr dx, 1
|
||
sbb al, al
|
||
out 7Eh, al
|
||
shr dx, 1
|
||
sbb al, al
|
||
out 7Eh, al
|
||
shr dx, 1
|
||
sbb al, al
|
||
out 7Eh, al
|
||
mov ax, 0A800h
|
||
mov es, ax
|
||
assume es:nothing
|
||
mov dx, [bp+arg_6]
|
||
shl dx, 6
|
||
mov di, dx
|
||
shr dx, 2
|
||
add di, dx
|
||
mov cx, [bp+arg_8]
|
||
mov al, 0Bh
|
||
out 68h, al
|
||
mov bx, word_FD7C
|
||
add bx, bx
|
||
cmp bx, 8
|
||
jb short loc_DF10
|
||
cmp bx, 10h
|
||
jnb short loc_DF10
|
||
mov ax, [bx+0A0Ch]
|
||
mov word ptr cs:loc_E008+3, ax
|
||
mov bx, 8
|
||
|
||
loc_DF10:
|
||
mov ax, [bx+0A00h]
|
||
mov word ptr cs:loc_DF72+1, ax
|
||
mov ax, [bx+0A0Ah]
|
||
mov word ptr cs:loc_DFC4+1, ax
|
||
mov ax, word_FD7E
|
||
mov word ptr cs:loc_DF91+1, ax
|
||
mov word ptr cs:loc_DFD8+1, ax
|
||
push ds
|
||
pop fs
|
||
assume fs:dseg
|
||
lds si, [bp+arg_0]
|
||
lodsb
|
||
or al, al
|
||
jz short loc_DF9D
|
||
|
||
loc_DF36:
|
||
mov dx, cx
|
||
shr dx, 3
|
||
add di, dx
|
||
and cx, 7
|
||
mov ah, 9
|
||
test al, 0E0h
|
||
jns short loc_DFAF
|
||
jp short loc_DFAC
|
||
mov ah, al
|
||
lodsb
|
||
shl ah, 1
|
||
cmp al, 9Fh
|
||
jnb short loc_DF56
|
||
cmp al, 80h
|
||
adc ax, 0FEDFh
|
||
|
||
loc_DF56:
|
||
sbb al, 0FEh
|
||
and ax, 7F7Fh
|
||
out 0A1h, al
|
||
mov al, ah
|
||
out 0A3h, al
|
||
nop
|
||
|
||
loc_DF62:
|
||
mov al, ch
|
||
or al, 20h
|
||
out 0A5h, al
|
||
in al, 0A9h
|
||
mov ah, al
|
||
mov al, ch
|
||
out 0A5h, al
|
||
in al, 0A9h
|
||
|
||
loc_DF72:
|
||
call sub_DFED
|
||
mov bh, al
|
||
mov bl, 0
|
||
shr ax, cl
|
||
shr bx, cl
|
||
xchg ah, al
|
||
stosw
|
||
mov es:[di], bl
|
||
add di, 4Eh ; 'N'
|
||
inc ch
|
||
cmp ch, 10h
|
||
jb short loc_DF62
|
||
sub di, 500h
|
||
|
||
loc_DF91:
|
||
mov dx, 1234h
|
||
|
||
loc_DF94:
|
||
xor ch, ch
|
||
add cx, dx
|
||
lodsb
|
||
or al, al
|
||
jnz short loc_DF36
|
||
|
||
loc_DF9D:
|
||
mov al, 0Ah
|
||
out 68h, al
|
||
xor al, al
|
||
out 7Ch, al
|
||
pop ds
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retf 0Ah
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_DFAC:
|
||
add ax, 80h
|
||
|
||
loc_DFAF:
|
||
cmp al, 20h ; ' '
|
||
jz short loc_DFD8
|
||
out 0A1h, al
|
||
mov al, ah
|
||
out 0A3h, al
|
||
nop
|
||
|
||
loc_DFBA:
|
||
mov al, ch
|
||
or al, 20h
|
||
out 0A5h, al
|
||
in al, 0A9h
|
||
xor ah, ah
|
||
|
||
loc_DFC4:
|
||
call sub_DFED
|
||
ror ax, cl
|
||
stosw
|
||
add di, 4Eh ; 'N'
|
||
inc ch
|
||
cmp ch, 10h
|
||
jb short loc_DFBA
|
||
sub di, 500h
|
||
|
||
loc_DFD8:
|
||
mov dx, 1234h
|
||
shr dx, 1
|
||
jmp short loc_DF94
|
||
sub_DEB4 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
nop
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_DFE0 proc near
|
||
mov dx, ax
|
||
add dx, dx
|
||
or ax, dx
|
||
retn
|
||
sub_DFE0 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
mov dx, ax
|
||
shl dx, 1
|
||
or ax, dx
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_DFED proc near
|
||
mov dx, ax
|
||
mov bp, ax
|
||
add bp, bp
|
||
or ax, bp
|
||
xor dx, ax
|
||
add dx, dx
|
||
not dx
|
||
and ax, dx
|
||
retn
|
||
sub_DFED endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
call sub_DFED
|
||
mov bl, ch
|
||
and bx, 3
|
||
add bx, bx
|
||
|
||
loc_E008:
|
||
and ax, fs:[bx+1234h]
|
||
retn
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_E00E proc far
|
||
|
||
arg_0 = word ptr 6
|
||
arg_2 = word ptr 8
|
||
arg_4 = word ptr 0Ah
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
push ds
|
||
cli
|
||
mov al, GC_RMW
|
||
out 7Ch, al
|
||
mov dx, 7Eh
|
||
xor al, al
|
||
out dx, al
|
||
out dx, al
|
||
out dx, al
|
||
out dx, al
|
||
sti
|
||
mov si, [bp+arg_0]
|
||
shl si, 4
|
||
add si, 2716h
|
||
mov ax, [si+0Eh]
|
||
mov word ptr cs:loc_E085+1, ax
|
||
jmp short $+2
|
||
mov ax, [bp+arg_2]
|
||
mov bx, ax
|
||
shl ax, 2
|
||
add ax, bx
|
||
add ax, 0A800h
|
||
mov es, ax
|
||
assume es:nothing
|
||
push 0
|
||
add ax, 3800h
|
||
push ax
|
||
sub ax, 2800h
|
||
push ax
|
||
sub ax, 800h
|
||
push ax
|
||
mov ax, [bp+arg_4]
|
||
shr ax, 3
|
||
add ax, [si+6]
|
||
mov di, ax
|
||
mov bx, ax
|
||
mov ax, [si+8]
|
||
mov bp, ax
|
||
shl ax, 2
|
||
add ax, 50h ; 'P'
|
||
mov dx, ax
|
||
mov ax, [si+0Ch]
|
||
mov ds, ax
|
||
xor si, si
|
||
cld
|
||
nop
|
||
|
||
loc_E076:
|
||
mov cx, bp
|
||
rep movsd
|
||
sub di, dx
|
||
jns short loc_E076
|
||
xor al, al
|
||
out 7Ch, al
|
||
xor si, si
|
||
|
||
loc_E085:
|
||
mov ax, 1234h
|
||
mov ds, ax
|
||
assume ds:nothing
|
||
|
||
loc_E08A:
|
||
mov di, bx
|
||
|
||
loc_E08C:
|
||
mov cx, bp
|
||
|
||
loc_E08E:
|
||
lodsd
|
||
or es:[di], eax
|
||
add di, 4
|
||
loop loc_E08E
|
||
sub di, dx
|
||
jns short loc_E08C
|
||
pop ax
|
||
mov es, ax
|
||
or ax, ax
|
||
jnz short loc_E08A
|
||
pop ds
|
||
assume ds:dseg
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retf 6
|
||
sub_E00E endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
nop
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_E0AC proc far
|
||
push bp
|
||
mov bp, sp
|
||
call pfend
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call graph_clear
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
call graph_clear
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
mov dx, 0A4h ; '<27>'
|
||
out dx, al
|
||
call mem_unassign
|
||
call vsync_end
|
||
call text_clear
|
||
call js_end
|
||
call egc_start
|
||
call bgm_finish
|
||
pop bp
|
||
retf
|
||
sub_E0AC endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_E0F4 proc far
|
||
|
||
arg_0 = dword ptr 6
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push word_11A4E
|
||
call mem_assign_dos
|
||
or ax, ax
|
||
jz short loc_E109
|
||
mov ax, 1
|
||
pop bp
|
||
retf
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_E109:
|
||
nopcall vram_planes_set
|
||
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
|
||
mov bbufsiz, 2000h
|
||
call vsync_start
|
||
call key_beep_off
|
||
call text_systemline_hide
|
||
call text_cursor_hide
|
||
call egc_start
|
||
call sub_323A
|
||
les bx, [bp+arg_0]
|
||
cmp byte ptr es:[bx], 0
|
||
jz short loc_E169
|
||
push word ptr [bp+arg_0+2]
|
||
push bx
|
||
call pfstart
|
||
|
||
loc_E169:
|
||
push 400h
|
||
call bgm_init
|
||
xor ax, ax
|
||
pop bp
|
||
retf
|
||
sub_E0F4 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
db 0
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_E176 proc far
|
||
|
||
arg_0 = word ptr 6
|
||
arg_2 = word ptr 8
|
||
arg_4 = word ptr 0Ah
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
push ds
|
||
mov ax, [bp+arg_2]
|
||
mov bx, ax
|
||
shl ax, 2
|
||
add ax, bx
|
||
add ax, 0A800h
|
||
mov es, ax
|
||
add ax, 3800h
|
||
push ax
|
||
sub ax, 2800h
|
||
push ax
|
||
sub ax, 800h
|
||
push ax
|
||
mov si, [bp+arg_0]
|
||
shl si, 4
|
||
add si, 2716h
|
||
mov bx, [bp+arg_4]
|
||
sar bx, 3
|
||
add bx, [si+6]
|
||
mov ax, [si+8]
|
||
mov bp, ax
|
||
shl ax, 2
|
||
add ax, 50h ; 'P'
|
||
mov dx, ax
|
||
mov ax, [si+0Eh]
|
||
mov ds, ax
|
||
xor si, si
|
||
mov al, 4
|
||
cld
|
||
nop
|
||
|
||
loc_E1C2:
|
||
mov di, bx
|
||
|
||
loc_E1C4:
|
||
mov cx, bp
|
||
rep movsd
|
||
sub di, dx
|
||
jns short loc_E1C4
|
||
dec al
|
||
jz short loc_E1D4
|
||
pop es
|
||
jmp short loc_E1C2
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_E1D4:
|
||
pop ds
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retf 6
|
||
sub_E176 endp ; sp-analysis failed
|
||
|
||
; ---------------------------------------------------------------------------
|
||
nop
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_E1DC proc near
|
||
xor ax, ax
|
||
mov word_11A50, ax
|
||
mov word_10DD2, ax
|
||
sub_E1DC endp ; sp-analysis failed
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_E1E4 proc far
|
||
xor ax, ax
|
||
mov es, ax
|
||
mov ah, byte ptr es:[531h]
|
||
test ah, 4
|
||
jz short loc_E1F7
|
||
or word_11A50, 1
|
||
|
||
loc_E1F7:
|
||
test ah, 20h
|
||
jz short loc_E201
|
||
or word_11A50, 2
|
||
|
||
loc_E201:
|
||
test ah, 8
|
||
jz short loc_E20B
|
||
or word_11A50, 4
|
||
|
||
loc_E20B:
|
||
test ah, 10h
|
||
jz short loc_E215
|
||
or word_11A50, 8
|
||
|
||
loc_E215:
|
||
mov ah, byte ptr es:[533h]
|
||
test ah, 1
|
||
jz short loc_E224
|
||
or word_11A50, 8
|
||
|
||
loc_E224:
|
||
test ah, 4
|
||
jz short loc_E22F
|
||
or word_11A50, 400h
|
||
|
||
loc_E22F:
|
||
test ah, 8
|
||
jz short loc_E239
|
||
or word_11A50, 2
|
||
|
||
loc_E239:
|
||
test ah, 10h
|
||
jz short loc_E244
|
||
or word_11A50, 800h
|
||
|
||
loc_E244:
|
||
mov ah, byte ptr es:[532h]
|
||
test ah, 40h
|
||
jz short loc_E253
|
||
or word_11A50, 4
|
||
|
||
loc_E253:
|
||
test ah, 4
|
||
jz short loc_E25E
|
||
or word_11A50, 100h
|
||
|
||
loc_E25E:
|
||
test ah, 8
|
||
jz short loc_E268
|
||
or word_11A50, 1
|
||
|
||
loc_E268:
|
||
test ah, 10h
|
||
jz short loc_E273
|
||
or word_11A50, 200h
|
||
|
||
loc_E273:
|
||
mov ah, byte ptr es:[52Fh]
|
||
test ah, 2
|
||
jz short loc_E282
|
||
or word_11A50, 20h
|
||
|
||
loc_E282:
|
||
test ah, 4
|
||
jz short loc_E28C
|
||
or word_11A50, 10h
|
||
|
||
loc_E28C:
|
||
mov ah, byte ptr es:[52Ch]
|
||
test ah, 1
|
||
jz short loc_E29C
|
||
or word_11A50, 4000h
|
||
|
||
loc_E29C:
|
||
mov ah, byte ptr es:[52Ah]
|
||
test ah, 1
|
||
jz short loc_E2AC
|
||
or word_11A50, 1000h
|
||
|
||
loc_E2AC:
|
||
mov ah, byte ptr es:[52Dh]
|
||
test ah, 10h
|
||
jz short loc_E2BC
|
||
or word_11A50, 2000h
|
||
|
||
loc_E2BC:
|
||
mov ah, byte ptr es:[530h]
|
||
test ah, 10h
|
||
jz short loc_E2CB
|
||
or word_11A50, 20h
|
||
|
||
loc_E2CB:
|
||
mov ah, 2
|
||
int 18h ; TRANSFER TO ROM BASIC
|
||
; causes transfer to ROM-based BASIC (IBM-PC)
|
||
; often reboots a compatible; often has no effect at all
|
||
and al, 1
|
||
mov byte_11A52, al
|
||
cmp word_F8BC, 0
|
||
jz short locret_E2E4
|
||
call sub_349A
|
||
or word_11A50, ax
|
||
|
||
locret_E2E4:
|
||
retf
|
||
sub_E1E4 endp
|
||
|
||
include th04/hardware/snd_se.asm
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_E378 proc far
|
||
|
||
arg_0 = word ptr 6
|
||
arg_2 = word ptr 8
|
||
arg_4 = word ptr 0Ah
|
||
arg_6 = word ptr 0Ch
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push di
|
||
cld
|
||
call sub_E3E8
|
||
mov dx, 4A4h
|
||
mov ax, 29F0h
|
||
out dx, ax
|
||
mov ax, [bp+arg_6]
|
||
mov dx, [bp+arg_4]
|
||
mov bx, ax
|
||
sar bx, 4
|
||
shl bx, 1
|
||
shl dx, 6
|
||
add bx, dx
|
||
shr dx, 2
|
||
add bx, dx
|
||
mov di, bx
|
||
and ax, 0Fh
|
||
mov cx, ax
|
||
add ax, [bp+arg_2]
|
||
shr ax, 4
|
||
or cx, cx
|
||
jz short loc_E3B0
|
||
inc ax
|
||
|
||
loc_E3B0:
|
||
mov word_11A54, ax
|
||
mov cx, 28h ; '('
|
||
sub cx, ax
|
||
shl cx, 1
|
||
mov bx, [bp+arg_0]
|
||
mov bp, cx
|
||
mov ax, 0A800h
|
||
mov es, ax
|
||
assume es:nothing
|
||
|
||
loc_E3C4:
|
||
mov cx, word_11A54
|
||
|
||
loc_E3C8:
|
||
mov al, 1
|
||
out 0A6h, al
|
||
mov dx, es:[di]
|
||
xor ax, ax
|
||
out 0A6h, al
|
||
mov ax, dx
|
||
stosw
|
||
loop loc_E3C8
|
||
add di, bp
|
||
dec bx
|
||
jns short loc_E3C4
|
||
call egc_off
|
||
pop di
|
||
pop bp
|
||
retf 8
|
||
sub_E378 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
nop
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_E3E8 proc near
|
||
push es
|
||
push 0
|
||
pop es
|
||
pushf
|
||
cli
|
||
mov al, GC_TDW
|
||
out 7Ch, al
|
||
mov byte ptr es:[495h], al
|
||
popf
|
||
pop es
|
||
assume es:nothing
|
||
mov al, 7
|
||
out 6Ah, al ; PC-98 GDC (6a):
|
||
;
|
||
mov al, 5
|
||
out 6Ah, al ; PC-98 GDC (6a):
|
||
;
|
||
mov al, 6
|
||
out 6Ah, al ; PC-98 GDC (6a):
|
||
;
|
||
mov dx, 4A0h
|
||
mov ax, 0FFF0h
|
||
out dx, ax
|
||
mov dx, 4A2h
|
||
mov ax, 0FFh
|
||
out dx, ax
|
||
mov dx, 4A8h
|
||
mov ax, 0FFFFh
|
||
out dx, ax
|
||
mov dx, 4ACh
|
||
sub ax, ax
|
||
out dx, ax
|
||
mov dx, 4AEh
|
||
mov ax, 0Fh
|
||
out dx, ax
|
||
retn
|
||
sub_E3E8 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
nop
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_E428 proc far
|
||
push si
|
||
push di
|
||
cmp word_FD82, 0
|
||
jnz short loc_E45D
|
||
push 7D00h
|
||
call hmem_allocbyte
|
||
mov word_FD82, ax
|
||
push 7D00h
|
||
call hmem_allocbyte
|
||
mov word_FD84, ax
|
||
push 7D00h
|
||
call hmem_allocbyte
|
||
mov word_FD86, ax
|
||
push 7D00h
|
||
call hmem_allocbyte
|
||
mov word_FD88, ax
|
||
|
||
loc_E45D:
|
||
mov dl, 4
|
||
push ds
|
||
push 0E000h
|
||
push word_FD88
|
||
push 0B800h
|
||
push word_FD86
|
||
push 0B000h
|
||
push word_FD84
|
||
push 0A800h
|
||
push word_FD82
|
||
|
||
loc_E47C:
|
||
pop es
|
||
pop ds
|
||
xor si, si
|
||
xor di, di
|
||
mov cx, 1F40h
|
||
rep movsd
|
||
dec dl
|
||
jnz short loc_E47C
|
||
pop ds
|
||
pop di
|
||
pop si
|
||
retf
|
||
sub_E428 endp ; sp-analysis failed
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_E490 proc far
|
||
push si
|
||
push di
|
||
mov dl, 4
|
||
push ds
|
||
push 0E000h
|
||
push word_FD88
|
||
push 0B800h
|
||
push word_FD86
|
||
push 0B000h
|
||
push word_FD84
|
||
push 0A800h
|
||
push word_FD82
|
||
|
||
loc_E4B1:
|
||
pop ds
|
||
pop es
|
||
xor si, si
|
||
xor di, di
|
||
mov cx, 1F40h
|
||
rep movsd
|
||
dec dl
|
||
jnz short loc_E4B1
|
||
pop ds
|
||
pop di
|
||
pop si
|
||
retf
|
||
sub_E490 endp ; sp-analysis failed
|
||
|
||
; ---------------------------------------------------------------------------
|
||
nop
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_E4C6 proc far
|
||
cmp word_FD82, 0
|
||
jz short locret_E4F7
|
||
push word_FD82
|
||
call hmem_free
|
||
push word_FD84
|
||
call hmem_free
|
||
push word_FD86
|
||
call hmem_free
|
||
push word_FD88
|
||
call hmem_free
|
||
mov word_FD82, 0
|
||
|
||
locret_E4F7:
|
||
retf
|
||
sub_E4C6 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_E4F8 proc far
|
||
|
||
arg_0 = word ptr 6
|
||
arg_2 = word ptr 8
|
||
arg_4 = word ptr 0Ah
|
||
arg_6 = word ptr 0Ch
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push di
|
||
push si
|
||
push ds
|
||
cld
|
||
mov ax, [bp+arg_6]
|
||
mov dx, [bp+arg_4]
|
||
mov bx, ax
|
||
sar bx, 4
|
||
shl bx, 1
|
||
shl dx, 6
|
||
add bx, dx
|
||
shr dx, 2
|
||
add bx, dx
|
||
mov word ptr cs:loc_E55D+1, bx
|
||
and ax, 0Fh
|
||
mov cx, ax
|
||
add ax, [bp+arg_2]
|
||
shr ax, 4
|
||
or cx, cx
|
||
jz short loc_E52B
|
||
inc ax
|
||
|
||
loc_E52B:
|
||
mov word ptr cs:loc_E562+1, ax
|
||
jmp short $+2
|
||
mov cx, 28h ; '('
|
||
sub cx, ax
|
||
shl cx, 1
|
||
mov ax, [bp+arg_0]
|
||
mov bp, cx
|
||
push 0E000h
|
||
push word_FD88
|
||
push 0B800h
|
||
push word_FD86
|
||
push 0B000h
|
||
push word_FD84
|
||
push 0A800h
|
||
push word_FD82
|
||
mov dl, 4
|
||
|
||
loc_E55B:
|
||
mov bx, ax
|
||
|
||
loc_E55D:
|
||
mov di, 1234h
|
||
pop ds
|
||
pop es
|
||
|
||
loc_E562:
|
||
mov cx, 1234h
|
||
mov si, di
|
||
rep movsw
|
||
add di, bp
|
||
dec bx
|
||
jns short loc_E562
|
||
dec dl
|
||
jnz short loc_E55B
|
||
pop ds
|
||
pop si
|
||
pop di
|
||
pop bp
|
||
retf 8
|
||
sub_E4F8 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
nop
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_E57A proc near
|
||
mov byte_FD8A, 1
|
||
nop
|
||
sub_E57A endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_E580 proc far
|
||
|
||
arg_0 = word ptr 6
|
||
arg_2 = dword ptr 8
|
||
arg_6 = word ptr 0Ch
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
mov di, [bp+0Ch]
|
||
push di
|
||
nopcall sub_E69A
|
||
shl di, 4
|
||
add di, 2716h
|
||
pushd [bp+arg_2]
|
||
call file_ropen
|
||
push ds
|
||
push di
|
||
push 10h
|
||
call file_read
|
||
mov ax, [di]
|
||
mov dx, ax
|
||
cmp byte ptr [di+0Bh], 0
|
||
jz short loc_E5BC
|
||
shl ax, 2
|
||
cmp byte ptr [di+0Bh], 2
|
||
jz short loc_E5BC
|
||
add ax, dx
|
||
|
||
loc_E5BC:
|
||
mul [bp+arg_0]
|
||
movzx eax, ax
|
||
push eax
|
||
push 1
|
||
call file_seek
|
||
call sub_E5E0
|
||
call file_close
|
||
mov byte_FD8A, 0
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retf 8
|
||
sub_E580 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
nop
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_E5E0 proc near
|
||
mov al, [di+0Bh]
|
||
or al, al
|
||
jz short loc_E615
|
||
cmp al, 2
|
||
jz short loc_E5F2
|
||
cmp byte_FD8A, 0
|
||
jnz short loc_E608
|
||
|
||
loc_E5F2:
|
||
push word ptr [di]
|
||
call hmem_allocbyte
|
||
mov [di+0Ch], ax
|
||
push ax
|
||
push 0
|
||
push word ptr [di]
|
||
call file_read
|
||
jmp short loc_E615
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_E608:
|
||
movzx eax, word ptr [di]
|
||
push eax
|
||
push 1
|
||
call file_seek
|
||
|
||
loc_E615:
|
||
cmp byte ptr [di+0Bh], 2
|
||
jz short locret_E637
|
||
mov ax, [di]
|
||
shl ax, 2
|
||
push ax
|
||
call hmem_allocbyte
|
||
mov [di+0Eh], ax
|
||
push ax
|
||
push 0
|
||
mov ax, [di]
|
||
shl ax, 2
|
||
push ax
|
||
call file_read
|
||
|
||
locret_E637:
|
||
retn
|
||
sub_E5E0 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_E638 proc near
|
||
mov byte_FD8A, 1
|
||
nop
|
||
sub_E638 endp ; sp-analysis failed
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_E63E proc far
|
||
|
||
arg_0 = dword ptr 6
|
||
arg_4 = word ptr 0Ah
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
pushd [bp+arg_0]
|
||
call file_ropen
|
||
mov di, [bp+arg_4]
|
||
shl di, 4
|
||
add di, 2716h
|
||
push ds
|
||
push di
|
||
push 10h
|
||
call file_read
|
||
mov si, di
|
||
mov bp, [bp+arg_4]
|
||
mov al, [si+0Ah]
|
||
mov byte_11E56, al
|
||
push ds
|
||
pop es
|
||
assume es:dseg
|
||
|
||
loc_E66C:
|
||
push bp
|
||
call sub_E69A
|
||
mov cx, 3
|
||
rep movsd
|
||
sub si, 0Ch
|
||
sub di, 0Ch
|
||
call sub_E5E0
|
||
inc bp
|
||
add di, 10h
|
||
dec byte_11E56
|
||
jnz short loc_E66C
|
||
call file_close
|
||
mov byte_FD8A, 0
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retf 6
|
||
sub_E63E endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_E69A proc far
|
||
mov bx, sp
|
||
push di
|
||
mov di, ss:[bx+4]
|
||
shl di, 4
|
||
add di, 2722h
|
||
cmp word ptr [di], 0
|
||
jz short loc_E6B8
|
||
push word ptr [di]
|
||
call hmem_free
|
||
mov word ptr [di], 0
|
||
|
||
loc_E6B8:
|
||
add di, 2
|
||
cmp word ptr [di], 0
|
||
jz short loc_E6CB
|
||
push word ptr [di]
|
||
call hmem_free
|
||
mov word ptr [di], 0
|
||
|
||
loc_E6CB:
|
||
pop di
|
||
retf 2
|
||
sub_E69A endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
nop
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_E6D0 proc far
|
||
push si
|
||
mov si, 3Fh ; '?'
|
||
|
||
loc_E6D4:
|
||
push si
|
||
call sub_E69A
|
||
dec si
|
||
jge short loc_E6D4
|
||
pop si
|
||
retf
|
||
sub_E6D0 endp
|
||
|
||
include th02/frame_delay_.asm
|
||
|
||
seg002 ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
seg003 segment byte public 'CODE' use16
|
||
assume cs:seg003
|
||
;org 3
|
||
assume es:nothing, ss:nothing, ds:dseg, fs:nothing, gs:nothing
|
||
|
||
include libs/BorlandC/ctor2[textc].asm
|
||
include libs/BorlandC/ctor3[textc].asm
|
||
include libs/BorlandC/strings[textc].asm
|
||
dd 0
|
||
seg003 ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure data
|
||
dseg segment para public 'DATA' use16
|
||
assume cs:dseg
|
||
|
||
include libs/BorlandC/c0[data].asm
|
||
|
||
db 0
|
||
unk_F3D1 db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
byte_F3DB db 0
|
||
byte_F3DC db 0
|
||
byte_F3DD db 1
|
||
dd aGqbGav ; "<22>Q<EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD>J<EFBFBD>n<EFBFBD><6E><EFBFBD>܂<EFBFBD>"
|
||
dd aGgglgxgggigxge ; "<22>G<EFBFBD>L<EFBFBD>X<EFBFBD>g<EFBFBD><67><EFBFBD>X<EFBFBD>e<EFBFBD>[<5B>W<EFBFBD><57><EFBFBD>J<EFBFBD>n<EFBFBD><6E><EFBFBD>܂<EFBFBD>"
|
||
dd aMNVGngcgxgrgav ; "<22><><EFBFBD>݂̃n<CC83>C<EFBFBD>X<EFBFBD>R<EFBFBD>A<EFBFBD><41><EFBFBD>\\<5C><><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD>"
|
||
dd aIKyoVU ; "<22><><EFBFBD>y<EFBFBD><79><EFBFBD>ɓ<EFBFBD><C993><EFBFBD><EFBFBD>܂<EFBFBD>"
|
||
dd aKeoarTsv ; "<22>e<EFBFBD><65><EFBFBD>ݒ<EFBFBD><DD92><EFBFBD><EFBFBD>ύX<CF8D>o<EFBFBD><6F><EFBFBD>܂<EFBFBD>"
|
||
dd aVcvnvrvCVsvV ; "<22>c<EFBFBD>n<EFBFBD>r<EFBFBD>ɖ߂<C996><DF82>܂<EFBFBD>"
|
||
dd aUqiUxv ; "<22><><EFBFBD>Փx<D593><78><EFBFBD>₳<EFBFBD><E282B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>@<40>i<EFBFBD><69><EFBFBD>S<EFBFBD>Ҍ<EFBFBD><D28C><EFBFBD><EFBFBD>A<EFBFBD>E...
|
||
dd aUqiUxv_1 ; "<22><><EFBFBD>Փx<D593><78><EFBFBD>W<EFBFBD><57><EFBFBD>ɂ<EFBFBD><C982>܂<EFBFBD><DC82>@<40>@<40>@<40>i<EFBFBD><69><EFBFBD>ʌ<EFBFBD><CA8C><EFBFBD><EFBFBD>A<EFBFBD>E...
|
||
dd aUqiUxv_0 ; "<22><><EFBFBD>Փx<D593><78><EFBFBD><EFBFBD><EF82B5><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>@<40>@<40>@<40>i<EFBFBD>A<EFBFBD>[<5B>P<EFBFBD>[<5B>_<EFBFBD>E...
|
||
dd aUqiUxv_2 ; "<22><><EFBFBD>Փx<D593><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɓ<C993><EF82B5><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>@<40>i<EFBFBD>V<EFBFBD><56><EFBFBD>[<5B>^<5E>E...
|
||
dd aGqbGagxgBGgouv ; "<22>Q<EFBFBD>[<5B><><EFBFBD>X<EFBFBD>^<5E>[<5B>g<EFBFBD><67><EFBFBD>̐l<CC90><6C><EFBFBD><EFBFBD><EFBFBD>ύX<CF8D>o<EFBFBD><6F><EFBFBD>܂<EFBFBD><DC82>i<EFBFBD>E...
|
||
dd aGGavOgcpi ; "<22>{<7B><><EFBFBD>̎g<CC8E>p<EFBFBD><EFBFBD><F1909482>ύX<CF8D>o<EFBFBD><6F><EFBFBD>܂<EFBFBD><DC82>i<EFBFBD><69><EFBFBD><EFBFBD><EFBFBD>G<EFBFBD>L<EFBFBD>E...
|
||
dd aVavfvlvCmvVVV ; "<22>a<EFBFBD>f<EFBFBD>l<EFBFBD>͗<EFBFBD><CD97><EFBFBD><EFBFBD>܂<EFBFBD><DC82><EFBFBD>"
|
||
dd aVavfvlvVqvuvji ; "<22>a<EFBFBD>f<EFBFBD>l<EFBFBD>ɂQ<C982>U<EFBFBD>j<EFBFBD><6A><EFBFBD><EFBFBD><EFBFBD>݊<EFBFBD><DD8A><EFBFBD><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD>܂<EFBFBD>"
|
||
dd aVavfvlvVwvuiMM ; "<22>a<EFBFBD>f<EFBFBD>l<EFBFBD>ɂW<C982>U<EFBFBD><55><EFBFBD><EFBFBD><EFBFBD>݊<EFBFBD><DD8A><EFBFBD><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD>܂<EFBFBD>"
|
||
dd aM_0 ; "<22><><EFBFBD>ʉ<EFBFBD><CA89>͗<EFBFBD><CD97><EFBFBD><EFBFBD>܂<EFBFBD><DC82><EFBFBD>"
|
||
dd aM_2 ; "<22><><EFBFBD>ʉ<EFBFBD><CA89>ɂe<C982>l<EFBFBD><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD>܂<EFBFBD>"
|
||
dd aM_1 ; "<22><><EFBFBD>ʉ<EFBFBD><CA89>ɂa<C982><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD>܂<EFBFBD>"
|
||
dd aUgtevSVvpPkvBa ; "<22>G<EFBFBD>e<EFBFBD>̑<EFBFBD><CC91><EFBFBD><EFBFBD>ꏊ<EFBFBD>ŁA<C581>킴<EFBFBD>Ə<EFBFBD><C68F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>i<EFBFBD>X<EFBFBD><58><EFBFBD>E...
|
||
dd aPicacovV ; "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}<7D>V<EFBFBD><56><EFBFBD>̃X<CC83>s<EFBFBD>[<5B>h<EFBFBD>ɔC<C994><43><EFBFBD>܂<EFBFBD><DC82>i<EFBFBD>E...
|
||
dd aVVGigvgvgzguv ; "<22><><EFBFBD>̃I<CC83>v<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>S<EFBFBD>ĕW<C495><57><EFBFBD>ɖ߂<C996><DF82>܂<EFBFBD>"
|
||
dd aGigvgvgzguv ; "<22>I<EFBFBD>v<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD><49><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD>"
|
||
dd aGqbGav_0 ; "<22>Q<EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD>J<EFBFBD>n<EFBFBD><6E><EFBFBD>܂<EFBFBD><DC82>i<EFBFBD>C<EFBFBD>[<5B>W<EFBFBD>[<5B>j"
|
||
dd aGqbGav_1 ; "<22>Q<EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD>J<EFBFBD>n<EFBFBD><6E><EFBFBD>܂<EFBFBD><DC82>i<EFBFBD>m<EFBFBD>[<5B>}<7D><><EFBFBD>j"
|
||
dd aGqbGav_2 ; "<22>Q<EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD>J<EFBFBD>n<EFBFBD><6E><EFBFBD>܂<EFBFBD><DC82>i<EFBFBD>n<EFBFBD>[<5B>h<EFBFBD>j"
|
||
dd aGqbGav_3 ; "<22>Q<EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD>J<EFBFBD>n<EFBFBD><6E><EFBFBD>܂<EFBFBD><DC82>i<EFBFBD><69><EFBFBD>i<EFBFBD>e<EFBFBD>B<EFBFBD>b<EFBFBD>N<EFBFBD>j"
|
||
byte_F446 db 0
|
||
byte_F447 db 0
|
||
aMiko_cfg db 'MIKO.CFG',0
|
||
; char aMain[]
|
||
aMain db 'main',0
|
||
; char path[]
|
||
path db 'deb',0
|
||
aGqbGav db '<27>Q<EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD>J<EFBFBD>n<EFBFBD><6E><EFBFBD>܂<EFBFBD>',0
|
||
aGgglgxgggigxge db '<27>G<EFBFBD>L<EFBFBD>X<EFBFBD>g<EFBFBD><67><EFBFBD>X<EFBFBD>e<EFBFBD>[<5B>W<EFBFBD><57><EFBFBD>J<EFBFBD>n<EFBFBD><6E><EFBFBD>܂<EFBFBD>',0
|
||
aMNVGngcgxgrgav db '<27><><EFBFBD>݂̃n<CC83>C<EFBFBD>X<EFBFBD>R<EFBFBD>A<EFBFBD><41><EFBFBD>\<5C><><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD>',0
|
||
aIKyoVU db '<27><><EFBFBD>y<EFBFBD><79><EFBFBD>ɓ<EFBFBD><C993><EFBFBD><EFBFBD>܂<EFBFBD>',0
|
||
aKeoarTsv db '<27>e<EFBFBD><65><EFBFBD>ݒ<EFBFBD><DD92><EFBFBD><EFBFBD>ύX<CF8D>o<EFBFBD><6F><EFBFBD>܂<EFBFBD>',0
|
||
aVcvnvrvCVsvV db '<27>c<EFBFBD>n<EFBFBD>r<EFBFBD>ɖ߂<C996><DF82>܂<EFBFBD>',0
|
||
aUqiUxv db '<27><><EFBFBD>Փx<D593><78><EFBFBD>₳<EFBFBD><E282B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>@<40>i<EFBFBD><69><EFBFBD>S<EFBFBD>Ҍ<EFBFBD><D28C><EFBFBD><EFBFBD>A<EFBFBD>T<EFBFBD>ʃG<CA83><47><EFBFBD>h<EFBFBD>j',0
|
||
aUqiUxv_1 db '<27><><EFBFBD>Փx<D593><78><EFBFBD>W<EFBFBD><57><EFBFBD>ɂ<EFBFBD><C982>܂<EFBFBD><DC82>@<40>@<40>@<40>i<EFBFBD><69><EFBFBD>ʌ<EFBFBD><CA8C><EFBFBD><EFBFBD>A<EFBFBD>S<EFBFBD>U<EFBFBD>ʁj<CA81>@<40>@',0
|
||
aUqiUxv_0 db '<27><><EFBFBD>Փx<D593><78><EFBFBD><EFBFBD><EF82B5><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>@<40>@<40>@<40>i<EFBFBD>A<EFBFBD>[<5B>P<EFBFBD>[<5B>_<EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD>j<EFBFBD>@<40>@',0
|
||
aUqiUxv_2 db '<27><><EFBFBD>Փx<D593><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɓ<C993><EF82B5><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>@<40>i<EFBFBD>V<EFBFBD><56><EFBFBD>[<5B>^<5E>[<5B><><EFBFBD><EFBFBD><EFBFBD>j<EFBFBD>@<40>@',0
|
||
aGqbGagxgBGgouv db '<27>Q<EFBFBD>[<5B><><EFBFBD>X<EFBFBD>^<5E>[<5B>g<EFBFBD><67><EFBFBD>̐l<CC90><6C><EFBFBD><EFBFBD><EFBFBD>ύX<CF8D>o<EFBFBD><6F><EFBFBD>܂<EFBFBD><DC82>i<EFBFBD><69><EFBFBD><EFBFBD><EFBFBD>G<EFBFBD>L<EFBFBD>X<EFBFBD>g<EFBFBD><67><EFBFBD>j',0
|
||
aGGavOgcpi db '<27>{<7B><><EFBFBD>̎g<CC8E>p<EFBFBD><EFBFBD><F1909482>ύX<CF8D>o<EFBFBD><6F><EFBFBD>܂<EFBFBD><DC82>i<EFBFBD><69><EFBFBD><EFBFBD><EFBFBD>G<EFBFBD>L<EFBFBD>X<EFBFBD>g<EFBFBD><67><EFBFBD>j',0
|
||
aVavfvlvCmvVVV db '<27>a<EFBFBD>f<EFBFBD>l<EFBFBD>͗<EFBFBD><CD97><EFBFBD><EFBFBD>܂<EFBFBD><DC82><EFBFBD>',0
|
||
aVavfvlvVqvuvji db '<27>a<EFBFBD>f<EFBFBD>l<EFBFBD>ɂQ<C982>U<EFBFBD>j<EFBFBD><6A><EFBFBD><EFBFBD><EFBFBD>݊<EFBFBD><DD8A><EFBFBD><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD>܂<EFBFBD>',0
|
||
aVavfvlvVwvuiMM db '<27>a<EFBFBD>f<EFBFBD>l<EFBFBD>ɂW<C982>U<EFBFBD><55><EFBFBD><EFBFBD><EFBFBD>݊<EFBFBD><DD8A><EFBFBD><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD>܂<EFBFBD>',0
|
||
aM_0 db '<27><><EFBFBD>ʉ<EFBFBD><CA89>͗<EFBFBD><CD97><EFBFBD><EFBFBD>܂<EFBFBD><DC82><EFBFBD>',0
|
||
aM_2 db '<27><><EFBFBD>ʉ<EFBFBD><CA89>ɂe<C982>l<EFBFBD><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD>܂<EFBFBD>',0
|
||
aM_1 db '<27><><EFBFBD>ʉ<EFBFBD><CA89>ɂa<C982><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD>܂<EFBFBD>',0
|
||
aUgtevSVvpPkvBa db '<27>G<EFBFBD>e<EFBFBD>̑<EFBFBD><CC91><EFBFBD><EFBFBD>ꏊ<EFBFBD>ŁA<C581>킴<EFBFBD>Ə<EFBFBD><C68F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>i<EFBFBD>X<EFBFBD><58><EFBFBD>[<5B>j<EFBFBD><6A><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>i<EFBFBD><69><EFBFBD>S<EFBFBD>җp<D297>j',0
|
||
aPicacovV db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}<7D>V<EFBFBD><56><EFBFBD>̃X<CC83>s<EFBFBD>[<5B>h<EFBFBD>ɔC<C994><43><EFBFBD>܂<EFBFBD><DC82>i<EFBFBD>W<EFBFBD><57><EFBFBD>j',0
|
||
aVVGigvgvgzguv db '<27><><EFBFBD>̃I<CC83>v<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>S<EFBFBD>ĕW<C495><57><EFBFBD>ɖ߂<C996><DF82>܂<EFBFBD>',0
|
||
aGigvgvgzguv db '<27>I<EFBFBD>v<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD><49><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD>',0
|
||
aGqbGav_0 db '<27>Q<EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD>J<EFBFBD>n<EFBFBD><6E><EFBFBD>܂<EFBFBD><DC82>i<EFBFBD>C<EFBFBD>[<5B>W<EFBFBD>[<5B>j',0
|
||
aGqbGav_1 db '<27>Q<EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD>J<EFBFBD>n<EFBFBD><6E><EFBFBD>܂<EFBFBD><DC82>i<EFBFBD>m<EFBFBD>[<5B>}<7D><><EFBFBD>j',0
|
||
aGqbGav_2 db '<27>Q<EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD>J<EFBFBD>n<EFBFBD><6E><EFBFBD>܂<EFBFBD><DC82>i<EFBFBD>n<EFBFBD>[<5B>h<EFBFBD>j',0
|
||
aGqbGav_3 db '<27>Q<EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD>J<EFBFBD>n<EFBFBD><6E><EFBFBD>܂<EFBFBD><DC82>i<EFBFBD><69><EFBFBD>i<EFBFBD>e<EFBFBD>B<EFBFBD>b<EFBFBD>N<EFBFBD>j',0
|
||
aOp1_pi db 'op1.pi',0
|
||
aOp db 'op',0
|
||
aMSzlEd_dat db '<27><><EFBFBD>z<EFBFBD><7A>ed.dat',0
|
||
asc_F7F7 db 0Ah
|
||
db '<27><EFBFBD><F382AB83><EFBFBD><EFBFBD><EFBFBD><EFBFBD>s<EFBFBD><73><EFBFBD>ł<EFBFBD><C582>B<EFBFBD><42><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𑝂₵<F0919D82>Ă<EFBFBD><C482><EFBFBD><EFBFBD><EFBFBD><EFBFBD>s<EFBFBD><73><EFBFBD>Ă<EFBFBD>',0Ah,0
|
||
aGameft_bft db 'GAMEFT.bft',0
|
||
aMiko db 'miko',0
|
||
include libs/master.lib/atrtcmod[data].asm
|
||
include libs/master.lib/bfnt_id[data].asm
|
||
include libs/master.lib/clip[data].asm
|
||
include libs/master.lib/edges[data].asm
|
||
include libs/master.lib/fil[data].asm
|
||
include libs/master.lib/dos_ropen[data].asm
|
||
include libs/master.lib/get_machine_98[data].asm
|
||
include libs/master.lib/get_machine_at[data].asm
|
||
include libs/master.lib/gaiji_backup[data].asm
|
||
include libs/master.lib/gaiji_entry_bfnt[data].asm
|
||
include libs/master.lib/grp[data].asm
|
||
word_F8BC dw 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
include libs/master.lib/machine[data].asm
|
||
include libs/master.lib/pal[data].asm
|
||
include libs/master.lib/pf[data].asm
|
||
include libs/master.lib/rand[data].asm
|
||
include libs/master.lib/sin8[data].asm
|
||
include libs/master.lib/tx[data].asm
|
||
include libs/master.lib/vs[data].asm
|
||
include libs/master.lib/wordmask[data].asm
|
||
include libs/master.lib/mem[data].asm
|
||
include libs/master.lib/super_entry_bfnt[data].asm
|
||
include libs/master.lib/superpa[data].asm
|
||
include libs/master.lib/respal_exist[data].asm
|
||
include libs/master.lib/draw_trapezoid[data].asm
|
||
include th02/formats/pfopen[data].asm
|
||
include libs/master.lib/bgm_timerhook[data].asm
|
||
include libs/master.lib/bgm[data].asm
|
||
include th04/hardware/snd_se_priority[data].asm
|
||
include th04/hardware/snd[data].asm
|
||
db 0
|
||
include th04/hardware/snd_load[data].asm
|
||
db 71h ; q
|
||
db 0
|
||
db 6Bh ; k
|
||
db 0
|
||
db 78h ; x
|
||
db 0
|
||
db 72h ; r
|
||
db 0
|
||
db 89h
|
||
db 0
|
||
db 1Fh
|
||
db 0
|
||
db 19h
|
||
db 0
|
||
db 26h ; &
|
||
db 0
|
||
db 20h
|
||
db 0
|
||
db 37h ; 7
|
||
db 0
|
||
db 1Ch
|
||
db 0Ah
|
||
db 24h ; $
|
||
db 0Ah
|
||
db 2Ch ; ,
|
||
db 0Ah
|
||
db 34h ; 4
|
||
db 0Ah
|
||
db 88h
|
||
db 88h
|
||
db 0
|
||
db 0
|
||
db 22h ; "
|
||
db 22h ; "
|
||
db 0
|
||
db 0
|
||
db 88h
|
||
db 88h
|
||
db 44h ; D
|
||
db 44h ; D
|
||
db 22h ; "
|
||
db 22h ; "
|
||
db 11h
|
||
db 11h
|
||
db 0AAh ; <20>
|
||
db 0AAh ; <20>
|
||
db 44h ; D
|
||
db 44h ; D
|
||
db 0AAh ; <20>
|
||
db 0AAh ; <20>
|
||
db 11h
|
||
db 11h
|
||
db 0AAh ; <20>
|
||
db 0AAh ; <20>
|
||
db 55h ; U
|
||
db 55h ; U
|
||
db 0AAh ; <20>
|
||
db 0AAh ; <20>
|
||
db 55h ; U
|
||
db 55h ; U
|
||
word_FD7C dw 2
|
||
word_FD7E dw 10h
|
||
include th03/hardware/snd_se_state[data].asm
|
||
word_FD82 dw 0
|
||
word_FD84 dw 0
|
||
word_FD86 dw 0
|
||
word_FD88 dw 0
|
||
byte_FD8A db 0
|
||
db 0
|
||
dd aGxgegmgivevliM
|
||
dd aB@b@b@b@b@b@b@
|
||
dd aB@b@b@b@b@b@_0
|
||
dd aB@xwpavevliMBf
|
||
dd aPc9801dausvUrs
|
||
dd aB@b@b@b@b@b@_1
|
||
dd aB@b@iKycVBfb@b
|
||
dd asc_FF1D
|
||
dd aVVibavVVcvRTsv
|
||
dd aB@vevliMB@bfm
|
||
dd aB@b@b@b@b@b@_2
|
||
dd aB@B@B@b@bixwpa
|
||
dd aB@B@b@b@b@VVBa
|
||
dd aVavevevriMBfm
|
||
dd aVevliMVkcVvpNz
|
||
dd aM
|
||
dd aB@b@b@b@b@b@_3
|
||
dd aVVibavVVcvRTsv
|
||
aGxgegmgivevliM db '<27>X<EFBFBD>e<EFBFBD><65><EFBFBD>I<EFBFBD>e<EFBFBD>l<EFBFBD><6C><EFBFBD><EFBFBD><EFBFBD>FPC-9801-86(<28>݊<EFBFBD>)<29>{<7B>[<5B>h<EFBFBD>@<40>@<40>@',0
|
||
aB@b@b@b@b@b@b@ db '<27>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@CanBe<42><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȂǁA ',0
|
||
aB@b@b@b@b@b@_0 db '<27>@<40>@<40>@<40>@<40>@<40>@<40>@<40>e<EFBFBD>l<EFBFBD>U<EFBFBD><55><EFBFBD>{<7B>r<EFBFBD>r<EFBFBD>f<EFBFBD>R<EFBFBD><52><EFBFBD>{<7B><><EFBFBD>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
|
||
aB@xwpavevliMBf db '<27>@<40>W<EFBFBD><57><EFBFBD>e<EFBFBD>l<EFBFBD><6C><EFBFBD><EFBFBD><EFBFBD>F PC-9801-26K(<28>݊<EFBFBD>)<29>{<7B>[<5B>h ',0
|
||
aPc9801dausvUrs db ' PC-9801DA<44><41><EFBFBD>ɓ<EFBFBD><C993><EFBFBD><EFBFBD>̉<EFBFBD><CC89><EFBFBD><EFBFBD>Ȃ<EFBFBD> ',0
|
||
aB@b@b@b@b@b@_1 db '<27>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@<40>e<EFBFBD>l<EFBFBD>R<EFBFBD><52><EFBFBD>{<7B>r<EFBFBD>r<EFBFBD>f<EFBFBD>R<EFBFBD><52> ',0
|
||
aB@b@iKycVBfb@b db '<27>@<40>@<40><><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD>F<EFBFBD>@<40>@<40>e<EFBFBD>l<EFBFBD><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꍇ ',0
|
||
asc_FF1D db ' ',0
|
||
aVVibavVVcvRTsv db '<27>Ȃ<EFBFBD><C882>A<EFBFBD><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̐ݒ<CC90><DD92>͂n<CD82><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŕύX<CF8D>\<5C>ł<EFBFBD>',0
|
||
aB@vevliMB@bfm db '<27>@<40>e<EFBFBD>l<EFBFBD><6C><EFBFBD><EFBFBD><EFBFBD>@<40>F<EFBFBD><46><EFBFBD>ʉ<EFBFBD><CA89>ɂe<C982>l<EFBFBD><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD>܂<EFBFBD><DC82>@<40>@',0
|
||
aB@b@b@b@b@b@_2 db '<27>@<40>@<40>@<40>@<40>@<40>@<40>@<40>a<EFBFBD>f<EFBFBD>l<EFBFBD><6C><EFBFBD>X<EFBFBD>e<EFBFBD><65><EFBFBD>I<EFBFBD>e<EFBFBD>l<EFBFBD><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@',0
|
||
aB@B@B@b@bixwpa db '<27>@ <20>@ <20>@<40>@<40>i<EFBFBD>W<EFBFBD><57><EFBFBD>e<EFBFBD>l<EFBFBD><6C><EFBFBD><EFBFBD><EFBFBD>ł́A3ch<63><68><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD>܂<EFBFBD> ',0
|
||
aB@B@b@b@b@VVBa db '<27>@ <20>@<40>@<40>@<40>@ <20>̂ŁA<C581>a<EFBFBD>f<EFBFBD>l<EFBFBD><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɂ<EFBFBD><C982><EFBFBD><EFBFBD>Ȃ<EFBFBD><C882><EFBFBD><EFBFBD><EFBFBD><EFBFBD>j',0
|
||
aVavevevriMBfm db '<27>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>F<EFBFBD><46><EFBFBD>ʉ<EFBFBD><CA89>ɂa<C982><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD>܂<EFBFBD>',0
|
||
aVevliMVkcVvpNz db ' <20>e<EFBFBD>l<EFBFBD><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꍇ<EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD>܂<EFBFBD><DC82>@<40>@',0
|
||
aM db ' <20><><EFBFBD>ʉ<EFBFBD><CA89><EFBFBD><EFBFBD><EFBFBD> <20>F<EFBFBD><46><EFBFBD>炩<EFBFBD>̎<EFBFBD><CC8E><EFBFBD><EFBFBD>Ō<EFBFBD><C58C>ʉ<EFBFBD><CA89><EFBFBD><EFBFBD>炵<C282><E782B5><EFBFBD><EFBFBD>',0
|
||
aB@b@b@b@b@b@_3 db '<27>@<40>@<40>@<40>@<40>@<40>@<40>@<40><><EFBFBD><EFBFBD><EFBFBD>ꍇ ',0
|
||
aGxgegmgivevl_0 db '<27>X<EFBFBD>e<EFBFBD><65><EFBFBD>I<EFBFBD>e<EFBFBD>l<EFBFBD><6C><EFBFBD><EFBFBD>',0
|
||
aB@xwpavevliMB@ db '<27>@<40>W<EFBFBD><57><EFBFBD>e<EFBFBD>l<EFBFBD><6C><EFBFBD><EFBFBD><EFBFBD>@',0
|
||
aB@b@iKycVB@b@ db '<27>@<40>@<40><><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD>@<40>@',0
|
||
aB@b@vevliMB@b@ db '<27>@<40>@<40>e<EFBFBD>l<EFBFBD><6C><EFBFBD><EFBFBD><EFBFBD>@<40>@',0
|
||
aB@vavevevriMB@ db '<27>@<40>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@',0
|
||
aB@M db '<27>@ <20><><EFBFBD>ʉ<EFBFBD><CA89><EFBFBD><EFBFBD><EFBFBD> <20>@',0
|
||
aB@b@b@b@b@ogcp db '<27>@<40>@<40>@<40>@<40>@<40>g<EFBFBD>p<EFBFBD><70><EFBFBD>鉹<EFBFBD><E989B9><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD><49><EFBFBD><EFBFBD><EFBFBD>ĉ<EFBFBD><C489><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˁ<EFBFBD>',0
|
||
aB@b@b@b@m db '<27>@<40>@<40>@<40>@<40><><EFBFBD>ʉ<EFBFBD><CA89>Ɏg<C98E>p<EFBFBD><70><EFBFBD>鉹<EFBFBD><E989B9><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD><49><EFBFBD><EFBFBD><EFBFBD>Ăˁ<C482>',0
|
||
aMswin_bft db 'mswin.bft',0
|
||
aMs_pi db 'ms.pi',0
|
||
db 0
|
||
aZun00_pi db 'zun00.pi',0
|
||
aLogo db 'logo',0
|
||
aZun02_bft db 'zun02.bft',0
|
||
aZun04_bft db 'zun04.bft',0
|
||
aZun01_bft db 'zun01.bft',0
|
||
aZun03_bft db 'zun03.bft',0
|
||
dd aNo_1MSzlBLotus ; "No.1 <20><><EFBFBD>z<EFBFBD><7A> <20>` Lotus Land Story"
|
||
dd aNo_2WitchingDr ; "No.2 Witching Dream "
|
||
dd aNo_3SeleneSLig ; "No.3 Selene's light "
|
||
dd aNo_4Sxp ; "No.4 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40>` Decoration Battle"
|
||
dd aNo_5BreakTheSa ; "No.5 Break the Sabbath "
|
||
dd aNo_6NglLBScarl ; "No.6 <20>g<EFBFBD><67><EFBFBD><EFBFBD> <20>` Scarlet Phoneme "
|
||
dd aNo_7BadApple ; "No.7 Bad Apple!! "
|
||
dd aNo_8CRab@bPerd ; "No.8 <20><><EFBFBD><EFBFBD><EFBFBD>@<40>` Perdition crisis "
|
||
dd aNo_9GagkgxgGgg ; "No.9 <20>A<EFBFBD><41><EFBFBD>X<EFBFBD>}<7D>G<EFBFBD>X<EFBFBD>e<EFBFBD><65> "
|
||
dd aNo_10Pnpcuyszl ; "No.10 <20><><EFBFBD><EFBFBD><EFBFBD>Y<EFBFBD>z<EFBFBD>ȁ@<40>` Capriccio "
|
||
dd aNo_11RpvKab@bC ; "No.11 <20><><EFBFBD>̊<EFBFBD><CC8A>@<40>` Casket of Star "
|
||
dd aNo_12LotusLove ; "No.12 Lotus Love "
|
||
dd aNo_13CVVslXBSl ; "No.13 <20><><EFBFBD><EFBFBD><EFBFBD>鋰<EFBFBD>| <20>`Sleeping Terror"
|
||
dd aNo_14DreamLand ; "No.14 Dream Land "
|
||
dd aNo_15ChcB@bIna ; "No.15 <20>H<EFBFBD><48><EFBFBD>@<40>` Inanimate Dream "
|
||
dd aNo_16LVVVsv ; "No.16 <20>ւ<EFBFBD><D682><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD><C882>V<EFBFBD>Y "
|
||
dd aNo_17GbgcghmSz ; "No.17 <20><><EFBFBD>C<EFBFBD>h<EFBFBD><68><EFBFBD>z<EFBFBD>@<40>` Icemilk Magic"
|
||
dd aNo_18Vivavvvvi ; "No.18 <20><><EFBFBD>킢<EFBFBD><ED82A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40>` Innocence "
|
||
dd aNo_19Days ; "No.19 Days "
|
||
dd aNo_20Peaceful ; "No.20 Peaceful "
|
||
dd aNo_21ArcadianD ; "No.21 Arcadian Dream "
|
||
dd aNo_22MSzvPzrl ; "No.22 <20><><EFBFBD>z<EFBFBD>̏Z<CC8F>l "
|
||
dd asc_105B2 ; " "
|
||
dd aB@b@vpvxvivf ; " <20>@<40>@<40>p<EFBFBD><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "
|
||
dd aOp_2 ; "op"
|
||
dd aSt00 ; "st00"
|
||
dd aSt10 ; "st10"
|
||
dd aSt00b ; "st00b"
|
||
dd aSt01 ; "st01"
|
||
dd aSt01b ; "st01b"
|
||
dd aSt02 ; "st02"
|
||
dd aSt02b ; "st02b"
|
||
dd aSt03 ; "st03"
|
||
dd aSt03c ; "st03c"
|
||
dd aSt03b ; "st03b"
|
||
dd aSt04 ; "st04"
|
||
dd aSt04b ; "st04b"
|
||
dd aSt05 ; "st05"
|
||
dd aSt05b ; "st05b"
|
||
dd aSt06 ; "st06"
|
||
dd aSt06b ; "st06b"
|
||
dd aSt06c ; "st06c"
|
||
dd aEnd1 ; "end1"
|
||
dd aEnd2 ; "end2"
|
||
dd aStaff ; "staff"
|
||
dd aName_0 ; "name"
|
||
byte_102AE db 0
|
||
byte_102AF db 0
|
||
aNo_1MSzlBLotus db 'No.1 <20><><EFBFBD>z<EFBFBD><7A> <20>` Lotus Land Story',0
|
||
aNo_2WitchingDr db 'No.2 Witching Dream ',0
|
||
aNo_3SeleneSLig db 'No.3 Selene',27h,'s light ',0
|
||
aNo_4Sxp db 'No.4 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40>` Decoration Battle',0
|
||
aNo_5BreakTheSa db 'No.5 Break the Sabbath ',0
|
||
aNo_6NglLBScarl db 'No.6 <20>g<EFBFBD><67><EFBFBD><EFBFBD> <20>` Scarlet Phoneme ',0
|
||
aNo_7BadApple db 'No.7 Bad Apple!! ',0
|
||
aNo_8CRab@bPerd db 'No.8 <20><><EFBFBD><EFBFBD><EFBFBD>@<40>` Perdition crisis ',0
|
||
aNo_9GagkgxgGgg db 'No.9 <20>A<EFBFBD><41><EFBFBD>X<EFBFBD>}<7D>G<EFBFBD>X<EFBFBD>e<EFBFBD><65> ',0
|
||
aNo_10Pnpcuyszl db 'No.10 <20><><EFBFBD><EFBFBD><EFBFBD>Y<EFBFBD>z<EFBFBD>ȁ@<40>` Capriccio ',0
|
||
aNo_11RpvKab@bC db 'No.11 <20><><EFBFBD>̊<EFBFBD><CC8A>@<40>` Casket of Star ',0
|
||
aNo_12LotusLove db 'No.12 Lotus Love ',0
|
||
aNo_13CVVslXBSl db 'No.13 <20><><EFBFBD><EFBFBD><EFBFBD>鋰<EFBFBD>| <20>`Sleeping Terror',0
|
||
aNo_14DreamLand db 'No.14 Dream Land ',0
|
||
aNo_15ChcB@bIna db 'No.15 <20>H<EFBFBD><48><EFBFBD>@<40>` Inanimate Dream ',0
|
||
aNo_16LVVVsv db 'No.16 <20>ւ<EFBFBD><D682><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD><C882>V<EFBFBD>Y ',0
|
||
aNo_17GbgcghmSz db 'No.17 <20><><EFBFBD>C<EFBFBD>h<EFBFBD><68><EFBFBD>z<EFBFBD>@<40>` Icemilk Magic',0
|
||
aNo_18Vivavvvvi db 'No.18 <20><><EFBFBD>킢<EFBFBD><ED82A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40>` Innocence ',0
|
||
aNo_19Days db 'No.19 Days ',0
|
||
aNo_20Peaceful db 'No.20 Peaceful ',0
|
||
aNo_21ArcadianD db 'No.21 Arcadian Dream ',0
|
||
aNo_22MSzvPzrl db 'No.22 <20><><EFBFBD>z<EFBFBD>̏Z<CC8F>l ',0
|
||
asc_105B2 db ' ',0
|
||
aB@b@vpvxvivf db ' <20>@<40>@<40>p<EFBFBD><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',0
|
||
aOp_2 db 'op',0
|
||
aSt00 db 'st00',0
|
||
aSt10 db 'st10',0
|
||
aSt00b db 'st00b',0
|
||
aSt01 db 'st01',0
|
||
aSt01b db 'st01b',0
|
||
aSt02 db 'st02',0
|
||
aSt02b db 'st02b',0
|
||
aSt03 db 'st03',0
|
||
aSt03c db 'st03c',0
|
||
aSt03b db 'st03b',0
|
||
aSt04 db 'st04',0
|
||
aSt04b db 'st04b',0
|
||
aSt05 db 'st05',0
|
||
aSt05b db 'st05b',0
|
||
aSt06 db 'st06',0
|
||
aSt06b db 'st06b',0
|
||
aSt06c db 'st06c',0
|
||
aEnd1 db 'end1',0
|
||
aEnd2 db 'end2',0
|
||
aStaff db 'staff',0
|
||
aName_0 db 'name',0
|
||
include th04/music/music_cmt_load[data].asm
|
||
aMusic_pi db 'music.pi',0
|
||
aGensou_scr db 'GENSOU.SCR',0
|
||
aName db 'name',0
|
||
aHi01_pi db 'hi01.pi',0
|
||
aOp1_pi_0 db 'op1.pi',0
|
||
aOp_0 db 'op',0
|
||
aScnum_bft db 'scnum.bft',0
|
||
aHi_m_bft db 'hi_m.bft',0
|
||
db 0
|
||
aSft1_cd2 db 'sft1.cd2',0
|
||
aSft2_cd2 db 'sft2.cd2',0
|
||
aCar_cd2 db 'car.cd2',0
|
||
aSl_cd2 db 'sl.cd2',0
|
||
aOp5b_pi db 'op5b.pi',0
|
||
aOp4b_pi db 'op4b.pi',0
|
||
aOp3b_pi db 'op3b.pi',0
|
||
aOp2b_pi db 'op2b.pi',0
|
||
aOp1b_pi db 'op1b.pi',0
|
||
aOp0b_pi db 'op0b.pi',0
|
||
aOp_1 db 'op',0
|
||
aOp1_pi_1 db 'op1.pi',0
|
||
db 0
|
||
dd aB@focasCBiiPcv ; "<22>@<40><><EFBFBD><EFBFBD><EFBFBD>˖<EFBFBD><CB96>i<EFBFBD>ޏ<EFBFBD><DE8F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>j "
|
||
dd aNlfINumvmB@ ; " <09>L<EFBFBD>͈͍U<CD8D><55><EFBFBD>^<5E>@ "
|
||
dd aCIjcvcanBicvc@ ; " <20><><EFBFBD>J<EFBFBD><4A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>i<EFBFBD><69><EFBFBD>@<40>g<EFBFBD><67><EFBFBD>j"
|
||
dd aNumvcPdolm ; " <09>U<EFBFBD><55><EFBFBD>͏d<CD8F><64><EFBFBD>^ "
|
||
dd aB@GtbGGvgzgbgg ; "<22>@ <20>T<EFBFBD>[<5B>`<60>V<EFBFBD><56><EFBFBD>b<EFBFBD>g<EFBFBD>@ "
|
||
dd aGpgcghgvgzgbgg ; " <20><><EFBFBD>C<EFBFBD>h<EFBFBD>V<EFBFBD><56><EFBFBD>b<EFBFBD>g "
|
||
dd aGcgkgebGwgzgug ; "<22>C<EFBFBD><43><EFBFBD><EFBFBD><EFBFBD>[<5B>W<EFBFBD><57><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[<5B>U<EFBFBD>["
|
||
dd aGigsgbghgvgzgb ; " <20><><EFBFBD>s<EFBFBD>b<EFBFBD>h<EFBFBD>V<EFBFBD><56><EFBFBD>b<EFBFBD>g "
|
||
aB@focasCBiiPcv db '<27>@<40><><EFBFBD><EFBFBD><EFBFBD>˖<EFBFBD><CB96>i<EFBFBD>ޏ<EFBFBD><DE8F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>j ',0
|
||
aNlfINumvmB@ db ' <20>L<EFBFBD>͈͍U<CD8D><55><EFBFBD>^<5E>@ ',0
|
||
aCIjcvcanBicvc@ db ' <20><><EFBFBD>J<EFBFBD><4A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>i<EFBFBD><69><EFBFBD>@<40>g<EFBFBD><67><EFBFBD>j',0
|
||
aNumvcPdolm db ' <20>U<EFBFBD><55><EFBFBD>͏d<CD8F><64><EFBFBD>^ ',0
|
||
aB@GtbGGvgzgbgg db '<27>@ <20>T<EFBFBD>[<5B>`<60>V<EFBFBD><56><EFBFBD>b<EFBFBD>g<EFBFBD>@ ',0
|
||
aGpgcghgvgzgbgg db ' <20><><EFBFBD>C<EFBFBD>h<EFBFBD>V<EFBFBD><56><EFBFBD>b<EFBFBD>g ',0
|
||
aGcgkgebGwgzgug db '<27>C<EFBFBD><43><EFBFBD><EFBFBD><EFBFBD>[<5B>W<EFBFBD><57><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[<5B>U<EFBFBD>[',0
|
||
aGigsgbghgvgzgb db ' <20><><EFBFBD>s<EFBFBD>b<EFBFBD>h<EFBFBD>V<EFBFBD><56><EFBFBD>b<EFBFBD>g ',0
|
||
aStar db '<27><>',0
|
||
aGtgugegfgGuvSi db '<27>T<EFBFBD>u<EFBFBD>E<EFBFBD>F<EFBFBD>|<7C><><EFBFBD>̑I<CC91><49>',0
|
||
aSlb1_pi db 'slb1.pi',0
|
||
include libs/BorlandC/_abort[data].asm
|
||
include libs/BorlandC/atexit[data].asm
|
||
include libs/BorlandC/exit[data].asm
|
||
include libs/BorlandC/files[data].asm
|
||
include libs/BorlandC/ioerror[data].asm
|
||
include libs/BorlandC/new[data].asm
|
||
include libs/BorlandC/stklen[data].asm
|
||
include libs/BorlandC/ctype[data].asm
|
||
include libs/BorlandC/xxv[data].asm
|
||
include libs/BorlandC/cputype[data].asm
|
||
include libs/BorlandC/fbrk[data].asm
|
||
include libs/BorlandC/signal[data].asm
|
||
include libs/BorlandC/pathops[data].asm
|
||
include libs/BorlandC/srchenv[data].asm
|
||
include libs/BorlandC/srchstr[data].asm
|
||
include libs/BorlandC/setvbuf[data].asm
|
||
include libs/BorlandC/sysnerr[data].asm
|
||
include libs/BorlandC/xx[data].asm
|
||
include libs/BorlandC/setenvp[data].asm
|
||
include libs/BorlandC/strings[data].asm
|
||
include libs/BorlandC/kbhit[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
|
||
dword_10DA4 dd 0
|
||
byte_10DA8 db 0
|
||
db 0
|
||
fp_10DAA dw 0
|
||
byte_10DAC db 0
|
||
byte_10DAD db 0
|
||
include libs/master.lib/clip[bss].asm
|
||
include libs/master.lib/fil[bss].asm
|
||
word_10DD2 dw 0
|
||
db 0
|
||
db 0
|
||
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
|
||
include th01/hardware/vram_planes[bss].asm
|
||
include libs/master.lib/pfint21[bss].asm
|
||
include th02/formats/pi_slots[bss].asm
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
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
|
||
include th04/hardware/snd_interrupt[bss].asm
|
||
include libs/master.lib/bgm[bss].asm
|
||
include th02/hardware/snd_load[bss].asm
|
||
word_11A4E dw ?
|
||
word_11A50 dw ?
|
||
byte_11A52 db ?
|
||
db ? ;
|
||
word_11A54 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 ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
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_11E56 db ?
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
word_11E88 dw ?
|
||
word_11E8A 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 ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
unk_12CF4 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
db ? ;
|
||
db ? ;
|
||
db ?
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
db ? ;
|
||
db ? ;
|
||
word_12DBC dw ?
|
||
byte_12DBE db ?
|
||
db ? ;
|
||
word_12DC0 dw ?
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
include th02/music/music_cmt[bss].asm
|
||
byte_130F2 db ?
|
||
byte_130F3 db ?
|
||
word_130F4 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 ? ;
|
||
db ? ;
|
||
db ? ;
|
||
byte_131A0 db ?
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
byte_131B6 db ?
|
||
byte_131B7 db ?
|
||
byte_131B8 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 ? ;
|
||
db ? ;
|
||
db ? ;
|
||
db ? ;
|
||
byte_13264 db ?
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
db ? ;
|
||
byte_1327B db ?
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
db ? ;
|
||
byte_13286 db ?
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
byte_132B8 db ?
|
||
byte_132B9 db ?
|
||
dword_132BA dd ?
|
||
dword_132BE dd ?
|
||
byte_132C2 db ?
|
||
byte_132C3 db ?
|
||
byte_132C4 db ?
|
||
byte_132C5 db ?
|
||
include libs/BorlandC/atexit[bss].asm
|
||
include libs/BorlandC/sigdata[bss].asm
|
||
include libs/BorlandC/xxv[bss].asm
|
||
include libs/BorlandC/signal[bss].asm
|
||
include libs/BorlandC/xx[bss].asm
|
||
edata@ label byte
|
||
|
||
dseg ends
|
||
|
||
include libs/BorlandC/stack.asm
|
||
|
||
end startx
|