mirror of https://github.com/nmlgc/ReC98.git
2014 lines
52 KiB
NASM
2014 lines
52 KiB
NASM
;
|
||
; +-------------------------------------------------------------------------+
|
||
; | This file has been generated by The Interactive Disassembler (IDA) |
|
||
; | Copyright (c) 2009 by Hex-Rays, <support@hex-rays.com> |
|
||
; +-------------------------------------------------------------------------+
|
||
;
|
||
; Input MD5 : E6F971B37336C0F9FCE53F895780031E
|
||
|
||
; File Name : th02/MAINE.EXE
|
||
; Format : MS-DOS executable (EXE)
|
||
; Base Address: 0h Range: 0h-FCF0h Loaded length: DE32h
|
||
; Entry Point : 0:0
|
||
; OS type : MS DOS
|
||
; Application type: Executable 16bit
|
||
|
||
.386
|
||
.model use16 large _TEXT
|
||
|
||
include ReC98.inc
|
||
include th01/hardware/grppsafx.inc
|
||
include th02/th02.inc
|
||
|
||
extern _execl:proc
|
||
|
||
maine_01 group END_TEXT, maine_01_TEXT
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
_TEXT segment word public 'CODE' use16
|
||
assume cs:_TEXT
|
||
assume es:nothing, ds:_DATA, fs:nothing, gs:nothing
|
||
|
||
include libs/master.lib/bfnt_entry_pat.asm
|
||
include libs/master.lib/bfnt_extend_header_skip.asm
|
||
include libs/master.lib/bfnt_header_read.asm
|
||
include libs/master.lib/bfnt_header_analysis.asm
|
||
include libs/master.lib/bcloser.asm
|
||
include libs/master.lib/bfill.asm
|
||
include libs/master.lib/bfnt_palette_set.asm
|
||
include libs/master.lib/bgetc.asm
|
||
include libs/master.lib/palette_black_in.asm
|
||
include libs/master.lib/palette_black_out.asm
|
||
include libs/master.lib/bopenr.asm
|
||
include libs/master.lib/bread.asm
|
||
include libs/master.lib/bseek.asm
|
||
include libs/master.lib/bseek_.asm
|
||
include libs/master.lib/cutline.asm
|
||
include libs/master.lib/dos_axdx.asm
|
||
include libs/master.lib/dos_filesize.asm
|
||
include libs/master.lib/dos_setvect.asm
|
||
include libs/master.lib/egc.asm
|
||
include libs/master.lib/egc_shift_down.asm
|
||
include libs/master.lib/egc_shift_left.asm
|
||
include libs/master.lib/file_append.asm
|
||
include libs/master.lib/file_close.asm
|
||
include libs/master.lib/file_exist.asm
|
||
include libs/master.lib/file_read.asm
|
||
include libs/master.lib/file_ropen.asm
|
||
include libs/master.lib/file_seek.asm
|
||
include libs/master.lib/file_size.asm
|
||
include libs/master.lib/file_write.asm
|
||
include libs/master.lib/dos_close.asm
|
||
include libs/master.lib/dos_ropen.asm
|
||
include libs/master.lib/grcg_boxfill.asm
|
||
include libs/master.lib/grcg_line.asm
|
||
include libs/master.lib/grcg_setcolor.asm
|
||
include libs/master.lib/gaiji_backup.asm
|
||
include libs/master.lib/gaiji_entry_bfnt.asm
|
||
include libs/master.lib/gaiji_putca.asm
|
||
include libs/master.lib/gaiji_putsa.asm
|
||
include libs/master.lib/gaiji_read.asm
|
||
include libs/master.lib/gaiji_write.asm
|
||
include libs/master.lib/graph_400line.asm
|
||
include libs/master.lib/graph_clear.asm
|
||
include libs/master.lib/graph_copy_page.asm
|
||
include libs/master.lib/graph_extmode.asm
|
||
include libs/master.lib/graph_gaiji_putc.asm
|
||
include libs/master.lib/graph_gaiji_puts.asm
|
||
include libs/master.lib/graph_pi_free.asm
|
||
include libs/master.lib/graph_pi_load_pack.asm
|
||
include libs/master.lib/graph_pack_put_8.asm
|
||
include libs/master.lib/key_sense.asm
|
||
include libs/master.lib/over_put_8.asm
|
||
include libs/master.lib/palette_show.asm
|
||
include libs/master.lib/pfclose.asm
|
||
include libs/master.lib/pfgetc.asm
|
||
include libs/master.lib/pfread.asm
|
||
include libs/master.lib/pfrewind.asm
|
||
include libs/master.lib/pfseek.asm
|
||
include libs/master.lib/palette_entry_rgb.asm
|
||
include libs/master.lib/rottbl.asm
|
||
include libs/master.lib/smem_release.asm
|
||
include libs/master.lib/smem_wget.asm
|
||
include libs/master.lib/text_clear.asm
|
||
include libs/master.lib/vsync.asm
|
||
include libs/master.lib/vsync_wait.asm
|
||
include libs/master.lib/palette_white_in.asm
|
||
include libs/master.lib/palette_white_out.asm
|
||
include libs/master.lib/hmem_lallocate.asm
|
||
include libs/master.lib/mem_assign_dos.asm
|
||
include libs/master.lib/mem_assign.asm
|
||
include libs/master.lib/memheap.asm
|
||
include libs/master.lib/mem_unassign.asm
|
||
include libs/master.lib/super_entry_pat.asm
|
||
include libs/master.lib/super_entry_at.asm
|
||
include libs/master.lib/super_entry_bfnt.asm
|
||
include libs/master.lib/pfint21.asm
|
||
db 0
|
||
include th02/formats/pfopen.asm
|
||
include libs/master.lib/pf_str_ieq.asm
|
||
_TEXT ends
|
||
|
||
; ===========================================================================
|
||
|
||
END_TEXT segment byte public 'CODE' use16
|
||
@END_LOAD$QNXC procdesc pascal near \
|
||
fn_seg:word, fn_off:word
|
||
@VERDICT_VALUE_SCORE_PUT$QIIL procdesc pascal near \
|
||
left_and_top:dword, score:dword
|
||
@LINE_TYPE$QIIINUCI procdesc pascal near \
|
||
left_and_top:dword, len:word, str_seg:word, str_off:word, frames_per_kanji:word
|
||
extern @verdict_row_1_to_0_animate$qiii:proc
|
||
@GAIJI_BOLDFONT_STR_FROM_POSITIVE$QIN12GAIJI_TH02_T procdesc pascal near
|
||
@END_PIC_SHOW$QI procdesc pascal near \
|
||
quarter:word
|
||
@STAFFROLL_PIC_PUT$QIII procdesc pascal near \
|
||
left_and_top:dword, quarter:word
|
||
@END_PIC_PUT_ROWS$QIII procdesc pascal near
|
||
END_TEXT ends
|
||
|
||
; Segment type: Pure code
|
||
maine_01_TEXT segment byte public 'CODE' use16
|
||
assume cs:maine_01
|
||
;org 3
|
||
assume es:nothing, ss:nothing, ds:_DATA, fs:nothing, gs:nothing
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
public @end_line_clear$qv
|
||
@end_line_clear$qv proc near
|
||
|
||
var_2 = word ptr -2
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
call grcg_setcolor pascal, (GC_RMW shl 16) + 0
|
||
mov si, 14Ch
|
||
jmp short loc_9AC5
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9A94:
|
||
mov di, 90h
|
||
jmp short loc_9ABE
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9A99:
|
||
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, _VRAM_PLANE_B
|
||
add bx, [bp+var_2]
|
||
mov word ptr es:[bx], 0FFFFh
|
||
add di, 10h
|
||
|
||
loc_9ABE:
|
||
cmp di, 1F0h
|
||
jl short loc_9A99
|
||
inc si
|
||
|
||
loc_9AC5:
|
||
cmp si, 15Ch
|
||
jl short loc_9A94
|
||
call grcg_off
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn
|
||
@end_line_clear$qv endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_9AD4 proc near
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
call @end_load$qnxc pascal, ds, offset aEnd3_txt ; "end3.txt"
|
||
call @frame_delay$qi pascal, 30
|
||
push 1
|
||
call palette_white_out
|
||
call _snd_load c, offset aEnding_m, ds, SND_LOAD_SONG
|
||
kajacall KAJA_SONG_PLAY
|
||
pop cx
|
||
call @end_line_clear$qv
|
||
push 4
|
||
call palette_white_in
|
||
call _snd_delay_until_measure stdcall, 5
|
||
pop cx
|
||
mov si, 0A0h
|
||
jmp short loc_9B5C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9B1B:
|
||
push si
|
||
push 100
|
||
lea ax, [si+319]
|
||
push ax
|
||
push (299 shl 16) or 4
|
||
call egc_shift_left
|
||
call grcg_setcolor pascal, (GC_RMW shl 16) + 0
|
||
lea ax, [si+312]
|
||
push ax
|
||
push 100
|
||
lea ax, [si+319]
|
||
push ax
|
||
push 299
|
||
call grcg_boxfill
|
||
call grcg_off
|
||
call @frame_delay$qi pascal, 1
|
||
sub si, 4
|
||
|
||
loc_9B5C:
|
||
cmp si, 24h ; '$'
|
||
jg short loc_9B1B
|
||
pop si
|
||
pop bp
|
||
retn
|
||
sub_9AD4 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_9B64 proc near
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
call @end_load$qnxc pascal, ds, offset aEnd1_txt ; "end1.txt"
|
||
call _snd_load c, offset aEnd1_m, ds, SND_LOAD_SONG
|
||
kajacall KAJA_SONG_PLAY
|
||
pop cx
|
||
mov PaletteTone, 0
|
||
call far ptr palette_show
|
||
graph_accesspage 1
|
||
call _pi_load c, 0, offset aEd01_pi, ds
|
||
call _pi_palette_apply stdcall, 0
|
||
pop cx
|
||
call _pi_put_8 c, 0, large 0
|
||
freePISlotLarge 0
|
||
push 2
|
||
call palette_black_in
|
||
call @frame_delay$qi pascal, 40
|
||
call @end_pic_show$qi pascal, 0
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
mov _line_type_allow_fast_forward_and, 1
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text, 6
|
||
call @frame_delay$qi pascal, 20
|
||
push 1
|
||
call palette_black_out
|
||
call @end_pic_show$qi pascal, 1
|
||
push 1
|
||
call palette_black_in
|
||
mov si, 1
|
||
jmp short loc_9C2D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9C15:
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
mov ax, si
|
||
imul ax, END_LINE_SIZE
|
||
add ax, offset _end_text
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call @line_type$qiiinuci
|
||
inc si
|
||
|
||
loc_9C2D:
|
||
cmp si, 3
|
||
jle short loc_9C15
|
||
call @end_pic_show$qi pascal, 2
|
||
mov si, 4
|
||
jmp short loc_9C54
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9C3C:
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
mov ax, si
|
||
imul ax, END_LINE_SIZE
|
||
add ax, offset _end_text
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call @line_type$qiiinuci
|
||
inc si
|
||
|
||
loc_9C54:
|
||
cmp si, 5
|
||
jle short loc_9C3C
|
||
mov _line_col_and_fx, (6 or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 6), 6
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
mov si, 7
|
||
jmp short loc_9C91
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9C79:
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
mov ax, si
|
||
imul ax, END_LINE_SIZE
|
||
add ax, offset _end_text
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call @line_type$qiiinuci
|
||
inc si
|
||
|
||
loc_9C91:
|
||
cmp si, 9
|
||
jle short loc_9C79
|
||
mov _line_col_and_fx, (6 or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 10), 6
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 11), 6
|
||
call @frame_delay$qi pascal, 20
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 12), 6
|
||
xor si, si
|
||
jmp short loc_9D10
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9CDE:
|
||
graph_accesspage 0
|
||
call egc_shift_down pascal, (160 shl 16) or 100, (479 shl 16) or 297, 2
|
||
push 3 ; quarter
|
||
mov ax, si
|
||
add ax, ax
|
||
mov dx, (200 - 2)
|
||
sub dx, ax
|
||
push dx ; quarter_offset_y
|
||
push 2 ; rows
|
||
call @END_PIC_PUT_ROWS$QIII
|
||
call @frame_delay$qi pascal, 1
|
||
inc si
|
||
|
||
loc_9D10:
|
||
cmp si, 64h ; 'd'
|
||
jl short loc_9CDE
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 13), 6
|
||
mov _line_col_and_fx, (6 or FX_WEIGHT_BOLD)
|
||
mov si, 0Eh
|
||
jmp short loc_9D48
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9D30:
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
mov ax, si
|
||
imul ax, END_LINE_SIZE
|
||
add ax, offset _end_text
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call @line_type$qiiinuci
|
||
inc si
|
||
|
||
loc_9D48:
|
||
cmp si, 0Fh
|
||
jle short loc_9D30
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
mov si, 10h
|
||
jmp short loc_9D6F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9D57:
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
mov ax, si
|
||
imul ax, END_LINE_SIZE
|
||
add ax, offset _end_text
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call @line_type$qiiinuci
|
||
inc si
|
||
|
||
loc_9D6F:
|
||
cmp si, 11h
|
||
jle short loc_9D57
|
||
mov _line_col_and_fx, (6 or FX_WEIGHT_BOLD)
|
||
mov si, 12h
|
||
jmp short loc_9D96
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9D7E:
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
mov ax, si
|
||
imul ax, END_LINE_SIZE
|
||
add ax, offset _end_text
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call @line_type$qiiinuci
|
||
inc si
|
||
|
||
loc_9D96:
|
||
cmp si, 14h
|
||
jle short loc_9D7E
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 21), 6
|
||
mov _line_col_and_fx, (6 or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 22), 6
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 23), 6
|
||
graph_accesspage 1
|
||
call _pi_load c, 0, offset aEd02_pi, ds
|
||
call _pi_palette_apply stdcall, 0
|
||
pop cx
|
||
call _pi_put_8 c, 0, large 0
|
||
freePISlotLarge 0
|
||
push 2
|
||
call palette_black_out
|
||
les bx, _resident
|
||
cmp es:[bx+mikoconfig_t.shottype], 0
|
||
jnz short loc_9E2A
|
||
push 0
|
||
jmp short loc_9E3B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9E2A:
|
||
les bx, _resident
|
||
cmp es:[bx+mikoconfig_t.shottype], 1
|
||
jnz short loc_9E39
|
||
push 2
|
||
jmp short loc_9E3B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9E39:
|
||
push 3
|
||
|
||
loc_9E3B:
|
||
call @end_pic_show$qi
|
||
push 2
|
||
call palette_black_in
|
||
mov _line_col_and_fx, (6 or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 24), 6
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
mov si, 19h
|
||
jmp short loc_9E7D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9E65:
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
mov ax, si
|
||
imul ax, END_LINE_SIZE
|
||
add ax, offset _end_text
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call @line_type$qiiinuci
|
||
inc si
|
||
|
||
loc_9E7D:
|
||
cmp si, 1Ah
|
||
jle short loc_9E65
|
||
mov _line_col_and_fx, (6 or FX_WEIGHT_BOLD)
|
||
les bx, _resident
|
||
cmp es:[bx+mikoconfig_t.shottype], 0
|
||
jnz loc_9F22
|
||
mov si, 1Bh
|
||
jmp short loc_9EB1
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9E99:
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
mov ax, si
|
||
imul ax, END_LINE_SIZE
|
||
add ax, offset _end_text
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call @line_type$qiiinuci
|
||
inc si
|
||
|
||
loc_9EB1:
|
||
cmp si, 1Ch
|
||
jle short loc_9E99
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
mov si, 1Dh
|
||
jmp short loc_9ED8
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9EC0:
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
mov ax, si
|
||
imul ax, END_LINE_SIZE
|
||
add ax, offset _end_text
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call @line_type$qiiinuci
|
||
inc si
|
||
|
||
loc_9ED8:
|
||
cmp si, 1Eh
|
||
jle short loc_9EC0
|
||
call @end_pic_show$qi pascal, 1
|
||
mov _line_col_and_fx, (6 or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 31), 6
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 32), 12
|
||
mov _line_type_allow_fast_forward_and, 0
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
push ds
|
||
push offset _end_text + (END_LINE_SIZE * 33)
|
||
jmp loc_A092
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9F22:
|
||
les bx, _resident
|
||
cmp es:[bx+mikoconfig_t.shottype], 1
|
||
jnz loc_9FD3
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 34), 6
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 35), 6
|
||
mov _line_col_and_fx, (6 or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 36), 6
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
mov si, 25h ; '%'
|
||
jmp short loc_9F8E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9F76:
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
mov ax, si
|
||
imul ax, END_LINE_SIZE
|
||
add ax, offset _end_text
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call @line_type$qiiinuci
|
||
inc si
|
||
|
||
loc_9F8E:
|
||
cmp si, 26h ; '&'
|
||
jle short loc_9F76
|
||
mov _line_col_and_fx, (6 or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 39), 6
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 40), 12
|
||
mov _line_type_allow_fast_forward_and, 0
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
push ds
|
||
push offset _end_text + (END_LINE_SIZE * 41)
|
||
jmp loc_A092
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_9FD3:
|
||
les bx, _resident
|
||
cmp es:[bx+mikoconfig_t.shottype], 2
|
||
jnz loc_A097
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 42), 6
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 43), 6
|
||
mov _line_col_and_fx, (6 or FX_WEIGHT_BOLD)
|
||
mov si, 2Ch ; ','
|
||
jmp short loc_A029
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A011:
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
mov ax, si
|
||
imul ax, END_LINE_SIZE
|
||
add ax, offset _end_text
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call @line_type$qiiinuci
|
||
inc si
|
||
|
||
loc_A029:
|
||
cmp si, 2Dh ; '-'
|
||
jle short loc_A011
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
mov si, 2Eh ; '.'
|
||
jmp short loc_A050
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A038:
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
mov ax, si
|
||
imul ax, END_LINE_SIZE
|
||
add ax, offset _end_text
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call @line_type$qiiinuci
|
||
inc si
|
||
|
||
loc_A050:
|
||
cmp si, 2Fh ; '/'
|
||
jle short loc_A038
|
||
mov _line_col_and_fx, (6 or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 48), 6
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 49), 12
|
||
mov _line_type_allow_fast_forward_and, 0
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
push ds
|
||
push offset _end_text + (END_LINE_SIZE * 50)
|
||
|
||
loc_A092:
|
||
push 9
|
||
call @line_type$qiiinuci
|
||
|
||
loc_A097:
|
||
call sub_9AD4
|
||
pop si
|
||
pop bp
|
||
retn
|
||
sub_9B64 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A09D proc near
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
call @end_load$qnxc pascal, ds, offset aEnd2_txt ; "end2.txt"
|
||
call _snd_load c, offset aEnd1_m, ds, SND_LOAD_SONG
|
||
kajacall KAJA_SONG_PLAY
|
||
pop cx
|
||
mov PaletteTone, 0
|
||
call far ptr palette_show
|
||
graph_accesspage 1
|
||
call _pi_load c, 0, offset aEd01_pi, ds
|
||
call _pi_palette_apply stdcall, 0
|
||
pop cx
|
||
call _pi_put_8 c, 0, large 0
|
||
freePISlotLarge 0
|
||
push 2
|
||
call palette_black_in
|
||
call @frame_delay$qi pascal, 40
|
||
call @end_pic_show$qi pascal, 0
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
mov _line_type_allow_fast_forward_and, 1
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text, 6
|
||
call @frame_delay$qi pascal, 20
|
||
push 1
|
||
call palette_black_out
|
||
graph_accesspage 1
|
||
call _pi_load c, 0, offset aEd03_pi, ds
|
||
call _pi_palette_apply stdcall, 0
|
||
pop cx
|
||
call _pi_put_8 c, 0, large 0
|
||
freePISlotLarge 0
|
||
call @end_pic_show$qi pascal, 0
|
||
push 1
|
||
call palette_black_in
|
||
mov si, 1
|
||
jmp short loc_A19D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A185:
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
mov ax, si
|
||
imul ax, END_LINE_SIZE
|
||
add ax, offset _end_text
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call @line_type$qiiinuci
|
||
inc si
|
||
|
||
loc_A19D:
|
||
cmp si, 3
|
||
jle short loc_A185
|
||
call @end_pic_show$qi pascal, 1
|
||
mov si, 4
|
||
jmp short loc_A1C4
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A1AC:
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
mov ax, si
|
||
imul ax, END_LINE_SIZE
|
||
add ax, offset _end_text
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call @line_type$qiiinuci
|
||
inc si
|
||
|
||
loc_A1C4:
|
||
cmp si, 9
|
||
jle short loc_A1AC
|
||
call @end_pic_show$qi pascal, 2
|
||
mov si, 0Ah
|
||
jmp short loc_A1EB
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A1D3:
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
mov ax, si
|
||
imul ax, END_LINE_SIZE
|
||
add ax, offset _end_text
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call @line_type$qiiinuci
|
||
inc si
|
||
|
||
loc_A1EB:
|
||
cmp si, 0Bh
|
||
jle short loc_A1D3
|
||
call @end_pic_show$qi pascal, 3
|
||
mov si, 0Ch
|
||
jmp short loc_A212
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A1FA:
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
mov ax, si
|
||
imul ax, END_LINE_SIZE
|
||
add ax, offset _end_text
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call @line_type$qiiinuci
|
||
inc si
|
||
|
||
loc_A212:
|
||
cmp si, 0Dh
|
||
jle short loc_A1FA
|
||
push ds
|
||
push offset aEd03a_rgb ; "ed03a.rgb"
|
||
call palette_entry_rgb
|
||
call far ptr palette_show
|
||
mov _line_col_and_fx, (9 or FX_WEIGHT_BOLD)
|
||
mov si, 0Eh
|
||
jmp short loc_A247
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A22F:
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
mov ax, si
|
||
imul ax, END_LINE_SIZE
|
||
add ax, offset _end_text
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call @line_type$qiiinuci
|
||
inc si
|
||
|
||
loc_A247:
|
||
cmp si, 0Fh
|
||
jle short loc_A22F
|
||
push 2
|
||
call palette_black_out
|
||
graph_accesspage 1
|
||
call _pi_load c, 0, offset aEd04_pi, ds
|
||
call _pi_palette_apply stdcall, 0
|
||
pop cx
|
||
call _pi_put_8 c, 0, large 0
|
||
freePISlotLarge 0
|
||
graph_accesspage 0
|
||
call @end_pic_show$qi pascal, 0
|
||
push 2
|
||
call palette_black_in
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 16), 6
|
||
mov _line_col_and_fx, (9 or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 17), 6
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
mov si, 12h
|
||
jmp short loc_A2EA
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A2D2:
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
mov ax, si
|
||
imul ax, END_LINE_SIZE
|
||
add ax, offset _end_text
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call @line_type$qiiinuci
|
||
inc si
|
||
|
||
loc_A2EA:
|
||
cmp si, 13h
|
||
jle short loc_A2D2
|
||
call @end_pic_show$qi pascal, 1
|
||
mov _line_col_and_fx, (9 or FX_WEIGHT_BOLD)
|
||
mov si, 14h
|
||
jmp short loc_A316
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A2FE:
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
mov ax, si
|
||
imul ax, END_LINE_SIZE
|
||
add ax, offset _end_text
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call @line_type$qiiinuci
|
||
inc si
|
||
|
||
loc_A316:
|
||
cmp si, 15h
|
||
jle short loc_A2FE
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 22), 6
|
||
mov _line_col_and_fx, (9 or FX_WEIGHT_BOLD)
|
||
mov si, 17h
|
||
jmp short loc_A353
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A33B:
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
mov ax, si
|
||
imul ax, END_LINE_SIZE
|
||
add ax, offset _end_text
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call @line_type$qiiinuci
|
||
inc si
|
||
|
||
loc_A353:
|
||
cmp si, 18h
|
||
jle short loc_A33B
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 25), 6
|
||
mov _line_col_and_fx, (9 or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 26), 6
|
||
call @frame_delay$qi pascal, 10
|
||
les bx, _resident
|
||
cmp es:[bx+mikoconfig_t.shottype], 0
|
||
jnz loc_A4EC
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 27), 6
|
||
call @frame_delay$qi pascal, 30
|
||
call @end_pic_show$qi pascal, 2
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 28), 6
|
||
call @end_pic_show$qi pascal, 3
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 29), 6
|
||
mov _line_col_and_fx, (9 or FX_WEIGHT_BOLD)
|
||
mov si, 1Eh
|
||
jmp short loc_A403
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A3EB:
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
mov ax, si
|
||
imul ax, END_LINE_SIZE
|
||
add ax, offset _end_text
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call @line_type$qiiinuci
|
||
inc si
|
||
|
||
loc_A403:
|
||
cmp si, 1Fh
|
||
jle short loc_A3EB
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
mov si, 20h ; ' '
|
||
jmp short loc_A42A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A412:
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
mov ax, si
|
||
imul ax, END_LINE_SIZE
|
||
add ax, offset _end_text
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call @line_type$qiiinuci
|
||
inc si
|
||
|
||
loc_A42A:
|
||
cmp si, 24h ; '$'
|
||
jle short loc_A412
|
||
mov _line_col_and_fx, (9 or FX_WEIGHT_BOLD)
|
||
mov si, 25h ; '%'
|
||
jmp short loc_A451
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A439:
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
mov ax, si
|
||
imul ax, END_LINE_SIZE
|
||
add ax, offset _end_text
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call @line_type$qiiinuci
|
||
inc si
|
||
|
||
loc_A451:
|
||
cmp si, 26h ; '&'
|
||
jle short loc_A439
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 39), 6
|
||
push 2
|
||
call palette_black_out
|
||
graph_accesspage 1
|
||
call _pi_load c, 0, offset aEd05_pi, ds
|
||
call _pi_palette_apply stdcall, 0
|
||
pop cx
|
||
call _pi_put_8 c, 0, large 0
|
||
freePISlotLarge 0
|
||
call @end_pic_show$qi pascal, 0
|
||
push 2
|
||
call palette_black_in
|
||
mov si, 28h ; '('
|
||
jmp short loc_A4D3
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A4BB:
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
mov ax, si
|
||
imul ax, END_LINE_SIZE
|
||
add ax, offset _end_text
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call @line_type$qiiinuci
|
||
inc si
|
||
|
||
loc_A4D3:
|
||
cmp si, 2Eh ; '.'
|
||
jle short loc_A4BB
|
||
mov _line_type_allow_fast_forward_and, 0
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
push ds
|
||
push offset _end_text + (END_LINE_SIZE * 47)
|
||
jmp loc_A869
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A4EC:
|
||
les bx, _resident
|
||
cmp es:[bx+mikoconfig_t.shottype], 1
|
||
jnz loc_A6B6
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 48), 6
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 49), 6
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 50), 6
|
||
mov _line_col_and_fx, (9 or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 51), 6
|
||
call @frame_delay$qi pascal, 30
|
||
call @end_pic_show$qi pascal, 2
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 52), 6
|
||
call @end_pic_show$qi pascal, 3
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 53), 6
|
||
mov _line_col_and_fx, (9 or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 54), 6
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 55), 6
|
||
mov _line_col_and_fx, (9 or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 56), 6
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 57), 6
|
||
mov _line_col_and_fx, (9 or FX_WEIGHT_BOLD)
|
||
mov si, 3Ah ; ':'
|
||
jmp short loc_A5F9
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A5E1:
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
mov ax, si
|
||
imul ax, END_LINE_SIZE
|
||
add ax, offset _end_text
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call @line_type$qiiinuci
|
||
inc si
|
||
|
||
loc_A5F9:
|
||
cmp si, 3Dh ; '='
|
||
jle short loc_A5E1
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
mov si, 3Eh ; '>'
|
||
jmp short loc_A620
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A608:
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
mov ax, si
|
||
imul ax, END_LINE_SIZE
|
||
add ax, offset _end_text
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call @line_type$qiiinuci
|
||
inc si
|
||
|
||
loc_A620:
|
||
cmp si, 42h ; 'B'
|
||
jle short loc_A608
|
||
push 2
|
||
call palette_black_out
|
||
graph_accesspage 1
|
||
call _pi_load c, 0, offset aEd05_pi, ds
|
||
call _pi_palette_apply stdcall, 0
|
||
pop cx
|
||
call _pi_put_8 c, 0, large 0
|
||
freePISlotLarge 0
|
||
call @end_pic_show$qi pascal, 1
|
||
push 2
|
||
call palette_black_in
|
||
mov si, 43h ; 'C'
|
||
jmp short loc_A68C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A674:
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
mov ax, si
|
||
imul ax, END_LINE_SIZE
|
||
add ax, offset _end_text
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call @line_type$qiiinuci
|
||
inc si
|
||
|
||
loc_A68C:
|
||
cmp si, 44h ; 'D'
|
||
jle short loc_A674
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 69), 12
|
||
mov _line_type_allow_fast_forward_and, 0
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
push ds
|
||
push offset _end_text + (END_LINE_SIZE * 70)
|
||
jmp loc_A869
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A6B6:
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 71), 6
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 72), 6
|
||
mov _line_col_and_fx, (9 or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 73), 6
|
||
call @frame_delay$qi pascal, 30
|
||
call @end_pic_show$qi pascal, 2
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 74), 6
|
||
call @end_pic_show$qi pascal, 3
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 75), 6
|
||
mov _line_col_and_fx, (9 or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 76), 6
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 77), 6
|
||
mov _line_col_and_fx, (9 or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 78), 6
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 79), 6
|
||
mov _line_col_and_fx, (9 or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 80), 6
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 81), 6
|
||
mov _line_col_and_fx, (9 or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 82), 6
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 83), 6
|
||
push 2
|
||
call palette_black_out
|
||
graph_accesspage 1
|
||
call _pi_load c, 0, offset aEd05_pi, ds
|
||
call _pi_palette_apply stdcall, 0
|
||
pop cx
|
||
call _pi_put_8 c, 0, large 0
|
||
freePISlotLarge 0
|
||
call @end_pic_show$qi pascal, 2
|
||
push 2
|
||
call palette_black_in
|
||
mov si, 54h ; 'T'
|
||
jmp short loc_A842
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A82A:
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
mov ax, si
|
||
imul ax, END_LINE_SIZE
|
||
add ax, offset _end_text
|
||
push ds
|
||
push ax
|
||
push 6
|
||
call @line_type$qiiinuci
|
||
inc si
|
||
|
||
loc_A842:
|
||
cmp si, 5Bh ; '['
|
||
jle short loc_A82A
|
||
call @line_type$qiiinuci pascal, (144 shl 16) or 332, END_LINE_LENGTH, ds, offset _end_text + (END_LINE_SIZE * 92), 6
|
||
mov _line_type_allow_fast_forward_and, 0
|
||
push (144 shl 16) or 332
|
||
push END_LINE_LENGTH
|
||
push ds
|
||
push offset _end_text + (END_LINE_SIZE * 93)
|
||
|
||
loc_A869:
|
||
push 12
|
||
call @line_type$qiiinuci
|
||
call sub_9AD4
|
||
pop si
|
||
pop bp
|
||
retn
|
||
sub_A09D endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A874 proc near
|
||
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
arg_4 = word ptr 8
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_4]
|
||
mov di, [bp+arg_0]
|
||
mov [bp+var_2], 0
|
||
jmp short loc_A898
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A887:
|
||
push si
|
||
push [bp+arg_2]
|
||
push di
|
||
call over_put_8
|
||
inc [bp+var_2]
|
||
inc di
|
||
add si, 10h
|
||
|
||
loc_A898:
|
||
cmp [bp+var_2], 5
|
||
jl short loc_A887
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 6
|
||
sub_A874 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A8A4 proc near
|
||
push bp
|
||
mov bp, sp
|
||
call grcg_setcolor pascal, (GC_RMW shl 16) + 0
|
||
push 1A000C0h
|
||
push 27F010Fh
|
||
call grcg_boxfill
|
||
call grcg_off
|
||
pop bp
|
||
retn
|
||
sub_A8A4 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
rotrect proc near
|
||
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
arg_4 = word ptr 8
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push [bp+arg_4]
|
||
push [bp+arg_0]
|
||
call @staffroll_rotrect_animate$qucuc
|
||
call @staffroll_pic_put$qiii pascal, large (32 shl 16) or 100, [bp+arg_2]
|
||
call @frame_delay$qi pascal, 4
|
||
mov PaletteTone, 100
|
||
call far ptr palette_show
|
||
pop bp
|
||
retn 6
|
||
rotrect endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A8FA proc near
|
||
|
||
@@g_str = byte ptr -4
|
||
|
||
enter 4, 0
|
||
push si
|
||
push di
|
||
call _snd_delay_until_measure stdcall, 6
|
||
pop cx
|
||
xor si, si
|
||
jmp short loc_A920
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A90C:
|
||
push 1B000B8h
|
||
push si
|
||
call sub_A874
|
||
call @frame_delay$qi pascal, 4
|
||
add si, 5
|
||
|
||
loc_A920:
|
||
cmp si, 37h ; '7'
|
||
jl short loc_A90C
|
||
call _graph_putsa_fx c, 528, ((V_WHITE or FX_WEIGHT_BOLD) shl 16) or 192, offset aVer1_00, ds ; "ver 1.00"
|
||
call _snd_delay_until_measure stdcall, 8
|
||
pop cx
|
||
mov si, 0B8h
|
||
jmp short loc_A992
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A947:
|
||
call grcg_setcolor pascal, (GC_RMW shl 16) + 0
|
||
push 528
|
||
lea ax, [si+4]
|
||
push ax
|
||
push 591
|
||
lea ax, [si+19]
|
||
push ax
|
||
call grcg_boxfill
|
||
call grcg_off
|
||
push 1B0h
|
||
push si
|
||
push 32h ; '2'
|
||
call sub_A874
|
||
push ds
|
||
push offset aVer1_00 ; "ver 1.00"
|
||
push (V_WHITE or FX_WEIGHT_BOLD)
|
||
lea ax, [si+8]
|
||
push ax
|
||
push 528
|
||
call _graph_putsa_fx
|
||
add sp, 0Ah
|
||
call @frame_delay$qi pascal, 1
|
||
add si, 4
|
||
|
||
loc_A992:
|
||
cmp si, 170h
|
||
jl short loc_A947
|
||
call _snd_delay_until_measure stdcall, 9
|
||
pop cx
|
||
mov _line_col_and_fx, (V_WHITE or FX_WEIGHT_BOLD)
|
||
call @line_type$qiiinuci pascal, (432 shl 16) or 192, 20, ds, offset aXxcvsB@b@vrvsv, 12
|
||
call _snd_delay_until_measure stdcall, 13
|
||
pop cx
|
||
graph_accesspage 1
|
||
call _pi_load c, 0, offset aEd06_pi, ds
|
||
call _pi_palette_apply stdcall, 0
|
||
pop cx
|
||
call _pi_put_8 c, 0, large 0
|
||
freePISlotLarge 0
|
||
graph_accesspage 0
|
||
push 4
|
||
push 0
|
||
push 29h ; ')'
|
||
call rotrect
|
||
call sub_A8A4
|
||
call _graph_putsa_fx c, 416, ((V_WHITE or FX_WEIGHT_BOLD) shl 16) or 192, offset aGvgngogigab@b@, ds ; "<22>v<EFBFBD><76><EFBFBD>O<EFBFBD><4F><EFBFBD><EFBFBD><EFBFBD>@<40>@<40>@<40>y<EFBFBD>t<EFBFBD>m"
|
||
call _snd_delay_until_measure stdcall, 17
|
||
pop cx
|
||
push ds
|
||
push offset aEd06b_rgb ; "ed06b.rgb"
|
||
call palette_entry_rgb
|
||
call far ptr palette_show
|
||
push 0FCh
|
||
push 2
|
||
push 29h ; ')'
|
||
call rotrect
|
||
call _snd_delay_until_measure stdcall, 21
|
||
pop cx
|
||
call @staffroll_pic_put$qiii pascal, large (32 shl 16) or 100, 3
|
||
push ds
|
||
push offset aEd06c_rgb ; "ed06c.rgb"
|
||
call palette_entry_rgb
|
||
call far ptr palette_show
|
||
push 4
|
||
push 3
|
||
push 29h ; ')'
|
||
call rotrect
|
||
graph_accesspage 1
|
||
call _pi_load c, 0, offset aEd07_pi, ds
|
||
call _pi_put_8 c, 0, large 0
|
||
freePISlotLarge 0
|
||
graph_accesspage 0
|
||
call _snd_delay_until_measure stdcall, 25
|
||
pop cx
|
||
call sub_A8A4
|
||
call _graph_putsa_fx c, 416, ((V_WHITE or FX_WEIGHT_BOLD) shl 16) or 192, offset aGogigtgbgbgnb@, ds ; "<22>O<EFBFBD><4F><EFBFBD>t<EFBFBD>B<EFBFBD>b<EFBFBD>N<EFBFBD>@<40>y<EFBFBD>t<EFBFBD>m"
|
||
call _graph_putsa_fx c, 416, ((V_WHITE or FX_WEIGHT_BOLD) shl 16) or 224, offset aB@b@b@b@b@b@b@, ds ; "<22>@<40>@<40>@<40>@<40>@<40>@<40>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||
call _graph_putsa_fx c, 416, ((V_WHITE or FX_WEIGHT_BOLD) shl 16) or 240, offset aB@b@b@b@bigibG, ds ; "<22>@<40>@<40>@<40>@<40>i<EFBFBD>I<EFBFBD>[<5B><><EFBFBD>N<EFBFBD><4E><EFBFBD>A<EFBFBD><41><EFBFBD>j"
|
||
push ds
|
||
push offset aEd07a_rgb ; "ed07a.rgb"
|
||
call palette_entry_rgb
|
||
call far ptr palette_show
|
||
push 0FCh
|
||
push 0
|
||
push 29h ; ')'
|
||
call rotrect
|
||
call _snd_delay_until_measure stdcall, 29
|
||
pop cx
|
||
push ds
|
||
push offset aEd07b_rgb ; "ed07b.rgb"
|
||
call palette_entry_rgb
|
||
call far ptr palette_show
|
||
push 8
|
||
push 1
|
||
push 0E9h
|
||
call rotrect
|
||
call _snd_delay_until_measure stdcall, 33
|
||
pop cx
|
||
call @staffroll_pic_put$qiii pascal, (32 shl 16) or 100, 2
|
||
push 0F8h
|
||
push 2
|
||
push 0E9h
|
||
call rotrect
|
||
call _snd_delay_until_measure stdcall, 37
|
||
pop cx
|
||
call sub_A8A4
|
||
call _graph_putsa_fx c, 432, ((V_WHITE or FX_WEIGHT_BOLD) shl 16) or 192, offset aVlvtvrvhvbb@b@, ds ; "<22>l<EFBFBD>t<EFBFBD>r<EFBFBD>h<EFBFBD>b<EFBFBD>@<40>@<40>y<EFBFBD>t<EFBFBD>m"
|
||
push ds
|
||
push offset aEd07b_rgb ; "ed07b.rgb"
|
||
call palette_entry_rgb
|
||
call far ptr palette_show
|
||
push 8
|
||
push 3
|
||
push 0E9h
|
||
call rotrect
|
||
graph_accesspage 1
|
||
call _pi_load c, 0, offset aEd08_pi, ds
|
||
call _pi_put_8 c, 0, large 0
|
||
graph_accesspage 0
|
||
call _snd_delay_until_measure stdcall, 41
|
||
pop cx
|
||
call _pi_palette_apply stdcall, 0
|
||
pop cx
|
||
freePISlotLarge 0
|
||
push 0F8h
|
||
push 0
|
||
push 0E9h
|
||
call rotrect
|
||
call _snd_delay_until_measure stdcall, 45
|
||
pop cx
|
||
push ds
|
||
push offset aEd08a_rgb ; "ed08a.rgb"
|
||
call palette_entry_rgb
|
||
call far ptr palette_show
|
||
push 0Ch
|
||
push 1
|
||
push 29h ; ')'
|
||
call rotrect
|
||
call _snd_delay_until_measure stdcall, 49
|
||
pop cx
|
||
call sub_A8A4
|
||
call _graph_putsa_fx c, 416, ((V_WHITE or FX_WEIGHT_BOLD) shl 16) or 192, offset aVsvdvrvsb@vovk, ds ; "<22>s<EFBFBD>d<EFBFBD>r<EFBFBD>s<EFBFBD>@<40>o<EFBFBD>k<EFBFBD>`<60>x<EFBFBD>d<EFBFBD>q"
|
||
call _graph_putsa_fx c, 416, ((V_WHITE or FX_WEIGHT_BOLD) shl 16) or 224, offset aB@b@b@b@vivivs, ds ; "<22>@<40>@<40>@<40>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||
call _graph_putsa_fx c, 416, ((V_WHITE or FX_WEIGHT_BOLD) shl 16) or 248, offset aB@b@b@b@vbbVv, ds ; "<22>@<40>@<40>@<40>@<40>b<EFBFBD>|<7C>v"
|
||
call _graph_putsa_fx c, 416, ((V_WHITE or FX_WEIGHT_BOLD) shl 16) or 272, offset aB@b@Orucb@mbiS, ds ; "<22>@<40>@ <20>R<EFBFBD>c<EFBFBD>@<40>b<EFBFBD><62><EFBFBD>Y"
|
||
call _graph_putsa_fx c, 416, ((V_WHITE or FX_WEIGHT_BOLD) shl 16) or 296, offset aVVSSxrivVVVV, ds ; " <20><><EFBFBD>̑<EFBFBD><CC91>吨<EFBFBD>݂̂Ȃ<DD82><C882><EFBFBD>"
|
||
push ds
|
||
push offset aEd08b_rgb ; "ed08b.rgb"
|
||
call palette_entry_rgb
|
||
call far ptr palette_show
|
||
push 0F4h
|
||
push 2
|
||
push 29h ; ')'
|
||
call rotrect
|
||
call _snd_delay_until_measure stdcall, 53
|
||
pop cx
|
||
push ds
|
||
push offset aEd08c_rgb ; "ed08c.rgb"
|
||
call palette_entry_rgb
|
||
call far ptr palette_show
|
||
push 0Ch
|
||
push 3
|
||
push 29h ; ')'
|
||
call rotrect
|
||
call _snd_delay_until_measure stdcall, 57
|
||
pop cx
|
||
push 4
|
||
call palette_black_out
|
||
graph_accesspage 1
|
||
call _pi_load c, 0, offset aEd09_pi, ds
|
||
call _pi_palette_apply stdcall, 0
|
||
pop cx
|
||
call _pi_put_8 c, 0, large 0
|
||
freePISlotLarge 0
|
||
call graph_copy_page pascal, 0
|
||
push 4
|
||
call palette_black_in
|
||
call @frame_delay$qi pascal, 100
|
||
graph_accesspage 1
|
||
push ds
|
||
push offset aVsvivbvovlb@vs
|
||
mov al, _line_col_and_fx
|
||
cbw
|
||
push ax
|
||
push (96 shl 16) or 24
|
||
call _graph_putsa_fx
|
||
add sp, 0Ah
|
||
call @verdict_row_1_to_0_animate$qiii c, 24, large 96 or (21 shl 16)
|
||
call @frame_delay$qi pascal, 200
|
||
graph_accesspage 1
|
||
push ds
|
||
push offset aB@nPiuU_ ; "<22>@<40>ŏI<C58F><49><EFBFBD>_"
|
||
mov al, _line_col_and_fx
|
||
cbw
|
||
push ax
|
||
push (128 shl 16) or 64
|
||
call _graph_putsa_fx
|
||
add sp, 0Ah
|
||
call @verdict_value_score_put$qiil pascal, (192 shl 16) or 128, large [_score]
|
||
call @verdict_row_1_to_0_animate$qiii c, 64, large 128 or (16 shl 16)
|
||
call @frame_delay$qi pascal, 100
|
||
graph_accesspage 1
|
||
push ds
|
||
push offset aGrgugegbgjgeb ; "<22>R<EFBFBD><52><EFBFBD>e<EFBFBD>B<EFBFBD>j<EFBFBD><6A><EFBFBD>["
|
||
mov al, _line_col_and_fx
|
||
cbw
|
||
push ax
|
||
push (160 shl 16) or 64
|
||
call _graph_putsa_fx
|
||
add sp, 0Ah
|
||
push (256 shl 16) or 160
|
||
les bx, _resident
|
||
mov ax, es:[bx+mikoconfig_t.continues_used]
|
||
add ax, gb_0_
|
||
push ax
|
||
push V_WHITE
|
||
call graph_gaiji_putc
|
||
call @verdict_row_1_to_0_animate$qiii c, 64, large (16 shl 16) or 160
|
||
call @frame_delay$qi pascal, 100
|
||
graph_accesspage 1
|
||
push ds
|
||
push offset aB@Gigugn ; "<22>@ <20><><EFBFBD><EFBFBD><EFBFBD>N"
|
||
mov al, _line_col_and_fx
|
||
cbw
|
||
push ax
|
||
push (192 shl 16) or 64
|
||
call _graph_putsa_fx
|
||
add sp, 0Ah
|
||
push (208 shl 16) or 192
|
||
push GAIJI_W
|
||
push ds
|
||
mov al, _rank
|
||
cbw
|
||
shl ax, 3
|
||
add ax, offset _gbcRANKS
|
||
push ax
|
||
push V_WHITE
|
||
call graph_gaiji_puts
|
||
call @verdict_row_1_to_0_animate$qiii c, 64, large 192 or (16 shl 16)
|
||
call @frame_delay$qi pascal, 100
|
||
graph_accesspage 1
|
||
push ds
|
||
push offset aGvgmgcgdbPik ; "<22>v<EFBFBD><76><EFBFBD>C<EFBFBD><43><EFBFBD>[<5B><><EFBFBD><EFBFBD>"
|
||
mov al, _line_col_and_fx
|
||
cbw
|
||
push ax
|
||
push (224 shl 16) or 64
|
||
call _graph_putsa_fx
|
||
add sp, 0Ah
|
||
push (256 shl 16) or 224
|
||
les bx, _resident
|
||
mov al, es:[bx+mikoconfig_t.start_lives]
|
||
mov ah, 0
|
||
add ax, gb_1_
|
||
push ax
|
||
push V_WHITE
|
||
call graph_gaiji_putc
|
||
call @verdict_row_1_to_0_animate$qiii c, 64, large 224 or (16 shl 16)
|
||
call @frame_delay$qi pascal, 100
|
||
graph_accesspage 1
|
||
push ds
|
||
push offset aCMvpik ; " <20>쌂<EFBFBD><EC8C82><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||
mov al, _line_col_and_fx
|
||
cbw
|
||
push ax
|
||
push (256 shl 16) or 64
|
||
call _graph_putsa_fx
|
||
add sp, 0Ah
|
||
push (256 shl 16) or 256
|
||
les bx, _resident
|
||
mov al, es:[bx+mikoconfig_t.start_bombs]
|
||
mov ah, 0
|
||
add ax, gb_0_
|
||
push ax
|
||
push V_WHITE
|
||
call graph_gaiji_putc
|
||
call @verdict_row_1_to_0_animate$qiii c, 64, large 256 or (16 shl 16)
|
||
call @frame_delay$qi pascal, 150
|
||
graph_accesspage 1
|
||
les bx, _resident
|
||
mov di, es:[bx+mikoconfig_t.skill]
|
||
cmp di, 64h ; 'd'
|
||
jle short loc_AEAC
|
||
mov di, 64h ; 'd'
|
||
jmp short loc_AEB2
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AEAC:
|
||
or di, di
|
||
jge short loc_AEB2
|
||
xor di, di
|
||
|
||
loc_AEB2:
|
||
push ds
|
||
push offset aVavVVSrso ; "<22><><EFBFBD>Ȃ<EFBFBD><C882>̘r<CC98>O"
|
||
mov al, _line_col_and_fx
|
||
cbw
|
||
push ax
|
||
push (288 shl 16) or 64
|
||
call _graph_putsa_fx
|
||
add sp, 0Ah
|
||
push di ; value
|
||
push ss ; str (segment)
|
||
lea ax, [bp+@@g_str]
|
||
push ax ; str (offset)
|
||
call @gaiji_boldfont_str_from_positive$qin12gaiji_th02_t
|
||
push (192 shl 16) or 288
|
||
push GAIJI_W
|
||
push ss
|
||
lea ax, [bp+@@g_str]
|
||
push ax
|
||
push V_WHITE
|
||
call graph_gaiji_puts
|
||
cmp di, 64h ; 'd'
|
||
jnz short loc_AEEF
|
||
xor si, si
|
||
jmp short loc_AF56
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AEEF:
|
||
cmp di, 5Ah ; 'Z'
|
||
jl short loc_AEF9
|
||
mov si, 1
|
||
jmp short loc_AF56
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AEF9:
|
||
cmp di, 50h ; 'P'
|
||
jl short loc_AF03
|
||
mov si, 2
|
||
jmp short loc_AF56
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AF03:
|
||
cmp di, 46h ; 'F'
|
||
jl short loc_AF17
|
||
cmp di, 4Dh ; 'M'
|
||
jnz short loc_AF12
|
||
mov si, 3
|
||
jmp short loc_AF56
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AF12:
|
||
mov si, 4
|
||
jmp short loc_AF56
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AF17:
|
||
cmp di, 3Ch ; '<'
|
||
jl short loc_AF21
|
||
mov si, 5
|
||
jmp short loc_AF56
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AF21:
|
||
cmp di, 32h ; '2'
|
||
jl short loc_AF2B
|
||
mov si, 6
|
||
jmp short loc_AF56
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AF2B:
|
||
cmp di, 28h ; '('
|
||
jl short loc_AF35
|
||
mov si, 7
|
||
jmp short loc_AF56
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AF35:
|
||
cmp di, 1Eh
|
||
jl short loc_AF3F
|
||
mov si, 8
|
||
jmp short loc_AF56
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AF3F:
|
||
cmp di, 14h
|
||
jl short loc_AF49
|
||
mov si, 9
|
||
jmp short loc_AF56
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AF49:
|
||
cmp di, 0Ah
|
||
jl short loc_AF53
|
||
mov si, 0Ah
|
||
jmp short loc_AF56
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AF53:
|
||
mov si, 0Bh
|
||
|
||
loc_AF56:
|
||
mov ax, si
|
||
imul ax, END_LINE_SIZE
|
||
add ax, offset _end_text
|
||
push ds
|
||
push ax
|
||
mov al, _line_col_and_fx
|
||
cbw
|
||
push ax
|
||
push (288 shl 16) or 240
|
||
call _graph_putsa_fx
|
||
add sp, 0Ah
|
||
call @verdict_row_1_to_0_animate$qiii c, 64, large 288 or (6 shl 16)
|
||
call @frame_delay$qi pascal, 120
|
||
call @verdict_row_1_to_0_animate$qiii c, 192, large 288 or (24 shl 16)
|
||
call @frame_delay$qi pascal, 200
|
||
graph_accesspage 1
|
||
push ds
|
||
push offset aVpvxvxvvb@vyvt ; "<22>P<EFBFBD>X<EFBFBD>X<EFBFBD>V<EFBFBD>@<40>y<EFBFBD>t<EFBFBD>m (Amusement Makers)"
|
||
mov al, _line_col_and_fx
|
||
cbw
|
||
push ax
|
||
push (352 shl 16) or 64
|
||
call _graph_putsa_fx
|
||
add sp, 0Ah
|
||
call @verdict_row_1_to_0_animate$qiii c, 64, large 352 or (18 shl 16)
|
||
call @key_delay$qv
|
||
push 5
|
||
call palette_black_out
|
||
nopcall sub_AFE7
|
||
call graph_clear
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn
|
||
sub_A8FA endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_AFE7 proc far
|
||
push bp
|
||
mov bp, sp
|
||
call scoredat_is_extra_unlocked
|
||
or ax, ax
|
||
jz loc_B07D
|
||
les bx, _resident
|
||
cmp es:[bx+mikoconfig_t.continues_used], 0
|
||
jnz short loc_B07D
|
||
call _pi_load c, 0, offset aAll_pi, ds
|
||
call _pi_palette_apply stdcall, 0
|
||
pop cx
|
||
call _pi_put_8 c, 0, large 0
|
||
freePISlotLarge 0
|
||
push 2
|
||
call palette_black_in
|
||
call @frame_delay$qi pascal, 150
|
||
call _pi_load c, 0, offset aBut_pi, ds
|
||
call _pi_palette_apply stdcall, 0
|
||
pop cx
|
||
call _pi_put_8 c, 0, large 0
|
||
freePISlotLarge 0
|
||
call @key_delay$qv
|
||
push 5
|
||
call palette_black_out
|
||
|
||
loc_B07D:
|
||
pop bp
|
||
retf
|
||
sub_AFE7 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B07F proc far
|
||
push bp
|
||
mov bp, sp
|
||
call scoredat_is_extra_unlocked
|
||
or ax, ax
|
||
jz loc_B115
|
||
mov PaletteTone, 0
|
||
call far ptr palette_show
|
||
call _pi_load c, 0, offset aAll_pi, ds
|
||
call _pi_palette_apply stdcall, 0
|
||
pop cx
|
||
call _pi_put_8 c, 0, large 0
|
||
freePISlotLarge 0
|
||
push 2
|
||
call palette_black_in
|
||
call @frame_delay$qi pascal, 150
|
||
call _pi_load c, 0, offset aExtra_pi, ds
|
||
call _pi_palette_apply stdcall, 0
|
||
pop cx
|
||
call _pi_put_8 c, 0, large 0
|
||
freePISlotLarge 0
|
||
call @key_delay$qv
|
||
push 5
|
||
call palette_black_out
|
||
|
||
loc_B115:
|
||
pop bp
|
||
retf
|
||
sub_B07F endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
; int __cdecl main(int _argc, const char **_argv, const char **_envp)
|
||
public _main
|
||
_main proc far
|
||
|
||
_argc = word ptr 6
|
||
_argv = dword ptr 8
|
||
_envp = dword ptr 0Ch
|
||
|
||
push bp
|
||
mov bp, sp
|
||
call @cfg_load$qv
|
||
or ax, ax
|
||
jz loc_B1FE
|
||
les bx, _resident
|
||
cmp es:[bx+mikoconfig_t.stage], 7Fh
|
||
jnz loc_B1FE
|
||
call @game_init_main$qv
|
||
call gaiji_backup
|
||
push ds
|
||
push offset aMikoft_bft ; "MIKOFT.bft"
|
||
call gaiji_entry_bfnt
|
||
call _snd_pmd_resident
|
||
call _snd_mmd_resident
|
||
les bx, _resident
|
||
cmp es:[bx+mikoconfig_t.bgm_mode], 0
|
||
jnz short loc_B161
|
||
mov _snd_midi_active, 0
|
||
jmp short loc_B189
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B161:
|
||
les bx, _resident
|
||
cmp es:[bx+mikoconfig_t.bgm_mode], 1
|
||
jnz short loc_B173
|
||
mov _snd_midi_active, 0
|
||
jmp short loc_B184
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B173:
|
||
les bx, _resident
|
||
cmp es:[bx+mikoconfig_t.bgm_mode], 2
|
||
jnz short loc_B189
|
||
mov al, _snd_midi_possible
|
||
mov _snd_midi_active, al
|
||
|
||
loc_B184:
|
||
call _snd_determine_mode
|
||
|
||
loc_B189:
|
||
graph_accesspage 0
|
||
mov dx, 164 ; Port 00A4h: Page display register
|
||
out dx, al
|
||
call super_entry_bfnt pascal, ds, offset aEndft_bft ; "endft.bft"
|
||
call @frame_delay$qi pascal, 100
|
||
les bx, _resident
|
||
cmp es:[bx+mikoconfig_t.rank], 4
|
||
jz short loc_B1C2
|
||
cmp es:[bx+mikoconfig_t.continues_used], 0
|
||
jz short loc_B1BA
|
||
call sub_9B64
|
||
jmp short loc_B1BD
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B1BA:
|
||
call sub_A09D
|
||
|
||
loc_B1BD:
|
||
call sub_A8FA
|
||
jmp short loc_B1C6
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B1C2:
|
||
call sub_B07F
|
||
|
||
loc_B1C6:
|
||
mov PaletteTone, 50
|
||
call far ptr palette_show
|
||
call score_enter
|
||
mov PaletteTone, 0
|
||
call far ptr palette_show
|
||
call gaiji_restore
|
||
call @game_exit$qv
|
||
pushd 0
|
||
push ds
|
||
push offset path ; "op"
|
||
push ds
|
||
push offset path ; "op"
|
||
call _execl
|
||
add sp, 0Ch
|
||
|
||
loc_B1FE:
|
||
pop bp
|
||
retf
|
||
_main endp
|
||
|
||
maine_01_TEXT ends
|
||
|
||
; ===========================================================================
|
||
|
||
SHARED segment word public 'CODE' use16
|
||
include th02/snd/snd.inc
|
||
extern _graph_putsa_fx:proc
|
||
extern @key_delay$qv:proc
|
||
extern _pi_load:proc
|
||
extern @FRAME_DELAY$QI:proc
|
||
extern @game_exit$qv:proc
|
||
extern _snd_mmd_resident:proc
|
||
extern _snd_determine_mode:proc
|
||
extern _snd_pmd_resident:proc
|
||
extern _snd_load:proc
|
||
extern @game_init_main$qv:proc
|
||
extern _pi_palette_apply:proc
|
||
extern _pi_put_8:proc
|
||
extern _snd_kaja_interrupt:proc
|
||
extern _snd_delay_until_measure:proc
|
||
SHARED ends
|
||
|
||
; ===========================================================================
|
||
|
||
maine_03_TEXT segment word public 'CODE' use16
|
||
extern @cfg_load$qv:proc
|
||
maine_03_TEXT ends
|
||
|
||
; ===========================================================================
|
||
|
||
maine_04_TEXT segment byte public 'CODE' use16
|
||
extern SCOREDAT_IS_EXTRA_UNLOCKED:proc
|
||
extern SCORE_ENTER:proc
|
||
maine_04_TEXT ends
|
||
|
||
extern @STAFFROLL_ROTRECT_ANIMATE$QUCUC:proc
|
||
|
||
.data
|
||
|
||
extern _gbcRANKS:byte
|
||
aEnd3_txt db 'end3.txt',0
|
||
aEnding_m db 'ending.m',0
|
||
aEnd1_txt db 'end1.txt',0
|
||
aEnd1_m db 'end1.m',0
|
||
aEd01_pi db 'ed01.pi',0
|
||
aEd02_pi db 'ed02.pi',0
|
||
aEnd2_txt db 'end2.txt',0
|
||
aEd03_pi db 'ed03.pi',0
|
||
aEd03a_rgb db 'ed03a.rgb',0
|
||
aEd04_pi db 'ed04.pi',0
|
||
aEd05_pi db 'ed05.pi',0
|
||
aVer1_00 db 'ver 1.00',0
|
||
aXxcvsB@b@vrvsv db '<27><><EFBFBD><EFBFBD><EFBFBD>^<5E>@<40>@<40>r<EFBFBD>s<EFBFBD>`<60>e<EFBFBD>e',0
|
||
aEd06_pi db 'ed06.pi',0
|
||
aGvgngogigab@b@ db '<27>v<EFBFBD><76><EFBFBD>O<EFBFBD><4F><EFBFBD><EFBFBD><EFBFBD>@<40>@<40>@<40>y<EFBFBD>t<EFBFBD>m',0
|
||
aEd06b_rgb db 'ed06b.rgb',0
|
||
aEd06c_rgb db 'ed06c.rgb',0
|
||
aEd07_pi db 'ed07.pi',0
|
||
aGogigtgbgbgnb@ db '<27>O<EFBFBD><4F><EFBFBD>t<EFBFBD>B<EFBFBD>b<EFBFBD>N<EFBFBD>@<40>y<EFBFBD>t<EFBFBD>m',0
|
||
aB@b@b@b@b@b@b@ db '<27>@<40>@<40>@<40>@<40>@<40>@<40>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
|
||
aB@b@b@b@bigibG db '<27>@<40>@<40>@<40>@<40>i<EFBFBD>I<EFBFBD>[<5B><><EFBFBD>N<EFBFBD><4E><EFBFBD>A<EFBFBD><41><EFBFBD>j',0
|
||
aEd07a_rgb db 'ed07a.rgb',0
|
||
aEd07b_rgb db 'ed07b.rgb',0
|
||
aVlvtvrvhvbb@b@ db '<27>l<EFBFBD>t<EFBFBD>r<EFBFBD>h<EFBFBD>b<EFBFBD>@<40>@<40>y<EFBFBD>t<EFBFBD>m',0
|
||
aEd08_pi db 'ed08.pi',0
|
||
aEd08a_rgb db 'ed08a.rgb',0
|
||
aVsvdvrvsb@vovk db '<27>s<EFBFBD>d<EFBFBD>r<EFBFBD>s<EFBFBD>@<40>o<EFBFBD>k<EFBFBD>`<60>x<EFBFBD>d<EFBFBD>q',0
|
||
aB@b@b@b@vivivs db '<27>@<40>@<40>@<40>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
|
||
aB@b@b@b@vbbVv db '<27>@<40>@<40>@<40>@<40>b<EFBFBD>|<7C>v',0
|
||
aB@b@Orucb@mbiS db '<27>@<40>@ <20>R<EFBFBD>c<EFBFBD>@<40>b<EFBFBD><62><EFBFBD>Y',0
|
||
aVVSSxrivVVVV db ' <20><><EFBFBD>̑<EFBFBD><CC91>吨<EFBFBD>݂̂Ȃ<DD82><C882><EFBFBD>',0
|
||
aEd08b_rgb db 'ed08b.rgb',0
|
||
aEd08c_rgb db 'ed08c.rgb',0
|
||
aEd09_pi db 'ED09.pi',0
|
||
aVsvivbvovlb@vs db '<27>s<EFBFBD><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
|
||
aB@nPiuU_ db '<27>@<40>ŏI<C58F><49><EFBFBD>_',0
|
||
aGrgugegbgjgeb db '<27>R<EFBFBD><52><EFBFBD>e<EFBFBD>B<EFBFBD>j<EFBFBD><6A><EFBFBD>[',0
|
||
aB@Gigugn db '<27>@ <20><><EFBFBD><EFBFBD><EFBFBD>N',0
|
||
aGvgmgcgdbPik db '<27>v<EFBFBD><76><EFBFBD>C<EFBFBD><43><EFBFBD>[<5B><><EFBFBD><EFBFBD>',0
|
||
aCMvpik db ' <20>쌂<EFBFBD><EC8C82><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
|
||
aVavVVSrso db '<27><><EFBFBD>Ȃ<EFBFBD><C882>̘r<CC98>O',0
|
||
aVpvxvxvvb@vyvt db '<27>P<EFBFBD>X<EFBFBD>X<EFBFBD>V<EFBFBD>@<40>y<EFBFBD>t<EFBFBD>m (Amusement Makers)',0
|
||
aAll_pi db 'all.pi',0
|
||
aBut_pi db 'but.pi',0
|
||
aExtra_pi db 'extra.pi',0
|
||
aMikoft_bft db 'MIKOFT.bft',0
|
||
aEndft_bft db 'endft.bft',0
|
||
; char path[]
|
||
path db 'op',0
|
||
include libs/master.lib/bfnt_id[data].asm
|
||
include libs/master.lib/clip[data].asm
|
||
include libs/master.lib/edges[data].asm
|
||
include libs/master.lib/fil[data].asm
|
||
include libs/master.lib/dos_ropen[data].asm
|
||
include libs/master.lib/gaiji_backup[data].asm
|
||
include libs/master.lib/gaiji_entry_bfnt[data].asm
|
||
include libs/master.lib/grp[data].asm
|
||
include libs/master.lib/pal[data].asm
|
||
include libs/master.lib/pf[data].asm
|
||
include libs/master.lib/sin8[data].asm
|
||
include libs/master.lib/tx[data].asm
|
||
include libs/master.lib/version[data].asm
|
||
include libs/master.lib/vs[data].asm
|
||
include libs/master.lib/mem[data].asm
|
||
include libs/master.lib/super_entry_bfnt[data].asm
|
||
include libs/master.lib/superpa[data].asm
|
||
public _key_delay_groups
|
||
_key_delay_groups db 5, 3, 0
|
||
db 0
|
||
include th02/formats/pfopen[data].asm
|
||
extern _rank:byte
|
||
|
||
.data?
|
||
|
||
END_LINE_LENGTH = 44
|
||
END_LINE_SIZE = (END_LINE_LENGTH + 2)
|
||
|
||
extern _end_text:byte:(100 * END_LINE_SIZE)
|
||
extern _line_col_and_fx:byte
|
||
extern _line_type_allow_fast_forward_and:byte
|
||
include libs/master.lib/clip[bss].asm
|
||
include libs/master.lib/fil[bss].asm
|
||
include libs/master.lib/pal[bss].asm
|
||
include libs/master.lib/vs[bss].asm
|
||
include libs/master.lib/vsync[bss].asm
|
||
include libs/master.lib/mem[bss].asm
|
||
include libs/master.lib/superpa[bss].asm
|
||
include th01/hardware/vram_planes[bss].asm
|
||
include th02/formats/pi_slots[bss].asm
|
||
include libs/master.lib/pfint21[bss].asm
|
||
include th02/hardware/input_sense[bss].asm
|
||
include th02/snd/snd[bss].asm
|
||
include th02/snd/load[bss].asm
|
||
extern _resident:dword
|
||
extern _score:dword
|
||
|
||
end
|