mirror of https://github.com/nmlgc/ReC98.git
5513 lines
108 KiB
NASM
5513 lines
108 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
|
||
|
||
.286 ; Force the .model directive to create 16-bit default segments...
|
||
.model large op_02_TEXT
|
||
__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.inc
|
||
include th04/music/music.inc
|
||
|
||
extern SCOPY@:proc
|
||
extern _execl:proc
|
||
extern _getch:proc
|
||
extern _memcpy:proc
|
||
extern _strlen:proc
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
_TEXT segment word public 'CODE' use16
|
||
assume cs:_TEXT
|
||
assume es:nothing, ds:_DATA, fs:nothing, gs:nothing
|
||
|
||
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
|
||
include libs/master.lib/js_start.asm
|
||
include libs/master.lib/draw_trapezoid.asm
|
||
include th03/formats/pfopen.asm
|
||
include libs/master.lib/pf_str_ieq.asm
|
||
include libs/master.lib/js_sense.asm
|
||
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
|
||
_TEXT ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
op_01_TEXT segment byte public 'CODE' use16
|
||
assume cs:op_01_TEXT
|
||
;org 0Ch
|
||
assume es:nothing, ss:nothing, ds:_DATA, fs:nothing, gs:nothing
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
public CFG_LOAD
|
||
cfg_load 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 _humaconfig+2, ax
|
||
mov word ptr _humaconfig, 0
|
||
les bx, _humaconfig
|
||
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, _humaconfig
|
||
mov byte ptr es:[bx+3Ah], 3
|
||
|
||
loc_A7BE:
|
||
les bx, _humaconfig
|
||
cmp byte ptr es:[bx+3Bh], 2
|
||
jbe short loc_A7CE
|
||
mov byte ptr es:[bx+3Bh], 2
|
||
|
||
loc_A7CE:
|
||
les bx, _humaconfig
|
||
cmp byte ptr es:[bx+10h], 3
|
||
jb short loc_A7DE
|
||
mov byte ptr es:[bx+10h], 0
|
||
|
||
loc_A7DE:
|
||
les bx, _humaconfig
|
||
cmp byte ptr es:[bx+18h], 3
|
||
jb short locret_A7EE
|
||
mov byte ptr es:[bx+18h], 0
|
||
|
||
locret_A7EE:
|
||
leave
|
||
retn
|
||
cfg_load endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
public CFG_SAVE
|
||
cfg_save 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, _humaconfig
|
||
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
|
||
cfg_save endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
public CFG_SAVE_EXIT
|
||
cfg_save_exit 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, _humaconfig
|
||
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
|
||
cfg_save_exit endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
public START_GAME
|
||
start_game proc near
|
||
push bp
|
||
mov bp, sp
|
||
les bx, _humaconfig
|
||
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 playchar_menu
|
||
or ax, ax
|
||
jnz short loc_A96A
|
||
les bx, _humaconfig
|
||
mov byte ptr es:[bx+3Eh], 0
|
||
call main_cdg_free
|
||
call cfg_save
|
||
call gaiji_restore
|
||
kajacall KAJA_SONG_FADE, 10
|
||
call game_exit
|
||
les bx, _humaconfig
|
||
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
|
||
start_game endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
public START_EXTRA
|
||
start_extra proc near
|
||
push bp
|
||
mov bp, sp
|
||
les bx, _humaconfig
|
||
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 playchar_menu
|
||
or ax, ax
|
||
jnz short loc_A9C7
|
||
les bx, _humaconfig
|
||
mov byte ptr es:[bx+3Eh], 0
|
||
call main_cdg_free
|
||
call cfg_save
|
||
call gaiji_restore
|
||
kajacall KAJA_SONG_FADE, 10
|
||
call game_exit
|
||
pushd 0
|
||
push ds
|
||
push offset aMain ; "main"
|
||
push ds
|
||
push offset aMain ; "main"
|
||
call _execl
|
||
add sp, 0Ch
|
||
|
||
loc_A9C7:
|
||
pop bp
|
||
retn
|
||
start_extra endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
public START_DEMO
|
||
start_demo proc near
|
||
push bp
|
||
mov bp, sp
|
||
les bx, _humaconfig
|
||
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, _humaconfig
|
||
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, _humaconfig
|
||
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, _humaconfig
|
||
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, _humaconfig
|
||
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, _humaconfig
|
||
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 main_cdg_free
|
||
call cfg_save
|
||
call gaiji_restore
|
||
call game_exit
|
||
pushd 0
|
||
push ds
|
||
push offset aMain ; "main"
|
||
push ds
|
||
push offset aMain ; "main"
|
||
call _execl
|
||
add sp, 0Ch
|
||
pop bp
|
||
retn
|
||
start_demo 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
|
||
public MAIN_PUT
|
||
main_put 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 egc_copy_rect_1_to_0
|
||
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 (272 shl 16) or 224
|
||
push 10
|
||
call cdg_put_nocolors
|
||
les bx, _humaconfig
|
||
mov al, es:[bx+0Fh]
|
||
mov ah, 0
|
||
add ax, 16h
|
||
mov [bp+var_2], ax
|
||
jmp short loc_AB59
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AB12:
|
||
cmp _extra_unlocked, 0
|
||
jnz short loc_AB24
|
||
call grcg_setcolor pascal, (GC_RMW shl 16) + 12
|
||
|
||
loc_AB24:
|
||
push (272 shl 16) or 244
|
||
push 11
|
||
jmp short loc_AB54
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AB2E:
|
||
push (272 shl 16) or 264
|
||
push 12
|
||
jmp short loc_AB54
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AB38:
|
||
push (272 shl 16) or 284
|
||
push 13
|
||
jmp short loc_AB54
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AB42:
|
||
push (272 shl 16) or 304
|
||
push 14
|
||
jmp short loc_AB54
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AB4C:
|
||
push (272 shl 16) or 324
|
||
push 15
|
||
|
||
loc_AB54:
|
||
call cdg_put_nocolors
|
||
|
||
loc_AB59:
|
||
GRCG_OFF_CLOBBERING dx
|
||
cmp [bp+arg_0], 8
|
||
jnz short loc_ABC4
|
||
call cdg_put pascal, 256, di, 35
|
||
call cdg_put pascal, 352, di, 36
|
||
pushd 180h
|
||
push 2800010h
|
||
call egc_copy_rect_1_to_0
|
||
mov _graph_putsa_fx_func, 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 graph_putsa_fx
|
||
|
||
loc_ABC4:
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 4
|
||
main_put 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
|
||
public OPTION_PUT
|
||
option_put 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 egc_copy_rect_1_to_0
|
||
|
||
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 (224 shl 16) or 224
|
||
push 16
|
||
call cdg_put_nocolors
|
||
push (320 shl 16) or 224
|
||
les bx, _humaconfig
|
||
mov al, es:[bx+0Fh]
|
||
mov ah, 0
|
||
add ax, 21
|
||
push ax
|
||
call cdg_put_nocolors
|
||
les bx, _humaconfig
|
||
mov al, es:[bx+0Fh]
|
||
mov ah, 0
|
||
add ax, 6
|
||
|
||
loc_AC57:
|
||
mov si, ax
|
||
jmp loc_AD9A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AC5C:
|
||
push (224 shl 16) or 240
|
||
push 17
|
||
call cdg_put_nocolors
|
||
push 14000F0h
|
||
les bx, _humaconfig
|
||
mov al, es:[bx+3Ah]
|
||
mov ah, 0
|
||
push ax
|
||
call cdg_put_nocolors
|
||
mov si, 0Ah
|
||
jmp loc_AD9A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AC85:
|
||
push (224 shl 16) or 256
|
||
push 18
|
||
call cdg_put_nocolors
|
||
push 1400100h
|
||
les bx, _humaconfig
|
||
mov al, es:[bx+3Bh]
|
||
mov ah, 0
|
||
push ax
|
||
call cdg_put_nocolors
|
||
mov si, 0Bh
|
||
jmp loc_AD9A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ACAE:
|
||
push (224 shl 16) or 272
|
||
push 19
|
||
call cdg_put_nocolors
|
||
les bx, _humaconfig
|
||
cmp byte ptr es:[bx+10h], 0
|
||
jnz short loc_ACCB
|
||
mov ax, 1Ch
|
||
jmp short loc_ACD8
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ACCB:
|
||
les bx, _humaconfig
|
||
mov al, es:[bx+10h]
|
||
mov ah, 0
|
||
add ax, 18h
|
||
|
||
loc_ACD8:
|
||
mov [bp+var_2], ax
|
||
push (320 shl 16) or 272
|
||
push ax
|
||
call cdg_put_nocolors
|
||
les bx, _humaconfig
|
||
mov al, es:[bx+10h]
|
||
mov ah, 0
|
||
add ax, 0Ch
|
||
jmp loc_AC57
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ACF7:
|
||
push (224 shl 16) or 288
|
||
push 20
|
||
call cdg_put_nocolors
|
||
les bx, _humaconfig
|
||
cmp byte ptr es:[bx+18h], 0
|
||
jnz short loc_AD14
|
||
mov ax, 1Ch
|
||
jmp short loc_AD25
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AD14:
|
||
les bx, _humaconfig
|
||
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 (320 shl 16) or 288
|
||
push ax
|
||
call cdg_put_nocolors
|
||
les bx, _humaconfig
|
||
mov al, es:[bx+18h]
|
||
mov ah, 0
|
||
add ax, 0Fh
|
||
jmp loc_AC57
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AD44:
|
||
push (272 shl 16) or 304
|
||
les bx, _humaconfig
|
||
mov al, es:[bx+49h]
|
||
mov ah, 0
|
||
mov dx, 21h ; '!'
|
||
sub dx, ax
|
||
push dx
|
||
call cdg_put_nocolors
|
||
mov di, 100h
|
||
les bx, _humaconfig
|
||
mov al, es:[bx+49h]
|
||
mov ah, 0
|
||
add ax, 12h
|
||
jmp loc_AC57
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AD72:
|
||
push (272 shl 16) or 320
|
||
push 31
|
||
call cdg_put_nocolors
|
||
mov di, 100h
|
||
mov si, 14h
|
||
jmp short loc_AD9A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AD87:
|
||
push (272 shl 16) or 340
|
||
push 15
|
||
call cdg_put_nocolors
|
||
mov di, 100h
|
||
mov si, 15h
|
||
|
||
loc_AD9A:
|
||
GRCG_OFF_CLOBBERING dx
|
||
cmp [bp+arg_0], 8
|
||
jnz short loc_AE11
|
||
call cdg_put pascal, di, [bp+var_4], 35
|
||
cmp di, 256
|
||
jnz short loc_ADBD
|
||
lea ax, [di+60h]
|
||
push ax
|
||
jmp short loc_ADC0
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ADBD:
|
||
push 384
|
||
|
||
loc_ADC0:
|
||
push [bp+var_4]
|
||
push 36
|
||
call cdg_put
|
||
pushd 180h
|
||
push 2800010h
|
||
call egc_copy_rect_1_to_0
|
||
mov _graph_putsa_fx_func, 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 graph_putsa_fx
|
||
|
||
loc_AE11:
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 4
|
||
option_put 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
|
||
public MENU_SEL_MOVE
|
||
menu_sel_move proc near
|
||
|
||
arg_0 = byte ptr 4
|
||
arg_2 = byte ptr 6
|
||
|
||
push bp
|
||
mov bp, sp
|
||
mov al, _menu_sel
|
||
cbw
|
||
push ax
|
||
push 1
|
||
call _putfunc
|
||
mov al, [bp+arg_0]
|
||
add _menu_sel, al
|
||
mov al, _menu_sel
|
||
cbw
|
||
or ax, ax
|
||
jge short loc_AE4B
|
||
mov al, [bp+arg_2]
|
||
mov _menu_sel, al
|
||
|
||
loc_AE4B:
|
||
mov al, _menu_sel
|
||
cmp al, [bp+arg_2]
|
||
jle short loc_AE58
|
||
mov _menu_sel, 0
|
||
|
||
loc_AE58:
|
||
cmp _extra_unlocked, 0
|
||
jnz short loc_AE76
|
||
mov al, _menu_sel
|
||
cbw
|
||
cmp ax, 1
|
||
jnz short loc_AE76
|
||
cmp _in_option, 0
|
||
jnz short loc_AE76
|
||
mov al, [bp+arg_0]
|
||
add _menu_sel, al
|
||
|
||
loc_AE76:
|
||
mov al, _menu_sel
|
||
cbw
|
||
push ax
|
||
push 8
|
||
call _putfunc
|
||
call snd_se_reset
|
||
call snd_se_play pascal, 1
|
||
call snd_se_update
|
||
pop bp
|
||
retn 4
|
||
menu_sel_move endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
public MAIN_UPDATE_AND_RENDER
|
||
main_update_and_render proc near
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
cmp _main_menu_initialized, 0
|
||
jnz short loc_AEEB
|
||
mov _main_menu_unused_1, 0
|
||
mov _main_input_allowed, 0
|
||
push 0C000E0h
|
||
push 12000A0h
|
||
call egc_copy_rect_1_to_0
|
||
xor si, si
|
||
jmp short loc_AED6
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AEC0:
|
||
push si
|
||
mov al, _menu_sel
|
||
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 main_put
|
||
inc si
|
||
|
||
loc_AED6:
|
||
cmp si, 6
|
||
jl short loc_AEC0
|
||
mov _putfunc, offset main_put
|
||
mov _main_menu_initialized, 1
|
||
mov _main_input_allowed, 0
|
||
|
||
loc_AEEB:
|
||
cmp _key_det, INPUT_NONE
|
||
jnz short loc_AEF7
|
||
mov _main_input_allowed, 1
|
||
|
||
loc_AEF7:
|
||
cmp _main_input_allowed, 0
|
||
jz loc_B043
|
||
test _key_det.lo, low INPUT_UP
|
||
jz short loc_AF0E
|
||
call menu_sel_move pascal, 5, -1
|
||
|
||
loc_AF0E:
|
||
test _key_det.lo, low INPUT_DOWN
|
||
jz short loc_AF1C
|
||
call menu_sel_move pascal, 5, 1
|
||
|
||
loc_AF1C:
|
||
test _key_det.hi, high INPUT_OK
|
||
jnz short loc_AF2C
|
||
test _key_det.lo, low INPUT_SHOT
|
||
jz loc_B02B
|
||
|
||
loc_AF2C:
|
||
call snd_se_reset
|
||
call snd_se_play pascal, 11
|
||
call snd_se_update
|
||
mov al, _menu_sel
|
||
cbw
|
||
mov bx, ax
|
||
cmp bx, 5
|
||
ja loc_B02B
|
||
add bx, bx
|
||
jmp cs:off_B046[bx]
|
||
|
||
loc_AF51:
|
||
call start_game
|
||
jmp short loc_AFBD
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AF56:
|
||
call start_extra
|
||
graph_accesspage 1
|
||
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 _main_menu_initialized, 0
|
||
mov _in_option, 0
|
||
mov _menu_sel, 1
|
||
jmp loc_B043
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AFAD:
|
||
call sub_CA94
|
||
mov _main_menu_initialized, 0
|
||
jmp short loc_B02B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AFB7:
|
||
call musicroom
|
||
call main_cdg_load
|
||
|
||
loc_AFBD:
|
||
graph_accesspage 1
|
||
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 _main_menu_initialized, 0
|
||
mov _in_option, 0
|
||
mov _menu_sel, 0
|
||
jmp short loc_B043
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B010:
|
||
mov _main_menu_initialized, 0
|
||
mov _in_option, 1
|
||
mov _menu_sel, 0
|
||
jmp short loc_B02B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B021:
|
||
mov _main_menu_initialized, 0
|
||
mov _quit, 1
|
||
|
||
loc_B02B:
|
||
test _key_det.hi, high INPUT_CANCEL
|
||
jz short loc_B037
|
||
mov _quit, 1
|
||
|
||
loc_B037:
|
||
cmp _key_det, INPUT_NONE
|
||
jz short loc_B043
|
||
mov _main_input_allowed, 0
|
||
|
||
loc_B043:
|
||
pop si
|
||
pop bp
|
||
retn
|
||
main_update_and_render 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
|
||
public OPTION_UPDATE_AND_RENDER
|
||
option_update_and_render proc near
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
cmp _option_initialized, 0
|
||
jnz short loc_B0A2
|
||
mov _option_input_allowed, 0
|
||
push 11000E0h
|
||
push 0A00090h
|
||
call egc_copy_rect_1_to_0
|
||
xor si, si
|
||
jmp short loc_B08D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B077:
|
||
push si
|
||
mov al, _menu_sel
|
||
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 option_put
|
||
inc si
|
||
|
||
loc_B08D:
|
||
cmp si, 8
|
||
jl short loc_B077
|
||
mov _putfunc, offset option_put
|
||
mov _option_initialized, 1
|
||
mov _option_input_allowed, 0
|
||
|
||
loc_B0A2:
|
||
cmp _key_det, INPUT_NONE
|
||
jnz short loc_B0AE
|
||
mov _option_input_allowed, 1
|
||
|
||
loc_B0AE:
|
||
cmp _option_input_allowed, 0
|
||
jz loc_B35B
|
||
test _key_det.lo, low INPUT_UP
|
||
jz short loc_B0C5
|
||
call menu_sel_move pascal, 7, -1
|
||
|
||
loc_B0C5:
|
||
test _key_det.lo, low INPUT_DOWN
|
||
jz short loc_B0D3
|
||
call menu_sel_move pascal, 7, 1
|
||
|
||
loc_B0D3:
|
||
test _key_det.hi, high INPUT_OK
|
||
jnz short loc_B0E3
|
||
test _key_det.lo, low INPUT_SHOT
|
||
jz loc_B16F
|
||
|
||
loc_B0E3:
|
||
mov al, _menu_sel
|
||
cbw
|
||
cmp ax, 6
|
||
jz short loc_B0F4
|
||
cmp ax, 7
|
||
jz short loc_B14F
|
||
jmp loc_B178
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B0F4:
|
||
les bx, _humaconfig
|
||
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, _humaconfig
|
||
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 _option_initialized, 0
|
||
jmp short loc_B16F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B14F:
|
||
call snd_se_reset
|
||
call snd_se_play pascal, 11
|
||
call snd_se_update
|
||
mov _option_initialized, 0
|
||
mov _menu_sel, 4
|
||
mov _in_option, 0
|
||
|
||
loc_B16F:
|
||
test _key_det.lo, low INPUT_RIGHT
|
||
jz loc_B250
|
||
|
||
loc_B178:
|
||
mov al, _menu_sel
|
||
cbw
|
||
mov bx, ax
|
||
cmp bx, 5
|
||
ja loc_B246
|
||
add bx, bx
|
||
jmp cs:off_B36B[bx]
|
||
|
||
loc_B18C:
|
||
les bx, _humaconfig
|
||
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, _humaconfig
|
||
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, _humaconfig
|
||
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, _humaconfig
|
||
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, _humaconfig
|
||
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, _humaconfig
|
||
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, _humaconfig
|
||
dec byte ptr es:[bx+18h]
|
||
jmp short loc_B246
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B238:
|
||
les bx, _humaconfig
|
||
mov al, 1
|
||
sub al, es:[bx+49h]
|
||
mov es:[bx+49h], al
|
||
|
||
loc_B246:
|
||
mov al, _menu_sel
|
||
cbw
|
||
push ax
|
||
push 8
|
||
call option_put
|
||
|
||
loc_B250:
|
||
test _key_det.lo, low INPUT_LEFT
|
||
jz loc_B339
|
||
mov al, _menu_sel
|
||
cbw
|
||
mov bx, ax
|
||
cmp bx, 5
|
||
ja loc_B32F
|
||
add bx, bx
|
||
jmp cs:off_B35F[bx]
|
||
|
||
loc_B26D:
|
||
les bx, _humaconfig
|
||
cmp byte ptr es:[bx+0Fh], 0
|
||
jnz short loc_B27D
|
||
mov byte ptr es:[bx+0Fh], 4
|
||
|
||
loc_B27D:
|
||
les bx, _humaconfig
|
||
dec byte ptr es:[bx+0Fh]
|
||
jmp loc_B32F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B288:
|
||
les bx, _humaconfig
|
||
cmp byte ptr es:[bx+3Ah], 1
|
||
jnz short loc_B298
|
||
mov byte ptr es:[bx+3Ah], 7
|
||
|
||
loc_B298:
|
||
les bx, _humaconfig
|
||
dec byte ptr es:[bx+3Ah]
|
||
jmp loc_B32F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B2A3:
|
||
les bx, _humaconfig
|
||
cmp byte ptr es:[bx+3Bh], 0
|
||
jnz short loc_B2B3
|
||
mov byte ptr es:[bx+3Bh], 3
|
||
|
||
loc_B2B3:
|
||
les bx, _humaconfig
|
||
dec byte ptr es:[bx+3Bh]
|
||
jmp short loc_B32F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B2BD:
|
||
les bx, _humaconfig
|
||
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, _humaconfig
|
||
dec byte ptr es:[bx+10h]
|
||
|
||
loc_B2D7:
|
||
kajacall KAJA_SONG_STOP
|
||
les bx, _humaconfig
|
||
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, _humaconfig
|
||
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, _humaconfig
|
||
mov al, 1
|
||
sub al, es:[bx+49h]
|
||
mov es:[bx+49h], al
|
||
|
||
loc_B32F:
|
||
mov al, _menu_sel
|
||
cbw
|
||
push ax
|
||
push 8
|
||
call option_put
|
||
|
||
loc_B339:
|
||
test _key_det.hi, high INPUT_CANCEL
|
||
jz short loc_B34F
|
||
mov _option_initialized, 0
|
||
mov _menu_sel, 4
|
||
mov _in_option, 0
|
||
|
||
loc_B34F:
|
||
cmp _key_det, INPUT_NONE
|
||
jz short loc_B35B
|
||
mov _option_input_allowed, 0
|
||
|
||
loc_B35B:
|
||
pop si
|
||
pop bp
|
||
retn
|
||
option_update_and_render 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)
|
||
public _main
|
||
_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 _mem_assign_paras, MEM_ASSIGN_PARAS_OP
|
||
call _game_init_op c, offset aMSzlEd_dat, ds
|
||
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 cfg_load
|
||
les bx, _humaconfig
|
||
cmp byte ptr es:[bx+0Fh], 0FFh
|
||
jnz short loc_B3D3
|
||
call sub_B9CE
|
||
les bx, _humaconfig
|
||
mov byte ptr es:[bx+0Fh], 1
|
||
|
||
loc_B3D3:
|
||
les bx, _humaconfig
|
||
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, _humaconfig
|
||
cmp byte ptr es:[bx+48h], 0
|
||
jnz short loc_B40D
|
||
call zunsoft
|
||
les bx, _humaconfig
|
||
mov byte ptr es:[bx+48h], 1
|
||
|
||
loc_B40D:
|
||
les bx, _humaconfig
|
||
cmp byte ptr es:[bx+3Eh], 0
|
||
jnz short loc_B420
|
||
kajacall KAJA_SONG_STOP
|
||
|
||
loc_B420:
|
||
call op_animate
|
||
call score_cleared_load
|
||
call main_cdg_load
|
||
mov _in_option, 0
|
||
mov _quit, 0
|
||
mov _menu_sel, 0
|
||
jmp short loc_B47B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B43A:
|
||
call far ptr _input_reset_sense
|
||
mov al, _in_option
|
||
cbw
|
||
or ax, ax
|
||
jz short loc_B44E
|
||
cmp ax, 1
|
||
jz short loc_B45C
|
||
jmp short loc_B45F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B44E:
|
||
call main_update_and_render
|
||
cmp si, 280h
|
||
jl short loc_B45F
|
||
call start_demo
|
||
jmp short loc_B45F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B45C:
|
||
call option_update_and_render
|
||
|
||
loc_B45F:
|
||
cmp _key_det, INPUT_NONE
|
||
jnz short loc_B469
|
||
inc si
|
||
jmp short loc_B46B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B469:
|
||
xor si, si
|
||
|
||
loc_B46B:
|
||
les bx, _humaconfig
|
||
inc dword ptr es:[bx+14h]
|
||
push 1
|
||
call frame_delay
|
||
|
||
loc_B47B:
|
||
cmp _quit, 0
|
||
jz short loc_B43A
|
||
call main_cdg_free
|
||
call cfg_save_exit
|
||
call gaiji_restore
|
||
call text_clear
|
||
call game_exit_to_dos
|
||
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 egc_copy_rect_1_to_0
|
||
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 egc_copy_rect_1_to_0
|
||
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 egc_copy_rect_1_to_0
|
||
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 graph_putsa_fx
|
||
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 graph_putsa_fx
|
||
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 graph_putsa_fx
|
||
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 graph_putsa_fx
|
||
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 graph_putsa_fx
|
||
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:
|
||
call input_wait_for_change pascal, 0
|
||
push 1
|
||
call frame_delay
|
||
test _key_det.hi, high INPUT_OK
|
||
jnz short loc_B87A
|
||
test _key_det.lo, low INPUT_SHOT
|
||
jnz short loc_B87A
|
||
test _key_det.lo, low INPUT_UP
|
||
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 _key_det.lo, low INPUT_DOWN
|
||
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, _humaconfig
|
||
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 graph_putsa_fx
|
||
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:
|
||
call input_wait_for_change pascal, 0
|
||
push 1
|
||
call frame_delay
|
||
test _key_det.hi, high INPUT_OK
|
||
jnz short loc_B997
|
||
test _key_det.lo, low INPUT_SHOT
|
||
jnz short loc_B997
|
||
test _key_det.lo, low INPUT_DOWN
|
||
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 _key_det.lo, low INPUT_UP
|
||
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, _humaconfig
|
||
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
|
||
graph_accesspage 1
|
||
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
|
||
|
||
include th04/zunsoft.asm
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
public DRAW_TRACK
|
||
draw_track proc near
|
||
|
||
var_1 = byte ptr -1
|
||
@@color = byte ptr 4
|
||
@@sel = byte ptr 6
|
||
|
||
enter 2, 0
|
||
mov al, 1
|
||
sub al, _music_page
|
||
mov [bp+var_1], al
|
||
graph_accesspage al
|
||
push 10h
|
||
mov al, [bp+@@sel]
|
||
mov ah, 0
|
||
shl ax, 4
|
||
add ax, 8
|
||
push ax
|
||
mov al, [bp+@@color]
|
||
mov ah, 0
|
||
push ax
|
||
mov al, [bp+@@sel]
|
||
mov ah, 0
|
||
shl ax, 2
|
||
mov bx, ax
|
||
pushd _MUSIC_TITLES[bx]
|
||
call graph_putsa_fx
|
||
graph_accesspage _music_page
|
||
push 10h
|
||
mov al, [bp+@@sel]
|
||
mov ah, 0
|
||
shl ax, 4
|
||
add ax, 8
|
||
push ax
|
||
mov al, [bp+@@color]
|
||
mov ah, 0
|
||
push ax
|
||
mov al, [bp+@@sel]
|
||
mov ah, 0
|
||
shl ax, 2
|
||
mov bx, ax
|
||
pushd _MUSIC_TITLES[bx]
|
||
call graph_putsa_fx
|
||
leave
|
||
retn 4
|
||
draw_track endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
public DRAW_TRACKS
|
||
draw_tracks proc near
|
||
|
||
@@sel = byte ptr 4
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
xor si, si
|
||
jmp short loc_BF5E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BF49:
|
||
push si
|
||
mov al, [bp+@@sel]
|
||
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 draw_track
|
||
inc si
|
||
|
||
loc_BF5E:
|
||
cmp si, 18h
|
||
jl short loc_BF49
|
||
pop si
|
||
pop bp
|
||
retn 2
|
||
draw_tracks endp
|
||
|
||
include th02/music/music.asm
|
||
include th02/music/music_cmt_load.asm
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
public DRAW_CMT_LINES
|
||
draw_cmt_lines proc near
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push 1400040h
|
||
push 7
|
||
push ds
|
||
push offset _music_cmt
|
||
call graph_putsa_fx
|
||
mov si, 1
|
||
jmp short loc_C306
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C2DE:
|
||
mov bx, si
|
||
imul bx, MUSIC_CMT_LINE_LEN
|
||
cmp _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 graph_putsa_fx
|
||
|
||
loc_C305:
|
||
inc si
|
||
|
||
loc_C306:
|
||
cmp si, MUSIC_CMT_LINE_COUNT
|
||
jl short loc_C2DE
|
||
pop si
|
||
pop bp
|
||
retn
|
||
draw_cmt_lines 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 _graph_putsa_fx_func, si
|
||
call draw_cmt_lines
|
||
call music_flip
|
||
call draw_cmt_lines
|
||
call music_flip
|
||
inc si
|
||
|
||
loc_C328:
|
||
cmp si, 8
|
||
jl short loc_C317
|
||
mov _graph_putsa_fx_func, 2
|
||
call draw_cmt_lines
|
||
call music_flip
|
||
call draw_cmt_lines
|
||
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 _graph_putsa_fx_func, 2
|
||
push 1400040h
|
||
push 1400140h
|
||
call bgimage_put_rect
|
||
call music_flip
|
||
push 1400040h
|
||
push 1400140h
|
||
call bgimage_put_rect
|
||
pop bp
|
||
retn
|
||
sub_C33F endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
public DRAW_CMT
|
||
draw_cmt 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 screen_back_B_put
|
||
push 1400040h
|
||
push 1400140h
|
||
call bgimage_put_rect
|
||
cmp byte_12DBE, 0
|
||
jz short loc_C3A2
|
||
call sub_C30E
|
||
jmp short loc_C3B0
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C3A2:
|
||
mov byte_12DBE, 1
|
||
call draw_cmt_lines
|
||
call music_flip
|
||
call draw_cmt_lines
|
||
|
||
loc_C3B0:
|
||
call screen_back_B_put
|
||
pop bp
|
||
retn 2
|
||
draw_cmt endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
public MUSICROOM
|
||
musicroom proc near
|
||
push bp
|
||
mov bp, sp
|
||
mov byte_12DBE, 0
|
||
call cdg_freeall
|
||
call text_clear
|
||
mov _music_page, 1
|
||
mov PaletteTone, 0
|
||
call far ptr palette_show
|
||
graph_showpage 0
|
||
graph_accesspage al
|
||
call graph_clear
|
||
graph_accesspage 1
|
||
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, music_track_playing
|
||
mov _music_sel, al
|
||
call draw_tracks pascal, word ptr _music_sel
|
||
push 0
|
||
call graph_copy_page
|
||
call bgimage_snap
|
||
graph_accesspage 1
|
||
graph_showpage 0
|
||
call screen_back_B_snap
|
||
mov al, music_track_playing
|
||
mov ah, 0
|
||
call draw_cmt pascal, ax
|
||
mov PaletteTone, 64h ; 'd'
|
||
call far ptr palette_show
|
||
|
||
loc_C454:
|
||
call far ptr _input_reset_sense
|
||
cmp _key_det, INPUT_NONE
|
||
jz short loc_C465
|
||
call music_flip
|
||
jmp short loc_C454
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C465:
|
||
call far ptr _input_reset_sense
|
||
test _key_det.lo, low INPUT_UP
|
||
jz short loc_C4A0
|
||
call draw_track pascal, word ptr _music_sel, 5
|
||
cmp _music_sel, 0
|
||
jbe short loc_C487
|
||
dec _music_sel
|
||
jmp short loc_C48C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C487:
|
||
mov _music_sel, 17h
|
||
|
||
loc_C48C:
|
||
cmp _music_sel, 16h
|
||
jnz short loc_C497
|
||
dec _music_sel
|
||
|
||
loc_C497:
|
||
call draw_track pascal, word ptr _music_sel, 3
|
||
|
||
loc_C4A0:
|
||
test _key_det.lo, low INPUT_DOWN
|
||
jz short loc_C4D6
|
||
call draw_track pascal, word ptr _music_sel, 5
|
||
cmp _music_sel, 17h
|
||
jnb short loc_C4BD
|
||
inc _music_sel
|
||
jmp short loc_C4C2
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C4BD:
|
||
mov _music_sel, 0
|
||
|
||
loc_C4C2:
|
||
cmp _music_sel, 16h
|
||
jnz short loc_C4CD
|
||
inc _music_sel
|
||
|
||
loc_C4CD:
|
||
call draw_track pascal, word ptr _music_sel, 3
|
||
|
||
loc_C4D6:
|
||
test _key_det.lo, low INPUT_SHOT
|
||
jnz short loc_C4E4
|
||
test _key_det.hi, high INPUT_OK
|
||
jz short loc_C51D
|
||
|
||
loc_C4E4:
|
||
cmp _music_sel, 17h
|
||
jz short loc_C533
|
||
kajacall KAJA_SONG_FADE, 32
|
||
mov al, _music_sel
|
||
mov music_track_playing, al
|
||
mov ah, 0
|
||
call draw_cmt pascal, ax
|
||
mov al, _music_sel
|
||
mov ah, 0
|
||
shl ax, 2
|
||
mov bx, ax
|
||
call snd_load pascal, dword ptr _MUSIC_FILES[bx], SND_LOAD_SONG
|
||
kajacall KAJA_SONG_PLAY
|
||
|
||
loc_C51D:
|
||
test _key_det.hi, high INPUT_CANCEL
|
||
jnz short loc_C533
|
||
cmp _key_det, INPUT_NONE
|
||
jnz loc_C454
|
||
call music_flip
|
||
jmp loc_C465
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C533:
|
||
call far ptr _input_reset_sense
|
||
cmp _key_det, INPUT_NONE
|
||
jz short loc_C544
|
||
call music_flip
|
||
jmp short loc_C533
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C544:
|
||
kajacall KAJA_SONG_FADE, 16
|
||
call screen_back_B_free
|
||
graph_showpage 0
|
||
graph_accesspage al
|
||
push 1
|
||
call palette_black_out
|
||
call bgimage_free
|
||
call snd_load pascal, ds, offset aOp_2, SND_LOAD_SONG
|
||
kajacall KAJA_SONG_PLAY
|
||
pop bp
|
||
retn
|
||
musicroom 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
|
||
public SCORE_LOAD
|
||
score_load 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, _rank
|
||
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
|
||
score_load 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
|
||
public SCORE_MENU
|
||
score_menu proc near
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
graph_accesspage 1
|
||
call pi_slot_palette_apply pascal, 0
|
||
call pi_slot_put pascal, large 0, 0
|
||
graph_accesspage 0
|
||
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, _rank
|
||
mov ah, 0
|
||
add ax, ax
|
||
add ax, 0Ah
|
||
push ax
|
||
call super_put
|
||
push 2300178h
|
||
mov al, _rank
|
||
mov ah, 0
|
||
add ax, ax
|
||
add ax, 0Bh
|
||
push ax
|
||
call super_put
|
||
pop si
|
||
pop bp
|
||
retn
|
||
score_menu 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, _humaconfig
|
||
assume es:nothing
|
||
mov al, es:[bx+0Fh]
|
||
mov _rank, al
|
||
call score_load
|
||
call pi_slot_load pascal, 0, ds, offset aHi01_pi
|
||
|
||
loc_CADA:
|
||
call score_menu
|
||
push 1
|
||
call palette_black_in
|
||
|
||
loc_CAE4:
|
||
call far ptr _input_reset_sense
|
||
push 1
|
||
call frame_delay
|
||
test _key_det.hi, high INPUT_OK
|
||
jnz short loc_CB58
|
||
test _key_det.lo, low INPUT_SHOT
|
||
jnz short loc_CB58
|
||
test _key_det.hi, high INPUT_CANCEL
|
||
jnz short loc_CB58
|
||
test _key_det.hi, high INPUT_OK
|
||
jnz short loc_CB58
|
||
test _key_det.lo, low INPUT_LEFT
|
||
jz short loc_CB36
|
||
cmp _rank, RANK_EASY
|
||
jz short loc_CB36
|
||
dec _rank
|
||
mov PaletteTone, 0
|
||
call far ptr palette_show
|
||
call score_load
|
||
call score_menu
|
||
push 1
|
||
call palette_black_in
|
||
|
||
loc_CB36:
|
||
test _key_det.lo, low INPUT_RIGHT
|
||
jz short loc_CAE4
|
||
cmp _rank, RANK_EXTRA
|
||
jnb short loc_CAE4
|
||
inc _rank
|
||
mov PaletteTone, 0
|
||
call far ptr palette_show
|
||
call score_load
|
||
jmp short loc_CADA
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CB58:
|
||
kajacall KAJA_SONG_FADE, 1
|
||
push 1
|
||
call palette_black_out
|
||
freePISlotLarge 0
|
||
graph_accesspage 1
|
||
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 _input_reset_sense
|
||
push 1
|
||
call frame_delay
|
||
cmp _key_det, INPUT_NONE
|
||
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
|
||
public SCORE_CLEARED_LOAD
|
||
score_cleared_load proc near
|
||
push bp
|
||
mov bp, sp
|
||
mov _rank, RANK_EASY
|
||
jmp loc_CC6F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CBEE:
|
||
call score_load
|
||
or al, al
|
||
jnz loc_CC78
|
||
mov al, _rank
|
||
mov ah, 0
|
||
mov dl, byte_131A0
|
||
mov bx, ax
|
||
mov [bx+3F3Ch], dl
|
||
mov al, _rank
|
||
mov ah, 0
|
||
mov dl, byte_13264
|
||
mov bx, ax
|
||
mov [bx+3F41h], dl
|
||
mov al, _rank
|
||
mov ah, 0
|
||
mov bx, ax
|
||
cmp byte ptr [bx+3F3Ch], 3
|
||
jbe short loc_CC2F
|
||
mov al, _rank
|
||
mov ah, 0
|
||
mov bx, ax
|
||
mov byte ptr [bx+3F3Ch], 0
|
||
|
||
loc_CC2F:
|
||
mov al, _rank
|
||
mov ah, 0
|
||
mov bx, ax
|
||
cmp byte ptr [bx+3F41h], 3
|
||
jbe short loc_CC49
|
||
mov al, _rank
|
||
mov ah, 0
|
||
mov bx, ax
|
||
mov byte ptr [bx+3F41h], 0
|
||
|
||
loc_CC49:
|
||
cmp _rank, RANK_EASY
|
||
jz short loc_CC6B
|
||
mov al, _rank
|
||
mov ah, 0
|
||
mov bx, ax
|
||
mov al, [bx+3F3Ch]
|
||
mov dl, _rank
|
||
mov dh, 0
|
||
mov bx, dx
|
||
or al, [bx+3F41h]
|
||
or _extra_unlocked, al
|
||
|
||
loc_CC6B:
|
||
inc _rank
|
||
|
||
loc_CC6F:
|
||
cmp _rank, RANK_COUNT
|
||
jb loc_CBEE
|
||
|
||
loc_CC78:
|
||
les bx, _humaconfig
|
||
mov al, es:[bx+0Fh]
|
||
mov _rank, 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
|
||
score_cleared_load endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
main_cdg_load proc near
|
||
push bp
|
||
mov bp, sp
|
||
call cdg_load_all pascal, 0, ds, offset aSft1_cd2
|
||
call cdg_load_all pascal, 10, ds, offset aSft2_cd2
|
||
call cdg_load_all pascal, 35, ds, offset aCar_cd2
|
||
call cdg_load_all_noalpha pascal, 40, ds, offset aSl_cd2
|
||
pop bp
|
||
retn
|
||
main_cdg_load endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
main_cdg_free proc near
|
||
push bp
|
||
mov bp, sp
|
||
call cdg_freeall
|
||
pop bp
|
||
retn
|
||
main_cdg_free endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
op_animate proc near
|
||
|
||
@@page = byte ptr -4
|
||
var_3 = byte ptr -3
|
||
@@component = word ptr -2
|
||
|
||
enter 4, 0
|
||
push si
|
||
push di
|
||
mov PaletteTone, 0
|
||
call far ptr palette_show
|
||
graph_accesspage 1
|
||
call grcg_setcolor pascal, (GC_RMW shl 16) + 15
|
||
call grcg_byteboxfill_x pascal, large 0, (((RES_X - 1) / 8) shl 16) or (RES_Y - 1)
|
||
GRCG_OFF_CLOBBERING dx
|
||
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
|
||
graph_showpage 0
|
||
graph_accesspage 1
|
||
xor si, si
|
||
mov [bp+var_3], 0
|
||
mov di, 64h ; 'd'
|
||
mov [bp+@@page], 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]
|
||
graph_accesspage [bp+@@page]
|
||
mov al, 1
|
||
sub al, [bp+@@page]
|
||
mov [bp+@@page], al
|
||
graph_showpage 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
|
||
graph_showpage 0
|
||
graph_accesspage al
|
||
freePISlotLarge 0
|
||
freePISlotLarge 1
|
||
freePISlotLarge 2
|
||
freePISlotLarge 3
|
||
freePISlotLarge 4
|
||
freePISlotLarge 5
|
||
les bx, _humaconfig
|
||
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:
|
||
graph_accesspage 1
|
||
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, size rgb_t
|
||
mov Palettes[bx].r, 0FFh
|
||
mov bx, si
|
||
imul bx, size rgb_t
|
||
mov Palettes[bx].g, 0FFh
|
||
mov bx, si
|
||
imul bx, size rgb_t
|
||
mov Palettes[bx].b, 0FFh
|
||
inc si
|
||
|
||
loc_CEAA:
|
||
cmp si, PALETTE_COLORS
|
||
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[0 * size rgb_t].r, al
|
||
mov Palettes[0 * size rgb_t].g, al
|
||
mov Palettes[0 * size rgb_t].b, 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+@@component], 0
|
||
jmp short loc_CF2D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CF01:
|
||
mov bx, di
|
||
imul bx, size rgb_t
|
||
add bx, [bp+@@component]
|
||
mov al, _pi_slot_headers._palette[bx]
|
||
mov bx, di
|
||
imul bx, size rgb_t
|
||
add bx, [bp+@@component]
|
||
cmp al, Palettes[bx].r
|
||
jnb short loc_CF2A
|
||
mov bx, di
|
||
imul bx, size rgb_t
|
||
add bx, [bp+@@component]
|
||
mov al, [bp+var_3]
|
||
mov Palettes[bx].r, al
|
||
|
||
loc_CF2A:
|
||
inc [bp+@@component]
|
||
|
||
loc_CF2D:
|
||
cmp [bp+@@component], size rgb_t
|
||
jl short loc_CF01
|
||
inc di
|
||
|
||
loc_CF34:
|
||
cmp di, PALETTE_COLORS
|
||
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
|
||
op_animate 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
|
||
|
||
darken_pic 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
|
||
GRCG_OFF_CLOBBERING dx
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 2
|
||
darken_pic 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 graph_putsa_fx
|
||
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 graph_putsa_fx
|
||
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 graph_putsa_fx
|
||
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 graph_putsa_fx
|
||
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, 80
|
||
jmp short loc_D353
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D350:
|
||
mov si, 368
|
||
|
||
loc_D353:
|
||
mov di, 312
|
||
call grcg_setcolor pascal, (GC_RMW shl 16) + 1
|
||
lea ax, [si+8]
|
||
push ax
|
||
lea ax, [di+8]
|
||
push ax
|
||
lea ax, [si+200]
|
||
push ax
|
||
lea ax, [di+72]
|
||
push ax
|
||
push 8
|
||
call grcg_round_boxfill
|
||
call grcg_setcolor pascal, (GC_RMW shl 16) + 2
|
||
push si
|
||
push di
|
||
lea ax, [si+192]
|
||
push ax
|
||
lea ax, [di+64]
|
||
push ax
|
||
push 8
|
||
call grcg_round_boxfill
|
||
GRCG_OFF_CLOBBERING dx
|
||
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 (40 shl 16) or 44
|
||
push 40
|
||
call cdg_put_noalpha
|
||
push 1
|
||
call sub_D0FF
|
||
push (336 shl 16) or 52
|
||
push 41
|
||
call cdg_put_noalpha
|
||
push 1
|
||
call darken_pic
|
||
call grcg_setcolor pascal, (GC_RMW shl 16) + 1
|
||
call grcg_byteboxfill_x pascal, ((296 / 8) shl 16) or 52, ((296 / 8) shl 16) or 287
|
||
call grcg_byteboxfill_x pascal, (( 48 / 8) shl 16) or 288, ((296 / 8) shl 16) or 295
|
||
GRCG_OFF_CLOBBERING dx
|
||
push 0
|
||
jmp short loc_D460
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D407:
|
||
push (328 shl 16) or 44
|
||
push 41
|
||
call cdg_put_noalpha
|
||
push 0
|
||
call sub_D0FF
|
||
push (48 shl 16) or 52
|
||
push 40
|
||
call cdg_put_noalpha
|
||
push 0
|
||
call darken_pic
|
||
call grcg_setcolor pascal, (GC_RMW shl 16) + 1
|
||
call grcg_byteboxfill_x pascal, ((584 / 8) shl 16) or 52, ((584 / 8) shl 16) or 287
|
||
call grcg_byteboxfill_x pascal, ((336 / 8) shl 16) or 288, ((584 / 8) shl 16) or 295
|
||
GRCG_OFF_CLOBBERING dx
|
||
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, _humaconfig
|
||
cmp byte ptr es:[bx+11h], 6
|
||
jnz short loc_D47E
|
||
mov ax, 4
|
||
jmp short loc_D488
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D47E:
|
||
les bx, _humaconfig
|
||
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 _graph_putsa_fx_func, 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 graph_putsa_fx
|
||
mov _graph_putsa_fx_func, 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 graph_putsa_fx
|
||
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 _graph_putsa_fx_func, 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 graph_putsa_fx
|
||
mov _graph_putsa_fx_func, 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 graph_putsa_fx
|
||
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, 312
|
||
mov di, 320
|
||
call grcg_setcolor pascal, (GC_RMW shl 16) + 1
|
||
lea ax, [di+8]
|
||
push ax
|
||
lea ax, [si+8]
|
||
push ax
|
||
lea ax, [di+199]
|
||
push ax
|
||
lea ax, [si+31]
|
||
push ax
|
||
push 8
|
||
call grcg_round_boxfill
|
||
lea ax, [di+8]
|
||
push ax
|
||
lea ax, [si+32]
|
||
push ax
|
||
lea ax, [di+199]
|
||
push ax
|
||
lea ax, [si+55]
|
||
push ax
|
||
push 8
|
||
call grcg_round_boxfill
|
||
push 136
|
||
lea ax, [si+8]
|
||
push ax
|
||
push 327
|
||
lea ax, [si+31]
|
||
push ax
|
||
push 8
|
||
call grcg_round_boxfill
|
||
call grcg_setcolor pascal, (GC_RMW shl 16) + 2
|
||
push di
|
||
push si
|
||
lea ax, [di+192]
|
||
push ax
|
||
lea ax, [si+23]
|
||
push ax
|
||
push 8
|
||
call grcg_round_boxfill
|
||
push di
|
||
lea ax, [si+24]
|
||
push ax
|
||
lea ax, [di+192]
|
||
push ax
|
||
lea ax, [si+47]
|
||
push ax
|
||
push 8
|
||
call grcg_round_boxfill
|
||
push 128
|
||
push si
|
||
push 319
|
||
lea ax, [si+23]
|
||
push ax
|
||
push 8
|
||
call grcg_round_boxfill
|
||
GRCG_OFF_CLOBBERING dx
|
||
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 graph_putsa_fx
|
||
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 (184 shl 16) or 44
|
||
push 40
|
||
jmp short loc_D66C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D664:
|
||
push (184 shl 16) or 44
|
||
push 41
|
||
|
||
loc_D66C:
|
||
call cdg_put_noalpha
|
||
call grcg_setcolor pascal, (GC_RMW shl 16) + 1
|
||
call grcg_byteboxfill_x pascal, ((440 / 8) shl 16) or 52, ((440 / 8) shl 16) or 287
|
||
call grcg_byteboxfill_x pascal, ((192 / 8) shl 16) or 288, ((440 / 8) shl 16) or 295
|
||
GRCG_OFF_CLOBBERING dx
|
||
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
|
||
|
||
playchar_menu_init 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
|
||
graph_accesspage 1
|
||
graph_showpage 0
|
||
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
|
||
playchar_menu_init endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
playchar_menu proc near
|
||
|
||
var_2 = byte ptr -2
|
||
@@input_locked = byte ptr -1
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
les bx, _humaconfig
|
||
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 playchar_menu_init
|
||
|
||
loc_D7BB:
|
||
call far ptr _input_reset_sense
|
||
cmp [bp+@@input_locked], 0
|
||
jnz loc_D8DF
|
||
test _key_det.lo, low INPUT_LEFT
|
||
jnz short loc_D7D6
|
||
test _key_det.lo, low INPUT_RIGHT
|
||
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:
|
||
graph_accesspage 1
|
||
call sub_D3A2
|
||
mov vsync_Count1, 0
|
||
push 1
|
||
call frame_delay
|
||
graph_showpage 1
|
||
push 0
|
||
call graph_copy_page
|
||
mov vsync_Count1, 0
|
||
push 1
|
||
call frame_delay
|
||
graph_showpage 0
|
||
|
||
loc_D84C:
|
||
test _key_det.hi, high INPUT_OK
|
||
jnz short loc_D85A
|
||
test _key_det.lo, low INPUT_SHOT
|
||
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
|
||
graph_accesspage 1
|
||
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 _key_det.hi, high INPUT_CANCEL
|
||
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, _key_det.lo
|
||
mov [bp+@@input_locked], al
|
||
jmp short loc_D8EA
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D8DF:
|
||
cmp _key_det, INPUT_NONE
|
||
jnz short loc_D8EA
|
||
mov [bp+@@input_locked], 0
|
||
|
||
loc_D8EA:
|
||
push 1
|
||
call frame_delay
|
||
jmp loc_D7BB
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D8F4:
|
||
call far ptr _input_reset_sense
|
||
cmp [bp+@@input_locked], 0
|
||
jnz loc_D9F8
|
||
test _key_det.lo, low INPUT_UP
|
||
jnz short loc_D90F
|
||
test _key_det.lo, low INPUT_DOWN
|
||
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:
|
||
graph_accesspage 1
|
||
mov al, byte_132B9
|
||
mov ah, 0
|
||
push ax
|
||
call sub_D465
|
||
mov vsync_Count1, 0
|
||
push 1
|
||
call frame_delay
|
||
graph_showpage 1
|
||
push 0
|
||
call graph_copy_page
|
||
mov vsync_Count1, 0
|
||
push 1
|
||
call frame_delay
|
||
graph_showpage 0
|
||
call snd_se_reset
|
||
call snd_se_play pascal, 1
|
||
call snd_se_update
|
||
|
||
loc_D986:
|
||
test _key_det.hi, high INPUT_OK
|
||
jnz short @@z_pressed
|
||
test _key_det.lo, low INPUT_SHOT
|
||
jz short loc_D9D5
|
||
|
||
@@z_pressed:
|
||
call snd_se_reset
|
||
call snd_se_play pascal, 11
|
||
call snd_se_update
|
||
les bx, _humaconfig
|
||
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 _key_det.hi, high INPUT_CANCEL
|
||
jz short loc_D9F0
|
||
call sub_D1F3
|
||
freePISlotLarge 0
|
||
jmp loc_D7B8
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D9F0:
|
||
mov al, _key_det.lo
|
||
mov [bp+@@input_locked], al
|
||
jmp short loc_DA03
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D9F8:
|
||
cmp _key_det, INPUT_NONE
|
||
jnz short loc_DA03
|
||
mov [bp+@@input_locked], 0
|
||
|
||
loc_DA03:
|
||
push 1
|
||
call frame_delay
|
||
jmp loc_D8B0
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_DA0D:
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn
|
||
playchar_menu endp
|
||
db 0
|
||
|
||
op_01_TEXT ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
op_02_TEXT segment word public 'CODE' use16
|
||
assume cs:op_02_TEXT
|
||
;org 2
|
||
assume es:nothing, ss:nothing, ds:_DATA, fs:nothing, gs:nothing
|
||
|
||
include th01/hardware/vram_planes_set.asm
|
||
include th02/hardware/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
|
||
include th03/formats/hfliplut.asm
|
||
include th04/hardware/input_wait.asm
|
||
include th04/math/vector1_at.asm
|
||
include th04/math/vector2_at.asm
|
||
include th04/snd/pmd_res.asm
|
||
include th02/snd/mmd_res.asm
|
||
include th04/snd/kajaint.asm
|
||
include th04/formats/cdg_put_nocolors.asm
|
||
include th04/snd/detmodes.asm
|
||
include th03/snd/delaymea.asm
|
||
include th02/exit_dos.asm
|
||
include th04/snd/load.asm
|
||
include th04/hardware/grppsafx.asm
|
||
include th04/formats/cdg_put.asm
|
||
include th02/exit.asm
|
||
include th02/initop.asm
|
||
db 0
|
||
include th04/formats/cdg_put_noalpha.asm
|
||
include th04/hardware/input_sense.asm
|
||
include th04/snd/se.asm
|
||
include th04/hardware/egccopyr.asm
|
||
even
|
||
include th04/bgimage.asm
|
||
include th04/bgimage_put_rect.asm
|
||
include th04/formats/cdg_load.asm
|
||
extern FRAME_DELAY_2:proc
|
||
op_02_TEXT ends
|
||
|
||
.data
|
||
|
||
db 0
|
||
unk_F3D1 db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
_menu_sel db 0
|
||
_quit db 0
|
||
_main_menu_unused_1 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"
|
||
_main_menu_initialized db 0
|
||
_option_initialized 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
|
||
include libs/master.lib/js[data].asm
|
||
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/snd/se_priority[data].asm
|
||
include th04/snd/snd[data].asm
|
||
db 0
|
||
include th04/snd/load[data].asm
|
||
include th04/hardware/grppsafx[data].asm
|
||
include th03/snd/se_state[data].asm
|
||
include th04/bgimage[data].asm
|
||
include th03/formats/cdg[data].asm
|
||
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
|
||
include th04/zunsoft[data].asm
|
||
public _MUSIC_TITLES
|
||
_MUSIC_TITLES label dword
|
||
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> "
|
||
public _MUSIC_FILES
|
||
_MUSIC_FILES label dword
|
||
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"
|
||
include th02/music/polygons[data].asm
|
||
music_track_playing 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
|
||
|
||
.data?
|
||
|
||
public _humaconfig
|
||
_humaconfig dd ?
|
||
_in_option db ?
|
||
db ?
|
||
_putfunc dw ?
|
||
_main_input_allowed db ?
|
||
_option_input_allowed db ?
|
||
include libs/master.lib/clip[bss].asm
|
||
include libs/master.lib/fil[bss].asm
|
||
include libs/master.lib/js[bss].asm
|
||
include libs/master.lib/pal[bss].asm
|
||
include libs/master.lib/vs[bss].asm
|
||
include libs/master.lib/vsync[bss].asm
|
||
include libs/master.lib/mem[bss].asm
|
||
include libs/master.lib/superpa[bss].asm
|
||
include libs/master.lib/super_put_rect[bss].asm
|
||
include th01/hardware/vram_planes[bss].asm
|
||
include libs/master.lib/pfint21[bss].asm
|
||
include th02/formats/pi_slots[bss].asm
|
||
include th03/formats/hfliplut[bss].asm
|
||
include th04/snd/interrupt[bss].asm
|
||
include libs/master.lib/bgm[bss].asm
|
||
include th02/snd/load[bss].asm
|
||
include th04/mem[bss].asm
|
||
include th04/hardware/input[bss].asm
|
||
include th04/hardware/egccopyr[bss].asm
|
||
include th04/formats/cdg[bss].asm
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
word_11E88 dw ?
|
||
word_11E8A dw ?
|
||
include th04/zunsoft[bss].asm
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
include th02/music/music[bss].asm
|
||
byte_12DBE db ?
|
||
db ? ;
|
||
public _screen_back_B
|
||
_screen_back_B 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 ? ;
|
||
_rank db ?
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
db ? ;
|
||
_extra_unlocked 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 ?
|
||
|
||
end
|