ReC98/th03_op.asm

5134 lines
95 KiB
NASM
Raw Normal View History

2014-06-29 22:52:27 +00:00
;
; +-------------------------------------------------------------------------+
; | This file has been generated by The Interactive Disassembler (IDA) |
; | Copyright (c) 2009 by Hex-Rays, <support@hex-rays.com> |
; +-------------------------------------------------------------------------+
;
; Input MD5 : 661F4F8FFAF1F3274F503D154133DEF0
; File Name : th03/OP.EXE
; Format : MS-DOS executable (EXE)
; Base Address: 0h Range: 0h-FD80h Loaded length: E97Ah
; Entry Point : 0:0
; OS type : MS DOS
; Application type: Executable 16bit
.286 ; Force the .model directive to create 16-bit default segments...
2014-06-29 22:52:27 +00:00
.model large
__LARGE__ equ 1
.386 ; ... then switch to what we actually need.
; And yes, we can't move this to an include file for some reason.
2014-06-29 22:52:27 +00:00
include ReC98.inc
include th03/th03.inc
include th02/music/music.inc
extern SCOPY@:proc
extern __mbcjmstojis:proc
extern __mbctype:byte
extern _execl:proc
extern _getch:proc
extern _memcpy:proc
2014-06-29 22:52:27 +00:00
; ===========================================================================
; Segment type: Pure code
_TEXT segment word public 'CODE' use16
assume cs:_TEXT
assume es:nothing, ds:_DATA, fs:nothing, gs:nothing
2014-06-29 22:52:27 +00:00
2014-08-23 09:51:14 +00:00
include libs/master.lib/bfnt_entry_pat.asm
include libs/master.lib/bfnt_extend_header_skip.asm
2014-08-23 10:08:48 +00:00
include libs/master.lib/bfnt_header_read.asm
include libs/master.lib/bfnt_header_analysis.asm
2014-08-26 18:54:57 +00:00
include libs/master.lib/bcloser.asm
include libs/master.lib/bfill.asm
2014-08-23 14:56:01 +00:00
include libs/master.lib/bfnt_palette_set.asm
2014-08-26 19:23:54 +00:00
include libs/master.lib/bgetc.asm
2014-08-26 22:33:43 +00:00
include libs/master.lib/palette_black_out.asm
include libs/master.lib/bopenr.asm
include libs/master.lib/bread.asm
include libs/master.lib/bseek.asm
include libs/master.lib/bseek_.asm
2014-08-23 01:03:17 +00:00
include libs/master.lib/dos_axdx.asm
2014-08-23 01:02:18 +00:00
include libs/master.lib/dos_keyclear.asm
2014-08-22 23:48:16 +00:00
include libs/master.lib/dos_puts2.asm
2014-08-22 23:38:22 +00:00
include libs/master.lib/dos_setvect.asm
include libs/master.lib/egc.asm
include libs/master.lib/egc_shift_left_all.asm
2014-08-30 05:58:36 +00:00
include libs/master.lib/file_append.asm
include libs/master.lib/file_close.asm
2014-08-30 06:32:10 +00:00
include libs/master.lib/file_create.asm
2014-08-30 06:46:38 +00:00
include libs/master.lib/file_exist.asm
2014-08-30 07:00:31 +00:00
include libs/master.lib/file_read.asm
2014-08-30 07:12:17 +00:00
include libs/master.lib/file_ropen.asm
include libs/master.lib/file_seek.asm
2014-08-30 07:38:09 +00:00
include libs/master.lib/file_write.asm
2014-08-22 22:46:33 +00:00
include libs/master.lib/dos_close.asm
include libs/master.lib/dos_ropen.asm
2014-08-28 03:31:57 +00:00
include libs/master.lib/grcg_boxfill.asm
2014-08-27 21:20:37 +00:00
include libs/master.lib/grcg_byteboxfill_x.asm
2014-09-01 04:52:28 +00:00
include libs/master.lib/grcg_polygon_c.asm
2014-08-28 03:48:32 +00:00
include libs/master.lib/grcg_pset.asm
include libs/master.lib/grcg_setcolor.asm
include libs/master.lib/gaiji_backup.asm
2014-08-31 08:08:09 +00:00
include libs/master.lib/gaiji_entry_bfnt.asm
2014-08-31 03:05:48 +00:00
include libs/master.lib/gaiji_putsa.asm
include libs/master.lib/gaiji_read.asm
include libs/master.lib/gaiji_write.asm
2014-08-27 22:58:40 +00:00
include libs/master.lib/graph_400line.asm
2014-08-27 04:03:08 +00:00
include libs/master.lib/graph_clear.asm
2014-08-27 04:13:48 +00:00
include libs/master.lib/graph_copy_page.asm
2014-08-15 14:11:51 +00:00
include libs/master.lib/graph_extmode.asm
2014-09-15 01:03:52 +00:00
include libs/master.lib/graph_gaiji_puts.asm
include libs/master.lib/graph_pi_free.asm
include libs/master.lib/graph_pi_load_pack.asm
2014-08-31 05:26:45 +00:00
include libs/master.lib/graph_pack_put_8.asm
include libs/master.lib/graph_show.asm
2014-08-27 23:16:54 +00:00
include libs/master.lib/graph_start.asm
2014-08-23 11:46:31 +00:00
include libs/master.lib/js_end.asm
2014-08-23 12:01:53 +00:00
include libs/master.lib/keybeep.asm
2014-08-27 03:05:30 +00:00
include libs/master.lib/make_linework.asm
2014-08-23 14:18:30 +00:00
include libs/master.lib/palette_init.asm
2014-08-23 14:11:16 +00:00
include libs/master.lib/palette_show.asm
2014-08-27 01:11:13 +00:00
include libs/master.lib/pfclose.asm
2014-09-07 13:07:36 +00:00
include libs/master.lib/pfgetc.asm
2014-08-30 10:50:48 +00:00
include libs/master.lib/pfread.asm
include libs/master.lib/pfrewind.asm
2014-08-30 10:26:02 +00:00
include libs/master.lib/pfseek.asm
2014-08-30 10:13:04 +00:00
include libs/master.lib/random.asm
2014-08-31 03:14:54 +00:00
include libs/master.lib/palette_entry_rgb.asm
include libs/master.lib/rottbl.asm
include libs/master.lib/smem_release.asm
2014-08-21 23:04:46 +00:00
include libs/master.lib/smem_wget.asm
2014-08-31 04:27:47 +00:00
include libs/master.lib/soundio.asm
include libs/master.lib/text_clear.asm
include libs/master.lib/txesc.asm
2014-08-31 03:52:43 +00:00
include libs/master.lib/text_putsa.asm
include libs/master.lib/vsync.asm
2014-08-26 22:11:29 +00:00
include libs/master.lib/vsync_wait.asm
include libs/master.lib/palette_white_in.asm
2014-08-21 23:19:52 +00:00
include libs/master.lib/hmem_lallocate.asm
include libs/master.lib/mem_assign_dos.asm
include libs/master.lib/mem_assign.asm
include libs/master.lib/memheap.asm
include libs/master.lib/mem_unassign.asm
include libs/master.lib/super_free.asm
include libs/master.lib/super_entry_pat.asm
2014-08-22 21:56:33 +00:00
include libs/master.lib/super_entry_at.asm
include libs/master.lib/super_entry_bfnt.asm
2014-08-22 21:33:18 +00:00
include libs/master.lib/super_cancel_pat.asm
include libs/master.lib/super_put.asm
include libs/master.lib/respal_exist.asm
2014-09-03 13:41:25 +00:00
include libs/master.lib/respal_free.asm
include libs/master.lib/pfint21.asm
2014-06-29 22:52:27 +00:00
db 0
include libs/master.lib/js_start.asm
include libs/master.lib/js_sense.asm
2014-06-29 22:52:27 +00:00
db 0
include libs/master.lib/draw_trapezoid.asm
include th03/formats/pfopen.asm
include libs/master.lib/pf_str_ieq.asm
_TEXT ends
2014-06-29 22:52:27 +00:00
; ===========================================================================
; Segment type: Pure code
op_01_TEXT segment byte public 'CODE' use16
assume cs:op_01_TEXT
2014-06-29 22:52:27 +00:00
;org 8
assume es:nothing, ss:nothing, ds:_DATA, fs:nothing, gs:nothing
2014-06-29 22:52:27 +00:00
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_9908 proc near
2014-06-29 22:52:27 +00:00
var_A = word ptr -0Ah
var_8 = byte ptr -8
var_7 = byte ptr -7
var_6 = byte ptr -6
var_3 = word ptr -3
enter 0Ah, 0
push ds
push offset aYume_cfg ; "YUME.CFG"
2014-08-30 07:12:17 +00:00
call file_ropen
2014-06-29 22:52:27 +00:00
push ss
lea ax, [bp+var_8]
push ax
push 8
2014-08-30 07:00:31 +00:00
call file_read
call file_close
2014-06-29 22:52:27 +00:00
mov ax, [bp+var_3]
mov [bp+var_A], ax
mov word ptr _yumeconfig+2, ax
mov word ptr _yumeconfig, 0
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
mov al, [bp+var_8]
mov es:[bx+15h], al
call snd_determine_mode
2014-06-29 22:52:27 +00:00
mov byte_D880, 0
cmp _snd_active, 0
2014-06-29 22:52:27 +00:00
jnz short loc_9961
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
mov byte ptr es:[bx+15h], 0
mov byte_D880, 1
jmp short loc_996C
; ---------------------------------------------------------------------------
loc_9961:
2014-06-29 22:52:27 +00:00
cmp [bp+var_8], 0
jnz short loc_996C
mov _snd_active, 0
2014-06-29 22:52:27 +00:00
loc_996C:
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
mov al, [bp+var_7]
mov es:[bx+16h], al
mov al, [bp+var_6]
mov es:[bx+0Bh], al
leave
retn
sub_9908 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_9980 proc near
2014-06-29 22:52:27 +00:00
var_8 = byte ptr -8
var_7 = byte ptr -7
var_6 = byte ptr -6
enter 8, 0
push ds
push offset aYume_cfg ; "YUME.CFG"
2014-08-30 05:58:36 +00:00
call file_append
pushd 0
2014-06-29 22:52:27 +00:00
push 0
call file_seek
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
mov al, es:[bx+15h]
mov [bp+var_8], al
mov al, es:[bx+16h]
mov [bp+var_7], al
mov al, es:[bx+0Bh]
mov [bp+var_6], al
push ss
lea ax, [bp+var_8]
push ax
push 4
2014-08-30 07:38:09 +00:00
call file_write
call file_close
2014-06-29 22:52:27 +00:00
leave
retn
sub_9980 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_99C3 proc near
2014-06-29 22:52:27 +00:00
var_8 = byte ptr -8
var_7 = byte ptr -7
var_6 = byte ptr -6
enter 8, 0
lea ax, [bp+var_8]
push ss
push ax
push ds
push offset unk_D881
mov cx, 8
call SCOPY@
push ds
push offset aYume_cfg ; "YUME.CFG"
2014-08-30 05:58:36 +00:00
call file_append
pushd 0
2014-06-29 22:52:27 +00:00
push 0
call file_seek
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
mov al, es:[bx+15h]
mov [bp+var_8], al
mov al, es:[bx+16h]
mov [bp+var_7], al
mov al, es:[bx+0Bh]
mov [bp+var_6], al
push ss
lea ax, [bp+var_8]
push ax
push 8
2014-08-30 07:38:09 +00:00
call file_write
call file_close
2014-06-29 22:52:27 +00:00
leave
retn
sub_99C3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_9A17 proc near
2014-06-29 22:52:27 +00:00
var_4 = word ptr -4
var_2 = word ptr -2
enter 4, 0
push si
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
mov byte ptr es:[bx+39h], 0
mov byte ptr es:[bx+17h], 0
mov byte ptr es:[bx+33h], 0
mov byte ptr es:[bx+0Eh], 0
mov byte ptr es:[bx+0Fh], 1
mov byte ptr es:[bx+28h], 1
mov byte ptr es:[bx+34h], 2
mov byte ptr es:[bx+35h], 0
mov byte ptr es:[bx+0Dh], 0FFh
call sub_BD9A
or al, al
jz short loc_9A59
mov al, 1
jmp loc_9B9A
; ---------------------------------------------------------------------------
loc_9A59:
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
mov al, es:[bx+0Ch]
mov ah, 0
dec ax
cwd
sub ax, dx
mov bx, ax
sar bx, 1
mov al, [bx+0A0h]
mov ah, 0
mov [bp+var_4], ax
mov bx, word ptr _yumeconfig
2014-06-29 22:52:27 +00:00
mov eax, es:[bx+10h]
2014-08-30 10:13:04 +00:00
mov random_seed, eax
2014-06-29 22:52:27 +00:00
xor si, si
jmp short loc_9ADB
; ---------------------------------------------------------------------------
loc_9A85:
2014-08-30 10:13:04 +00:00
call IRand
2014-06-29 22:52:27 +00:00
mov bx, 7
cwd
idiv bx
mov [bp+var_2], dx
mov bx, [bp+var_2]
cmp byte ptr [bx+99h], 0
jnz short loc_9A85
mov ax, [bp+var_4]
cmp ax, [bp+var_2]
jz short loc_9A85
mov byte ptr [bx+99h], 1
mov ax, [bp+var_2]
add ax, ax
inc ax
mov [bp+var_2], ax
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
add bx, si
mov al, byte ptr [bp+var_2]
mov es:[bx+29h], al
mov bx, word ptr _yumeconfig
2014-06-29 22:52:27 +00:00
mov al, es:[bx+0Ch]
mov ah, 0
cmp ax, [bp+var_2]
jnz short loc_9ADA
add bx, si
mov al, byte ptr [bp+var_2]
inc al
mov es:[bx+29h], al
loc_9ADA:
2014-06-29 22:52:27 +00:00
inc si
loc_9ADB:
2014-06-29 22:52:27 +00:00
cmp si, 6
jl short loc_9A85
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
mov al, es:[bx+29h]
mov es:[bx+0Dh], al
mov al, byte ptr [bp+var_4]
add al, al
inc al
mov es:[bx+2Fh], al
mov byte ptr es:[bx+30h], 0Fh
cmp byte ptr es:[bx+0Ch], 0Fh
jnz short loc_9B07
inc byte ptr es:[bx+30h]
loc_9B07:
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
mov byte ptr es:[bx+31h], 11h
cmp byte ptr es:[bx+0Ch], 11h
jnz short loc_9B1B
inc byte ptr es:[bx+31h]
loc_9B1B:
2014-06-29 22:52:27 +00:00
xor si, si
jmp short loc_9B39
; ---------------------------------------------------------------------------
loc_9B1F:
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
add bx, si
mov al, es:[bx+29h]
mov ah, 0
dec ax
cwd
sub ax, dx
sar ax, 1
cmp ax, 9
jge loc_9A59
inc si
loc_9B39:
2014-06-29 22:52:27 +00:00
cmp si, 9
jl short loc_9B1F
xor si, si
jmp short loc_9B4E
; ---------------------------------------------------------------------------
loc_9B42:
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
add bx, si
mov byte ptr es:[bx+18h], 0
inc si
loc_9B4E:
2014-06-29 22:52:27 +00:00
cmp si, 10h
jl short loc_9B42
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
mov byte ptr es:[bx+36h], 3
mov byte ptr es:[bx+37h], 0
mov al, es:[bx+0Bh]
mov ah, 0
imul ax, 19h
add al, 46h ; 'F'
mov es:[bx+38h], al
call sub_9980
call gaiji_restore
kajacall KAJA_SONG_STOP
2014-06-29 22:52:27 +00:00
call sub_BFC2
pushd 0
2014-06-29 22:52:27 +00:00
push ds
push offset path ; "mainl"
push ds
push offset path ; "mainl"
call _execl
add sp, 0Ch
mov al, 0
loc_9B9A:
2014-06-29 22:52:27 +00:00
pop si
leave
retn
sub_9A17 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_9B9D proc near
2014-06-29 22:52:27 +00:00
arg_0 = word ptr 4
arg_2 = word ptr 6
push bp
mov bp, sp
push si
push di
mov di, [bp+arg_2]
mov si, [bp+arg_0]
or di, di
jnz short loc_9BB8
push 1B0012h
2014-06-29 22:52:27 +00:00
push ds
push offset gp1P_VS_CPU
2014-06-29 22:52:27 +00:00
jmp short loc_9BD3
; ---------------------------------------------------------------------------
loc_9BB8:
2014-06-29 22:52:27 +00:00
cmp di, 1
jnz short loc_9BC9
push 1B0013h
2014-06-29 22:52:27 +00:00
push ds
push offset gp1P_VS_2P
2014-06-29 22:52:27 +00:00
jmp short loc_9BD3
; ---------------------------------------------------------------------------
loc_9BC9:
push 1B0014h
2014-06-29 22:52:27 +00:00
push ds
push offset gpCPU_VS_CPU
2014-06-29 22:52:27 +00:00
loc_9BD3:
2014-06-29 22:52:27 +00:00
push si
2014-08-31 03:05:48 +00:00
call gaiji_putsa
2014-06-29 22:52:27 +00:00
pop di
pop si
pop bp
retn 4
sub_9B9D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_9BDF proc near
2014-06-29 22:52:27 +00:00
var_2 = word ptr -2
enter 2, 0
push si
xor si, si
les bx, _yumeconfig
cmp byte ptr es:[bx+28h], 80h
2014-06-29 22:52:27 +00:00
jnb loc_9C8B
2014-08-20 14:45:24 +00:00
call text_clear
2014-06-29 22:52:27 +00:00
call sub_B0AF
mov [bp+var_2], 0
pushd 0E1h
2014-06-29 22:52:27 +00:00
call sub_9B9D
push 10001h
2014-06-29 22:52:27 +00:00
call sub_9B9D
push 20001h
2014-06-29 22:52:27 +00:00
call sub_9B9D
loc_9C1B:
call _input_mode_interface
2014-06-29 22:52:27 +00:00
or si, si
jnz short loc_9C7E
test _input_sp.lo, low INPUT_UP
2014-06-29 22:52:27 +00:00
jz short loc_9C4A
push [bp+var_2]
push 1
call sub_9B9D
dec [bp+var_2]
cmp [bp+var_2], 0
jge short loc_9C41
mov [bp+var_2], 2
loc_9C41:
2014-06-29 22:52:27 +00:00
push [bp+var_2]
push 0E1h
2014-06-29 22:52:27 +00:00
call sub_9B9D
loc_9C4A:
test _input_sp.lo, low INPUT_DOWN
2014-06-29 22:52:27 +00:00
jz short loc_9C70
push [bp+var_2]
push 1
call sub_9B9D
inc [bp+var_2]
cmp [bp+var_2], 2
jle short loc_9C67
mov [bp+var_2], 0
loc_9C67:
2014-06-29 22:52:27 +00:00
push [bp+var_2]
push 0E1h
2014-06-29 22:52:27 +00:00
call sub_9B9D
loc_9C70:
test _input_sp.lo, low INPUT_SHOT
2014-06-29 22:52:27 +00:00
jnz short loc_9C9B
test _input_sp.hi, high INPUT_OK
2014-06-29 22:52:27 +00:00
jnz short loc_9C9B
loc_9C7E:
mov si, _input_sp
2014-06-29 22:52:27 +00:00
push 1
2014-11-23 21:25:22 +00:00
call frame_delay
2014-06-29 22:52:27 +00:00
jmp short loc_9C1B
; ---------------------------------------------------------------------------
loc_9C8B:
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
mov al, es:[bx+28h]
mov ah, 0
add ax, 0FF80h
mov [bp+var_2], ax
loc_9C9B:
2014-06-29 22:52:27 +00:00
cmp [bp+var_2], 2
jnz short loc_9CA5
mov al, 1
jmp short loc_9CA7
; ---------------------------------------------------------------------------
loc_9CA5:
2014-06-29 22:52:27 +00:00
mov al, 0
loc_9CA7:
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
mov es:[bx+0Eh], al
cmp [bp+var_2], 1
jz short loc_9CB9
mov al, 1
jmp short loc_9CBB
; ---------------------------------------------------------------------------
loc_9CB9:
2014-06-29 22:52:27 +00:00
mov al, 0
loc_9CBB:
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
mov es:[bx+0Fh], al
mov byte ptr es:[bx+39h], 0
mov byte ptr es:[bx+17h], 0
mov byte ptr es:[bx+33h], 0
mov al, byte ptr [bp+var_2]
add al, 80h
2014-06-29 22:52:27 +00:00
mov es:[bx+28h], al
mov byte ptr es:[bx+35h], 0
cmp [bp+var_2], 1
jnz short loc_9CEF
call sub_BA88
or al, al
jz short loc_9D03
jmp short loc_9CF6
; ---------------------------------------------------------------------------
loc_9CEF:
2014-06-29 22:52:27 +00:00
call sub_BC1F
or al, al
jz short loc_9D03
loc_9CF6:
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
mov byte ptr es:[bx+28h], 0
mov al, 1
jmp short loc_9D49
; ---------------------------------------------------------------------------
loc_9D03:
2014-06-29 22:52:27 +00:00
mov [bp+var_2], 0
jmp short loc_9D19
; ---------------------------------------------------------------------------
loc_9D0A:
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
add bx, [bp+var_2]
mov byte ptr es:[bx+18h], 0
inc [bp+var_2]
loc_9D19:
2014-06-29 22:52:27 +00:00
cmp [bp+var_2], 10h
jl short loc_9D0A
call sub_9980
call gaiji_restore
kajacall KAJA_SONG_STOP
2014-06-29 22:52:27 +00:00
call sub_BFC2
pushd 0
2014-06-29 22:52:27 +00:00
push ds
push offset path ; "mainl"
push ds
push offset path ; "mainl"
call _execl
add sp, 0Ch
mov al, 0
loc_9D49:
2014-06-29 22:52:27 +00:00
pop si
leave
retn
sub_9BDF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_9D4C proc near
2014-06-29 22:52:27 +00:00
push bp
mov bp, sp
push si
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
mov byte ptr es:[bx+0Eh], 1
mov byte ptr es:[bx+0Fh], 1
inc byte ptr es:[bx+39h]
cmp byte ptr es:[bx+39h], 4
jbe short loc_9D6E
mov byte ptr es:[bx+39h], 1
loc_9D6E:
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
mov byte ptr es:[bx+17h], 0
mov byte ptr es:[bx+33h], 0
mov byte ptr es:[bx+28h], 7Fh
2014-06-29 22:52:27 +00:00
mov byte ptr es:[bx+35h], 0
mov al, es:[bx+39h]
mov ah, 0
add ax, ax
mov bx, ax
mov al, [bx+0C2h]
mov bx, word ptr _yumeconfig
2014-06-29 22:52:27 +00:00
mov es:[bx+0Ch], al
mov al, es:[bx+39h]
mov ah, 0
add ax, ax
mov dx, 0C2h ; '<27>'
inc dx
add ax, dx
mov bx, ax
mov al, [bx]
mov bx, word ptr _yumeconfig
2014-06-29 22:52:27 +00:00
mov es:[bx+0Dh], al
mov al, es:[bx+39h]
mov ah, 0
shl ax, 2
mov bx, ax
mov eax, [bx+0C8h]
mov bx, word ptr _yumeconfig
2014-06-29 22:52:27 +00:00
mov es:[bx+10h], eax
xor si, si
jmp short loc_9DDF
; ---------------------------------------------------------------------------
loc_9DD3:
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
add bx, si
mov byte ptr es:[bx+18h], 0
inc si
loc_9DDF:
2014-06-29 22:52:27 +00:00
cmp si, 10h
jl short loc_9DD3
push 1
2014-08-26 22:33:43 +00:00
call palette_black_out
2014-06-29 22:52:27 +00:00
call sub_9980
call gaiji_restore
kajacall KAJA_SONG_STOP
2014-06-29 22:52:27 +00:00
call sub_BFC2
pushd 0
2014-06-29 22:52:27 +00:00
push ds
push offset path ; "mainl"
push ds
push offset path ; "mainl"
call _execl
add sp, 0Ch
pop si
pop bp
retn
sub_9D4C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_9E16 proc near
2014-06-29 22:52:27 +00:00
push bp
mov bp, sp
push si
mov _input_sp, INPUT_NONE
2014-06-29 22:52:27 +00:00
xor si, si
jmp short loc_9E43
; ---------------------------------------------------------------------------
loc_9E24:
call _input_mode_interface
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
inc dword ptr es:[bx+10h]
inc si
cmp si, 208h
jle short loc_9E3C
call sub_9D4C
loc_9E3C:
2014-06-29 22:52:27 +00:00
push 1
2014-11-23 21:25:22 +00:00
call frame_delay
2014-06-29 22:52:27 +00:00
loc_9E43:
cmp _input_sp, INPUT_NONE
2014-06-29 22:52:27 +00:00
jz short loc_9E24
push 0A00100h
2014-06-29 22:52:27 +00:00
push 0
call super_put
2014-06-29 22:52:27 +00:00
mov si, 0B0h ; '<27>'
jmp short loc_9E76
; ---------------------------------------------------------------------------
loc_9E5C:
2014-06-29 22:52:27 +00:00
push si
call sub_B10A
push si
push 1000002h
call super_put
2014-06-29 22:52:27 +00:00
push 1
2014-11-23 21:25:22 +00:00
call frame_delay
2014-06-29 22:52:27 +00:00
add si, 8
loc_9E76:
2014-06-29 22:52:27 +00:00
cmp si, 120h
jl short loc_9E5C
pop si
pop bp
retn
sub_9E16 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_9E7F proc near
2014-06-29 22:52:27 +00:00
push bp
mov bp, sp
push si
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
mov byte ptr es:[bx+33h], 0FFh
mov byte ptr es:[bx+35h], 1
mov byte ptr es:[bx+28h], 0
xor si, si
jmp short loc_9EA6
; ---------------------------------------------------------------------------
loc_9E9A:
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
add bx, si
mov byte ptr es:[bx+18h], 0
inc si
loc_9EA6:
2014-06-29 22:52:27 +00:00
cmp si, 10h
jl short loc_9E9A
call sub_9980
call gaiji_restore
kajacall KAJA_SONG_STOP
call super_free
2014-06-29 22:52:27 +00:00
call sub_BFC2
pushd 0
2014-06-29 22:52:27 +00:00
push ds
push offset path ; "mainl"
push ds
push offset path ; "mainl"
call _execl
add sp, 0Ch
mov al, 0
pop si
pop bp
retn
sub_9E7F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_9EDD proc near
2014-06-29 22:52:27 +00:00
arg_0 = word ptr 4
arg_2 = word ptr 6
push bp
mov bp, sp
push si
push di
mov si, [bp+arg_2]
mov di, [bp+arg_0]
or si, si
jnz short loc_9EF8
push (25 shl 16) + 17
2014-06-29 22:52:27 +00:00
push ds
push offset gpSTART
2014-06-29 22:52:27 +00:00
jmp short loc_9F4B
; ---------------------------------------------------------------------------
loc_9EF8:
2014-06-29 22:52:27 +00:00
cmp si, 1
jnz short loc_9F09
push (23 shl 16) + 18
2014-06-29 22:52:27 +00:00
push ds
push offset gpVS_START
2014-06-29 22:52:27 +00:00
jmp short loc_9F4B
; ---------------------------------------------------------------------------
loc_9F09:
2014-06-29 22:52:27 +00:00
cmp si, 2
jnz short loc_9F1A
push (22 shl 16) + 19
2014-06-29 22:52:27 +00:00
push ds
push offset gpMUSIC_ROOM
2014-06-29 22:52:27 +00:00
jmp short loc_9F4B
; ---------------------------------------------------------------------------
loc_9F1A:
2014-06-29 22:52:27 +00:00
cmp si, 3
jnz short loc_9F2B
push (24 shl 16) + 20
2014-06-29 22:52:27 +00:00
push ds
push offset gpHISCORE
2014-06-29 22:52:27 +00:00
jmp short loc_9F4B
; ---------------------------------------------------------------------------
loc_9F2B:
2014-06-29 22:52:27 +00:00
cmp si, 4
jnz short loc_9F3C
push (25 shl 16) + 21
2014-06-29 22:52:27 +00:00
push ds
push offset gpOPTION
2014-06-29 22:52:27 +00:00
jmp short loc_9F4B
; ---------------------------------------------------------------------------
loc_9F3C:
2014-06-29 22:52:27 +00:00
cmp si, 5
jnz short loc_9F51
push (26 shl 16) + 22
2014-06-29 22:52:27 +00:00
push ds
push offset gpQUIT
2014-06-29 22:52:27 +00:00
loc_9F4B:
2014-06-29 22:52:27 +00:00
push di
2014-08-31 03:05:48 +00:00
call gaiji_putsa
2014-06-29 22:52:27 +00:00
loc_9F51:
2014-06-29 22:52:27 +00:00
pop di
pop si
pop bp
retn 4
sub_9EDD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_9F57 proc near
2014-06-29 22:52:27 +00:00
arg_0 = word ptr 4
arg_2 = word ptr 6
push bp
mov bp, sp
push si
push di
mov di, [bp+arg_2]
mov si, [bp+arg_0]
or di, di
jnz short loc_9FD6
call gaiji_putsa pascal, (25 shl 16) + 17, ds offset gpRANK, si
call text_putsa pascal, (37 shl 16) + 17, ds, offset asc_D965, TX_WHITE
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
mov al, es:[bx+0Bh]
mov ah, 0
mov bx, ax
cmp bx, 3
ja loc_A092
add bx, bx
jmp cs:off_A099[bx]
loc_9FA2:
push (38 shl 16) + 17
2014-06-29 22:52:27 +00:00
push ds
push offset gpEASY
2014-06-29 22:52:27 +00:00
jmp loc_A08C
; ---------------------------------------------------------------------------
loc_9FAF:
push (37 shl 16) + 17
2014-06-29 22:52:27 +00:00
push ds
push offset gpNORMAL
2014-06-29 22:52:27 +00:00
jmp loc_A08C
; ---------------------------------------------------------------------------
loc_9FBC:
push (38 shl 16) + 17
2014-06-29 22:52:27 +00:00
push ds
push offset gpHARD
2014-06-29 22:52:27 +00:00
jmp loc_A08C
; ---------------------------------------------------------------------------
loc_9FC9:
push (37 shl 16) + 17
2014-06-29 22:52:27 +00:00
push ds
push offset gpLUNATIC
2014-06-29 22:52:27 +00:00
jmp loc_A08C
; ---------------------------------------------------------------------------
loc_9FD6:
2014-06-29 22:52:27 +00:00
cmp di, 1
jnz short loc_A02A
call gaiji_putsa pascal, (25 shl 16) + 19, ds, offset gpMUSIC, si
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
mov al, es:[bx+15h]
mov ah, 0
or ax, ax
jz short loc_A006
cmp ax, 1
jz short loc_A012
cmp ax, 2
jz short loc_A01E
jmp loc_A092
; ---------------------------------------------------------------------------
loc_A006:
push (35 shl 16) + 19
2014-06-29 22:52:27 +00:00
push ds
push offset gpOFF
2014-06-29 22:52:27 +00:00
jmp short loc_A08C
; ---------------------------------------------------------------------------
loc_A012:
push (35 shl 16) + 19
2014-06-29 22:52:27 +00:00
push ds
push offset gpFM_86
2014-06-29 22:52:27 +00:00
jmp short loc_A08C
; ---------------------------------------------------------------------------
loc_A01E:
push (35 shl 16) + 19
2014-06-29 22:52:27 +00:00
push ds
push offset gpMIDI_SC88
2014-06-29 22:52:27 +00:00
jmp short loc_A08C
; ---------------------------------------------------------------------------
loc_A02A:
2014-06-29 22:52:27 +00:00
cmp di, 2
jnz short loc_A07D
call gaiji_putsa pascal, (23 shl 16) + 21, ds, offset gpKEYCONFIG, si
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
mov al, es:[bx+16h]
mov ah, 0
or ax, ax
jz short loc_A059
cmp ax, 1
jz short loc_A065
cmp ax, 2
jz short loc_A071
jmp short loc_A092
; ---------------------------------------------------------------------------
loc_A059:
push (37 shl 16) + 21
2014-06-29 22:52:27 +00:00
push ds
push offset gpKEY_VS_KEY
2014-06-29 22:52:27 +00:00
jmp short loc_A08C
; ---------------------------------------------------------------------------
loc_A065:
push (37 shl 16) + 21
2014-06-29 22:52:27 +00:00
push ds
push offset gpJOY_VS_KEY
2014-06-29 22:52:27 +00:00
jmp short loc_A08C
; ---------------------------------------------------------------------------
loc_A071:
push (37 shl 16) + 21
2014-06-29 22:52:27 +00:00
push ds
push offset gpKEY_VS_JOY
2014-06-29 22:52:27 +00:00
jmp short loc_A08C
; ---------------------------------------------------------------------------
loc_A07D:
2014-06-29 22:52:27 +00:00
cmp di, 3
jnz short loc_A092
push (32 shl 16) + 22
2014-06-29 22:52:27 +00:00
push ds
push offset gpQUIT
2014-06-29 22:52:27 +00:00
loc_A08C:
2014-06-29 22:52:27 +00:00
push si
2014-08-31 03:05:48 +00:00
call gaiji_putsa
2014-06-29 22:52:27 +00:00
loc_A092:
2014-06-29 22:52:27 +00:00
pop di
pop si
pop bp
retn 4
sub_9F57 endp
; ---------------------------------------------------------------------------
db 0
off_A099 dw offset loc_9FA2
2014-06-29 22:52:27 +00:00
dw offset loc_9FAF
dw offset loc_9FBC
dw offset loc_9FC9
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_A0A1 proc near
2014-06-29 22:52:27 +00:00
arg_0 = byte ptr 4
arg_2 = byte ptr 6
push bp
mov bp, sp
mov al, byte_D951
cbw
push ax
push 1
call fp_E97E
2014-06-29 22:52:27 +00:00
mov al, [bp+arg_0]
add byte_D951, al
cmp byte_D951, 0
jge short loc_A0C3
mov al, [bp+arg_2]
mov byte_D951, al
loc_A0C3:
2014-06-29 22:52:27 +00:00
mov al, byte_D951
cmp al, [bp+arg_2]
jle short loc_A0D0
mov byte_D951, 0
loc_A0D0:
2014-06-29 22:52:27 +00:00
mov al, byte_D951
cbw
push ax
push 0E1h
call fp_E97E
2014-06-29 22:52:27 +00:00
pop bp
retn 4
sub_A0A1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_A0E0 proc near
2014-06-29 22:52:27 +00:00
push bp
mov bp, sp
push si
cmp byte_D954, 0
jnz short loc_A133
2014-08-20 14:45:24 +00:00
call text_clear
2014-06-29 22:52:27 +00:00
cmp byte_D953, 0
jnz short loc_A0FA
call sub_B0DB
loc_A0FA:
2014-06-29 22:52:27 +00:00
mov byte_D953, 0
mov byte_E97A, 0
xor si, si
jmp short loc_A11E
; ---------------------------------------------------------------------------
loc_A108:
2014-06-29 22:52:27 +00:00
push si
mov al, byte_D951
cbw
cmp ax, si
jnz short loc_A116
mov ax, 0E1h
2014-06-29 22:52:27 +00:00
jmp short loc_A119
; ---------------------------------------------------------------------------
loc_A116:
2014-06-29 22:52:27 +00:00
mov ax, 1
loc_A119:
2014-06-29 22:52:27 +00:00
push ax
call sub_9EDD
inc si
loc_A11E:
2014-06-29 22:52:27 +00:00
cmp si, 6
jl short loc_A108
mov fp_E97E, offset sub_9EDD
2014-06-29 22:52:27 +00:00
mov byte_D954, 1
mov byte_E97A, 0
loc_A133:
cmp _input_sp, INPUT_NONE
2014-06-29 22:52:27 +00:00
jnz short loc_A13F
mov byte_E97A, 1
loc_A13F:
2014-06-29 22:52:27 +00:00
cmp byte_E97A, 0
jz loc_A1F3
test _input_sp.lo, low INPUT_UP
2014-06-29 22:52:27 +00:00
jz short loc_A156
push 5
push 0FFFFh
call sub_A0A1
loc_A156:
test _input_sp.lo, low INPUT_DOWN
2014-06-29 22:52:27 +00:00
jz short loc_A164
push 5
push 1
call sub_A0A1
loc_A164:
test _input_sp.hi, high INPUT_OK
2014-06-29 22:52:27 +00:00
jnz short loc_A172
test _input_sp.lo, low INPUT_SHOT
2014-06-29 22:52:27 +00:00
jz short loc_A1DB
loc_A172:
2014-06-29 22:52:27 +00:00
mov al, byte_D951
cbw
mov bx, ax
cmp bx, 5
ja short loc_A1DB
add bx, bx
jmp cs:off_A1F7[bx]
loc_A184:
2014-06-29 22:52:27 +00:00
call sub_9A17
jmp short loc_A19A
; ---------------------------------------------------------------------------
loc_A189:
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
mov byte ptr es:[bx+0Ch], 1
mov byte ptr es:[bx+0Dh], 1
call sub_9BDF
loc_A19A:
2014-06-29 22:52:27 +00:00
call sub_B008
call sub_9E16
call sub_B3C3
mov byte_D954, 0
mov byte_E97A, 0
mov byte_D953, 1
jmp short loc_A1F3
; ---------------------------------------------------------------------------
loc_A1B4:
2014-10-07 04:32:20 +00:00
nopcall sub_AC06
2014-06-29 22:52:27 +00:00
jmp short loc_A19A
; ---------------------------------------------------------------------------
loc_A1BB:
2014-06-29 22:52:27 +00:00
call sub_9E7F
jmp short loc_A1DB
; ---------------------------------------------------------------------------
loc_A1C0:
2014-06-29 22:52:27 +00:00
mov byte_D954, 0
mov byte_E97C, 1
mov byte_D951, 0
jmp short loc_A1DB
; ---------------------------------------------------------------------------
loc_A1D1:
2014-06-29 22:52:27 +00:00
mov byte_D954, 0
mov byte_D952, 1
loc_A1DB:
test _input_sp.hi, high INPUT_CANCEL
2014-06-29 22:52:27 +00:00
jz short loc_A1E7
mov byte_D952, 1
loc_A1E7:
cmp _input_sp, INPUT_NONE
2014-06-29 22:52:27 +00:00
jz short loc_A1F3
mov byte_E97A, 0
loc_A1F3:
2014-06-29 22:52:27 +00:00
pop si
pop bp
retn
sub_A0E0 endp
; ---------------------------------------------------------------------------
db 0
off_A1F7 dw offset loc_A184
2014-06-29 22:52:27 +00:00
dw offset loc_A189
dw offset loc_A1B4
dw offset loc_A1BB
dw offset loc_A1C0
dw offset loc_A1D1
2014-06-29 22:52:27 +00:00
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_A203 proc near
2014-06-29 22:52:27 +00:00
push bp
mov bp, sp
push si
cmp byte_D955, 0
jnz short loc_A24A
2014-08-20 14:45:24 +00:00
call text_clear
2014-06-29 22:52:27 +00:00
call sub_B0AF
mov byte_E97B, 0
xor si, si
jmp short loc_A235
; ---------------------------------------------------------------------------
loc_A21F:
2014-06-29 22:52:27 +00:00
push si
mov al, byte_D951
cbw
cmp ax, si
jnz short loc_A22D
mov ax, TX_WHITE
2014-06-29 22:52:27 +00:00
jmp short loc_A230
; ---------------------------------------------------------------------------
loc_A22D:
mov ax, TX_BLACK
2014-06-29 22:52:27 +00:00
loc_A230:
2014-06-29 22:52:27 +00:00
push ax
call sub_9F57
inc si
loc_A235:
2014-06-29 22:52:27 +00:00
cmp si, 4
jl short loc_A21F
mov fp_E97E, offset sub_9F57
2014-06-29 22:52:27 +00:00
mov byte_D955, 1
mov byte_E97B, 0
loc_A24A:
cmp _input_sp, INPUT_NONE
2014-06-29 22:52:27 +00:00
jnz short loc_A256
mov byte_E97B, 1
loc_A256:
2014-06-29 22:52:27 +00:00
cmp byte_E97B, 0
jz loc_A414
test _input_sp.lo, low INPUT_UP
2014-06-29 22:52:27 +00:00
jz short loc_A26D
push 3
push 0FFFFh
call sub_A0A1
loc_A26D:
test _input_sp.lo, low INPUT_DOWN
2014-06-29 22:52:27 +00:00
jz short loc_A27B
push 3
push 1
call sub_A0A1
loc_A27B:
test _input_sp.lo, low INPUT_RIGHT
2014-06-29 22:52:27 +00:00
jz loc_A31D
mov al, byte_D951
cbw
or ax, ax
jz short loc_A298
cmp ax, 1
jz short loc_A2AE
cmp ax, 2
jz short loc_A2FE
jmp short loc_A312
; ---------------------------------------------------------------------------
loc_A298:
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
inc byte ptr es:[bx+0Bh]
cmp byte ptr es:[bx+0Bh], 3
jbe short loc_A312
mov byte ptr es:[bx+0Bh], 0
jmp short loc_A312
; ---------------------------------------------------------------------------
loc_A2AE:
2014-06-29 22:52:27 +00:00
cmp byte_D880, 0
jnz short loc_A312
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
cmp byte ptr es:[bx+15h], 0
jnz short loc_A2DB
mov byte ptr es:[bx+15h], 1
kajacall KAJA_SONG_STOP
call snd_determine_mode
kajacall KAJA_SONG_PLAY
2014-06-29 22:52:27 +00:00
jmp short loc_A2F1
; ---------------------------------------------------------------------------
loc_A2DB:
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
mov byte ptr es:[bx+15h], 0
kajacall KAJA_SONG_STOP
mov _snd_active, 0
2014-06-29 22:52:27 +00:00
loc_A2F1:
2014-06-29 22:52:27 +00:00
mov al, byte_D951
cbw
push ax
push 0E1h
2014-06-29 22:52:27 +00:00
call sub_9F57
jmp short loc_A312
; ---------------------------------------------------------------------------
loc_A2FE:
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
inc byte ptr es:[bx+16h]
cmp byte ptr es:[bx+16h], 2
jbe short loc_A312
mov byte ptr es:[bx+16h], 0
loc_A312:
2014-06-29 22:52:27 +00:00
mov al, byte_D951
cbw
push ax
push 0E1h
2014-06-29 22:52:27 +00:00
call sub_9F57
loc_A31D:
test _input_sp.lo, low INPUT_LEFT
2014-06-29 22:52:27 +00:00
jz loc_A3CC
mov al, byte_D951
cbw
or ax, ax
jz short loc_A33B
cmp ax, 1
jz short loc_A357
cmp ax, 2
jz short loc_A3A7
jmp loc_A3C1
; ---------------------------------------------------------------------------
loc_A33B:
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
cmp byte ptr es:[bx+0Bh], 0
jnz short loc_A34D
mov byte ptr es:[bx+0Bh], 3
jmp short loc_A3C1
; ---------------------------------------------------------------------------
loc_A34D:
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
dec byte ptr es:[bx+0Bh]
jmp short loc_A3C1
; ---------------------------------------------------------------------------
loc_A357:
2014-06-29 22:52:27 +00:00
cmp byte_D880, 0
jnz short loc_A3C1
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
cmp byte ptr es:[bx+15h], 0
jnz short loc_A384
mov byte ptr es:[bx+15h], 1
kajacall KAJA_SONG_STOP
call snd_determine_mode
kajacall KAJA_SONG_PLAY
2014-06-29 22:52:27 +00:00
jmp short loc_A39A
; ---------------------------------------------------------------------------
loc_A384:
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
mov byte ptr es:[bx+15h], 0
kajacall KAJA_SONG_STOP
mov _snd_active, 0
2014-06-29 22:52:27 +00:00
loc_A39A:
2014-06-29 22:52:27 +00:00
mov al, byte_D951
cbw
push ax
push 0E1h
2014-06-29 22:52:27 +00:00
call sub_9F57
jmp short loc_A3C1
; ---------------------------------------------------------------------------
loc_A3A7:
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
cmp byte ptr es:[bx+16h], 0
jnz short loc_A3B9
mov byte ptr es:[bx+16h], 2
jmp short loc_A3C1
; ---------------------------------------------------------------------------
loc_A3B9:
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
dec byte ptr es:[bx+16h]
loc_A3C1:
2014-06-29 22:52:27 +00:00
mov al, byte_D951
cbw
push ax
push 0E1h
2014-06-29 22:52:27 +00:00
call sub_9F57
loc_A3CC:
test _input_sp.hi, high INPUT_OK
2014-06-29 22:52:27 +00:00
jnz short loc_A3DA
test _input_sp.lo, low INPUT_SHOT
2014-06-29 22:52:27 +00:00
jz short loc_A3F2
loc_A3DA:
2014-06-29 22:52:27 +00:00
mov al, byte_D951
cbw
cmp ax, 3
jnz short loc_A3F2
mov byte_D955, 0
mov byte_D951, 4
mov byte_E97C, 0
loc_A3F2:
test _input_sp.hi, high INPUT_CANCEL
2014-06-29 22:52:27 +00:00
jz short loc_A408
mov byte_D955, 0
mov byte_D951, 4
mov byte_E97C, 0
loc_A408:
cmp _input_sp, INPUT_NONE
2014-06-29 22:52:27 +00:00
jz short loc_A414
mov byte_E97B, 0
loc_A414:
2014-06-29 22:52:27 +00:00
pop si
pop bp
retn
sub_A203 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl main(int argc, const char **argv, const char **envp)
public _main
_main proc far
2014-06-29 22:52:27 +00:00
_argc = word ptr 6
_argv = dword ptr 8
_envp = dword ptr 0Ch
push bp
mov bp, sp
2014-08-27 22:58:40 +00:00
call graph_400line
2014-08-20 14:45:24 +00:00
call text_clear
call respal_create
cmp graph_VramZoom, 0
2014-06-29 22:52:27 +00:00
jz short loc_A452
push ds
push offset aVfvcvbgngngbgn
2014-08-22 23:48:16 +00:00
call dos_puts2
2014-06-29 22:52:27 +00:00
push ds
push offset aUmx
2014-08-22 23:48:16 +00:00
call dos_puts2
2014-06-29 22:52:27 +00:00
push ds
push offset aViosrfvVVkvqbd
2014-06-29 22:52:27 +00:00
loc_A446:
2014-08-22 23:48:16 +00:00
call dos_puts2
call _getch
2014-06-29 22:52:27 +00:00
pop bp
retf
; ---------------------------------------------------------------------------
loc_A452:
2014-06-29 22:52:27 +00:00
push ds
push offset aCOul ; "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1.dat"
call sub_C421
add sp, 4
or ax, ax
jz short loc_A468
push ds
push offset aGbgvgkxsslvVBb ; "\n<><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>s<EFBFBD><73><EFBFBD>ł<EFBFBD><C582>B<EFBFBD><42><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󂫂𑝂₵<F0919D82>Ă<EFBFBD>"...
jmp short loc_A446
; ---------------------------------------------------------------------------
loc_A468:
call gaiji_backup
2014-06-29 22:52:27 +00:00
push ds
push offset aMikoft_bft ; "MIKOFT.bft"
2014-08-31 08:08:09 +00:00
call gaiji_entry_bfnt
2014-06-29 22:52:27 +00:00
call sub_9908
les bx, _yumeconfig
cmp byte ptr es:[bx+28h], 80h
2014-06-29 22:52:27 +00:00
jb short loc_A497
cmp byte ptr es:[bx+39h], 0
jnz short loc_A497
call sub_B38D
call sub_B3EF
call sub_B3C3
call sub_9BDF
loc_A497:
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
cmp byte ptr es:[bx+37h], 0
jnz short loc_A4B0
call sub_ADE2
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
mov byte ptr es:[bx+37h], 1
jmp short loc_A4BC
; ---------------------------------------------------------------------------
loc_A4B0:
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
mov byte ptr es:[bx+37h], 0
call sub_B008
loc_A4BC:
2014-06-29 22:52:27 +00:00
call sub_9E16
mov byte_E97C, 0
mov _input_sp, INPUT_NONE
2014-06-29 22:52:27 +00:00
call sub_A0E0
call sub_B3C3
jmp short loc_A4FE
; ---------------------------------------------------------------------------
loc_A4D2:
call _input_mode_interface
2014-06-29 22:52:27 +00:00
mov al, byte_E97C
cbw
or ax, ax
jz short loc_A4E6
cmp ax, 1
jz short loc_A4EB
jmp short loc_A4EE
; ---------------------------------------------------------------------------
loc_A4E6:
2014-06-29 22:52:27 +00:00
call sub_A0E0
jmp short loc_A4EE
; ---------------------------------------------------------------------------
loc_A4EB:
2014-06-29 22:52:27 +00:00
call sub_A203
loc_A4EE:
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
inc dword ptr es:[bx+10h]
push 1
2014-11-23 21:25:22 +00:00
call frame_delay
2014-06-29 22:52:27 +00:00
loc_A4FE:
2014-06-29 22:52:27 +00:00
cmp byte_D952, 0
jz short loc_A4D2
call sub_99C3
call gaiji_restore
2014-08-20 14:45:24 +00:00
call text_clear
2014-06-29 22:52:27 +00:00
call sub_BEB8
2014-09-03 13:41:25 +00:00
call respal_free
2014-06-29 22:52:27 +00:00
pop bp
retf
_main endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_A51E proc near
2014-06-29 22:52:27 +00:00
var_1 = byte ptr -1
arg_0 = byte ptr 4
arg_2 = byte ptr 6
enter 2, 0
mov al, 1
sub al, byte ptr word_F828+1
mov [bp+var_1], al
graph_accesspage al
2014-06-29 22:52:27 +00:00
push 10h
mov al, [bp+arg_2]
mov ah, 0
shl ax, 4
add ax, 28h ; '('
push ax
mov al, [bp+arg_0]
mov ah, 0
or ax, 20h
push ax
mov al, [bp+arg_2]
mov ah, 0
shl ax, 2
mov bx, ax
pushd dword ptr [bx+5F2h]
2014-06-29 22:52:27 +00:00
call sub_C6DB
graph_accesspage byte ptr word_F828+1
2014-06-29 22:52:27 +00:00
push 10h
mov al, [bp+arg_2]
mov ah, 0
shl ax, 4
add ax, 28h ; '('
push ax
mov al, [bp+arg_0]
mov ah, 0
or ax, 20h
push ax
mov al, [bp+arg_2]
mov ah, 0
shl ax, 2
mov bx, ax
pushd dword ptr [bx+5F2h]
2014-06-29 22:52:27 +00:00
call sub_C6DB
leave
retn 4
sub_A51E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_A590 proc near
2014-06-29 22:52:27 +00:00
arg_0 = byte ptr 4
push bp
mov bp, sp
push si
xor si, si
jmp short loc_A5AD
; ---------------------------------------------------------------------------
loc_A598:
2014-06-29 22:52:27 +00:00
push si
mov al, [bp+arg_0]
mov ah, 0
cmp ax, si
jnz short loc_A5A6
mov al, 0Fh
jmp short loc_A5A8
; ---------------------------------------------------------------------------
loc_A5A6:
2014-06-29 22:52:27 +00:00
mov al, 3
loc_A5A8:
2014-06-29 22:52:27 +00:00
push ax
call sub_A51E
inc si
loc_A5AD:
2014-06-29 22:52:27 +00:00
cmp si, 15h
jl short loc_A598
pop si
pop bp
retn 2
sub_A590 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_A5B7 proc near
2014-06-29 22:52:27 +00:00
push bp
mov bp, sp
push si
push 7D00h
call hmem_allocbyte
2014-06-29 22:52:27 +00:00
mov word_F82A, ax
xor si, si
jmp short loc_A5DF
; ---------------------------------------------------------------------------
loc_A5CA:
les bx, _VRAM_PLANE_B
2014-06-29 22:52:27 +00:00
add bx, si
mov eax, es:[bx]
mov es, word_F82A
mov es:[si], eax
add si, 4
loc_A5DF:
2014-06-29 22:52:27 +00:00
cmp si, 7D00h
jl short loc_A5CA
pop si
pop bp
retn
sub_A5B7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_A5E8 proc near
2014-06-29 22:52:27 +00:00
push bp
mov bp, sp
push word_F82A
call hmem_free
2014-06-29 22:52:27 +00:00
pop bp
retn
sub_A5E8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_A5F6 proc near
2014-06-29 22:52:27 +00:00
push bp
mov bp, sp
push si
push di
push ds
mov ax, 0A800h
mov es, ax
assume es:nothing
mov ax, word_F82A
mov ds, ax
xor di, di
xor si, si
mov cx, 3E80h
rep movsw
pop ds
pop di
pop si
pop bp
retn
sub_A5F6 endp
include th02/music/polygons.asm
2014-06-29 22:52:27 +00:00
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_A899 proc near
2014-06-29 22:52:27 +00:00
push bp
mov bp, sp
call sub_A5F6
2015-01-12 21:48:13 +00:00
call grcg_setcolor pascal, ((GC_RMW or GC_B) shl 16) + 15
call polygons_update_and_render
call grcg_off
graph_showpage byte ptr word_F828+1
2014-06-29 22:52:27 +00:00
mov al, 1
sub al, byte ptr word_F828+1
mov byte ptr word_F828+1, al
graph_accesspage al
2014-06-29 22:52:27 +00:00
push 1
call frame_delay_2
2014-06-29 22:52:27 +00:00
pop bp
retn
sub_A899 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_A8CF proc near
2014-06-29 22:52:27 +00:00
var_6 = word ptr -6
var_4 = word ptr -4
var_2 = word ptr -2
enter 6, 0
push si
push di
mov [bp+var_6], 0
jmp short loc_A8F7
; ---------------------------------------------------------------------------
loc_A8DC:
2014-06-29 22:52:27 +00:00
push 3200h
call hmem_allocbyte
2014-06-29 22:52:27 +00:00
mov bx, [bp+var_6]
shl bx, 2
mov [bx+203Eh], ax
mov word ptr [bx+203Ch], 0
inc [bp+var_6]
loc_A8F7:
2014-06-29 22:52:27 +00:00
cmp [bp+var_6], 4
jl short loc_A8DC
xor si, si
mov di, 40h
2014-06-29 22:52:27 +00:00
jmp short loc_A97D
; ---------------------------------------------------------------------------
loc_A904:
2014-06-29 22:52:27 +00:00
mov [bp+var_2], 130h
jmp short loc_A975
; ---------------------------------------------------------------------------
loc_A90B:
2014-06-29 22:52:27 +00:00
mov ax, [bp+var_2]
sar ax, 3
mov dx, di
shl dx, 6
add ax, dx
mov dx, di
shl dx, 4
add ax, dx
mov [bp+var_4], ax
les bx, _VRAM_PLANE_B
2014-06-29 22:52:27 +00:00
assume es:nothing
add bx, [bp+var_4]
mov eax, es:[bx]
les bx, dword ptr unk_F82C
mov es:[bx+si], eax
les bx, _VRAM_PLANE_R
2014-06-29 22:52:27 +00:00
add bx, [bp+var_4]
mov eax, es:[bx]
les bx, dword ptr unk_F830
mov es:[bx+si], eax
les bx, _VRAM_PLANE_G
2014-06-29 22:52:27 +00:00
add bx, [bp+var_4]
mov eax, es:[bx]
les bx, dword ptr unk_F834
mov es:[bx+si], eax
les bx, _VRAM_PLANE_E
2014-06-29 22:52:27 +00:00
add bx, [bp+var_4]
mov eax, es:[bx]
les bx, dword ptr unk_F838
mov es:[bx+si], eax
add si, 4
add [bp+var_2], 20h ; ' '
loc_A975:
2014-06-29 22:52:27 +00:00
cmp [bp+var_2], 270h
jl short loc_A90B
inc di
loc_A97D:
2014-06-29 22:52:27 +00:00
cmp di, 50h ; 'P'
jl short loc_A904
mov di, 50h ; 'P'
jmp short loc_AA00
; ---------------------------------------------------------------------------
loc_A987:
2014-06-29 22:52:27 +00:00
mov [bp+var_2], 130h
jmp short loc_A9F8
; ---------------------------------------------------------------------------
loc_A98E:
2014-06-29 22:52:27 +00:00
mov ax, [bp+var_2]
sar ax, 3
mov dx, di
shl dx, 6
add ax, dx
mov dx, di
shl dx, 4
add ax, dx
mov [bp+var_4], ax
les bx, _VRAM_PLANE_B
2014-06-29 22:52:27 +00:00
add bx, [bp+var_4]
mov eax, es:[bx]
les bx, dword ptr unk_F82C
mov es:[bx+si], eax
les bx, _VRAM_PLANE_R
2014-06-29 22:52:27 +00:00
add bx, [bp+var_4]
mov eax, es:[bx]
les bx, dword ptr unk_F830
mov es:[bx+si], eax
les bx, _VRAM_PLANE_G
2014-06-29 22:52:27 +00:00
add bx, [bp+var_4]
mov eax, es:[bx]
les bx, dword ptr unk_F834
mov es:[bx+si], eax
les bx, _VRAM_PLANE_E
2014-06-29 22:52:27 +00:00
add bx, [bp+var_4]
mov eax, es:[bx]
les bx, dword ptr unk_F838
mov es:[bx+si], eax
add si, 4
add [bp+var_2], 20h ; ' '
loc_A9F8:
2014-06-29 22:52:27 +00:00
cmp [bp+var_2], 270h
jl short loc_A98E
inc di
loc_AA00:
2014-06-29 22:52:27 +00:00
cmp di, 180h
jl short loc_A987
pop di
pop si
leave
retn
sub_A8CF endp
include th02/music/music_cmt_load.asm
2014-06-29 22:52:27 +00:00
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_AA53 proc near
2014-06-29 22:52:27 +00:00
push bp
mov bp, sp
push word_F82E
call hmem_free
2014-06-29 22:52:27 +00:00
push word_F832
call hmem_free
2014-06-29 22:52:27 +00:00
push word_F836
call hmem_free
2014-06-29 22:52:27 +00:00
push word_F83A
call hmem_free
2014-06-29 22:52:27 +00:00
pop bp
retn
sub_AA53 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_AA7C proc near
2014-06-29 22:52:27 +00:00
var_2 = word ptr -2
enter 2, 0
push si
push di
xor cx, cx
mov si, 40h
2014-06-29 22:52:27 +00:00
jmp short loc_AB05
; ---------------------------------------------------------------------------
loc_AA89:
2014-06-29 22:52:27 +00:00
mov di, 130h
jmp short loc_AAFE
; ---------------------------------------------------------------------------
loc_AA8E:
2014-06-29 22:52:27 +00:00
mov ax, di
sar ax, 3
mov dx, si
shl dx, 6
add ax, dx
mov dx, si
shl dx, 4
add ax, dx
mov [bp+var_2], ax
les bx, dword ptr unk_F82C
add bx, cx
mov eax, es:[bx]
les bx, _VRAM_PLANE_B
2014-06-29 22:52:27 +00:00
add bx, [bp+var_2]
mov es:[bx], eax
les bx, dword ptr unk_F830
add bx, cx
mov eax, es:[bx]
les bx, _VRAM_PLANE_R
2014-06-29 22:52:27 +00:00
add bx, [bp+var_2]
mov es:[bx], eax
les bx, dword ptr unk_F834
add bx, cx
mov eax, es:[bx]
les bx, _VRAM_PLANE_G
2014-06-29 22:52:27 +00:00
add bx, [bp+var_2]
mov es:[bx], eax
les bx, dword ptr unk_F838
add bx, cx
mov eax, es:[bx]
les bx, _VRAM_PLANE_E
2014-06-29 22:52:27 +00:00
add bx, [bp+var_2]
mov es:[bx], eax
add cx, 4
add di, 20h ; ' '
loc_AAFE:
2014-06-29 22:52:27 +00:00
cmp di, 270h
jl short loc_AA8E
inc si
loc_AB05:
2014-06-29 22:52:27 +00:00
cmp si, 50h ; 'P'
jl loc_AA89
mov si, 50h ; 'P'
jmp short loc_AB8D
; ---------------------------------------------------------------------------
loc_AB11:
2014-06-29 22:52:27 +00:00
mov di, 130h
jmp short loc_AB86
; ---------------------------------------------------------------------------
loc_AB16:
2014-06-29 22:52:27 +00:00
mov ax, di
sar ax, 3
mov dx, si
shl dx, 6
add ax, dx
mov dx, si
shl dx, 4
add ax, dx
mov [bp+var_2], ax
les bx, dword ptr unk_F82C
add bx, cx
mov eax, es:[bx]
les bx, _VRAM_PLANE_B
2014-06-29 22:52:27 +00:00
add bx, [bp+var_2]
mov es:[bx], eax
les bx, dword ptr unk_F830
add bx, cx
mov eax, es:[bx]
les bx, _VRAM_PLANE_R
2014-06-29 22:52:27 +00:00
add bx, [bp+var_2]
mov es:[bx], eax
les bx, dword ptr unk_F834
add bx, cx
mov eax, es:[bx]
les bx, _VRAM_PLANE_G
2014-06-29 22:52:27 +00:00
add bx, [bp+var_2]
mov es:[bx], eax
les bx, dword ptr unk_F838
add bx, cx
mov eax, es:[bx]
les bx, _VRAM_PLANE_E
2014-06-29 22:52:27 +00:00
add bx, [bp+var_2]
mov es:[bx], eax
add cx, 4
add di, 20h ; ' '
loc_AB86:
2014-06-29 22:52:27 +00:00
cmp di, 270h
jl short loc_AB16
inc si
loc_AB8D:
2014-06-29 22:52:27 +00:00
cmp si, 180h
jl loc_AB11
pop di
pop si
leave
retn
sub_AA7C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_AB99 proc near
2014-06-29 22:52:27 +00:00
@@track = word ptr 4
2014-06-29 22:52:27 +00:00
push bp
mov bp, sp
push si
push di
call music_cmt_load pascal, [bp+@@track]
2014-06-29 22:52:27 +00:00
call sub_A5F6
call sub_AA7C
push 1300040h
2014-06-29 22:52:27 +00:00
push 1Fh
push ds
push offset _music_cmt
2014-06-29 22:52:27 +00:00
call sub_C6DB
mov di, 1
jmp short loc_ABDC
; ---------------------------------------------------------------------------
loc_ABC0:
2014-06-29 22:52:27 +00:00
push 130h
lea ax, [di+4]
shl ax, 4
push ax
push 1Dh
push ds
mov ax, di
imul ax, MUSIC_CMT_LINE_LEN
add ax, offset _music_cmt
2014-06-29 22:52:27 +00:00
push ax
call sub_C6DB
inc di
loc_ABDC:
cmp di, MUSIC_CMT_LINE_COUNT
2014-06-29 22:52:27 +00:00
jl short loc_ABC0
xor si, si
jmp short loc_ABFA
; ---------------------------------------------------------------------------
loc_ABE5:
les bx, _VRAM_PLANE_B
2014-06-29 22:52:27 +00:00
add bx, si
mov eax, es:[bx]
mov es, word_F82A
mov es:[si], eax
add si, 4
loc_ABFA:
2014-06-29 22:52:27 +00:00
cmp si, 7D00h
jl short loc_ABE5
pop di
pop si
pop bp
retn 2
sub_AB99 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_AC06 proc far
2014-06-29 22:52:27 +00:00
push bp
mov bp, sp
push si
xor si, si
jmp short loc_AC15
; ---------------------------------------------------------------------------
loc_AC0E:
call cdg_free pascal, si
2014-06-29 22:52:27 +00:00
inc si
loc_AC15:
cmp si, CDG_SLOT_COUNT
2014-06-29 22:52:27 +00:00
jl short loc_AC0E
call super_free
2014-08-20 14:45:24 +00:00
call text_clear
2014-06-29 22:52:27 +00:00
mov byte ptr word_F828+1, 1
2014-08-23 13:47:05 +00:00
mov PaletteTone, 0
2014-08-23 14:11:16 +00:00
call far ptr palette_show
graph_showpage 0
graph_accesspage al
2014-08-27 04:03:08 +00:00
call graph_clear
graph_accesspage 1
call pi_slot_load pascal, 0, ds, offset aOp3_pi
call pi_slot_palette_apply pascal, 0
call pi_slot_put pascal, large 0, 0
freePISlotLarge 0
mov al, music_track_playing
2014-06-29 22:52:27 +00:00
mov byte ptr word_F828, al
push word_F828
call sub_A590
push 0
2014-08-27 04:13:48 +00:00
call graph_copy_page
graph_accesspage 1
graph_showpage 0
2014-06-29 22:52:27 +00:00
call sub_A5B7
call sub_A8CF
graph_accesspage 1
mov al, music_track_playing
2014-06-29 22:52:27 +00:00
mov ah, 0
call sub_AB99 pascal, ax
graph_accesspage 0
mov al, music_track_playing
2014-06-29 22:52:27 +00:00
mov ah, 0
call sub_AB99 pascal, ax
2014-08-23 13:47:05 +00:00
mov PaletteTone, 64h ; 'd'
2014-08-23 14:11:16 +00:00
call far ptr palette_show
2014-06-29 22:52:27 +00:00
loc_ACC2:
call _input_mode_interface
cmp _input_sp, INPUT_NONE
2014-06-29 22:52:27 +00:00
jz short loc_ACD3
call sub_A899
jmp short loc_ACC2
; ---------------------------------------------------------------------------
loc_ACD3:
call _input_mode_interface
test _input_sp.lo, low INPUT_UP
2014-06-29 22:52:27 +00:00
jz short loc_AD0E
push word_F828
push 3
call sub_A51E
cmp byte ptr word_F828, 0
jbe short loc_ACF5
dec byte ptr word_F828
jmp short loc_ACFA
; ---------------------------------------------------------------------------
loc_ACF5:
2014-06-29 22:52:27 +00:00
mov byte ptr word_F828, 14h
loc_ACFA:
2014-06-29 22:52:27 +00:00
cmp byte ptr word_F828, 13h
jnz short loc_AD05
dec byte ptr word_F828
loc_AD05:
2014-06-29 22:52:27 +00:00
push word_F828
push 0Fh
call sub_A51E
loc_AD0E:
test _input_sp.lo, low INPUT_DOWN
2014-06-29 22:52:27 +00:00
jz short loc_AD44
push word_F828
push 3
call sub_A51E
cmp byte ptr word_F828, 14h
jnb short loc_AD2B
inc byte ptr word_F828
jmp short loc_AD30
; ---------------------------------------------------------------------------
loc_AD2B:
2014-06-29 22:52:27 +00:00
mov byte ptr word_F828, 0
loc_AD30:
2014-06-29 22:52:27 +00:00
cmp byte ptr word_F828, 13h
jnz short loc_AD3B
inc byte ptr word_F828
loc_AD3B:
2014-06-29 22:52:27 +00:00
push word_F828
push 0Fh
call sub_A51E
loc_AD44:
test _input_sp.lo, low INPUT_SHOT
2014-06-29 22:52:27 +00:00
jnz short loc_AD52
test _input_sp.hi, high INPUT_OK
2014-06-29 22:52:27 +00:00
jz short loc_AD9A
loc_AD52:
2014-06-29 22:52:27 +00:00
cmp byte ptr word_F828, 14h
jz short loc_ADB0
kajacall KAJA_SONG_STOP
push SND_LOAD_SONG
2014-06-29 22:52:27 +00:00
mov al, byte ptr word_F828
mov ah, 0
shl ax, 2
mov bx, ax
pushd dword ptr [bx+646h]
call snd_load
2014-06-29 22:52:27 +00:00
add sp, 6
kajacall KAJA_SONG_PLAY
2014-06-29 22:52:27 +00:00
mov al, byte ptr word_F828
mov music_track_playing, al
2014-06-29 22:52:27 +00:00
mov ah, 0
call sub_AB99 pascal, ax
2014-06-29 22:52:27 +00:00
call sub_A899
mov al, byte ptr word_F828
mov ah, 0
call sub_AB99 pascal, ax
2014-06-29 22:52:27 +00:00
loc_AD9A:
test _input_sp.hi, high INPUT_CANCEL
2014-06-29 22:52:27 +00:00
jnz short loc_ADB0
cmp _input_sp, INPUT_NONE
2014-06-29 22:52:27 +00:00
jnz loc_ACC2
call sub_A899
jmp loc_ACD3
; ---------------------------------------------------------------------------
loc_ADB0:
call _input_mode_interface
cmp _input_sp, INPUT_NONE
2014-06-29 22:52:27 +00:00
jz short loc_ADC1
call sub_A899
jmp short loc_ADB0
; ---------------------------------------------------------------------------
loc_ADC1:
2014-06-29 22:52:27 +00:00
call sub_A5E8
call sub_AA53
graph_showpage 0
graph_accesspage al
2014-08-27 04:03:08 +00:00
call graph_clear
graph_accesspage 1
2014-06-29 22:52:27 +00:00
mov al, 0
out dx, al
2014-06-29 22:52:27 +00:00
pop si
pop bp
retf
sub_AC06 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_ADE2 proc near
2014-06-29 22:52:27 +00:00
@@page = byte ptr -3
2014-06-29 22:52:27 +00:00
var_2 = word ptr -2
enter 4, 0
push si
mov [bp+var_2], 0
mov [bp+@@page], 0
2014-06-29 22:52:27 +00:00
push ds
push offset aOpwin_bft ; "opwin.bft"
call super_entry_bfnt
kajacall KAJA_SONG_STOP
call snd_load c, offset aOp_m, ds, SND_LOAD_SONG
call pi_slot_load pascal, 0, ds, offset aTl01_pi
2014-08-23 13:47:05 +00:00
mov PaletteTone, 0
2014-08-23 14:11:16 +00:00
call far ptr palette_show
graph_accesspage 1
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
2014-06-29 22:52:27 +00:00
push 2
call egc_shift_left_all
2014-08-23 13:47:05 +00:00
mov Palettes+45, 0
mov Palettes+46, 0
mov Palettes+47, 0
2014-08-23 14:11:16 +00:00
call far ptr palette_show
2014-08-23 13:47:05 +00:00
mov Palettes+33, 0
mov Palettes+34, 0
mov Palettes+35, 0
2014-08-23 14:11:16 +00:00
call far ptr palette_show
freePISlotLarge 0
call pi_slot_load pascal, 0, ds, offset aTl02_pi
graph_showpage 1
mov si, 0A0h
2014-06-29 22:52:27 +00:00
jmp short loc_AF02
; ---------------------------------------------------------------------------
loc_AEA0:
2014-06-29 22:52:27 +00:00
push 1
2014-11-23 21:25:22 +00:00
call frame_delay
2014-06-29 22:52:27 +00:00
mov al, byte ptr [bp+var_2]
2014-08-23 13:47:05 +00:00
mov Palettes+45, al
mov Palettes+46, al
mov Palettes+47, al
2014-08-23 14:11:16 +00:00
call far ptr palette_show
cmp [bp+var_2], 80h
2014-06-29 22:52:27 +00:00
jg short loc_AECB
mov al, byte ptr [bp+var_2]
2014-08-23 13:47:05 +00:00
mov Palettes+33, al
mov Palettes+34, al
mov Palettes+35, al
2014-06-29 22:52:27 +00:00
loc_AECB:
2014-08-23 14:11:16 +00:00
call far ptr palette_show
2014-06-29 22:52:27 +00:00
cmp [bp+var_2], 64h ; 'd'
jg short loc_AEE1
mov ax, [bp+var_2]
2014-08-23 13:47:05 +00:00
mov PaletteTone, ax
2014-08-23 14:11:16 +00:00
call far ptr palette_show
2014-06-29 22:52:27 +00:00
loc_AEE1:
2014-06-29 22:52:27 +00:00
add [bp+var_2], 2
graph_showpage [bp+@@page]
2014-06-29 22:52:27 +00:00
mov al, 1
sub al, [bp+@@page]
mov [bp+@@page], al
graph_accesspage al
2014-06-29 22:52:27 +00:00
push 4
call egc_shift_left_all
2014-06-29 22:52:27 +00:00
sub si, 2
loc_AF02:
2014-06-29 22:52:27 +00:00
cmp si, 11h
jg short loc_AEA0
jmp short loc_AF25
; ---------------------------------------------------------------------------
loc_AF09:
2014-06-29 22:52:27 +00:00
mov al, byte ptr [bp+var_2]
2014-08-23 13:47:05 +00:00
mov Palettes+45, al
mov Palettes+46, al
mov Palettes+47, al
2014-08-23 14:11:16 +00:00
call far ptr palette_show
2014-06-29 22:52:27 +00:00
add [bp+var_2], 2
push 1
2014-11-23 21:25:22 +00:00
call frame_delay
2014-06-29 22:52:27 +00:00
loc_AF25:
2014-06-29 22:52:27 +00:00
cmp [bp+var_2], 0FFh
jl short loc_AF09
mov vsync_Count1, 0
2014-06-29 22:52:27 +00:00
call sub_B3EF
loc_AF35:
cmp vsync_Count1, 10h
2014-06-29 22:52:27 +00:00
jb short loc_AF35
xor si, si
jmp short loc_AF65
; ---------------------------------------------------------------------------
loc_AF40:
2014-08-23 13:47:05 +00:00
mov PaletteTone, 0C8h ; '<27>'
2014-08-23 14:11:16 +00:00
call far ptr palette_show
2014-06-29 22:52:27 +00:00
push 1
2014-11-23 21:25:22 +00:00
call frame_delay
2014-08-23 13:47:05 +00:00
mov PaletteTone, 64h ; 'd'
2014-08-23 14:11:16 +00:00
call far ptr palette_show
2014-06-29 22:52:27 +00:00
push 1
2014-11-23 21:25:22 +00:00
call frame_delay
2014-06-29 22:52:27 +00:00
inc si
loc_AF65:
2014-06-29 22:52:27 +00:00
cmp si, 8
jl short loc_AF40
2014-08-23 13:47:05 +00:00
mov PaletteTone, 0C8h ; '<27>'
2014-08-23 14:11:16 +00:00
call far ptr palette_show
kajacall KAJA_SONG_PLAY
graph_showpage 0
graph_accesspage al
call pi_slot_palette_apply pascal, 0
call pi_slot_put pascal, large 0, 0
2014-06-29 22:52:27 +00:00
push 1
2014-11-23 21:25:22 +00:00
call frame_delay
2014-08-23 13:47:05 +00:00
mov PaletteTone, 64h ; 'd'
2014-08-23 14:11:16 +00:00
call far ptr palette_show
2014-06-29 22:52:27 +00:00
push 1
2014-11-23 21:25:22 +00:00
call frame_delay
2014-06-29 22:52:27 +00:00
xor si, si
jmp short loc_AFD9
; ---------------------------------------------------------------------------
loc_AFB4:
2014-08-23 13:47:05 +00:00
mov PaletteTone, 0C8h ; '<27>'
2014-08-23 14:11:16 +00:00
call far ptr palette_show
2014-06-29 22:52:27 +00:00
push 1
2014-11-23 21:25:22 +00:00
call frame_delay
2014-08-23 13:47:05 +00:00
mov PaletteTone, 64h ; 'd'
2014-08-23 14:11:16 +00:00
call far ptr palette_show
2014-06-29 22:52:27 +00:00
push 1
2014-11-23 21:25:22 +00:00
call frame_delay
2014-06-29 22:52:27 +00:00
inc si
loc_AFD9:
2014-06-29 22:52:27 +00:00
cmp si, 8
jl short loc_AFB4
graph_accesspage 1
call pi_slot_put pascal, large 0, 0
graph_accesspage 0
freePISlotLarge 0
2014-06-29 22:52:27 +00:00
call sub_B38D
pop si
leave
retn
sub_ADE2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B008 proc near
2014-06-29 22:52:27 +00:00
push bp
mov bp, sp
push si
push ds
push offset aOpwin_bft ; "opwin.bft"
call super_entry_bfnt
kajacall KAJA_SONG_STOP
call snd_load c, offset aOp_m, ds, SND_LOAD_SONG
2014-08-23 13:47:05 +00:00
mov PaletteTone, 0
2014-08-23 14:11:16 +00:00
call far ptr palette_show
call pi_slot_load pascal, 0, ds, offset aTl02_pi
graph_showpage 0
2014-06-29 22:52:27 +00:00
call sub_B3EF
graph_accesspage 1
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
graph_accesspage 0
freePISlotLarge 0
2014-06-29 22:52:27 +00:00
call sub_B38D
kajacall KAJA_SONG_PLAY
2014-06-29 22:52:27 +00:00
xor si, si
jmp short loc_B0A7
; ---------------------------------------------------------------------------
loc_B094:
2014-08-23 13:47:05 +00:00
mov PaletteTone, si
2014-08-23 14:11:16 +00:00
call far ptr palette_show
2014-06-29 22:52:27 +00:00
push 1
2014-11-23 21:25:22 +00:00
call frame_delay
2014-06-29 22:52:27 +00:00
add si, 4
loc_B0A7:
2014-06-29 22:52:27 +00:00
cmp si, 64h ; 'd'
jle short loc_B094
pop si
pop bp
retn
sub_B008 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B0AF proc near
2014-06-29 22:52:27 +00:00
push bp
mov bp, sp
push si
mov si, 120h
jmp short loc_B0D2
; ---------------------------------------------------------------------------
loc_B0B8:
2014-06-29 22:52:27 +00:00
push si
call sub_B10A
push si
push 1000002h
call super_put
2014-06-29 22:52:27 +00:00
push 1
2014-11-23 21:25:22 +00:00
call frame_delay
2014-06-29 22:52:27 +00:00
add si, 8
loc_B0D2:
2014-06-29 22:52:27 +00:00
cmp si, 188h
jl short loc_B0B8
pop si
pop bp
retn
sub_B0AF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B0DB proc near
2014-06-29 22:52:27 +00:00
push bp
mov bp, sp
push si
mov si, 180h
jmp short loc_B101
; ---------------------------------------------------------------------------
loc_B0E4:
2014-06-29 22:52:27 +00:00
lea ax, [si+8]
push ax
call sub_B10A
push si
push 1000002h
call super_put
2014-06-29 22:52:27 +00:00
push 1
2014-11-23 21:25:22 +00:00
call frame_delay
2014-06-29 22:52:27 +00:00
sub si, 8
loc_B101:
2014-06-29 22:52:27 +00:00
cmp si, 118h
jge short loc_B0E4
pop si
pop bp
retn
sub_B0DB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B10A proc near
2014-06-29 22:52:27 +00:00
arg_0 = word ptr 4
push bp
mov bp, sp
push si
push di
mov ax, [bp+arg_0]
shr ax, 3
mov di, 77B0h
add di, ax
mov ax, 0AD00h
mov es, ax
assume es:nothing
loc_B11F:
2014-06-29 22:52:27 +00:00
mov al, 1
out 0A6h, al
2014-06-29 22:52:27 +00:00
mov dx, es:[di]
mov ax, 0B500h
mov es, ax
assume es:nothing
mov cx, es:[di]
mov ax, 0BD00h
mov es, ax
assume es:nothing
mov bx, es:[di]
mov ax, 0E500h
mov es, ax
assume es:nothing
mov si, es:[di]
xor al, al
out 0A6h, al
2014-06-29 22:52:27 +00:00
mov es:[di], si
mov ax, 0BD00h
mov es, ax
assume es:nothing
mov es:[di], bx
mov ax, 0B500h
mov es, ax
assume es:nothing
mov es:[di], cx
mov ax, 0AD00h
mov es, ax
assume es:nothing
mov es:[di], dx
sub di, 50h ; 'P'
jnb short loc_B11F
pop di
pop si
pop bp
retn 2
sub_B10A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B168 proc near
2014-06-29 22:52:27 +00:00
var_4 = word ptr -4
var_1 = byte ptr -1
arg_0 = word ptr 4
enter 4, 0
push si
push di
mov [bp+var_4], 0
2014-08-30 10:13:04 +00:00
call IRand
2014-06-29 22:52:27 +00:00
mov byte_FC50, al
2014-08-30 10:13:04 +00:00
call IRand
2014-06-29 22:52:27 +00:00
mov byte_FC51, al
2014-08-30 10:13:04 +00:00
call IRand
2014-06-29 22:52:27 +00:00
mov byte_FBD7, al
mov si, 2396h
xor di, di
jmp short loc_B19B
; ---------------------------------------------------------------------------
loc_B192:
2014-06-29 22:52:27 +00:00
mov al, [si]
mov ah, 0
add [bp+var_4], ax
inc di
inc si
loc_B19B:
cmp di, 0CCh
2014-06-29 22:52:27 +00:00
jl short loc_B192
mov ax, [bp+var_4]
mov word_FB84, ax
mov si, 2460h
dec si
mov al, byte_FC51
mov [bp+var_1], al
mov di, 0CBh ; '<27>'
jmp short loc_B1D4
; ---------------------------------------------------------------------------
loc_B1B6:
2014-06-29 22:52:27 +00:00
mov al, [si]
mov dl, byte_FC50
add dl, [bp+var_1]
sub al, dl
mov [si], al
mov al, [si]
mov [bp+var_1], al
mov al, byte_FC51
ror [bp+var_1], 3
xor [bp+var_1], al
dec di
dec si
loc_B1D4:
2014-06-29 22:52:27 +00:00
or di, di
jge short loc_B1B6
push ds
push word_E1F2
2014-08-30 05:58:36 +00:00
call file_append
2014-06-29 22:52:27 +00:00
mov ax, [bp+arg_0]
imul ax, 0CEh
movzx eax, ax
push eax
push 0
call file_seek
2014-06-29 22:52:27 +00:00
push ds
push offset word_FB84
push 0CEh
2014-08-30 07:38:09 +00:00
call file_write
call file_close
2014-06-29 22:52:27 +00:00
pop di
pop si
leave
retn 2
sub_B168 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B20D proc near
2014-06-29 22:52:27 +00:00
var_1 = byte ptr -1
enter 2, 0
push si
mov si, 2394h
xor dx, dx
jmp short loc_B235
; ---------------------------------------------------------------------------
loc_B219:
2014-06-29 22:52:27 +00:00
mov al, [si+1]
mov [bp+var_1], al
mov al, byte_FC51
ror [bp+var_1], 3
xor [bp+var_1], al
mov al, byte_FC50
add al, [bp+var_1]
add al, [si]
mov [si], al
inc dx
inc si
loc_B235:
2014-06-29 22:52:27 +00:00
cmp dx, 0CBh ; '<27>'
jl short loc_B219
mov al, byte_FC50
add al, byte_FC51
add al, [si]
mov [si], al
pop si
leave
retn
sub_B20D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B249 proc near
2014-06-29 22:52:27 +00:00
var_1 = byte ptr -1
enter 2, 0
push si
push di
mov [bp+var_1], 29h ; ')'
xor si, si
jmp short loc_B28A
; ---------------------------------------------------------------------------
loc_B257:
2014-06-29 22:52:27 +00:00
xor di, di
jmp short loc_B266
; ---------------------------------------------------------------------------
loc_B25B:
2014-06-29 22:52:27 +00:00
mov bx, si
shl bx, 3
mov byte ptr [bx+di+2396h], 2Ah ; '*'
inc di
loc_B266:
2014-06-29 22:52:27 +00:00
cmp di, 8
jl short loc_B25B
xor di, di
jmp short loc_B27A
; ---------------------------------------------------------------------------
loc_B26F:
2014-06-29 22:52:27 +00:00
mov bx, si
imul bx, 0Ah
mov byte ptr [bx+di+23E8h], 20h ; ' '
inc di
loc_B27A:
2014-06-29 22:52:27 +00:00
cmp di, 0Ah
jl short loc_B26F
mov byte ptr [si+244Ch], 0
mov byte ptr [si+2456h], 21h ; '!'
inc si
loc_B28A:
2014-06-29 22:52:27 +00:00
cmp si, 0Ah
jl short loc_B257
mov byte_FBDC, 21h ; '!'
mov di, 1
jmp short loc_B2A9
; ---------------------------------------------------------------------------
loc_B299:
2014-06-29 22:52:27 +00:00
mov bx, di
imul bx, 0Ah
mov al, [bp+var_1]
mov [bx+23EBh], al
inc di
dec [bp+var_1]
loc_B2A9:
2014-06-29 22:52:27 +00:00
cmp di, 0Ah
jl short loc_B299
mov byte_FBD6, 12h
xor si, si
jmp short loc_B2BF
; ---------------------------------------------------------------------------
loc_B2B7:
2014-06-29 22:52:27 +00:00
push si
call sub_B168
call sub_B20D
inc si
loc_B2BF:
2014-06-29 22:52:27 +00:00
cmp si, 4
jl short loc_B2B7
pop di
pop si
leave
retn
sub_B249 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B2C8 proc near
2014-06-29 22:52:27 +00:00
push bp
mov bp, sp
push si
xor cx, cx
mov si, 2396h
xor dx, dx
jmp short loc_B2DD
; ---------------------------------------------------------------------------
loc_B2D5:
2014-06-29 22:52:27 +00:00
mov al, [si]
mov ah, 0
add cx, ax
inc dx
inc si
loc_B2DD:
cmp dx, 0CCh
2014-06-29 22:52:27 +00:00
jl short loc_B2D5
cmp word_FB84, cx
jz short loc_B2ED
mov al, 1
jmp short loc_B2EF
; ---------------------------------------------------------------------------
loc_B2ED:
2014-06-29 22:52:27 +00:00
mov al, 0
loc_B2EF:
2014-06-29 22:52:27 +00:00
pop si
pop bp
retn
sub_B2C8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B2F2 proc near
2014-06-29 22:52:27 +00:00
arg_0 = word ptr 4
push bp
mov bp, sp
push ds
push word_E1F2
2014-08-30 06:46:38 +00:00
call file_exist
2014-06-29 22:52:27 +00:00
or ax, ax
jnz short loc_B314
push ds
push word_E1F2
2014-08-30 06:32:10 +00:00
call file_create
call file_close
2014-06-29 22:52:27 +00:00
jmp short loc_B34D
; ---------------------------------------------------------------------------
loc_B314:
2014-06-29 22:52:27 +00:00
push ds
push word_E1F2
2014-08-30 07:12:17 +00:00
call file_ropen
2014-06-29 22:52:27 +00:00
mov ax, [bp+arg_0]
imul ax, 0CEh
movzx eax, ax
push eax
push 0
call file_seek
2014-06-29 22:52:27 +00:00
push ds
push offset word_FB84
push 0CEh
2014-08-30 07:00:31 +00:00
call file_read
call file_close
2014-06-29 22:52:27 +00:00
call sub_B20D
call sub_B2C8
or al, al
jz short loc_B357
loc_B34D:
2014-06-29 22:52:27 +00:00
call sub_B249
mov ax, 1
pop bp
retn 2
; ---------------------------------------------------------------------------
loc_B357:
2014-06-29 22:52:27 +00:00
xor ax, ax
pop bp
retn 2
sub_B2F2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B35D proc near
2014-06-29 22:52:27 +00:00
var_1 = byte ptr -1
enter 2, 0
push si
mov [bp+var_1], 7
xor si, si
jmp short loc_B382
; ---------------------------------------------------------------------------
loc_B36A:
2014-06-29 22:52:27 +00:00
push si
call sub_B2F2
or ax, ax
jz short loc_B376
mov al, 7
jmp short loc_B38A
; ---------------------------------------------------------------------------
loc_B376:
2014-06-29 22:52:27 +00:00
cmp byte_FBD6, 63h ; 'c'
jnz short loc_B381
mov [bp+var_1], 9
loc_B381:
2014-06-29 22:52:27 +00:00
inc si
loc_B382:
2014-06-29 22:52:27 +00:00
cmp si, 4
jl short loc_B36A
mov al, [bp+var_1]
loc_B38A:
2014-06-29 22:52:27 +00:00
pop si
leave
retn
sub_B35D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B38D proc near
2014-06-29 22:52:27 +00:00
push bp
mov bp, sp
push si
call hflip_lut_generate
2014-06-29 22:52:27 +00:00
xor si, si
jmp short loc_B3B0
; ---------------------------------------------------------------------------
loc_B39A:
2014-06-29 22:52:27 +00:00
lea ax, [si+2]
push ax
mov bx, si
shl bx, 2
pushd dword ptr [bx+0A0Eh]
2014-06-29 22:52:27 +00:00
push 0
call cdg_load_single_forcealpha
2014-06-29 22:52:27 +00:00
inc si
loc_B3B0:
2014-06-29 22:52:27 +00:00
cmp si, 3
jl short loc_B39A
call cdg_load_all_noalpha pascal, 13, ds, offset aSlex_cd2
2014-06-29 22:52:27 +00:00
pop si
pop bp
retn
sub_B38D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B3C3 proc near
2014-06-29 22:52:27 +00:00
push bp
mov bp, sp
call cdg_load_single_forcealpha pascal, 1, ds, offset a99sl_cdg, 0
call cdg_load_single_noalpha pascal, 11, ds, offset aSlwin_cdg , 0
call cdg_load_single_noalpha pascal, 12, ds, offset aSlex_cdg, 0
2014-06-29 22:52:27 +00:00
pop bp
retn
sub_B3C3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B3EF proc near
2014-06-29 22:52:27 +00:00
push bp
mov bp, sp
push si
call cdg_load_single_forcealpha pascal, 0, [off_E1FE], 0
2014-06-29 22:52:27 +00:00
mov si, 3
jmp short loc_B41C
; ---------------------------------------------------------------------------
loc_B406:
2014-06-29 22:52:27 +00:00
lea ax, [si+2]
push ax
mov bx, si
shl bx, 2
pushd dword ptr [bx+0A0Eh]
2014-06-29 22:52:27 +00:00
push 0
call cdg_load_single_forcealpha
2014-06-29 22:52:27 +00:00
inc si
loc_B41C:
2014-06-29 22:52:27 +00:00
cmp si, 6
jl short loc_B406
pop si
pop bp
retn
sub_B3EF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B424 proc near
2014-06-29 22:52:27 +00:00
push bp
mov bp, sp
push si
mov vsync_Count1, 0
kajacall KAJA_SONG_STOP
call snd_load c, offset aSelect_m, ds, SND_LOAD_SONG
kajacall KAJA_SONG_PLAY
2014-06-29 22:52:27 +00:00
mov word_FC64, 0C8h ; '<27>'
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
assume es:nothing
mov eax, es:[bx+10h]
2014-08-30 10:13:04 +00:00
mov random_seed, eax
2014-08-20 14:45:24 +00:00
call text_clear
call super_free
2014-06-29 22:52:27 +00:00
push ds
push offset aChname_bft ; "chname.bft"
call super_entry_bfnt
graph_accesspage 0
2014-08-27 04:03:08 +00:00
call graph_clear
graph_accesspage 1
2014-08-27 04:03:08 +00:00
call graph_clear
graph_showpage 0
2014-06-29 22:52:27 +00:00
mov byte_FC5C, 0
push ds
push offset aTlsl_rgb ; "TLSL.RGB"
2014-08-31 03:14:54 +00:00
call palette_entry_rgb
2014-08-23 14:11:16 +00:00
call far ptr palette_show
2014-06-29 22:52:27 +00:00
mov si, 6
jmp short loc_B4BC
; ---------------------------------------------------------------------------
loc_B4A6:
2014-06-29 22:52:27 +00:00
lea ax, [si+2]
push ax
mov bx, si
shl bx, 2
pushd dword ptr [bx+0A0Eh]
2014-06-29 22:52:27 +00:00
push 0
call cdg_load_single_forcealpha
2014-06-29 22:52:27 +00:00
inc si
loc_B4BC:
2014-06-29 22:52:27 +00:00
cmp si, 9
jl short loc_B4A6
loc_B4C1:
cmp vsync_Count1, 1Eh
2014-06-29 22:52:27 +00:00
jb short loc_B4C1
mov word_FC66, 8
call sub_B35D
mov byte_FC68, al
pop si
pop bp
retn
sub_B424 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B4D7 proc near
2014-06-29 22:52:27 +00:00
push bp
mov bp, sp
push si
xor si, si
jmp short loc_B4E6
; ---------------------------------------------------------------------------
loc_B4DF:
call cdg_free pascal, si
2014-06-29 22:52:27 +00:00
inc si
loc_B4E6:
cmp si, 22
2014-06-29 22:52:27 +00:00
jl short loc_B4DF
call super_free
2014-06-29 22:52:27 +00:00
pop si
pop bp
retn
sub_B4D7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B4F3 proc near
2014-06-29 22:52:27 +00:00
push bp
mov bp, sp
push (32 shl 16) or 96
2014-06-29 22:52:27 +00:00
cmp byte_FC5A, 0
jnz short loc_B50C
mov al, byte_FC58
cbw
add ax, 2
jmp short loc_B50E
; ---------------------------------------------------------------------------
loc_B50C:
2014-06-29 22:52:27 +00:00
xor ax, ax
loc_B50E:
2014-06-29 22:52:27 +00:00
push ax
call cdg_put
push (416 shl 16) or 96
2014-06-29 22:52:27 +00:00
cmp byte_FC5B, 0
jnz short loc_B52A
mov al, byte_FC59
cbw
add ax, 2
jmp short loc_B52D
; ---------------------------------------------------------------------------
loc_B52A:
2014-06-29 22:52:27 +00:00
mov ax, 1
loc_B52D:
2014-06-29 22:52:27 +00:00
push ax
call cdg_put_hflip
2014-06-29 22:52:27 +00:00
pop bp
retn
sub_B4F3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B535 proc near
2014-06-29 22:52:27 +00:00
push bp
mov bp, sp
push (32 shl 16) or 96
2014-06-29 22:52:27 +00:00
cmp byte_FC5A, 0
jnz short loc_B54E
mov al, byte_FC58
cbw
add ax, 2
jmp short loc_B550
; ---------------------------------------------------------------------------
loc_B54E:
2014-06-29 22:52:27 +00:00
xor ax, ax
loc_B550:
2014-06-29 22:52:27 +00:00
push ax
call cdg_put
push (416 shl 16) or 96
2014-06-29 22:52:27 +00:00
push 1
call cdg_put
2014-06-29 22:52:27 +00:00
pop bp
retn
sub_B535 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B565 proc near
2014-06-29 22:52:27 +00:00
var_4 = word ptr -4
var_2 = word ptr -2
enter 4, 0
push si
push di
push (32 shl 16) or 304
push 11
call cdg_put_noalpha
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
cmp byte ptr es:[bx+28h], 1
jz short loc_B590
push (416 shl 16) or 304
push 11
call cdg_put_noalpha
2014-06-29 22:52:27 +00:00
loc_B590:
2015-01-12 21:48:13 +00:00
call grcg_setcolor pascal, (GC_RMW shl 16) + 14
2014-06-29 22:52:27 +00:00
mov [bp+var_2], 0
mov [bp+var_4], 13Bh
jmp short loc_B625
; ---------------------------------------------------------------------------
loc_B5A7:
2014-06-29 22:52:27 +00:00
mov di, 5
mov si, 8Ch ; '<27>E
2014-06-29 22:52:27 +00:00
jmp short loc_B5C7
; ---------------------------------------------------------------------------
loc_B5AF:
2014-06-29 22:52:27 +00:00
push si
push [bp+var_4]
lea ax, [si+8]
push ax
mov ax, [bp+var_4]
add ax, 0Fh
push ax
2014-08-28 03:31:57 +00:00
call grcg_boxfill
2014-06-29 22:52:27 +00:00
dec di
sub si, 0Bh
loc_B5C7:
2014-06-29 22:52:27 +00:00
mov al, byte_FC58
cbw
imul ax, 3
add ax, [bp+var_2]
mov bx, ax
mov al, [bx+0A32h]
mov ah, 0
cmp ax, di
jl short loc_B5AF
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
cmp byte ptr es:[bx+28h], 1
jz short loc_B61E
mov di, 5
mov si, 20Ch
jmp short loc_B608
; ---------------------------------------------------------------------------
loc_B5F0:
2014-06-29 22:52:27 +00:00
push si
push [bp+var_4]
lea ax, [si+8]
push ax
mov ax, [bp+var_4]
add ax, 0Fh
push ax
2014-08-28 03:31:57 +00:00
call grcg_boxfill
2014-06-29 22:52:27 +00:00
dec di
sub si, 0Bh
loc_B608:
2014-06-29 22:52:27 +00:00
mov al, byte_FC59
cbw
imul ax, 3
add ax, [bp+var_2]
mov bx, ax
mov al, [bx+0A32h]
mov ah, 0
cmp ax, di
jl short loc_B5F0
loc_B61E:
2014-06-29 22:52:27 +00:00
inc [bp+var_2]
add [bp+var_4], 10h
loc_B625:
2014-06-29 22:52:27 +00:00
cmp [bp+var_2], 3
jl loc_B5A7
call grcg_off
2014-06-29 22:52:27 +00:00
pop di
pop si
leave
retn
sub_B565 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B636 proc near
2014-06-29 22:52:27 +00:00
push bp
mov bp, sp
push si
push di
mov di, 88h ; '<27>E
2014-06-29 22:52:27 +00:00
xor si, si
jmp short loc_B663
; ---------------------------------------------------------------------------
loc_B642:
2014-06-29 22:52:27 +00:00
push 100h
push di
mov ax, si
add ax, ax
push ax
call super_put
2014-06-29 22:52:27 +00:00
push 140h
push di
mov ax, si
add ax, ax
inc ax
push ax
call super_put
2014-06-29 22:52:27 +00:00
inc si
add di, 14h
loc_B663:
2014-06-29 22:52:27 +00:00
mov al, byte_FC68
mov ah, 0
cmp ax, si
jg short loc_B642
pop di
pop si
pop bp
retn
sub_B636 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B670 proc near
2014-06-29 22:52:27 +00:00
push bp
mov bp, sp
push (160 shl 16) or 304
push 12
call cdg_put_noalpha
push (176 shl 16) or 316
2014-06-29 22:52:27 +00:00
mov al, byte_FC58
cbw
add ax, 13
2014-06-29 22:52:27 +00:00
push ax
call cdg_put_noalpha
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
cmp byte ptr es:[bx+28h], 1
jz short loc_B6BE
push (544 shl 16) or 304
push 12
call cdg_put_noalpha
push (560 shl 16) or 316
2014-06-29 22:52:27 +00:00
mov al, byte_FC59
cbw
add ax, 13
2014-06-29 22:52:27 +00:00
push ax
call cdg_put_noalpha
2014-06-29 22:52:27 +00:00
loc_B6BE:
2014-06-29 22:52:27 +00:00
pop bp
retn
sub_B670 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B6C0 proc near
2014-06-29 22:52:27 +00:00
var_7 = byte ptr -7
var_6 = word ptr -6
var_4 = word ptr -4
var_2 = word ptr -2
arg_0 = word ptr 4
arg_2 = word ptr 6
arg_4 = word ptr 8
arg_6 = byte ptr 0Ah
arg_8 = byte ptr 0Ch
enter 8, 0
push si
mov si, [bp+arg_4]
mov [bp+var_6], 0
jmp short loc_B73B
; ---------------------------------------------------------------------------
loc_B6CF:
2014-06-29 22:52:27 +00:00
mov al, byte ptr [bp+var_6]
add al, [bp+arg_8]
mov [bp+var_7], al
mov ah, 0
imul [bp+arg_2]
mov bx, 100h
cwd
idiv bx
mov [bp+var_7], al
mov ah, 0
add ax, ax
mov bx, ax
push _CosTable8[bx]
2014-06-29 22:52:27 +00:00
push si
push 140h
call vector1_at
2014-06-29 22:52:27 +00:00
add sp, 6
mov [bp+var_2], ax
mov al, byte ptr [bp+var_6]
add al, [bp+arg_6]
mov [bp+var_7], al
mov ah, 0
imul [bp+arg_0]
mov bx, 100h
cwd
idiv bx
mov [bp+var_7], al
mov ah, 0
add ax, ax
mov bx, ax
push _SinTable8[bx]
2014-06-29 22:52:27 +00:00
push si
push 0C8h ; '<27>'
call vector1_at
2014-06-29 22:52:27 +00:00
add sp, 6
mov [bp+var_4], ax
push [bp+var_2]
push ax
2014-08-28 03:48:32 +00:00
call grcg_pset
2014-06-29 22:52:27 +00:00
inc [bp+var_6]
loc_B73B:
2014-06-29 22:52:27 +00:00
cmp [bp+var_6], 100h
jb short loc_B6CF
pop si
leave
retn 0Ah
sub_B6C0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B747 proc near
2014-06-29 22:52:27 +00:00
var_6 = word ptr -6
var_4 = word ptr -4
var_2 = word ptr -2
enter 6, 0
push si
push di
mov al, byte ptr word_FC52
mov ah, 0
mov si, ax
cmp si, 80h
2014-06-29 22:52:27 +00:00
jl short loc_B761
mov ax, 100h
sub ax, si
mov si, ax
loc_B761:
2014-06-29 22:52:27 +00:00
mov ax, si
add ax, si
add ax, 100h
mov [bp+var_4], ax
add si, 100h
mov ax, si
add ax, si
mov [bp+var_2], ax
2015-01-12 21:48:13 +00:00
call grcg_setcolor pascal, (GC_RMW shl 16) + 6
2014-06-29 22:52:27 +00:00
push word_FC52
mov al, byte ptr word_FC52
add al, al
push ax
push 0DCh ; '<27>'
push si
push [bp+var_2]
call sub_B6C0
mov al, 0
sub al, byte ptr word_FC52
push ax
mov al, byte ptr word_FC52
mov ah, 0
cwd
sub ax, dx
sar ax, 1
push ax
push 78h ; 'x'
push [bp+var_4]
push si
call sub_B6C0
2015-01-12 21:48:13 +00:00
call grcg_setcolor pascal, (GC_RMW shl 16) + 5
2014-06-29 22:52:27 +00:00
mov ax, word_FC66
cwd
sub ax, dx
sar ax, 1
mov di, ax
test byte ptr word_FC66, 1
jz short loc_B7CD
inc di
loc_B7CD:
2014-06-29 22:52:27 +00:00
mov [bp+var_6], 1
jmp short loc_B824
; ---------------------------------------------------------------------------
loc_B7D4:
2014-06-29 22:52:27 +00:00
mov al, byte ptr [bp+var_6]
add al, al
mov dl, byte ptr word_FC52
sub dl, al
push dx
mov al, byte ptr word_FC52
add al, al
mov dl, byte ptr [bp+var_6]
shl dl, 2
sub al, dl
push ax
push 0DCh ; '<27>'
push si
push [bp+var_2]
call sub_B6C0
mov al, 0
sub al, byte ptr word_FC52
mov dl, byte ptr [bp+var_6]
add dl, dl
add al, dl
push ax
mov al, byte ptr word_FC52
mov ah, 0
mov dx, [bp+var_6]
add dx, dx
sub ax, dx
cwd
sub ax, dx
sar ax, 1
push ax
push 78h ; 'x'
push [bp+var_4]
push si
call sub_B6C0
inc [bp+var_6]
loc_B824:
2014-06-29 22:52:27 +00:00
cmp [bp+var_6], di
jle short loc_B7D4
2015-01-12 21:48:13 +00:00
call grcg_setcolor pascal, (GC_RMW shl 16) + 1
2014-06-29 22:52:27 +00:00
lea ax, [di+1]
mov [bp+var_6], ax
jmp short loc_B88C
; ---------------------------------------------------------------------------
loc_B83C:
2014-06-29 22:52:27 +00:00
mov al, byte ptr [bp+var_6]
add al, al
mov dl, byte ptr word_FC52
sub dl, al
push dx
mov al, byte ptr word_FC52
add al, al
mov dl, byte ptr [bp+var_6]
shl dl, 2
sub al, dl
push ax
push 0DCh ; '<27>'
push si
push [bp+var_2]
call sub_B6C0
mov al, 0
sub al, byte ptr word_FC52
mov dl, byte ptr [bp+var_6]
add dl, dl
add al, dl
push ax
mov al, byte ptr word_FC52
mov ah, 0
mov dx, [bp+var_6]
add dx, dx
sub ax, dx
cwd
sub ax, dx
sar ax, 1
push ax
push 78h ; 'x'
push [bp+var_4]
push si
call sub_B6C0
inc [bp+var_6]
loc_B88C:
2014-06-29 22:52:27 +00:00
mov ax, [bp+var_6]
cmp ax, word_FC66
jle short loc_B83C
call grcg_off
2014-06-29 22:52:27 +00:00
mov al, byte ptr word_FC52
add al, 2
mov byte ptr word_FC52, al
pop di
pop si
leave
retn
sub_B747 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B8A6 proc near
2014-06-29 22:52:27 +00:00
var_2 = word ptr -2
arg_0 = byte ptr 4
arg_2 = word ptr 6
enter 2, 0
push si
push di
mov si, [bp+arg_2]
mov ax, si
shl ax, 4
shl ax, 3
add ax, 0F0h
2014-06-29 22:52:27 +00:00
mov di, ax
mov al, [si+2468h]
cbw
imul ax, 14h
add ax, 80h
2014-06-29 22:52:27 +00:00
mov [bp+var_2], ax
push di
push ax
push 10h
push ds
mov ax, si
imul ax, 3
add ax, 0A4Dh
push ax
mov al, [bp+arg_0]
mov ah, 0
push ax
2014-09-15 01:03:52 +00:00
call graph_gaiji_puts
2014-06-29 22:52:27 +00:00
push di
mov ax, [bp+var_2]
add ax, 10h
push ax
push 10h
push ds
mov ax, si
imul ax, 3
add ax, 0A53h
push ax
mov al, [bp+arg_0]
mov ah, 0
push ax
2014-09-15 01:03:52 +00:00
call graph_gaiji_puts
2014-06-29 22:52:27 +00:00
pop di
pop si
leave
retn 4
sub_B8A6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_B908 proc near
2014-06-29 22:52:27 +00:00
var_2 = word ptr -2
arg_0 = word ptr 4
arg_2 = word ptr 6
enter 2, 0
push si
push di
mov di, [bp+arg_2]
mov si, [bp+arg_0]
cmp byte ptr [si+246Ah], 0
jnz loc_BA82
cmp byte ptr [si+0A59h], 0
jz short loc_B932
or di, di
jnz loc_BA82
mov byte ptr [si+0A59h], 0
jmp loc_BA82
; ---------------------------------------------------------------------------
loc_B932:
2014-06-29 22:52:27 +00:00
test di, 1
jz short loc_B951
dec byte ptr [si+2468h]
cmp byte ptr [si+2468h], 0
jge short loc_B94C
mov al, byte_FC68
dec al
mov [si+2468h], al
loc_B94C:
2014-06-29 22:52:27 +00:00
mov byte ptr [si+0A59h], 1
loc_B951:
2014-06-29 22:52:27 +00:00
test di, 2
jz short loc_B974
inc byte ptr [si+2468h]
mov al, [si+2468h]
cbw
mov dl, byte_FC68
mov dh, 0
cmp ax, dx
jl short loc_B96F
mov byte ptr [si+2468h], 0
loc_B96F:
2014-06-29 22:52:27 +00:00
mov byte ptr [si+0A59h], 1
loc_B974:
2014-06-29 22:52:27 +00:00
test di, 20h
; Hack
db 00fh
db 084h
db 07fh
db 000h
mov al, [si+2468h]
cbw
mov [bp+var_2], ax
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
add bx, si
mov al, byte ptr [bp+var_2]
add al, al
inc al
mov es:[bx+0Ch], al
push 1
call palette_white_in
2014-06-29 22:52:27 +00:00
mov bx, 1
sub bx, si
cmp byte ptr [bx+246Ah], 0
jz short loc_B9CC
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
mov al, es:[bx+0Ch]
cmp al, es:[bx+0Dh]
jnz short loc_B9CC
add bx, si
inc byte ptr es:[bx+0Ch]
push si
mov bx, [bp+var_2]
shl bx, 2
pushd dword ptr [bx+0A0Eh]
2014-06-29 22:52:27 +00:00
push 1
jmp short loc_B9DA
; ---------------------------------------------------------------------------
loc_B9CC:
2014-06-29 22:52:27 +00:00
push si
mov bx, [bp+var_2]
shl bx, 2
pushd dword ptr [bx+0A0Eh]
2014-06-29 22:52:27 +00:00
push 0
loc_B9DA:
call cdg_load_single_forcealpha
2014-06-29 22:52:27 +00:00
mov bx, 1
sub bx, si
cmp byte ptr [bx+246Ah], 0
jz short loc_B9F1
mov word_FC62, 0
loc_B9F1:
2014-06-29 22:52:27 +00:00
mov byte ptr [si+246Ah], 1
mov byte ptr [si+0A59h], 1
loc_B9FB:
2014-06-29 22:52:27 +00:00
test di, 10h
; Hack
db 00fh
db 084h
db 07fh
db 000h
mov al, [si+2468h]
cbw
mov [bp+var_2], ax
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
add bx, si
mov al, byte ptr [bp+var_2]
add al, al
add al, 2
mov es:[bx+0Ch], al
push 1
call palette_white_in
2014-06-29 22:52:27 +00:00
mov bx, 1
sub bx, si
cmp byte ptr [bx+246Ah], 0
jz short loc_BA53
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
mov al, es:[bx+0Ch]
cmp al, es:[bx+0Dh]
jnz short loc_BA53
add bx, si
dec byte ptr es:[bx+0Ch]
push si
mov bx, [bp+var_2]
shl bx, 2
pushd dword ptr [bx+0A0Eh]
2014-06-29 22:52:27 +00:00
push 0
jmp short loc_BA61
; ---------------------------------------------------------------------------
loc_BA53:
2014-06-29 22:52:27 +00:00
push si
mov bx, [bp+var_2]
shl bx, 2
pushd dword ptr [bx+0A0Eh]
2014-06-29 22:52:27 +00:00
push 1
loc_BA61:
call cdg_load_single_forcealpha
2014-06-29 22:52:27 +00:00
mov bx, 1
sub bx, si
cmp byte ptr [bx+246Ah], 0
jz short loc_BA78
mov word_FC62, 0
loc_BA78:
2014-06-29 22:52:27 +00:00
mov byte ptr [si+246Ah], 1
mov byte ptr [si+0A59h], 1
loc_BA82:
2014-06-29 22:52:27 +00:00
pop di
pop si
leave
retn 4
sub_B908 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_BA88 proc near
2014-06-29 22:52:27 +00:00
push bp
mov bp, sp
call sub_B424
2014-08-20 14:45:24 +00:00
call text_clear
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
mov al, es:[bx+0Ch]
mov ah, 0
dec ax
cwd
sub ax, dx
sar ax, 1
mov byte_FC58, al
mov al, es:[bx+0Dh]
mov ah, 0
dec ax
cwd
sub ax, dx
sar ax, 1
mov byte_FC59, al
mov byte_FC5A, 0
mov byte_FC5B, 0
cmp byte ptr es:[bx+16h], 0
jnz short loc_BAD4
setfarfp _input_mode_func, _input_mode_key_vs_key
2014-06-29 22:52:27 +00:00
jmp short loc_BAF9
; ---------------------------------------------------------------------------
loc_BAD4:
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
cmp byte ptr es:[bx+16h], 1
jnz short loc_BAED
setfarfp _input_mode_func, _input_mode_joy_vs_key
2014-06-29 22:52:27 +00:00
jmp short loc_BAF9
; ---------------------------------------------------------------------------
loc_BAED:
setfarfp _input_mode_func, _input_mode_key_vs_joy
2014-06-29 22:52:27 +00:00
loc_BAF9:
2014-06-29 22:52:27 +00:00
push 10h
2014-11-23 21:25:22 +00:00
call frame_delay
2014-06-29 22:52:27 +00:00
mov word_FC62, 0
loc_BB06:
2014-06-29 22:52:27 +00:00
call sub_B747
call sub_B4F3
call sub_B565
call sub_B636
call sub_B670
push 0
cmp byte_FC5A, 0
jz short loc_BB22
mov al, 0Fh
jmp short loc_BB24
; ---------------------------------------------------------------------------
loc_BB22:
2014-06-29 22:52:27 +00:00
mov al, 8
loc_BB24:
2014-06-29 22:52:27 +00:00
push ax
call sub_B8A6
push 1
cmp byte_FC5B, 0
jz short loc_BB35
mov al, 0Fh
jmp short loc_BB37
; ---------------------------------------------------------------------------
loc_BB35:
2014-06-29 22:52:27 +00:00
mov al, 0Ah
loc_BB37:
2014-06-29 22:52:27 +00:00
push ax
call sub_B8A6
call _input_reset_sense_key_held
call _input_mode_func
push _input_mp_p1
2014-06-29 22:52:27 +00:00
push 0
call sub_B908
push _input_mp_p2
2014-06-29 22:52:27 +00:00
push 1
call sub_B908
test _input_sp.hi, high INPUT_CANCEL
2014-06-29 22:52:27 +00:00
jz short loc_BB82
graph_accesspage 0
2014-08-27 04:03:08 +00:00
call graph_clear
graph_showpage 0
2014-08-20 14:45:24 +00:00
call text_clear
2014-06-29 22:52:27 +00:00
call sub_B4D7
kajacall KAJA_SONG_STOP
2014-06-29 22:52:27 +00:00
mov al, 1
pop bp
retn
; ---------------------------------------------------------------------------
loc_BB82:
2014-06-29 22:52:27 +00:00
cmp byte_FC5A, 0
jz short loc_BBB7
cmp byte_FC5B, 0
jz short loc_BBB7
2014-08-20 14:45:24 +00:00
call text_clear
2014-06-29 22:52:27 +00:00
cmp word_FC62, 10h
jb short loc_BBB0
mov ax, word_FC62
imul ax, 6
mov dx, 0C8h ; '<27>'
sub dx, ax
2014-08-23 13:47:05 +00:00
mov PaletteTone, dx
2014-08-23 14:11:16 +00:00
call far ptr palette_show
2014-06-29 22:52:27 +00:00
loc_BBB0:
2014-06-29 22:52:27 +00:00
cmp word_FC62, 20h ; ' '
ja short loc_BC18
loc_BBB7:
cmp vsync_Count1, 3
2014-06-29 22:52:27 +00:00
jb short loc_BBB7
cmp vsync_Count1, 4
2014-06-29 22:52:27 +00:00
jbe short loc_BBD0
cmp word_FC66, 1
jle short loc_BBD0
dec word_FC66
loc_BBD0:
mov vsync_Count1, 0
graph_accesspage byte_FC5C
2014-06-29 22:52:27 +00:00
mov al, 1
sub al, byte_FC5C
mov byte_FC5C, al
graph_showpage al
2015-01-12 21:48:13 +00:00
call grcg_setcolor pascal, (GC_RMW shl 16) + 0
pushd 0
push 4F018Fh
2014-08-27 21:20:37 +00:00
call grcg_byteboxfill_x
call grcg_off
2014-06-29 22:52:27 +00:00
inc word_FC62
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
inc dword ptr es:[bx+10h]
jmp loc_BB06
; ---------------------------------------------------------------------------
loc_BC18:
2014-06-29 22:52:27 +00:00
call sub_B4D7
mov al, 0
pop bp
retn
sub_BA88 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_BC1F proc near
2014-06-29 22:52:27 +00:00
push bp
mov bp, sp
push si
call sub_B424
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
mov al, es:[bx+0Ch]
mov ah, 0
dec ax
cwd
sub ax, dx
sar ax, 1
mov byte_FC58, al
mov al, es:[bx+0Dh]
mov ah, 0
dec ax
cwd
sub ax, dx
sar ax, 1
mov byte_FC59, al
mov byte_FC5A, 0
mov byte_FC5B, 0
setfarfp _input_mode_func, _input_mode_interface
2014-06-29 22:52:27 +00:00
xor si, si
jmp loc_BD8B
; ---------------------------------------------------------------------------
loc_BC63:
2014-06-29 22:52:27 +00:00
mov word_FC62, 0
loc_BC69:
2014-06-29 22:52:27 +00:00
call sub_B747
call sub_B4F3
call sub_B565
call sub_B636
call sub_B670
call _input_reset_sense_key_held
call _input_mode_func
2014-06-29 22:52:27 +00:00
push 0
cmp byte_FC5A, 0
jz short loc_BC8E
mov al, 0Fh
jmp short loc_BC90
; ---------------------------------------------------------------------------
loc_BC8E:
2014-06-29 22:52:27 +00:00
mov al, 8
loc_BC90:
2014-06-29 22:52:27 +00:00
push ax
call sub_B8A6
cmp byte_FC5A, 0
jz short loc_BCAE
push 1
cmp byte_FC5B, 0
jz short loc_BCA8
mov al, 0Fh
jmp short loc_BCAA
; ---------------------------------------------------------------------------
loc_BCA8:
2014-06-29 22:52:27 +00:00
mov al, 0Ah
loc_BCAA:
2014-06-29 22:52:27 +00:00
push ax
call sub_B8A6
loc_BCAE:
push _input_sp
2014-06-29 22:52:27 +00:00
push si
call sub_B908
test _input_sp.hi, high INPUT_CANCEL
2014-06-29 22:52:27 +00:00
jz short loc_BCE3
graph_accesspage 0
2014-08-27 04:03:08 +00:00
call graph_clear
graph_showpage 0
2014-08-20 14:45:24 +00:00
call text_clear
2014-06-29 22:52:27 +00:00
call sub_B4D7
kajacall KAJA_SONG_STOP
2014-06-29 22:52:27 +00:00
mov al, 1
jmp loc_BD97
; ---------------------------------------------------------------------------
loc_BCE3:
2014-06-29 22:52:27 +00:00
or si, si
jnz short loc_BCF7
cmp byte_FC5A, 0
jz short loc_BCF7
cmp word_FC62, 0Ch
ja loc_BD8A
loc_BCF7:
2014-06-29 22:52:27 +00:00
or si, si
jz short loc_BD29
cmp byte_FC5B, 0
jz short loc_BD29
2014-08-20 14:45:24 +00:00
call text_clear
2014-06-29 22:52:27 +00:00
cmp word_FC62, 10h
jb short loc_BD22
mov ax, word_FC62
imul ax, 6
mov dx, 0C8h ; '<27>'
sub dx, ax
2014-08-23 13:47:05 +00:00
mov PaletteTone, dx
2014-08-23 14:11:16 +00:00
call far ptr palette_show
2014-06-29 22:52:27 +00:00
loc_BD22:
2014-06-29 22:52:27 +00:00
cmp word_FC62, 20h ; ' '
ja short loc_BD8A
loc_BD29:
cmp vsync_Count1, 3
2014-06-29 22:52:27 +00:00
jb short loc_BD29
cmp vsync_Count1, 4
2014-06-29 22:52:27 +00:00
jbe short loc_BD42
cmp word_FC66, 1
jle short loc_BD42
dec word_FC66
loc_BD42:
mov vsync_Count1, 0
graph_accesspage byte_FC5C
2014-06-29 22:52:27 +00:00
mov al, 1
sub al, byte_FC5C
mov byte_FC5C, al
graph_showpage al
2015-01-12 21:48:13 +00:00
call grcg_setcolor pascal, (GC_RMW shl 16) + 0
pushd 0
push 4F018Fh
2014-08-27 21:20:37 +00:00
call grcg_byteboxfill_x
call grcg_off
2014-06-29 22:52:27 +00:00
inc word_FC62
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
inc dword ptr es:[bx+10h]
jmp loc_BC69
; ---------------------------------------------------------------------------
loc_BD8A:
2014-06-29 22:52:27 +00:00
inc si
loc_BD8B:
2014-06-29 22:52:27 +00:00
cmp si, 2
jl loc_BC63
call sub_B4D7
mov al, 0
loc_BD97:
2014-06-29 22:52:27 +00:00
pop si
pop bp
retn
sub_BC1F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_BD9A proc near
2014-06-29 22:52:27 +00:00
push bp
mov bp, sp
call sub_B424
mov byte_FC58, 0
mov byte_FC5A, 0
mov byte_FC5B, 1
setfarfp _input_mode_func, _input_mode_interface
2014-06-29 22:52:27 +00:00
mov word_FC62, 0
loc_BDC1:
2014-06-29 22:52:27 +00:00
call sub_B747
call sub_B535
call sub_B565
call sub_B636
call sub_B670
push 0
cmp byte_FC5A, 0
jz short loc_BDDD
mov al, 0Fh
jmp short loc_BDDF
; ---------------------------------------------------------------------------
loc_BDDD:
2014-06-29 22:52:27 +00:00
mov al, 8
loc_BDDF:
2014-06-29 22:52:27 +00:00
push ax
call sub_B8A6
call _input_reset_sense_key_held
call _input_mode_func
push _input_sp
2014-06-29 22:52:27 +00:00
push 0
call sub_B908
test _input_sp.hi, high INPUT_CANCEL
2014-06-29 22:52:27 +00:00
jz short loc_BE21
graph_accesspage 0
2014-08-27 04:03:08 +00:00
call graph_clear
graph_showpage 0
2014-08-20 14:45:24 +00:00
call text_clear
2014-06-29 22:52:27 +00:00
call sub_B4D7
kajacall KAJA_SONG_STOP
2014-06-29 22:52:27 +00:00
mov al, 1
pop bp
retn
; ---------------------------------------------------------------------------
loc_BE21:
2014-06-29 22:52:27 +00:00
cmp byte_FC5A, 0
jz short loc_BE4F
2014-08-20 14:45:24 +00:00
call text_clear
2014-06-29 22:52:27 +00:00
cmp word_FC62, 10h
jb short loc_BE48
mov ax, word_FC62
imul ax, 6
mov dx, 0C8h ; '<27>'
sub dx, ax
2014-08-23 13:47:05 +00:00
mov PaletteTone, dx
2014-08-23 14:11:16 +00:00
call far ptr palette_show
2014-06-29 22:52:27 +00:00
loc_BE48:
2014-06-29 22:52:27 +00:00
cmp word_FC62, 20h ; ' '
ja short loc_BEB0
loc_BE4F:
cmp vsync_Count1, 3
2014-06-29 22:52:27 +00:00
jb short loc_BE4F
cmp vsync_Count1, 4
2014-06-29 22:52:27 +00:00
jbe short loc_BE68
cmp word_FC66, 1
jle short loc_BE68
dec word_FC66
loc_BE68:
mov vsync_Count1, 0
graph_accesspage byte_FC5C
2014-06-29 22:52:27 +00:00
mov al, 1
sub al, byte_FC5C
mov byte_FC5C, al
graph_showpage al
2015-01-12 21:48:13 +00:00
call grcg_setcolor pascal, (GC_RMW shl 16) + 0
pushd 0
push 4F018Fh
2014-08-27 21:20:37 +00:00
call grcg_byteboxfill_x
call grcg_off
2014-06-29 22:52:27 +00:00
inc word_FC62
les bx, _yumeconfig
2014-06-29 22:52:27 +00:00
inc dword ptr es:[bx+10h]
jmp loc_BDC1
; ---------------------------------------------------------------------------
loc_BEB0:
2014-06-29 22:52:27 +00:00
call sub_B4D7
mov al, 0
pop bp
retn
sub_BD9A endp
db 0
2014-06-29 22:52:27 +00:00
op_01_TEXT ends
2014-06-29 22:52:27 +00:00
; ===========================================================================
; Segment type: Pure code
op_02_TEXT segment word public 'CODE' use16
assume cs:op_02_TEXT
;org 8
assume es:nothing, ss:nothing, ds:_DATA, fs:nothing, gs:nothing
2014-06-29 22:52:27 +00:00
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_BEB8 proc far
2014-06-29 22:52:27 +00:00
push bp
mov bp, sp
2014-10-07 04:32:20 +00:00
nopcall sub_BFC2
2014-08-23 12:01:53 +00:00
call key_beep_on
call text_systemline_show
call text_cursor_show
2014-06-29 22:52:27 +00:00
pop bp
retf
sub_BEB8 endp
include th01/hardware/vram_planes_set.asm
include th02/snd/detmode.asm
include th02/snd/pmd_res.asm
include th02/snd/load.asm
2014-06-29 22:52:27 +00:00
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_BFC2 proc far
2014-06-29 22:52:27 +00:00
push bp
mov bp, sp
call pfend
graph_accesspage 1
2014-08-27 04:03:08 +00:00
call graph_clear
graph_accesspage 0
2014-08-27 04:03:08 +00:00
call graph_clear
graph_accesspage 0
graph_showpage al
call vsync_end
call mem_unassign
2014-08-20 14:45:24 +00:00
call text_clear
2014-08-23 11:46:31 +00:00
call js_end
call egc_start
2014-06-29 22:52:27 +00:00
pop bp
retf
sub_BFC2 endp
include th03/math/vector1_at.asm
2014-06-29 22:52:27 +00:00
; ---------------------------------------------------------------------------
db 0
include th03/formats/cdg_put.asm
include th03/formats/cdg_put_hflip.asm
include th02/hardware/frame_delay.asm
2014-06-29 22:52:27 +00:00
db 0
include th03/hardware/input_sense.asm
include th02/formats/pi_slot_palette_apply.asm
include th02/formats/pi_slot_put.asm
include th02/snd/kajaint.asm
2014-06-29 22:52:27 +00:00
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_C421 proc far
2014-06-29 22:52:27 +00:00
arg_0 = dword ptr 6
push bp
mov bp, sp
push 55F0h
call mem_assign_dos
2014-06-29 22:52:27 +00:00
or ax, ax
jz short loc_C435
mov ax, 1
pop bp
retf
; ---------------------------------------------------------------------------
loc_C435:
nopcall vram_planes_set
2014-08-27 23:16:54 +00:00
call graph_start
graph_accesspage 1
2014-08-27 04:03:08 +00:00
call graph_clear
graph_accesspage 0
2014-08-27 04:03:08 +00:00
call graph_clear
graph_accesspage 0
graph_showpage al
call vsync_start
2014-08-23 12:01:53 +00:00
call key_beep_off
call text_systemline_hide
call text_cursor_hide
call egc_start
call js_start
pushd [bp+arg_0]
call pfstart
2014-06-29 22:52:27 +00:00
xor ax, ax
pop bp
retf
sub_C421 endp
include th03/formats/cdg_load.asm
2014-06-29 22:52:27 +00:00
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_C6DB proc far
2014-06-29 22:52:27 +00:00
var_32 = byte ptr -32h
var_12 = word ptr -12h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = word ptr -0Ch
var_A = word ptr -0Ah
var_8 = dword ptr -8
var_4 = word ptr -4
var_2 = word ptr -2
arg_0 = dword ptr 6
arg_4 = word ptr 0Ah
arg_6 = word ptr 0Ch
arg_8 = word ptr 0Eh
enter 32h, 0
push si
push di
mov di, [bp+arg_8]
mov ax, [bp+arg_4]
sar ax, 4
and ax, 3
mov [bp+var_E], ax
mov ax, [bp+arg_4]
sar ax, 6
and ax, 7
mov [bp+var_10], ax
2015-01-12 21:48:13 +00:00
push GC_RMW
2014-06-29 22:52:27 +00:00
mov ax, [bp+arg_4]
and ax, 0Fh
push ax
call grcg_setcolor
2014-06-29 22:52:27 +00:00
mov dx, 68h ; 'h'
mov al, 0Bh
out dx, al
jmp loc_C924
; ---------------------------------------------------------------------------
loc_C714:
2014-06-29 22:52:27 +00:00
mov ax, [bp+arg_6]
imul ax, 50h
push ax
mov ax, di
mov bx, 8
cwd
idiv bx
pop dx
add dx, ax
mov word ptr [bp+var_8+2], 0A800h
mov word ptr [bp+var_8], dx
mov ax, di
cwd
idiv bx
mov [bp+var_C], dx
les bx, [bp+arg_0]
assume es:nothing
mov al, es:[bx]
mov ah, 0
mov bx, ax
test __mbctype+1[bx], 4
2014-06-29 22:52:27 +00:00
jz short loc_C769
mov bx, word ptr [bp+arg_0]
mov al, es:[bx]
cbw
shl ax, 8
mov dl, es:[bx+1]
mov dh, 0
add ax, dx
push ax
call __mbcjmstojis
2014-06-29 22:52:27 +00:00
pop cx
mov [bp+var_2], ax
add word ptr [bp+arg_0], 2
jmp short loc_C7AF
; ---------------------------------------------------------------------------
loc_C769:
2014-06-29 22:52:27 +00:00
les bx, [bp+arg_0]
mov al, es:[bx]
mov ah, 0
mov bx, ax
test __mbctype+1[bx], 3
2014-06-29 22:52:27 +00:00
jz short loc_C787
mov bx, word ptr [bp+arg_0]
mov al, es:[bx]
mov ah, 0
add ax, 2980h
jmp short loc_C7A2
; ---------------------------------------------------------------------------
loc_C787:
2014-06-29 22:52:27 +00:00
les bx, [bp+arg_0]
mov al, es:[bx]
cbw
mov bx, ax
test byte ptr [bx+0D51h], 5Eh
jz short loc_C7A7
mov bx, word ptr [bp+arg_0]
mov al, es:[bx]
mov ah, 0
add ax, 2900h
loc_C7A2:
2014-06-29 22:52:27 +00:00
mov [bp+var_2], ax
jmp short loc_C7AC
; ---------------------------------------------------------------------------
loc_C7A7:
2014-06-29 22:52:27 +00:00
mov [bp+var_2], 2B21h
loc_C7AC:
2014-06-29 22:52:27 +00:00
inc word ptr [bp+arg_0]
loc_C7AF:
2014-06-29 22:52:27 +00:00
mov al, byte ptr [bp+var_2]
and al, 0FFh
mov dx, 0A1h ; '<27>'
out dx, al
2014-06-29 22:52:27 +00:00
mov ax, [bp+var_2]
shr ax, 8
sub al, 20h ; ' '
mov dx, 0A3h ; '<27>'
out dx, al
2014-06-29 22:52:27 +00:00
cmp [bp+var_2], 2921h
jb short loc_C810
cmp [bp+var_2], 2B7Eh
ja short loc_C810
cmp di, 278h
jg loc_C92F
mov [bp+var_12], 0
jmp short loc_C803
; ---------------------------------------------------------------------------
loc_C7E1:
2014-06-29 22:52:27 +00:00
mov al, byte ptr [bp+var_12]
or al, 20h
mov dx, 0A5h ; '<27>'
out dx, al
2014-06-29 22:52:27 +00:00
mov dx, 0A9h ; '<27>'
in al, dx
2014-06-29 22:52:27 +00:00
mov ah, 0
shl ax, 8
mov bx, [bp+var_12]
add bx, bx
lea dx, [bp+var_32]
add bx, dx
mov ss:[bx], ax
inc [bp+var_12]
loc_C803:
2014-06-29 22:52:27 +00:00
cmp [bp+var_12], 10h
jl short loc_C7E1
mov [bp+var_A], 0
jmp short loc_C866
; ---------------------------------------------------------------------------
loc_C810:
2014-06-29 22:52:27 +00:00
cmp di, 270h
jg loc_C92F
mov [bp+var_12], 0
jmp short loc_C85B
; ---------------------------------------------------------------------------
loc_C81F:
2014-06-29 22:52:27 +00:00
mov al, byte ptr [bp+var_12]
or al, 20h
mov dx, 0A5h ; '<27>'
out dx, al
2014-06-29 22:52:27 +00:00
mov dx, 0A9h ; '<27>'
in al, dx
2014-06-29 22:52:27 +00:00
mov ah, 0
shl ax, 8
mov bx, [bp+var_12]
add bx, bx
lea dx, [bp+var_32]
add bx, dx
mov ss:[bx], ax
mov dx, 0A5h ; '<27>'
mov al, byte ptr [bp+var_12]
out dx, al
2014-06-29 22:52:27 +00:00
mov dx, 0A9h ; '<27>'
in al, dx
2014-06-29 22:52:27 +00:00
mov ah, 0
mov bx, [bp+var_12]
add bx, bx
lea dx, [bp+var_32]
add bx, dx
add ss:[bx], ax
inc [bp+var_12]
loc_C85B:
2014-06-29 22:52:27 +00:00
cmp [bp+var_12], 10h
jl short loc_C81F
mov [bp+var_A], 1
loc_C866:
2014-06-29 22:52:27 +00:00
mov [bp+var_12], 0
jmp loc_C90B
; ---------------------------------------------------------------------------
loc_C86E:
2014-06-29 22:52:27 +00:00
mov bx, [bp+var_12]
add bx, bx
lea ax, [bp+var_32]
add bx, ax
mov ax, ss:[bx]
mov [bp+var_4], ax
mov ax, [bp+var_E]
cmp ax, 1
jz short loc_C892
cmp ax, 2
jz short loc_C8A8
cmp ax, 3
jz short loc_C89E
jmp short loc_C8BE
; ---------------------------------------------------------------------------
loc_C892:
2014-06-29 22:52:27 +00:00
mov si, [bp+var_4]
mov ax, si
add ax, ax
or [bp+var_4], ax
jmp short loc_C8BE
; ---------------------------------------------------------------------------
loc_C89E:
2014-06-29 22:52:27 +00:00
mov si, [bp+var_4]
mov ax, si
add ax, ax
or [bp+var_4], ax
loc_C8A8:
2014-06-29 22:52:27 +00:00
mov si, [bp+var_4]
mov ax, si
add ax, ax
or [bp+var_4], ax
xor si, [bp+var_4]
mov ax, si
add ax, ax
not ax
and [bp+var_4], ax
loc_C8BE:
2014-06-29 22:52:27 +00:00
cmp [bp+var_C], 0
jz short loc_C8F1
mov cl, byte ptr [bp+var_C]
add cl, 8
mov ax, [bp+var_4]
shr ax, cl
les bx, [bp+var_8]
mov es:[bx], al
mov ax, [bp+var_4]
mov cl, byte ptr [bp+var_C]
shr ax, cl
mov es:[bx+1], al
mov cl, 8
sub cl, byte ptr [bp+var_C]
mov al, byte ptr [bp+var_4]
shl al, cl
mov es:[bx+2], al
jmp short loc_C904
; ---------------------------------------------------------------------------
loc_C8F1:
2014-06-29 22:52:27 +00:00
mov ax, [bp+var_4]
shr ax, 8
les bx, [bp+var_8]
mov es:[bx], al
mov al, byte ptr [bp+var_4]
mov es:[bx+1], al
loc_C904:
2014-06-29 22:52:27 +00:00
add word ptr [bp+var_8], 50h ; 'P'
inc [bp+var_12]
loc_C90B:
2014-06-29 22:52:27 +00:00
cmp [bp+var_12], 10h
jl loc_C86E
cmp [bp+var_A], 0
jz short loc_C91C
add di, 8
loc_C91C:
2014-06-29 22:52:27 +00:00
mov ax, [bp+var_10]
add ax, 8
add di, ax
loc_C924:
2014-06-29 22:52:27 +00:00
les bx, [bp+arg_0]
cmp byte ptr es:[bx], 0
jnz loc_C714
loc_C92F:
2014-06-29 22:52:27 +00:00
mov dx, 68h ; 'h'
mov al, 0Ah
out dx, al
call grcg_off
2014-06-29 22:52:27 +00:00
pop di
pop si
leave
retf 0Ah
sub_C6DB endp
include th02/formats/pi_slot_load.asm
include th03/hardware/input_modes.asm
include th03/hardware/input_wait.asm
2014-06-29 22:52:27 +00:00
db 0
include th03/formats/cdg_put_noalpha.asm
include th03/formats/hfliplut.asm
extern FRAME_DELAY_2:proc
op_02_TEXT ends
2014-06-29 22:52:27 +00:00
.data
byte_D880 db 0
unk_D881 db 0
2014-06-29 22:52:27 +00:00
db 0
db 0
db 0
db 0
db 0
db 0
db 0
db 0
db 0
db 0
db 0
db 0
db 0
db 0
db 1
db 0
db 0
db 2
db 0
db 3
db 5
db 4
db 6
gp1P_VS_CPU db 88h, 89h, 8Ah, 8Bh, 8Ch, 8Dh, 8Eh, 8Fh, 0
gp1P_VS_2P db 88h, 89h, 8Ah, 8Bh, 96h, 97h, 98h, 99h, 0
gpCPU_VS_CPU db 92h, 93h, 94h, 95h, 8Ch, 8Dh, 8Eh, 8Fh, 0
2014-06-29 22:52:27 +00:00
db 3
db 1
db 5
db 0Dh
db 7
db 0Bh
db 9
db 5
db 58h ; X
db 2
db 0
db 0
db 0E8h ; <20>E
2014-06-29 22:52:27 +00:00
db 3
db 0
db 0
db 80h
2014-06-29 22:52:27 +00:00
db 0Ch
db 0
db 0
db 0F4h
2014-06-29 22:52:27 +00:00
db 1
db 0
db 0
gpSTART db 30h, 31h, 32h, 0
gpVS_START db 33h, 34h, 35h, 36h, 37h, 38h, 0
gpMUSIC_ROOM db 41h, 42h, 43h, 44h, 45h, 46h, 47h, 0
gpHISCORE db 82h, 83h, 84h, 85h, 86h, 0
gpOPTION db 3Dh, 3Eh, 3Fh, 40h, 0
gpQUIT db 48h, 49h, 4Ah, 0
gpRANK db 6Eh, 6Fh, 70h, 0
gpMUSIC db 4Bh, 4Ch, 4Dh, 4Eh, 0
gpKEYCONFIG db 5Ch, 5Dh, 5Eh, 5Fh, 60h, 61h, 0
g4SPACES db 0CFh, 0CFh, 0CFh, 0CFh, 0
gpEASY db 71h, 72h, 73h, 0
gpNORMAL db 74h, 75h, 76h, 77h, 0
gpHARD db 78h, 79h, 7Ah, 0
gpLUNATIC db 7Bh, 7Ch, 7Dh, 7Eh, 0
gpOFF db 0CFh, 0CFh, 5Ah, 5Bh, 0CFh, 0CFh, 0CFh, 0
gpFM_86 db 0CFh, 4Fh, 50h, 51h, 52h, 0CFh, 0CFh, 0
gpMIDI_SC88 db 53h, 54h, 55h, 56h, 57h, 58h, 59h, 0
gpTYPE1 db 62h, 63h, 64h, 65h, 0
gpTYPE2 db 62h, 63h, 64h, 66h, 0
gpTYPE3 db 62h, 63h, 64h, 67h, 0
gpKEY_VS_KEY db 68h, 69h, 6Ch, 6Dh, 68h, 69h, 0
gpJOY_VS_KEY db 6Ah, 6Bh, 6Ch, 6Dh, 68h, 69h, 0
gpKEY_VS_JOY db 68h, 69h, 6Ch, 6Dh, 6Ah, 6Bh, 0
byte_D951 db 0
byte_D952 db 0
byte_D953 db 1
byte_D954 db 0
byte_D955 db 0
aYume_cfg db 'YUME.CFG',0
2014-06-29 22:52:27 +00:00
; char path[]
path db 'mainl',0
asc_D965 db ' ',0
aVfvcvbgngngbgn db '<27>f<EFBFBD>c<EFBFBD>b<EFBFBD>N<EFBFBD><4E><EFBFBD>b<EFBFBD>N<EFBFBD><4E><EFBFBD>T<EFBFBD>l<EFBFBD>g<EFBFBD><67><EFBFBD>ɂȂ<C982><C882>Ă<EFBFBD><C482>܂<EFBFBD><DC82>B',0Ah,0
2014-06-29 22:52:27 +00:00
aUmx db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͂Q<CD82>D<EFBFBD>T<EFBFBD>l<EFBFBD>g<EFBFBD><67><EFBFBD>łȂ<C582><C882>Ɛ<EFBFBD><C690><EFBFBD><EFBFBD>ɃQ<C983>[<5B><><EFBFBD><EFBFBD><EFBFBD>v<EFBFBD><76><EFBFBD>C<EFBFBD>o<EFBFBD><6F><EFBFBD>܂<EFBFBD><DC82><EFBFBD>',0Ah,0
aViosrfvVVkvqbd db 0Ah
2014-06-29 22:52:27 +00:00
db '<27><><EFBFBD><EFBFBD>ł<EFBFBD><C582><EFBFBD><EFBFBD>Q<EFBFBD>D<EFBFBD>T<EFBFBD>l<EFBFBD>g<EFBFBD><67><EFBFBD>ɐ؂<C990><D882>ւ<EFBFBD><D682>āA<C481><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD>s<EFBFBD><73><EFBFBD>ĂˁB',0Ah,0
aCOul db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1.dat',0
aGbgvgkxsslvVBb db 0Ah
2014-06-29 22:52:27 +00:00
db '<27><><EFBFBD><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><C482><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0Ah,0
aMikoft_bft db 'MIKOFT.bft',0
2014-06-29 22:52:27 +00:00
db 0
2014-08-23 10:08:48 +00:00
include libs/master.lib/bfnt_id[data].asm
include libs/master.lib/clip[data].asm
2014-08-27 22:05:06 +00:00
include libs/master.lib/edges[data].asm
include libs/master.lib/fil[data].asm
include libs/master.lib/dos_ropen[data].asm
include libs/master.lib/gaiji_backup[data].asm
2014-08-31 08:08:09 +00:00
include libs/master.lib/gaiji_entry_bfnt[data].asm
include libs/master.lib/grp[data].asm
include libs/master.lib/js[data].asm
2014-08-23 13:47:05 +00:00
include libs/master.lib/pal[data].asm
include libs/master.lib/pf[data].asm
2014-08-30 10:13:04 +00:00
include libs/master.lib/rand[data].asm
include libs/master.lib/sin8[data].asm
2014-08-15 12:26:44 +00:00
include libs/master.lib/tx[data].asm
include libs/master.lib/vs[data].asm
2014-08-27 23:37:48 +00:00
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
_snd_active db 0
2014-06-29 22:52:27 +00:00
db 0
include libs/master.lib/respal_exist[data].asm
include libs/master.lib/draw_trapezoid[data].asm
include th02/formats/pfopen[data].asm
include th03/formats/cdg[data].asm
2014-06-29 22:52:27 +00:00
dd aNo_1B@cVOul ; "NO.1 <20>@<40><><EFBFBD>͎<EFBFBD><CD8E><EFBFBD><EFBFBD><EFBFBD><EFBFBD>z<EFBFBD><7A><EFBFBD><EFBFBD> "
dd aNo_2B@B@Select ; "NO.2 <20>@ <20>@ Selection "
dd aNo_3Umx ; "NO.3 <20><><EFBFBD><EFBFBD><EFBFBD>d<EFBFBD><64><EFBFBD>k "
dd aNo_4Reincarnat ; "NO.4 Reincarnation "
dd aNo_5Dim_Dream ; "NO.5 Dim. Dream "
dd aNo_6TabulaRasa ; "NO.6 Tabula rasa<73>@<40>`<60>󔒏<EFBFBD><F394928F><EFBFBD> "
dd aNo_7B@Maniacal ; "NO.7 <20>@ Maniacal Princess "
dd aNo_8CPOBLostDr ; "NO.8 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>`Lost Dream "
dd aNo_9CMCvlyBDre ; "NO.9 <20><><EFBFBD><EFBFBD><EFBFBD>V<EFBFBD>Y <20>`Dream War "
dd aNo_10Cvc@mirab ; "NO.10 <20><><EFBFBD>@<40><><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD>`Fight it out!"
dd aNo_11B@SailorO ; "NO.11 <20>@ Sailor of Time "
dd aNo_12Strawberr ; "NO.12 Strawberry Crisis!! "
dd aNo_13F ; "NO.13 <20>񓝈ꖂ<F1939D88>@<40><><EFBFBD>E<EFBFBD>_ "
dd aNo_14B@cvc@pri ; "NO.14 <09>@<40><><EFBFBD>@<40><><EFBFBD><EFBFBD> "
dd aNo_15B@lviuvC ; "NO.15 <09>@<40>v<EFBFBD><76><EFBFBD>̖<EFBFBD> "
dd aNo_16Umx ; "NO.16 <09><><EFBFBD><EFBFBD><EFBFBD>̐‚<CC90><C282><EFBFBD> "
dd aNo_17IiiuvCumo ; "NO.17 <20>i<EFBFBD><69><EFBFBD>̖<EFBFBD><CC96><EFBFBD> "
dd aNo_18MapleDrea ; "NO.18 Maple Dream... "
dd aNo_19CRlvLxu ; "NO.19 <20><><EFBFBD>l<EFBFBD>̋x<CC8B><78> "
dd aB@b@ ; " <20>@<40>@ "
dd aB@b@vpvxvivf ; " <20>@<40>@<40>p<EFBFBD><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "
dd aOp_m_0 ; "op.m"
dd aSelect_m_0 ; "select.m"
dd a00mm_m ; "00mm.m"
dd a01mm_m ; "01mm.m"
dd a02mm_m ; "02mm.m"
dd a03mm_m ; "03mm.m"
dd a04mm_m ; "04mm.m"
dd a05mm_m ; "05mm.m"
dd a06mm_m ; "06mm.m"
dd aDec_m ; "dec.m"
dd a07mm_m ; "07mm.m"
dd a08mm_m ; "08mm.m"
dd aDemo1_m ; "demo1.m"
dd aDemo2_m ; "demo2.m"
dd aDemo3_m ; "demo3.m"
dd aDemo4_m ; "demo4.m"
dd aDemo5_m ; "demo5.m"
dd aEd_m ; "ed.m"
dd aScore_m ; "score.m"
include th02/music/polygons[data].asm
music_track_playing db 0
aNo_1B@cVOul db 'NO.1 <20>@<40><><EFBFBD>͎<EFBFBD><CD8E><EFBFBD><EFBFBD><EFBFBD><EFBFBD>z<EFBFBD><7A><EFBFBD><EFBFBD> ',0
aNo_2B@B@Select db 'NO.2 <20>@ <20>@ Selection ',0
aNo_3Umx db 'NO.3 <20><><EFBFBD><EFBFBD><EFBFBD>d<EFBFBD><64><EFBFBD>k ',0
aNo_4Reincarnat db 'NO.4 Reincarnation ',0
aNo_5Dim_Dream db 'NO.5 Dim. Dream ',0
aNo_6TabulaRasa db 'NO.6 Tabula rasa<73>@<40>`<60>󔒏<EFBFBD><F394928F><EFBFBD> ',0
aNo_7B@Maniacal db 'NO.7 <20>@ Maniacal Princess ',0
aNo_8CPOBLostDr db 'NO.8 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>`Lost Dream ',0
aNo_9CMCvlyBDre db 'NO.9 <20><><EFBFBD><EFBFBD><EFBFBD>V<EFBFBD>Y <20>`Dream War ',0
aNo_10Cvc@mirab db 'NO.10 <20><><EFBFBD>@<40><><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD>`Fight it out!',0
aNo_11B@SailorO db 'NO.11 <20>@ Sailor of Time ',0
aNo_12Strawberr db 'NO.12 Strawberry Crisis!! ',0
aNo_13F db 'NO.13 <20>񓝈ꖂ<F1939D88>@<40><><EFBFBD>E<EFBFBD>_ ',0
aNo_14B@cvc@pri db 'NO.14 <20>@<40><><EFBFBD>@<40><><EFBFBD><EFBFBD> ',0
aNo_15B@lviuvC db 'NO.15 <20>@<40>v<EFBFBD><76><EFBFBD>̖<EFBFBD> ',0
aNo_16Umx db 'NO.16 <20><><EFBFBD><EFBFBD><EFBFBD>̐‚<CC90><C282><EFBFBD> ',0
aNo_17IiiuvCumo db 'NO.17 <20>i<EFBFBD><69><EFBFBD>̖<EFBFBD><CC96><EFBFBD> ',0
aNo_18MapleDrea db 'NO.18 Maple Dream... ',0
aNo_19CRlvLxu db 'NO.19 <20><><EFBFBD>l<EFBFBD>̋x<CC8B><78> ',0
aB@b@ db ' <20>@<40>@ ',0
aB@b@vpvxvivf db ' <20>@<40>@<40>p<EFBFBD><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',0
aOp_m_0 db 'op.m',0
aSelect_m_0 db 'select.m',0
a00mm_m db '00mm.m',0
a01mm_m db '01mm.m',0
a02mm_m db '02mm.m',0
a03mm_m db '03mm.m',0
a04mm_m db '04mm.m',0
a05mm_m db '05mm.m',0
a06mm_m db '06mm.m',0
aDec_m db 'dec.m',0
a07mm_m db '07mm.m',0
a08mm_m db '08mm.m',0
aDemo1_m db 'demo1.m',0
aDemo2_m db 'demo2.m',0
aDemo3_m db 'demo3.m',0
aDemo4_m db 'demo4.m',0
aDemo5_m db 'demo5.m',0
aEd_m db 'ed.m',0
aScore_m db 'score.m',0
include th02/music/music_cmt_load[data].asm
aOp3_pi db 'op3.pi',0
aOpwin_bft db 'opwin.bft',0
aOp_m db 'op.m',0
aTl01_pi db 'TL01.PI',0
aTl02_pi db 'TL02.PI',0
2014-06-29 22:52:27 +00:00
db 0
word_E1F2 dw 0A04h
2014-06-29 22:52:27 +00:00
aYume_nem db 'YUME.NEM',0
db 0
off_E1FE dd a00sl_cd2
2014-06-29 22:52:27 +00:00
; "00SL.CD2"
dd a02sl_cd2 ; "02SL.CD2"
dd a04sl_cd2 ; "04SL.CD2"
dd a06sl_cd2 ; "06SL.CD2"
dd a08sl_cd2 ; "08SL.CD2"
dd a10sl_cd2 ; "10SL.CD2"
dd a12sl_cd2 ; "12SL.CD2"
dd a14sl_cd2 ; "14SL.CD2"
dd a16sl_cd2 ; "16SL.CD2"
db 3
db 1
db 5
db 4
db 4
db 2
db 3
db 4
db 3
db 2
db 3
db 1
db 4
db 1
db 4
db 2
db 2
db 5
db 4
db 5
db 1
db 5
db 2
db 4
db 5
db 5
db 3
db 12h
db 13h
db 0
db 16h
db 17h
db 0
db 14h
db 15h
db 0
db 18h
db 19h
db 0
db 0
db 0
a00sl_cd2 db '00SL.CD2',0
a02sl_cd2 db '02SL.CD2',0
a04sl_cd2 db '04SL.CD2',0
a06sl_cd2 db '06SL.CD2',0
a08sl_cd2 db '08SL.CD2',0
a10sl_cd2 db '10SL.CD2',0
a12sl_cd2 db '12SL.CD2',0
a14sl_cd2 db '14SL.CD2',0
a16sl_cd2 db '16SL.CD2',0
aSlex_cd2 db 'slex.cd2',0
a99sl_cdg db '99sl.cdg',0
aSlwin_cdg db 'slwin.cdg',0
aSlex_cdg db 'slex.cdg',0
aSelect_m db 'select.m',0
aChname_bft db 'chname.bft',0
aTlsl_rgb db 'TLSL.RGB',0
db 041h, 0C1h, 0E1h, 0
.data?
byte_E97A db ?
byte_E97B db ?
byte_E97C db ?
2014-06-29 22:52:27 +00:00
db ?
fp_E97E dw ?
include libs/master.lib/clip[bss].asm
include libs/master.lib/fil[bss].asm
include libs/master.lib/js[bss].asm
2014-08-23 13:47:05 +00:00
include libs/master.lib/pal[bss].asm
include libs/master.lib/vs[bss].asm
include libs/master.lib/vsync[bss].asm
include libs/master.lib/mem[bss].asm
include libs/master.lib/superpa[bss].asm
include th01/hardware/vram_planes[bss].asm
include th02/snd/snd[bss].asm
include th02/snd/load[bss].asm
include libs/master.lib/pfint21[bss].asm
include th03/hardware/input[bss].asm
include th03/formats/cdg[bss].asm
include th02/formats/pi_slots[bss].asm
include th03/formats/hfliplut[bss].asm
include th02/music/polygons[bss].asm
word_F828 dw ?
word_F82A dw ?
unk_F82C db ? ;
2014-06-29 22:52:27 +00:00
db ? ;
word_F82E dw ?
unk_F830 db ? ;
2014-06-29 22:52:27 +00:00
db ? ;
word_F832 dw ?
unk_F834 db ? ;
2014-06-29 22:52:27 +00:00
db ? ;
word_F836 dw ?
unk_F838 db ? ;
2014-06-29 22:52:27 +00:00
db ? ;
word_F83A dw ?
include th02/music/music_cmt[bss].asm
word_FB84 dw ?
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
dd ? ;
byte_FBD6 db ?
byte_FBD7 db ?
dd ? ;
byte_FBDC 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 ? ;
2014-06-29 22:52:27 +00:00
db ? ;
db ? ;
db ? ;
byte_FC50 db ?
byte_FC51 db ?
word_FC52 dw ?
public _yumeconfig
_yumeconfig dd ?
byte_FC58 db ?
byte_FC59 db ?
byte_FC5A db ?
byte_FC5B db ?
byte_FC5C db ?
db ?
_input_mode_func dd ?
word_FC62 dw ?
word_FC64 dw ?
word_FC66 dw ?
byte_FC68 db ?
2014-06-29 22:52:27 +00:00
db ? ;
end