2014-06-26 20:33:22 +00:00
|
|
|
|
;
|
|
|
|
|
; +-------------------------------------------------------------------------+
|
|
|
|
|
; | This file has been generated by The Interactive Disassembler (IDA) |
|
|
|
|
|
; | Copyright (c) 2009 by Hex-Rays, <support@hex-rays.com> |
|
|
|
|
|
; +-------------------------------------------------------------------------+
|
|
|
|
|
;
|
|
|
|
|
; Input MD5 : F97D1B72F01476639E9D33E361F57330
|
|
|
|
|
|
|
|
|
|
; File Name : th05/OP.EXE
|
|
|
|
|
; Format : MS-DOS executable (EXE)
|
|
|
|
|
; Base Address: 0h Range: 0h-14240h Loaded length: 1280Ah
|
|
|
|
|
; Entry Point : 0:0
|
|
|
|
|
; OS type : MS DOS
|
|
|
|
|
; Application type: Executable 16bit
|
|
|
|
|
|
2014-10-31 06:17:05 +00:00
|
|
|
|
.286 ; Force the .model directive to create 16-bit default segments...
|
2014-06-26 20:33:22 +00:00
|
|
|
|
.model large
|
2014-10-31 06:17:05 +00:00
|
|
|
|
.386 ; ... then switch to what we actually need.
|
|
|
|
|
; And yes, we can't move this to an include file for some reason.
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2019-12-27 20:02:26 +00:00
|
|
|
|
BINARY = 'O'
|
|
|
|
|
|
2014-08-22 15:06:33 +00:00
|
|
|
|
include ReC98.inc
|
2019-09-20 19:02:20 +00:00
|
|
|
|
include th05/th05.inc
|
2014-12-24 20:39:34 +00:00
|
|
|
|
include th05/music/music.inc
|
2019-12-03 11:03:23 +00:00
|
|
|
|
include th05/music/piano.inc
|
Include RULES.ASI from every executable's dump file.
Having thought this over for a while, I've decided to stay with the "include
slice" model for now, due to various bugs and other reasons.
We need to compile for the 386 CPU, but this causes TASM to automatically
default every segment to 32-bit mode, which of course is not what we want (and
no, .MODEL USE16 sadly does not help either). Appending USE16 to every segment
declaration in all included files seems to work, but for some reason, this
messes up certain jump instructions. WTF? And even if it did work, we would
still have to do this for every single file we include.
The alternative would be to build proper libraries and let the linker merge
all the code. This would add a lot of unwarranted complexity to the build
process. Not to mention all the EXTERN statements we'd have to maintain.
Ultimately, all of the C runtime ASM code is going to vanish anyway once we've
completed the reduction step. Once we're there, we can simply link to the
original version of the library. These initial dumps are not pretty, and I see
no point in wasting time on making intermediary stages of development look
pretty.
Since including RULES.ASI from every slice seems a bit inefficient (and even
potentiall harmful, considering the age of the development tools we have to
work with), we'll only include it once at the top of every main dump file.
[Binary change] Relocations in TH01's REIIDEN.EXE, again.
2014-08-14 06:01:36 +00:00
|
|
|
|
|
2015-02-19 06:46:36 +00:00
|
|
|
|
extern SCOPY@:proc
|
|
|
|
|
extern _execl:proc
|
|
|
|
|
extern _getch:proc
|
|
|
|
|
extern _strlen:proc
|
|
|
|
|
|
2014-06-26 20:33:22 +00:00
|
|
|
|
; ===========================================================================
|
|
|
|
|
|
|
|
|
|
; Segment type: Pure code
|
2015-02-18 11:07:37 +00:00
|
|
|
|
_TEXT segment word public 'CODE' use16
|
|
|
|
|
assume cs:_TEXT
|
2015-02-19 06:46:36 +00:00
|
|
|
|
assume es:nothing, ds:_DATA, fs:nothing, gs:nothing
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-23 09:51:14 +00:00
|
|
|
|
include libs/master.lib/bfnt_entry_pat.asm
|
2014-08-23 10:08:48 +00:00
|
|
|
|
include libs/master.lib/bfnt_header_read.asm
|
2014-08-23 11:18:32 +00:00
|
|
|
|
include libs/master.lib/bfnt_header_analysis.asm
|
2014-08-26 05:25:43 +00:00
|
|
|
|
include libs/master.lib/atrtcmod.asm
|
2014-08-26 18:54:57 +00:00
|
|
|
|
include libs/master.lib/bcloser.asm
|
2014-08-10 09:47:36 +00:00
|
|
|
|
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:21:45 +00:00
|
|
|
|
include libs/master.lib/palette_black_in.asm
|
2014-08-26 22:33:43 +00:00
|
|
|
|
include libs/master.lib/palette_black_out.asm
|
2014-08-27 00:54:57 +00:00
|
|
|
|
include libs/master.lib/bopenr.asm
|
2014-08-26 19:34:06 +00:00
|
|
|
|
include libs/master.lib/bread.asm
|
2014-08-26 20:04:11 +00:00
|
|
|
|
include libs/master.lib/bseek.asm
|
2014-08-26 20:15:00 +00:00
|
|
|
|
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:07:04 +00:00
|
|
|
|
include libs/master.lib/dos_read.asm
|
2014-08-22 22:59:10 +00:00
|
|
|
|
include libs/master.lib/dos_seek.asm
|
2014-08-22 23:38:22 +00:00
|
|
|
|
include libs/master.lib/dos_setvect.asm
|
2014-08-20 20:24:05 +00:00
|
|
|
|
include libs/master.lib/egc.asm
|
2014-08-30 05:58:36 +00:00
|
|
|
|
include libs/master.lib/file_append.asm
|
2014-08-30 06:15:42 +00:00
|
|
|
|
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
|
2014-08-30 07:21:44 +00:00
|
|
|
|
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
|
2014-08-21 20:07:58 +00:00
|
|
|
|
include libs/master.lib/dos_ropen.asm
|
2014-08-27 21:20:37 +00:00
|
|
|
|
include libs/master.lib/grcg_byteboxfill_x.asm
|
2014-08-27 22:17:57 +00:00
|
|
|
|
include libs/master.lib/grcg_hline.asm
|
2014-09-01 04:52:28 +00:00
|
|
|
|
include libs/master.lib/grcg_polygon_c.asm
|
2014-08-27 04:52:58 +00:00
|
|
|
|
include libs/master.lib/grcg_setcolor.asm
|
2014-08-27 22:48:06 +00:00
|
|
|
|
include libs/master.lib/grcg_vline.asm
|
2014-08-14 12:30:48 +00:00
|
|
|
|
include libs/master.lib/get_machine_98.asm
|
2014-08-14 11:57:40 +00:00
|
|
|
|
include libs/master.lib/get_machine_at.asm
|
2014-08-14 10:20:01 +00:00
|
|
|
|
include libs/master.lib/get_machine_dosbox.asm
|
2014-08-14 09:48:52 +00:00
|
|
|
|
include libs/master.lib/check_machine_fmr.asm
|
2014-08-14 12:48:55 +00:00
|
|
|
|
include libs/master.lib/get_machine.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-08-21 23:39:42 +00:00
|
|
|
|
include libs/master.lib/graph_pi_free.asm
|
2014-08-22 19:15:44 +00:00
|
|
|
|
include libs/master.lib/graph_pi_load_pack.asm
|
2014-08-27 03:18:17 +00:00
|
|
|
|
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
|
2014-08-30 10:33:48 +00:00
|
|
|
|
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-23 01:15:17 +00:00
|
|
|
|
include libs/master.lib/rottbl.asm
|
2014-08-21 22:59:18 +00:00
|
|
|
|
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
|
2014-10-20 15:20:04 +00:00
|
|
|
|
include libs/master.lib/text_clear.asm
|
|
|
|
|
include libs/master.lib/txesc.asm
|
2014-08-26 21:58:08 +00:00
|
|
|
|
include libs/master.lib/vsync.asm
|
2014-08-26 22:11:29 +00:00
|
|
|
|
include libs/master.lib/vsync_wait.asm
|
2014-08-21 23:19:52 +00:00
|
|
|
|
include libs/master.lib/hmem_lallocate.asm
|
2014-08-21 21:30:20 +00:00
|
|
|
|
include libs/master.lib/mem_assign_dos.asm
|
2014-08-21 21:05:54 +00:00
|
|
|
|
include libs/master.lib/mem_assign.asm
|
2014-08-21 22:17:53 +00:00
|
|
|
|
include libs/master.lib/memheap.asm
|
2014-09-08 18:30:15 +00:00
|
|
|
|
include libs/master.lib/mem_unassign.asm
|
2014-08-22 21:45:21 +00:00
|
|
|
|
include libs/master.lib/super_free.asm
|
2014-08-22 22:17:59 +00:00
|
|
|
|
include libs/master.lib/super_entry_pat.asm
|
2014-08-22 21:56:33 +00:00
|
|
|
|
include libs/master.lib/super_entry_at.asm
|
2014-08-23 16:07:02 +00:00
|
|
|
|
include libs/master.lib/super_entry_bfnt.asm
|
2014-08-22 21:33:18 +00:00
|
|
|
|
include libs/master.lib/super_cancel_pat.asm
|
2014-08-31 02:46:46 +00:00
|
|
|
|
include libs/master.lib/super_put_rect.asm
|
2014-08-28 00:13:13 +00:00
|
|
|
|
include libs/master.lib/super_put.asm
|
2014-09-03 13:23:51 +00:00
|
|
|
|
include libs/master.lib/respal_exist.asm
|
2014-09-03 13:41:25 +00:00
|
|
|
|
include libs/master.lib/respal_free.asm
|
2018-04-15 12:51:57 +00:00
|
|
|
|
include libs/master.lib/js_start.asm
|
2014-08-31 16:08:50 +00:00
|
|
|
|
include libs/master.lib/draw_trapezoid.asm
|
2018-04-15 21:31:38 +00:00
|
|
|
|
include libs/master.lib/js_sense.asm
|
2014-08-25 02:49:19 +00:00
|
|
|
|
include libs/master.lib/bgm_bell_org.asm
|
2014-08-25 21:08:17 +00:00
|
|
|
|
include libs/master.lib/bgm_mget.asm
|
2014-08-26 04:07:19 +00:00
|
|
|
|
include libs/master.lib/bgm_read_sdata.asm
|
2014-08-26 05:39:57 +00:00
|
|
|
|
include libs/master.lib/bgm_timer.asm
|
2014-08-25 22:01:58 +00:00
|
|
|
|
include libs/master.lib/bgm_pinit.asm
|
2014-08-26 04:18:06 +00:00
|
|
|
|
include libs/master.lib/bgm_timerhook.asm
|
2014-08-25 22:25:48 +00:00
|
|
|
|
include libs/master.lib/bgm_play.asm
|
2014-08-25 23:51:57 +00:00
|
|
|
|
include libs/master.lib/bgm_sound.asm
|
2014-08-25 22:34:16 +00:00
|
|
|
|
include libs/master.lib/bgm_effect_sound.asm
|
2014-08-25 22:40:14 +00:00
|
|
|
|
include libs/master.lib/bgm_stop_play.asm
|
2014-08-25 20:57:49 +00:00
|
|
|
|
include libs/master.lib/bgm_set_tempo.asm
|
2014-08-26 05:58:33 +00:00
|
|
|
|
include libs/master.lib/bgm_init_finish.asm
|
2014-08-25 23:41:08 +00:00
|
|
|
|
include libs/master.lib/bgm_stop_sound.asm
|
2014-12-17 11:58:35 +00:00
|
|
|
|
include libs/master.lib/graph_pack_put_8_noclip.asm
|
2014-09-15 01:03:52 +00:00
|
|
|
|
include libs/master.lib/graph_gaiji_puts.asm
|
2014-09-14 15:39:30 +00:00
|
|
|
|
include libs/master.lib/graph_gaiji_putc.asm
|
2014-11-16 03:00:41 +00:00
|
|
|
|
include libs/master.lib/pfint21.asm
|
2014-06-28 18:36:51 +00:00
|
|
|
|
db 0
|
2014-11-17 03:54:40 +00:00
|
|
|
|
include th03/formats/pfopen.asm
|
|
|
|
|
include libs/master.lib/pf_str_ieq.asm
|
2015-02-18 11:07:37 +00:00
|
|
|
|
_TEXT ends
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
; ===========================================================================
|
|
|
|
|
|
|
|
|
|
; Segment type: Pure code
|
2015-02-21 11:47:24 +00:00
|
|
|
|
op_01_TEXT segment byte public 'CODE' use16
|
|
|
|
|
assume cs:op_01_TEXT
|
2014-06-26 20:33:22 +00:00
|
|
|
|
; org 0Ch
|
2015-02-18 11:07:37 +00:00
|
|
|
|
assume es:nothing, ss:nothing, ds:_DATA, fs:nothing, gs:nothing
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
; =============== S U B R O U T I N E =======================================
|
|
|
|
|
|
|
|
|
|
; Attributes: bp-based frame
|
2019-12-08 05:32:01 +00:00
|
|
|
|
public START_GAME
|
|
|
|
|
start_game proc near
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push bp
|
|
|
|
|
mov bp, sp
|
|
|
|
|
push si
|
|
|
|
|
push di
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+resident_t.end_sequence], ES_SCORE
|
|
|
|
|
mov es:[bx+resident_t.demo_num], 0
|
|
|
|
|
mov es:[bx+resident_t.stage], 0
|
|
|
|
|
mov al, es:[bx+resident_t.cfg_lives]
|
|
|
|
|
mov es:[bx+resident_t.credit_lives], al
|
|
|
|
|
mov al, es:[bx+resident_t.cfg_bombs]
|
|
|
|
|
mov es:[bx+resident_t.credit_bombs], al
|
2019-12-07 10:37:53 +00:00
|
|
|
|
call playchar_menu
|
2014-06-26 20:33:22 +00:00
|
|
|
|
or ax, ax
|
|
|
|
|
jnz short loc_A443
|
|
|
|
|
xor si, si
|
|
|
|
|
jmp short loc_A400
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A3CF:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2014-06-26 20:33:22 +00:00
|
|
|
|
add bx, si
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+resident_t.score_last], 0
|
2019-12-30 14:48:17 +00:00
|
|
|
|
mov bx, word ptr _resident
|
2014-06-26 20:33:22 +00:00
|
|
|
|
add bx, si
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+resident_t.score_highest], 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
xor di, di
|
|
|
|
|
jmp short loc_A3FA
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A3E9:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ax, di
|
|
|
|
|
shl ax, 3
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2014-06-26 20:33:22 +00:00
|
|
|
|
add bx, ax
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+si+resident_t.stage_score], 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
inc di
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A3FA:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cmp di, 6
|
|
|
|
|
jl short loc_A3E9
|
|
|
|
|
inc si
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A400:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cmp si, 8
|
|
|
|
|
jl short loc_A3CF
|
2019-12-08 05:32:01 +00:00
|
|
|
|
call main_cdg_free
|
2019-12-08 05:32:01 +00:00
|
|
|
|
call cfg_save
|
2014-11-27 18:35:54 +00:00
|
|
|
|
kajacall KAJA_SONG_FADE, 10
|
2019-11-19 14:26:47 +00:00
|
|
|
|
call game_exit
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
cmp es:[bx+resident_t.debug_mode], 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_A430
|
2014-11-19 11:09:22 +00:00
|
|
|
|
pushd 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ds
|
|
|
|
|
push offset aMain ; "main"
|
|
|
|
|
push ds
|
|
|
|
|
push offset aMain ; "main"
|
|
|
|
|
jmp short loc_A43B
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A430:
|
2014-11-19 11:09:22 +00:00
|
|
|
|
pushd 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ds
|
|
|
|
|
push offset path ; "deb"
|
|
|
|
|
push ds
|
|
|
|
|
push offset path ; "deb"
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A43B:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
call _execl
|
|
|
|
|
add sp, 0Ch
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A443:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
pop di
|
|
|
|
|
pop si
|
|
|
|
|
pop bp
|
|
|
|
|
retn
|
2019-12-08 05:32:01 +00:00
|
|
|
|
start_game endp
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; =============== S U B R O U T I N E =======================================
|
|
|
|
|
|
|
|
|
|
; Attributes: bp-based frame
|
2019-12-08 05:32:01 +00:00
|
|
|
|
public START_EXTRA
|
|
|
|
|
start_extra proc near
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push bp
|
|
|
|
|
mov bp, sp
|
|
|
|
|
push si
|
|
|
|
|
push di
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+resident_t.demo_num], 0
|
|
|
|
|
mov es:[bx+resident_t.stage], STAGE_EXTRA
|
|
|
|
|
mov es:[bx+resident_t.credit_lives], 3
|
|
|
|
|
mov es:[bx+resident_t.credit_bombs], 3
|
2019-12-07 10:37:53 +00:00
|
|
|
|
call playchar_menu
|
2014-06-26 20:33:22 +00:00
|
|
|
|
or ax, ax
|
|
|
|
|
jnz short loc_A4CB
|
|
|
|
|
xor si, si
|
|
|
|
|
jmp short loc_A4A0
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A46F:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2014-06-26 20:33:22 +00:00
|
|
|
|
add bx, si
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+resident_t.score_last], 0
|
2019-12-30 14:48:17 +00:00
|
|
|
|
mov bx, word ptr _resident
|
2014-06-26 20:33:22 +00:00
|
|
|
|
add bx, si
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+resident_t.score_highest], 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
xor di, di
|
|
|
|
|
jmp short loc_A49A
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A489:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ax, di
|
|
|
|
|
shl ax, 3
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2014-06-26 20:33:22 +00:00
|
|
|
|
add bx, ax
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+si+resident_t.stage_score], 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
inc di
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A49A:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cmp di, 6
|
|
|
|
|
jl short loc_A489
|
|
|
|
|
inc si
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A4A0:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cmp si, 8
|
|
|
|
|
jl short loc_A46F
|
2019-12-08 05:32:01 +00:00
|
|
|
|
call main_cdg_free
|
2019-12-08 05:32:01 +00:00
|
|
|
|
call cfg_save
|
2014-11-27 18:35:54 +00:00
|
|
|
|
kajacall KAJA_SONG_FADE, 10
|
2019-11-19 14:26:47 +00:00
|
|
|
|
call game_exit
|
2014-11-19 11:09:22 +00:00
|
|
|
|
pushd 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ds
|
|
|
|
|
push offset aMain ; "main"
|
|
|
|
|
push ds
|
|
|
|
|
push offset aMain ; "main"
|
|
|
|
|
call _execl
|
|
|
|
|
add sp, 0Ch
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A4CB:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
pop di
|
|
|
|
|
pop si
|
|
|
|
|
pop bp
|
|
|
|
|
retn
|
2019-12-08 05:32:01 +00:00
|
|
|
|
start_extra endp
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; =============== S U B R O U T I N E =======================================
|
|
|
|
|
|
|
|
|
|
; Attributes: bp-based frame
|
2019-12-08 05:32:01 +00:00
|
|
|
|
public START_DEMO
|
|
|
|
|
start_demo proc near
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push bp
|
|
|
|
|
mov bp, sp
|
|
|
|
|
push si
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+resident_t.end_sequence], ES_SCORE
|
|
|
|
|
mov es:[bx+resident_t.stage], 0
|
|
|
|
|
mov es:[bx+resident_t.credit_lives], 3
|
|
|
|
|
mov es:[bx+resident_t.credit_bombs], 3
|
|
|
|
|
inc es:[bx+resident_t.demo_num]
|
|
|
|
|
cmp es:[bx+resident_t.demo_num], 4
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jbe short loc_A4FB
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+resident_t.demo_num], 1
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A4FB:
|
2019-11-30 15:15:03 +00:00
|
|
|
|
cmp _key_det, INPUT_LEFT or INPUT_RIGHT
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_A535
|
2019-12-07 10:37:53 +00:00
|
|
|
|
cmp _extra_playable_with.PLAYCHAR_REIMU, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_A529
|
2019-12-07 10:37:53 +00:00
|
|
|
|
cmp _extra_playable_with.PLAYCHAR_MARISA, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_A529
|
2019-12-07 10:37:53 +00:00
|
|
|
|
cmp _extra_playable_with.PLAYCHAR_MIMA, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_A529
|
2019-12-07 10:37:53 +00:00
|
|
|
|
cmp _extra_playable_with.PLAYCHAR_YUUKA, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_A529
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+resident_t.demo_num], 5
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_A535
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A529:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+resident_t.demo_num], 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp loc_A5E9
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A535:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov al, es:[bx+resident_t.demo_num]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
dec ax
|
|
|
|
|
mov bx, ax
|
|
|
|
|
cmp bx, 4
|
|
|
|
|
ja short loc_A5A4
|
|
|
|
|
add bx, bx
|
|
|
|
|
jmp cs:off_A5EC[bx]
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A54E:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+resident_t.playchar], PLAYCHAR_REIMU
|
|
|
|
|
mov es:[bx+resident_t.demo_stage], 3
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_A5A4
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A55E:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+resident_t.playchar], PLAYCHAR_MARISA
|
|
|
|
|
mov es:[bx+resident_t.demo_stage], 1
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_A5A4
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A56E:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+resident_t.playchar], PLAYCHAR_MIMA
|
|
|
|
|
mov es:[bx+resident_t.demo_stage], 2
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_A5A4
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A57E:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+resident_t.playchar], PLAYCHAR_YUUKA
|
|
|
|
|
mov es:[bx+resident_t.demo_stage], 4
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_A5A4
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A58E:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+resident_t.playchar], PLAYCHAR_MIMA
|
|
|
|
|
mov es:[bx+resident_t.demo_stage], 6
|
2014-11-27 18:35:54 +00:00
|
|
|
|
kajacall KAJA_SONG_FADE, 8
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A5A4:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
xor si, si
|
|
|
|
|
jmp short loc_A5BF
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A5A8:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2014-06-26 20:33:22 +00:00
|
|
|
|
add bx, si
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+resident_t.score_last], 0
|
2019-12-30 14:48:17 +00:00
|
|
|
|
mov bx, word ptr _resident
|
2014-06-26 20:33:22 +00:00
|
|
|
|
add bx, si
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+resident_t.score_highest], 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
inc si
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A5BF:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cmp si, 8
|
|
|
|
|
jl short loc_A5A8
|
2019-12-08 05:32:01 +00:00
|
|
|
|
call main_cdg_free
|
2019-12-08 05:32:01 +00:00
|
|
|
|
call cfg_save
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push 1
|
2014-08-26 22:33:43 +00:00
|
|
|
|
call palette_black_out
|
2019-11-19 14:26:47 +00:00
|
|
|
|
call game_exit
|
2014-11-19 11:09:22 +00:00
|
|
|
|
pushd 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ds
|
|
|
|
|
push offset aMain ; "main"
|
|
|
|
|
push ds
|
|
|
|
|
push offset aMain ; "main"
|
|
|
|
|
call _execl
|
|
|
|
|
add sp, 0Ch
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A5E9:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
pop si
|
|
|
|
|
pop bp
|
|
|
|
|
retn
|
2019-12-08 05:32:01 +00:00
|
|
|
|
start_demo endp
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
; ---------------------------------------------------------------------------
|
2014-08-10 01:44:54 +00:00
|
|
|
|
off_A5EC dw offset loc_A54E
|
2014-06-26 20:33:22 +00:00
|
|
|
|
dw offset loc_A55E
|
|
|
|
|
dw offset loc_A56E
|
|
|
|
|
dw offset loc_A57E
|
|
|
|
|
dw offset loc_A58E
|
|
|
|
|
|
|
|
|
|
; =============== S U B R O U T I N E =======================================
|
|
|
|
|
|
|
|
|
|
; Attributes: bp-based frame
|
2019-12-08 05:32:01 +00:00
|
|
|
|
public MAIN_PUT
|
|
|
|
|
main_put proc near
|
2014-06-26 20:33:22 +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 si, [bp+arg_2]
|
|
|
|
|
mov ax, si
|
2019-12-29 14:37:23 +00:00
|
|
|
|
imul ax, 20
|
|
|
|
|
add ax, 250
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov di, ax
|
2019-12-29 14:37:23 +00:00
|
|
|
|
call egc_copy_rect_1_to_0 pascal, 256, ax, (128 shl 16) or 16
|
2015-01-12 21:48:13 +00:00
|
|
|
|
call grcg_setcolor pascal, GC_RMW, [bp+arg_0]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov [bp+var_2], si
|
|
|
|
|
mov bx, si
|
|
|
|
|
cmp bx, 5
|
|
|
|
|
ja short loc_A69A
|
|
|
|
|
add bx, bx
|
|
|
|
|
jmp cs:off_A70B[bx]
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A634:
|
2017-01-25 22:54:06 +00:00
|
|
|
|
push (272 shl 16) or 250
|
|
|
|
|
push 10
|
2019-09-15 14:22:36 +00:00
|
|
|
|
call cdg_put_nocolors
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov al, es:[bx+resident_t.rank]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
2020-01-02 19:55:22 +00:00
|
|
|
|
add ax, 22
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov [bp+var_2], ax
|
|
|
|
|
jmp short loc_A69A
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A653:
|
2019-12-07 10:37:53 +00:00
|
|
|
|
cmp _extra_unlocked, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A658:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_A665
|
2015-01-12 21:48:13 +00:00
|
|
|
|
call grcg_setcolor pascal, (GC_RMW shl 16) + 2
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A665:
|
2017-01-25 22:54:06 +00:00
|
|
|
|
push (272 shl 16) or 270
|
|
|
|
|
push 11
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_A695
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A66F:
|
2017-01-25 22:54:06 +00:00
|
|
|
|
push (272 shl 16) or 290
|
|
|
|
|
push 12
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_A695
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A679:
|
2017-01-25 22:54:06 +00:00
|
|
|
|
push (272 shl 16) or 310
|
|
|
|
|
push 13
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_A695
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A683:
|
2017-01-25 22:54:06 +00:00
|
|
|
|
push (272 shl 16) or 330
|
|
|
|
|
push 14
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_A695
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A68D:
|
2017-01-25 22:54:06 +00:00
|
|
|
|
push (272 shl 16) or 350
|
|
|
|
|
push 15
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A695:
|
2019-09-15 14:22:36 +00:00
|
|
|
|
call cdg_put_nocolors
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A69A:
|
2018-12-04 22:08:57 +00:00
|
|
|
|
GRCG_OFF_CLOBBERING dx
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cmp [bp+arg_0], 0Eh
|
|
|
|
|
jnz short loc_A705
|
2019-09-15 14:22:36 +00:00
|
|
|
|
call cdg_put pascal, 256, di, 35
|
|
|
|
|
call cdg_put pascal, 352, di, 36
|
2019-12-29 14:37:23 +00:00
|
|
|
|
call egc_copy_rect_1_to_0 pascal, large (0 shl 16) or 384, (RES_X shl 16) or 16
|
2019-11-25 08:44:38 +00:00
|
|
|
|
mov _graph_putsa_fx_func, 2
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov bx, [bp+var_2]
|
|
|
|
|
shl bx, 2
|
2019-12-21 17:08:24 +00:00
|
|
|
|
pushd _MENU_DESC[bx]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
call _strlen
|
|
|
|
|
add sp, 4
|
|
|
|
|
shl ax, 3
|
2019-12-21 17:08:24 +00:00
|
|
|
|
mov dx, 624
|
2014-06-26 20:33:22 +00:00
|
|
|
|
sub dx, ax
|
|
|
|
|
push dx
|
2019-12-21 17:08:24 +00:00
|
|
|
|
push (384 shl 16) or 9
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov bx, [bp+var_2]
|
|
|
|
|
shl bx, 2
|
2019-12-21 17:08:24 +00:00
|
|
|
|
pushd _MENU_DESC[bx]
|
2019-11-24 13:32:32 +00:00
|
|
|
|
call graph_putsa_fx
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A705:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
pop di
|
|
|
|
|
pop si
|
|
|
|
|
leave
|
|
|
|
|
retn 4
|
2019-12-08 05:32:01 +00:00
|
|
|
|
main_put endp
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
; ---------------------------------------------------------------------------
|
2014-08-10 01:44:54 +00:00
|
|
|
|
off_A70B dw offset loc_A634
|
2014-06-26 20:33:22 +00:00
|
|
|
|
dw offset loc_A653
|
|
|
|
|
dw offset loc_A66F
|
|
|
|
|
dw offset loc_A679
|
|
|
|
|
dw offset loc_A683
|
|
|
|
|
dw offset loc_A68D
|
|
|
|
|
|
|
|
|
|
; =============== S U B R O U T I N E =======================================
|
|
|
|
|
|
|
|
|
|
; Attributes: bp-based frame
|
2019-12-08 05:32:01 +00:00
|
|
|
|
public OPTION_PUT
|
|
|
|
|
option_put proc near
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2019-12-29 14:37:23 +00:00
|
|
|
|
@@y = word ptr -4
|
2014-06-26 20:33:22 +00:00
|
|
|
|
var_2 = word ptr -2
|
|
|
|
|
arg_0 = word ptr 4
|
|
|
|
|
arg_2 = word ptr 6
|
|
|
|
|
|
|
|
|
|
enter 4, 0
|
|
|
|
|
push si
|
|
|
|
|
push di
|
2019-12-29 15:10:44 +00:00
|
|
|
|
mov di, 224
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ax, [bp+arg_2]
|
|
|
|
|
shl ax, 4
|
2019-12-29 14:37:23 +00:00
|
|
|
|
add ax, 250
|
|
|
|
|
mov [bp+@@y], ax
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cmp [bp+arg_2], 7
|
|
|
|
|
jnz short loc_A737
|
2019-12-29 14:37:23 +00:00
|
|
|
|
mov [bp+@@y], 366
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A737:
|
2019-12-29 14:37:23 +00:00
|
|
|
|
call egc_copy_rect_1_to_0 pascal, 224, [bp+@@y], (192 shl 16) or 16
|
2015-01-12 21:48:13 +00:00
|
|
|
|
call grcg_setcolor pascal, GC_RMW, [bp+arg_0]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov bx, [bp+arg_2]
|
|
|
|
|
cmp bx, 7
|
|
|
|
|
ja loc_A8DA
|
|
|
|
|
add bx, bx
|
|
|
|
|
jmp cs:off_A958[bx]
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A764:
|
2017-01-25 22:54:06 +00:00
|
|
|
|
push (224 shl 16) or 250
|
|
|
|
|
push 16
|
2019-09-15 14:22:36 +00:00
|
|
|
|
call cdg_put_nocolors
|
2019-12-29 15:10:44 +00:00
|
|
|
|
push (320 shl 16) or 250
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov al, es:[bx+resident_t.rank]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
2017-01-25 22:54:06 +00:00
|
|
|
|
add ax, 21
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ax
|
2019-09-15 14:22:36 +00:00
|
|
|
|
call cdg_put_nocolors
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov al, es:[bx+resident_t.rank]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
add ax, 6
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A797:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov si, ax
|
|
|
|
|
jmp loc_A8DA
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A79C:
|
2017-01-25 22:54:06 +00:00
|
|
|
|
push (224 shl 16) or 266
|
|
|
|
|
push 17
|
2019-09-15 14:22:36 +00:00
|
|
|
|
call cdg_put_nocolors
|
2019-12-29 15:10:44 +00:00
|
|
|
|
push (320 shl 16) or 266
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov al, es:[bx+resident_t.cfg_lives]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
push ax
|
2019-09-15 14:22:36 +00:00
|
|
|
|
call cdg_put_nocolors
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov si, 0Ah
|
|
|
|
|
jmp loc_A8DA
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A7C5:
|
2017-01-25 22:54:06 +00:00
|
|
|
|
push (224 shl 16) or 282
|
|
|
|
|
push 18
|
2019-09-15 14:22:36 +00:00
|
|
|
|
call cdg_put_nocolors
|
2019-12-29 15:10:44 +00:00
|
|
|
|
push (320 shl 16) or 282
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov al, es:[bx+resident_t.cfg_bombs]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
push ax
|
2019-09-15 14:22:36 +00:00
|
|
|
|
call cdg_put_nocolors
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov si, 0Bh
|
|
|
|
|
jmp loc_A8DA
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A7EE:
|
2017-01-25 22:54:06 +00:00
|
|
|
|
push (224 shl 16) or 298
|
|
|
|
|
push 19
|
2019-09-15 14:22:36 +00:00
|
|
|
|
call cdg_put_nocolors
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
cmp es:[bx+resident_t.bgm_mode], SND_BGM_OFF
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_A80B
|
|
|
|
|
mov ax, 1Ch
|
|
|
|
|
jmp short loc_A818
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A80B:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov al, es:[bx+resident_t.bgm_mode]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
add ax, 18h
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A818:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov [bp+var_2], ax
|
2017-01-25 22:54:06 +00:00
|
|
|
|
push (320 shl 16) or 298
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ax
|
2019-09-15 14:22:36 +00:00
|
|
|
|
call cdg_put_nocolors
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov al, es:[bx+resident_t.bgm_mode]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
add ax, 0Ch
|
|
|
|
|
jmp loc_A797
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A837:
|
2017-01-25 22:54:06 +00:00
|
|
|
|
push (224 shl 16) or 314
|
|
|
|
|
push 20
|
2019-09-15 14:22:36 +00:00
|
|
|
|
call cdg_put_nocolors
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
cmp es:[bx+resident_t.se_mode], SND_SE_OFF
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_A854
|
|
|
|
|
mov ax, 1Ch
|
|
|
|
|
jmp short loc_A865
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A854:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A858:
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov al, es:[bx+resident_t.se_mode]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
push ax
|
|
|
|
|
mov ax, 1Fh
|
|
|
|
|
pop dx
|
|
|
|
|
sub ax, dx
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A865:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov [bp+var_2], ax
|
2017-01-25 22:54:06 +00:00
|
|
|
|
push (320 shl 16) or 314
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ax
|
2019-09-15 14:22:36 +00:00
|
|
|
|
call cdg_put_nocolors
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov al, es:[bx+resident_t.se_mode]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
add ax, 0Fh
|
|
|
|
|
jmp loc_A797
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A884:
|
2017-01-25 22:54:06 +00:00
|
|
|
|
push (272 shl 16) or 330
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov al, es:[bx+resident_t.turbo_mode]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
2017-01-25 22:54:06 +00:00
|
|
|
|
mov dx, 33
|
2014-06-26 20:33:22 +00:00
|
|
|
|
sub dx, ax
|
|
|
|
|
push dx
|
2019-09-15 14:22:36 +00:00
|
|
|
|
call cdg_put_nocolors
|
2019-12-29 15:10:44 +00:00
|
|
|
|
mov di, 256
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov al, es:[bx+resident_t.turbo_mode]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
add ax, 12h
|
|
|
|
|
jmp loc_A797
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A8B2:
|
2017-01-25 22:54:06 +00:00
|
|
|
|
push (272 shl 16) or 346
|
|
|
|
|
push 31
|
2019-09-15 14:22:36 +00:00
|
|
|
|
call cdg_put_nocolors
|
2019-12-29 15:10:44 +00:00
|
|
|
|
mov di, 256
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov si, 14h
|
|
|
|
|
jmp short loc_A8DA
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A8C7:
|
2017-01-25 22:54:06 +00:00
|
|
|
|
push (272 shl 16) or 366
|
|
|
|
|
push 15
|
2019-09-15 14:22:36 +00:00
|
|
|
|
call cdg_put_nocolors
|
2017-01-25 22:54:06 +00:00
|
|
|
|
mov di, 256
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov si, 15h
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A8DA:
|
2018-12-04 22:08:57 +00:00
|
|
|
|
GRCG_OFF_CLOBBERING dx
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cmp [bp+arg_0], 0Eh
|
|
|
|
|
jnz short loc_A951
|
2019-12-29 14:37:23 +00:00
|
|
|
|
call cdg_put pascal, di, [bp+@@y], 35
|
2017-01-21 17:10:53 +00:00
|
|
|
|
cmp di, 256
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_A8FD
|
2017-01-21 17:10:53 +00:00
|
|
|
|
lea ax, [di+96]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ax
|
|
|
|
|
jmp short loc_A900
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A8FD:
|
2017-01-21 17:10:53 +00:00
|
|
|
|
push 384
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A900:
|
2019-12-29 14:37:23 +00:00
|
|
|
|
push [bp+@@y]
|
2017-01-21 17:10:53 +00:00
|
|
|
|
push 36
|
2019-09-15 14:22:36 +00:00
|
|
|
|
call cdg_put
|
2019-12-29 14:37:23 +00:00
|
|
|
|
call egc_copy_rect_1_to_0 pascal, large (0 shl 16) or 384, (RES_X shl 16) or 16
|
2019-11-25 08:44:38 +00:00
|
|
|
|
mov _graph_putsa_fx_func, 2
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov bx, si
|
|
|
|
|
shl bx, 2
|
2019-12-21 17:08:24 +00:00
|
|
|
|
pushd _MENU_DESC[bx]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
call _strlen
|
|
|
|
|
add sp, 4
|
|
|
|
|
shl ax, 3
|
2019-12-21 17:08:24 +00:00
|
|
|
|
mov dx, 624
|
2014-06-26 20:33:22 +00:00
|
|
|
|
sub dx, ax
|
|
|
|
|
push dx
|
2019-12-21 17:08:24 +00:00
|
|
|
|
push (384 shl 16) or 9
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov bx, si
|
|
|
|
|
shl bx, 2
|
2019-12-21 17:08:24 +00:00
|
|
|
|
pushd _MENU_DESC[bx]
|
2019-11-24 13:32:32 +00:00
|
|
|
|
call graph_putsa_fx
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A951:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
pop di
|
|
|
|
|
pop si
|
|
|
|
|
leave
|
|
|
|
|
retn 4
|
2019-12-08 05:32:01 +00:00
|
|
|
|
option_put endp
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
db 0
|
2014-08-10 01:44:54 +00:00
|
|
|
|
off_A958 dw offset loc_A764
|
2014-06-26 20:33:22 +00:00
|
|
|
|
dw offset loc_A79C
|
|
|
|
|
dw offset loc_A7C5
|
|
|
|
|
dw offset loc_A7EE
|
|
|
|
|
dw offset loc_A837
|
|
|
|
|
dw offset loc_A884
|
|
|
|
|
dw offset loc_A8B2
|
|
|
|
|
dw offset loc_A8C7
|
|
|
|
|
|
|
|
|
|
; =============== S U B R O U T I N E =======================================
|
|
|
|
|
|
|
|
|
|
; Attributes: bp-based frame
|
2019-12-08 05:32:01 +00:00
|
|
|
|
public MENU_SEL_MOVE
|
|
|
|
|
menu_sel_move proc near
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
arg_0 = byte ptr 4
|
|
|
|
|
arg_2 = byte ptr 6
|
|
|
|
|
|
|
|
|
|
push bp
|
|
|
|
|
mov bp, sp
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov al, _menu_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cbw
|
|
|
|
|
push ax
|
|
|
|
|
push 8
|
2019-12-08 05:32:01 +00:00
|
|
|
|
call _putfunc
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov al, [bp+arg_0]
|
2019-12-08 05:32:01 +00:00
|
|
|
|
add _menu_sel, al
|
|
|
|
|
mov al, _menu_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cbw
|
|
|
|
|
or ax, ax
|
|
|
|
|
jge short loc_A98B
|
|
|
|
|
mov al, [bp+arg_2]
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov _menu_sel, al
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A98B:
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov al, _menu_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cmp al, [bp+arg_2]
|
|
|
|
|
jle short loc_A998
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov _menu_sel, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A998:
|
2019-12-07 10:37:53 +00:00
|
|
|
|
cmp _extra_unlocked, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_A9B6
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov al, _menu_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cbw
|
|
|
|
|
cmp ax, 1
|
|
|
|
|
jnz short loc_A9B6
|
2019-12-08 05:32:01 +00:00
|
|
|
|
cmp _in_option, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_A9B6
|
|
|
|
|
mov al, [bp+arg_0]
|
2019-12-08 05:32:01 +00:00
|
|
|
|
add _menu_sel, al
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_A9B6:
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov al, _menu_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cbw
|
|
|
|
|
push ax
|
|
|
|
|
push 0Eh
|
2019-12-08 05:32:01 +00:00
|
|
|
|
call _putfunc
|
2015-02-13 11:56:51 +00:00
|
|
|
|
call snd_se_reset
|
|
|
|
|
call snd_se_play pascal, 1
|
|
|
|
|
call snd_se_update
|
2014-06-26 20:33:22 +00:00
|
|
|
|
pop bp
|
|
|
|
|
retn 4
|
2019-12-08 05:32:01 +00:00
|
|
|
|
menu_sel_move endp
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; =============== S U B R O U T I N E =======================================
|
|
|
|
|
|
|
|
|
|
; Attributes: bp-based frame
|
2019-12-08 05:32:01 +00:00
|
|
|
|
public MAIN_UPDATE_AND_RENDER
|
|
|
|
|
main_update_and_render proc near
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push bp
|
|
|
|
|
mov bp, sp
|
|
|
|
|
push si
|
2019-12-08 05:32:01 +00:00
|
|
|
|
cmp _main_menu_initialized, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_AA2B
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov _main_menu_unused_1, 0
|
|
|
|
|
mov _main_input_allowed, 0
|
2019-12-29 14:37:23 +00:00
|
|
|
|
call egc_copy_rect_1_to_0 pascal, (192 shl 16) or 250, (288 shl 16) or 160
|
2014-06-26 20:33:22 +00:00
|
|
|
|
xor si, si
|
|
|
|
|
jmp short loc_AA16
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AA00:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push si
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov al, _menu_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cbw
|
|
|
|
|
cmp ax, si
|
|
|
|
|
jnz short loc_AA0E
|
|
|
|
|
mov ax, 0Eh
|
|
|
|
|
jmp short loc_AA11
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AA0E:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ax, 8
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AA11:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ax
|
2019-12-08 05:32:01 +00:00
|
|
|
|
call main_put
|
2014-06-26 20:33:22 +00:00
|
|
|
|
inc si
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AA16:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cmp si, 6
|
|
|
|
|
jl short loc_AA00
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov _putfunc, offset main_put
|
|
|
|
|
mov _main_menu_initialized, 1
|
|
|
|
|
mov _main_input_allowed, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AA2B:
|
2019-11-30 15:15:03 +00:00
|
|
|
|
cmp _key_det, INPUT_NONE
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_AA37
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov _main_input_allowed, 1
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AA37:
|
2019-12-08 05:32:01 +00:00
|
|
|
|
cmp _main_input_allowed, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz loc_ABC0
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.lo, low INPUT_UP
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_AA4E
|
2019-12-08 05:32:01 +00:00
|
|
|
|
call menu_sel_move pascal, 5, -1
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AA4E:
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.lo, low INPUT_DOWN
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_AA5C
|
2019-12-08 05:32:01 +00:00
|
|
|
|
call menu_sel_move pascal, 5, 1
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AA5C:
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.hi, high INPUT_OK
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_AA6C
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.lo, low INPUT_SHOT
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz loc_ABA8
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AA6C:
|
2015-02-13 11:56:51 +00:00
|
|
|
|
call snd_se_reset
|
|
|
|
|
call snd_se_play pascal, 11
|
|
|
|
|
call snd_se_update
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov al, _menu_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cbw
|
|
|
|
|
mov bx, ax
|
|
|
|
|
cmp bx, 5
|
|
|
|
|
ja loc_ABA8
|
|
|
|
|
add bx, bx
|
|
|
|
|
jmp cs:off_ABC3[bx]
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AA91:
|
2019-12-08 05:32:01 +00:00
|
|
|
|
call start_game
|
2018-12-29 19:08:52 +00:00
|
|
|
|
graph_accesspage 1
|
2014-12-16 04:53:56 +00:00
|
|
|
|
call pi_slot_load pascal, 0, ds, offset aOp1_pi
|
|
|
|
|
call pi_slot_palette_apply pascal, 0
|
2014-12-18 13:36:43 +00:00
|
|
|
|
call pi_slot_put pascal, large 0, 0
|
2014-12-16 04:53:56 +00:00
|
|
|
|
call pi_slot_free pascal, 0
|
2019-12-28 21:05:25 +00:00
|
|
|
|
call graph_copy_page pascal, 0
|
2019-12-28 22:45:48 +00:00
|
|
|
|
mov PaletteTone, 100
|
2014-08-23 14:11:16 +00:00
|
|
|
|
call far ptr palette_show
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov _main_menu_initialized, 0
|
|
|
|
|
mov _in_option, 0
|
|
|
|
|
mov _menu_sel, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp loc_ABC0
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AAE1:
|
2019-12-08 05:32:01 +00:00
|
|
|
|
call start_extra
|
2018-12-29 19:08:52 +00:00
|
|
|
|
graph_accesspage 1
|
2014-12-16 04:53:56 +00:00
|
|
|
|
call pi_slot_load pascal, 0, ds, offset aOp1_pi
|
|
|
|
|
call pi_slot_palette_apply pascal, 0
|
2014-12-18 13:36:43 +00:00
|
|
|
|
call pi_slot_put pascal, large 0, 0
|
2014-12-16 04:53:56 +00:00
|
|
|
|
call pi_slot_free pascal, 0
|
2019-12-28 21:05:25 +00:00
|
|
|
|
call graph_copy_page pascal, 0
|
2019-12-28 22:45:48 +00:00
|
|
|
|
mov PaletteTone, 100
|
2014-08-23 14:11:16 +00:00
|
|
|
|
call far ptr palette_show
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov _main_menu_initialized, 0
|
|
|
|
|
mov _in_option, 0
|
|
|
|
|
mov _menu_sel, 1
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp loc_ABC0
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AB31:
|
2019-12-07 10:37:53 +00:00
|
|
|
|
call score_menu
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov _main_menu_initialized, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_ABA8
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AB3B:
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call musicroom
|
2019-12-08 05:32:01 +00:00
|
|
|
|
call main_cdg_load
|
2018-12-29 19:08:52 +00:00
|
|
|
|
graph_accesspage 1
|
2014-12-16 04:53:56 +00:00
|
|
|
|
call pi_slot_load pascal, 0, ds, offset aOp1_pi
|
|
|
|
|
call pi_slot_palette_apply pascal, 0
|
2014-12-18 13:36:43 +00:00
|
|
|
|
call pi_slot_put pascal, large 0, 0
|
2014-12-16 04:53:56 +00:00
|
|
|
|
call pi_slot_free pascal, 0
|
2019-12-28 21:05:25 +00:00
|
|
|
|
call graph_copy_page pascal, 0
|
2019-12-28 22:45:48 +00:00
|
|
|
|
mov PaletteTone, 100
|
2014-08-23 14:11:16 +00:00
|
|
|
|
call far ptr palette_show
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov _main_menu_initialized, 0
|
|
|
|
|
mov _in_option, 0
|
|
|
|
|
mov _menu_sel, 3
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_ABC0
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AB8D:
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov _main_menu_initialized, 0
|
|
|
|
|
mov _in_option, 1
|
|
|
|
|
mov _menu_sel, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_ABA8
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AB9E:
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov _main_menu_initialized, 0
|
|
|
|
|
mov _quit, 1
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_ABA8:
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.hi, high INPUT_CANCEL
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_ABB4
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov _quit, 1
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_ABB4:
|
2019-11-30 15:15:03 +00:00
|
|
|
|
cmp _key_det, INPUT_NONE
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_ABC0
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov _main_input_allowed, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_ABC0:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
pop si
|
|
|
|
|
pop bp
|
|
|
|
|
retn
|
2019-12-08 05:32:01 +00:00
|
|
|
|
main_update_and_render endp
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
; ---------------------------------------------------------------------------
|
2014-08-10 01:44:54 +00:00
|
|
|
|
off_ABC3 dw offset loc_AA91
|
2014-06-26 20:33:22 +00:00
|
|
|
|
dw offset loc_AAE1
|
|
|
|
|
dw offset loc_AB31
|
|
|
|
|
dw offset loc_AB3B
|
|
|
|
|
dw offset loc_AB8D
|
|
|
|
|
dw offset loc_AB9E
|
|
|
|
|
|
|
|
|
|
; =============== S U B R O U T I N E =======================================
|
|
|
|
|
|
|
|
|
|
; Attributes: bp-based frame
|
2019-12-08 05:32:01 +00:00
|
|
|
|
public OPTION_UPDATE_AND_RENDER
|
|
|
|
|
option_update_and_render proc near
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push bp
|
|
|
|
|
mov bp, sp
|
|
|
|
|
push si
|
2019-12-08 05:32:01 +00:00
|
|
|
|
cmp _option_initialized, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_AC1F
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov _option_input_allowed, 0
|
2019-12-29 14:37:23 +00:00
|
|
|
|
call egc_copy_rect_1_to_0 pascal, (272 shl 16) or 250, (160 shl 16) or 144
|
2014-06-26 20:33:22 +00:00
|
|
|
|
xor si, si
|
|
|
|
|
jmp short loc_AC0A
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_ABF4:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push si
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov al, _menu_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cbw
|
|
|
|
|
cmp ax, si
|
|
|
|
|
jnz short loc_AC02
|
|
|
|
|
mov ax, 0Eh
|
|
|
|
|
jmp short loc_AC05
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AC02:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ax, 8
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AC05:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ax
|
2019-12-08 05:32:01 +00:00
|
|
|
|
call option_put
|
2014-06-26 20:33:22 +00:00
|
|
|
|
inc si
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AC0A:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cmp si, 8
|
|
|
|
|
jl short loc_ABF4
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov _putfunc, offset option_put
|
|
|
|
|
mov _option_initialized, 1
|
|
|
|
|
mov _option_input_allowed, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AC1F:
|
2019-11-30 15:15:03 +00:00
|
|
|
|
cmp _key_det, INPUT_NONE
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_AC2B
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov _option_input_allowed, 1
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AC2B:
|
2019-12-08 05:32:01 +00:00
|
|
|
|
cmp _option_input_allowed, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz loc_AF2E
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.lo, low INPUT_UP
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_AC42
|
2019-12-08 05:32:01 +00:00
|
|
|
|
call menu_sel_move pascal, 7, -1
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AC42:
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.lo, low INPUT_DOWN
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_AC50
|
2019-12-08 05:32:01 +00:00
|
|
|
|
call menu_sel_move pascal, 7, 1
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AC50:
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.hi, high INPUT_OK
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_AC60
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.lo, low INPUT_SHOT
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz loc_ACF8
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AC60:
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov al, _menu_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cbw
|
|
|
|
|
cmp ax, 6
|
|
|
|
|
jz short loc_AC71
|
|
|
|
|
cmp ax, 7
|
|
|
|
|
jz short loc_ACD8
|
|
|
|
|
jmp loc_AD01
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AC71:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+resident_t.rank], RANK_NORMAL
|
2020-02-22 16:39:23 +00:00
|
|
|
|
mov es:[bx+resident_t.cfg_lives], CFG_LIVES_DEFAULT
|
|
|
|
|
mov es:[bx+resident_t.cfg_bombs], CFG_LIVES_DEFAULT
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+resident_t.bgm_mode], SND_BGM_FM86
|
|
|
|
|
mov es:[bx+resident_t.se_mode], SND_SE_FM
|
|
|
|
|
mov es:[bx+resident_t.turbo_mode], 1
|
2014-11-27 18:35:54 +00:00
|
|
|
|
kajacall KAJA_SONG_STOP
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov al, es:[bx+resident_t.bgm_mode]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
push ax
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov al, es:[bx+resident_t.se_mode]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
push ax
|
2014-11-28 23:56:26 +00:00
|
|
|
|
call snd_determine_modes
|
2014-11-29 23:18:40 +00:00
|
|
|
|
call snd_load pascal, ds, offset aMiko, SND_LOAD_SE
|
|
|
|
|
call snd_load pascal, ds, offset aOp, SND_LOAD_SONG
|
2014-11-27 18:35:54 +00:00
|
|
|
|
kajacall KAJA_SONG_PLAY
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov _option_initialized, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_ACF8
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_ACD8:
|
2015-02-13 11:56:51 +00:00
|
|
|
|
call snd_se_reset
|
|
|
|
|
call snd_se_play pascal, 11
|
|
|
|
|
call snd_se_update
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov _option_initialized, 0
|
|
|
|
|
mov _menu_sel, 4
|
|
|
|
|
mov _in_option, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_ACF8:
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.lo, low INPUT_RIGHT
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz loc_ADFF
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AD01:
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov al, _menu_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cbw
|
|
|
|
|
mov bx, ax
|
|
|
|
|
cmp bx, 5
|
|
|
|
|
ja loc_ADF5
|
|
|
|
|
add bx, bx
|
|
|
|
|
jmp cs:off_AF3D[bx]
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AD15:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
inc es:[bx+resident_t.rank]
|
|
|
|
|
cmp es:[bx+resident_t.rank], RANK_LUNATIC
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jbe loc_ADF5
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+resident_t.rank], RANK_EASY
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp loc_ADF5
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AD2E:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
inc es:[bx+resident_t.cfg_lives]
|
2020-02-22 16:39:23 +00:00
|
|
|
|
cmp es:[bx+resident_t.cfg_lives], CFG_LIVES_MAX
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jbe loc_ADF5
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+resident_t.cfg_lives], 1
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp loc_ADF5
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AD47:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
inc es:[bx+resident_t.cfg_bombs]
|
2020-02-22 16:39:23 +00:00
|
|
|
|
cmp es:[bx+resident_t.cfg_bombs], CFG_BOMBS_MAX
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jbe loc_ADF5
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+resident_t.cfg_bombs], 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp loc_ADF5
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AD60:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
inc es:[bx+resident_t.bgm_mode]
|
|
|
|
|
cmp es:[bx+resident_t.bgm_mode], SND_BGM_MODE_COUNT
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jb short loc_AD74
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+resident_t.bgm_mode], SND_BGM_OFF
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AD74:
|
2014-11-27 18:35:54 +00:00
|
|
|
|
kajacall KAJA_SONG_STOP
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov al, es:[bx+resident_t.bgm_mode]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
push ax
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov al, es:[bx+resident_t.se_mode]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
push ax
|
2014-11-28 23:56:26 +00:00
|
|
|
|
call snd_determine_modes
|
2014-11-29 23:18:40 +00:00
|
|
|
|
call snd_load pascal, ds, offset aOp, SND_LOAD_SONG
|
2014-11-27 18:35:54 +00:00
|
|
|
|
kajacall KAJA_SONG_PLAY
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_ADF5
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_ADA8:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
cmp es:[bx+resident_t.se_mode], SND_SE_OFF
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_ADBA
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+resident_t.se_mode], SND_SE_BEEP
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_ADC2
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_ADBA:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
dec es:[bx+resident_t.se_mode]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_ADC2:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov al, es:[bx+resident_t.bgm_mode]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
push ax
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov al, es:[bx+resident_t.se_mode]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
push ax
|
2014-11-28 23:56:26 +00:00
|
|
|
|
call snd_determine_modes
|
2014-11-29 23:18:40 +00:00
|
|
|
|
call snd_load pascal, ds, offset aMiko, SND_LOAD_SE
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_ADF5
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_ADE7:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov al, 1
|
2020-01-02 19:55:22 +00:00
|
|
|
|
sub al, es:[bx+resident_t.turbo_mode]
|
|
|
|
|
mov es:[bx+resident_t.turbo_mode], al
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_ADF5:
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov al, _menu_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cbw
|
|
|
|
|
push ax
|
|
|
|
|
push 0Eh
|
2019-12-08 05:32:01 +00:00
|
|
|
|
call option_put
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_ADFF:
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.lo, low INPUT_LEFT
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz loc_AF0C
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov al, _menu_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cbw
|
|
|
|
|
mov bx, ax
|
|
|
|
|
cmp bx, 5
|
|
|
|
|
ja loc_AF02
|
|
|
|
|
add bx, bx
|
|
|
|
|
jmp cs:off_AF31[bx]
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AE1C:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
cmp es:[bx+resident_t.rank], RANK_EASY
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_AE2C
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+resident_t.rank], RANK_EXTRA
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AE2C:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
dec es:[bx+resident_t.rank]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp loc_AF02
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AE37:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
cmp es:[bx+resident_t.cfg_lives], 1
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_AE47
|
2020-02-22 16:39:23 +00:00
|
|
|
|
mov es:[bx+resident_t.cfg_lives], (CFG_LIVES_MAX + 1)
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AE47:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
dec es:[bx+resident_t.cfg_lives]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp loc_AF02
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AE52:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
cmp es:[bx+resident_t.cfg_bombs], 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_AE62
|
2020-02-22 16:39:23 +00:00
|
|
|
|
mov es:[bx+resident_t.cfg_bombs], (CFG_BOMBS_MAX + 1)
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AE62:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
dec es:[bx+resident_t.cfg_bombs]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp loc_AF02
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AE6D:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
cmp es:[bx+resident_t.bgm_mode], SND_BGM_OFF
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_AE7F
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+resident_t.bgm_mode], SND_BGM_FM86
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_AE87
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AE7F:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
dec es:[bx+resident_t.bgm_mode]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AE87:
|
2014-11-27 18:35:54 +00:00
|
|
|
|
kajacall KAJA_SONG_STOP
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov al, es:[bx+resident_t.bgm_mode]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
push ax
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov al, es:[bx+resident_t.se_mode]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
push ax
|
2014-11-28 23:56:26 +00:00
|
|
|
|
call snd_determine_modes
|
2014-11-29 23:18:40 +00:00
|
|
|
|
call snd_load pascal, ds, offset aOp, SND_LOAD_SONG
|
2014-11-27 18:35:54 +00:00
|
|
|
|
kajacall KAJA_SONG_PLAY
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_AF02
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AEBB:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
inc es:[bx+resident_t.se_mode]
|
|
|
|
|
cmp es:[bx+resident_t.se_mode], SND_SE_MODE_COUNT
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jb short loc_AECF
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+resident_t.se_mode], SND_SE_OFF
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AECF:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov al, es:[bx+resident_t.bgm_mode]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
push ax
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov al, es:[bx+resident_t.se_mode]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
push ax
|
2014-11-28 23:56:26 +00:00
|
|
|
|
call snd_determine_modes
|
2014-11-29 23:18:40 +00:00
|
|
|
|
call snd_load pascal, ds, offset aMiko, SND_LOAD_SE
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_AF02
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AEF4:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov al, 1
|
2020-01-02 19:55:22 +00:00
|
|
|
|
sub al, es:[bx+resident_t.turbo_mode]
|
|
|
|
|
mov es:[bx+resident_t.turbo_mode], al
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AF02:
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov al, _menu_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cbw
|
|
|
|
|
push ax
|
|
|
|
|
push 0Eh
|
2019-12-08 05:32:01 +00:00
|
|
|
|
call option_put
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AF0C:
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.hi, high INPUT_CANCEL
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_AF22
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov _option_initialized, 0
|
|
|
|
|
mov _menu_sel, 4
|
|
|
|
|
mov _in_option, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AF22:
|
2019-11-30 15:15:03 +00:00
|
|
|
|
cmp _key_det, INPUT_NONE
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_AF2E
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov _option_input_allowed, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AF2E:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
pop si
|
|
|
|
|
pop bp
|
|
|
|
|
retn
|
2019-12-08 05:32:01 +00:00
|
|
|
|
option_update_and_render endp
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
; ---------------------------------------------------------------------------
|
2014-08-10 01:44:54 +00:00
|
|
|
|
off_AF31 dw offset loc_AE1C
|
2014-06-26 20:33:22 +00:00
|
|
|
|
dw offset loc_AE37
|
|
|
|
|
dw offset loc_AE52
|
|
|
|
|
dw offset loc_AE6D
|
|
|
|
|
dw offset loc_AEBB
|
|
|
|
|
dw offset loc_AEF4
|
2014-08-10 01:44:54 +00:00
|
|
|
|
off_AF3D dw offset loc_AD15
|
2014-06-26 20:33:22 +00:00
|
|
|
|
dw offset loc_AD2E
|
|
|
|
|
dw offset loc_AD47
|
|
|
|
|
dw offset loc_AD60
|
|
|
|
|
dw offset loc_ADA8
|
|
|
|
|
dw offset loc_ADE7
|
|
|
|
|
|
|
|
|
|
; =============== 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)
|
2015-02-19 06:46:36 +00:00
|
|
|
|
public _main
|
2014-08-10 01:44:54 +00:00
|
|
|
|
_main proc far
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
_argc = word ptr 6
|
|
|
|
|
_argv = dword ptr 8
|
|
|
|
|
_envp = dword ptr 0Ch
|
|
|
|
|
|
|
|
|
|
push bp
|
|
|
|
|
mov bp, sp
|
|
|
|
|
push si
|
|
|
|
|
xor si, si
|
2014-08-20 14:45:24 +00:00
|
|
|
|
call text_clear
|
2014-09-03 13:23:51 +00:00
|
|
|
|
call respal_create
|
2019-11-23 20:28:21 +00:00
|
|
|
|
mov _mem_assign_paras, MEM_ASSIGN_PARAS_OP
|
2019-11-19 14:26:47 +00:00
|
|
|
|
call _game_init_op c, offset aKaikidan1_dat0, ds
|
2014-06-26 20:33:22 +00:00
|
|
|
|
or ax, ax
|
|
|
|
|
jz short loc_AF7D
|
|
|
|
|
push ds
|
2014-07-03 19:12:55 +00:00
|
|
|
|
push offset aNotEnoughMem
|
2014-08-22 23:48:16 +00:00
|
|
|
|
call dos_puts2
|
2015-02-19 06:46:36 +00:00
|
|
|
|
call _getch
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AF7D:
|
2019-12-08 05:32:01 +00:00
|
|
|
|
call cfg_load
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
cmp es:[bx+resident_t.rank], RANK_DEFAULT
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_AF97
|
|
|
|
|
call sub_B5A6
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+resident_t.rank], 1
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AF97:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov al, es:[bx+resident_t.bgm_mode]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
push ax
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov al, es:[bx+resident_t.se_mode]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
push ax
|
2014-11-28 23:56:26 +00:00
|
|
|
|
call snd_determine_modes
|
2014-11-29 23:18:40 +00:00
|
|
|
|
call snd_load pascal, ds, offset aMiko, SND_LOAD_SE
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
cmp es:[bx+resident_t.zunsoft_shown], 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_AFD1
|
2019-12-01 11:03:31 +00:00
|
|
|
|
call zunsoft
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+resident_t.zunsoft_shown], 1
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AFD1:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
cmp es:[bx+resident_t.demo_num], 5
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_AFE1
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+resident_t.demo_num], 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AFE1:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
cmp es:[bx+resident_t.demo_num], 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_AFF4
|
2014-11-27 18:35:54 +00:00
|
|
|
|
kajacall KAJA_SONG_STOP
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_AFF4:
|
2019-12-08 05:32:01 +00:00
|
|
|
|
call op_animate
|
|
|
|
|
call main_cdg_load
|
2019-12-26 15:07:35 +00:00
|
|
|
|
call scoredat_cleared_load
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov _in_option, 0
|
|
|
|
|
mov _quit, 0
|
|
|
|
|
mov _menu_sel, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_B058
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_B00E:
|
2018-09-11 17:34:19 +00:00
|
|
|
|
call _input_reset_sense_held
|
2019-12-08 05:32:01 +00:00
|
|
|
|
mov al, _in_option
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cbw
|
|
|
|
|
or ax, ax
|
|
|
|
|
jz short loc_B022
|
|
|
|
|
cmp ax, 1
|
|
|
|
|
jz short loc_B032
|
|
|
|
|
jmp short loc_B035
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_B022:
|
2019-12-08 05:32:01 +00:00
|
|
|
|
call main_update_and_render
|
2019-12-29 15:10:44 +00:00
|
|
|
|
cmp si, 640
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jl short loc_B035
|
2019-12-08 05:32:01 +00:00
|
|
|
|
call start_demo
|
2014-06-26 20:33:22 +00:00
|
|
|
|
xor si, si
|
|
|
|
|
jmp short loc_B035
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_B032:
|
2019-12-08 05:32:01 +00:00
|
|
|
|
call option_update_and_render
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_B035:
|
2019-11-30 15:15:03 +00:00
|
|
|
|
cmp _key_det, INPUT_NONE
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_B043
|
2019-11-30 15:15:03 +00:00
|
|
|
|
cmp _key_det, INPUT_LEFT or INPUT_RIGHT
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_B046
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_B043:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
inc si
|
|
|
|
|
jmp short loc_B048
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_B046:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
xor si, si
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_B048:
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
inc es:[bx+resident_t.rand]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push 1
|
2014-11-23 21:25:22 +00:00
|
|
|
|
call frame_delay
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_B058:
|
2019-12-08 05:32:01 +00:00
|
|
|
|
cmp _quit, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_B00E
|
2019-12-08 05:32:01 +00:00
|
|
|
|
call main_cdg_free
|
2019-12-08 05:32:01 +00:00
|
|
|
|
call cfg_save_exit
|
2014-08-20 14:45:24 +00:00
|
|
|
|
call text_clear
|
2019-11-19 14:26:47 +00:00
|
|
|
|
call game_exit_to_dos
|
2014-09-03 13:41:25 +00:00
|
|
|
|
call respal_free
|
2014-06-26 20:33:22 +00:00
|
|
|
|
pop si
|
|
|
|
|
pop bp
|
|
|
|
|
retf
|
|
|
|
|
_main endp
|
|
|
|
|
|
2019-12-21 20:15:20 +00:00
|
|
|
|
include th04/setup.asm
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
; =============== S U B R O U T I N E =======================================
|
|
|
|
|
|
|
|
|
|
; Attributes: bp-based frame
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
sub_B36C proc near
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
var_2 = word ptr -2
|
|
|
|
|
|
|
|
|
|
enter 2, 0
|
2019-12-29 14:25:34 +00:00
|
|
|
|
mov _window_tiles.x, (448 / WINDOW_TILE_W)
|
|
|
|
|
call window_singleline pascal, (96 shl 16) or 80
|
2019-12-21 17:08:24 +00:00
|
|
|
|
call graph_putsa_fx pascal, (112 shl 16) or 88, 15, ds, offset aSETUP_BGM_HEAD
|
2019-12-29 14:25:34 +00:00
|
|
|
|
mov _window_tiles.x, (160 / WINDOW_TILE_W)
|
|
|
|
|
mov _window_tiles.y, 1 + 3
|
|
|
|
|
call window_dropdown_animate pascal, ( 32 shl 16) or 128
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov [bp+var_2], 0
|
|
|
|
|
jmp short loc_B3C3
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_B3AC:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push [bp+var_2]
|
|
|
|
|
cmp [bp+var_2], 2
|
|
|
|
|
jnz short loc_B3BA
|
|
|
|
|
mov ax, 0Fh
|
|
|
|
|
jmp short loc_B3BC
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_B3BA:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
xor ax, ax
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_B3BC:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ax
|
2019-12-21 20:15:20 +00:00
|
|
|
|
call setup_bgm_choice_put
|
2014-06-26 20:33:22 +00:00
|
|
|
|
inc [bp+var_2]
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_B3C3:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cmp [bp+var_2], 3
|
|
|
|
|
jl short loc_B3AC
|
2019-12-29 14:25:34 +00:00
|
|
|
|
mov _window_tiles.x, (400 / WINDOW_TILE_W)
|
|
|
|
|
mov _window_tiles.y, 1 + 9
|
|
|
|
|
call window_dropdown_animate pascal, (192 shl 16) or 128
|
2019-12-21 20:15:20 +00:00
|
|
|
|
call setup_bgm_help_put
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov [bp+var_2], 2
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_B3E6:
|
2019-11-30 14:48:36 +00:00
|
|
|
|
call input_wait_for_change pascal, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push 1
|
2014-11-23 21:25:22 +00:00
|
|
|
|
call frame_delay
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.hi, high INPUT_OK
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_B452
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.lo, low INPUT_SHOT
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_B452
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.lo, low INPUT_UP
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_B429
|
2019-12-21 20:15:20 +00:00
|
|
|
|
call setup_bgm_choice_put pascal, [bp+var_2], 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cmp [bp+var_2], 2
|
|
|
|
|
jnz short loc_B41E
|
|
|
|
|
mov [bp+var_2], 0
|
|
|
|
|
jmp short loc_B421
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_B41E:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
inc [bp+var_2]
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_B421:
|
2019-12-21 20:15:20 +00:00
|
|
|
|
call setup_bgm_choice_put pascal, [bp+var_2], 0Fh
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_B429:
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.lo, low INPUT_DOWN
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_B3E6
|
2019-12-21 20:15:20 +00:00
|
|
|
|
call setup_bgm_choice_put pascal, [bp+var_2], 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cmp [bp+var_2], 0
|
|
|
|
|
jnz short loc_B445
|
|
|
|
|
mov [bp+var_2], 2
|
|
|
|
|
jmp short loc_B448
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_B445:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
dec [bp+var_2]
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_B448:
|
2019-12-21 20:15:20 +00:00
|
|
|
|
call setup_bgm_choice_put pascal, [bp+var_2], 0Fh
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_B3E6
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_B452:
|
2019-12-29 14:25:34 +00:00
|
|
|
|
mov _window_tiles.x, (400 / WINDOW_TILE_W)
|
|
|
|
|
mov _window_tiles.y, 1 + 9
|
|
|
|
|
call window_rollup_animate pascal, (192 shl 16) or 128
|
|
|
|
|
mov _window_tiles.x, (160 / WINDOW_TILE_W)
|
|
|
|
|
mov _window_tiles.y, 1 + 3
|
|
|
|
|
call window_rollup_animate pascal, ( 32 shl 16) or 128
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov al, byte ptr [bp+var_2]
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+resident_t.bgm_mode], al
|
2014-06-26 20:33:22 +00:00
|
|
|
|
leave
|
|
|
|
|
retn
|
|
|
|
|
sub_B36C endp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; =============== S U B R O U T I N E =======================================
|
|
|
|
|
|
|
|
|
|
; Attributes: bp-based frame
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
sub_B489 proc near
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
var_2 = word ptr -2
|
|
|
|
|
|
|
|
|
|
enter 2, 0
|
2019-12-29 14:25:34 +00:00
|
|
|
|
mov _window_tiles.x, (448 / WINDOW_TILE_W)
|
|
|
|
|
call window_singleline pascal, (96 shl 16) or 80
|
2019-12-21 20:15:20 +00:00
|
|
|
|
call graph_putsa_fx pascal, (112 shl 16) or 88, 15, ds, offset aSETUP_SE_HEAD
|
2019-12-29 14:25:34 +00:00
|
|
|
|
mov _window_tiles.x, (160 / WINDOW_TILE_W)
|
|
|
|
|
mov _window_tiles.y, 1 + 3
|
|
|
|
|
call window_dropdown_animate pascal, ( 32 shl 16) or 128
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov [bp+var_2], 0
|
|
|
|
|
jmp short loc_B4E0
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_B4C9:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push [bp+var_2]
|
|
|
|
|
cmp [bp+var_2], 1
|
|
|
|
|
jnz short loc_B4D7
|
2019-12-21 20:15:20 +00:00
|
|
|
|
mov ax, 15
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_B4D9
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_B4D7:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
xor ax, ax
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_B4D9:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ax
|
2019-12-21 20:15:20 +00:00
|
|
|
|
call setup_se_choice_put
|
2014-06-26 20:33:22 +00:00
|
|
|
|
inc [bp+var_2]
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_B4E0:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cmp [bp+var_2], 3
|
|
|
|
|
jl short loc_B4C9
|
2019-12-29 14:25:34 +00:00
|
|
|
|
mov _window_tiles.x, (400 / WINDOW_TILE_W)
|
|
|
|
|
mov _window_tiles.y, 1 + 9
|
|
|
|
|
call window_dropdown_animate pascal, (192 shl 16) or 128
|
2019-12-21 20:15:20 +00:00
|
|
|
|
call setup_se_help_put
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov [bp+var_2], 1
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_B503:
|
2019-11-30 14:48:36 +00:00
|
|
|
|
call input_wait_for_change pascal, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push 1
|
2014-11-23 21:25:22 +00:00
|
|
|
|
call frame_delay
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.hi, high INPUT_OK
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_B56F
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.lo, low INPUT_SHOT
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_B56F
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.lo, low INPUT_DOWN
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_B546
|
2019-12-21 20:15:20 +00:00
|
|
|
|
call setup_se_choice_put pascal, [bp+var_2], 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cmp [bp+var_2], 2
|
|
|
|
|
jnz short loc_B53B
|
|
|
|
|
mov [bp+var_2], 0
|
|
|
|
|
jmp short loc_B53E
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_B53B:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
inc [bp+var_2]
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_B53E:
|
2019-12-21 20:15:20 +00:00
|
|
|
|
call setup_se_choice_put pascal, [bp+var_2], 15
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_B546:
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.lo, low INPUT_UP
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_B503
|
2019-12-21 20:15:20 +00:00
|
|
|
|
call setup_se_choice_put pascal, [bp+var_2], 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cmp [bp+var_2], 0
|
|
|
|
|
jnz short loc_B562
|
|
|
|
|
mov [bp+var_2], 2
|
|
|
|
|
jmp short loc_B565
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_B562:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
dec [bp+var_2]
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_B565:
|
2019-12-21 20:15:20 +00:00
|
|
|
|
call setup_se_choice_put pascal, [bp+var_2], 15
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_B503
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_B56F:
|
2019-12-29 14:25:34 +00:00
|
|
|
|
mov _window_tiles.x, (400 / WINDOW_TILE_W)
|
|
|
|
|
mov _window_tiles.y, 1 + 9
|
|
|
|
|
call window_rollup_animate pascal, (192 shl 16) or 128
|
|
|
|
|
mov _window_tiles.x, (160 / WINDOW_TILE_W)
|
|
|
|
|
mov _window_tiles.y, 1 + 3
|
|
|
|
|
call window_rollup_animate pascal, ( 32 shl 16) or 128
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov al, byte ptr [bp+var_2]
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+resident_t.se_mode], al
|
2014-06-26 20:33:22 +00:00
|
|
|
|
leave
|
|
|
|
|
retn
|
|
|
|
|
sub_B489 endp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; =============== S U B R O U T I N E =======================================
|
|
|
|
|
|
|
|
|
|
; Attributes: bp-based frame
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
sub_B5A6 proc near
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push bp
|
|
|
|
|
mov bp, sp
|
2014-08-23 13:47:05 +00:00
|
|
|
|
mov PaletteTone, 0
|
2014-08-23 14:11:16 +00:00
|
|
|
|
call far ptr palette_show
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ds
|
|
|
|
|
push offset aMswin_bft ; "mswin.bft"
|
2014-08-23 16:07:02 +00:00
|
|
|
|
call super_entry_bfnt
|
2018-12-29 19:08:52 +00:00
|
|
|
|
graph_accesspage 1
|
2014-12-16 04:53:56 +00:00
|
|
|
|
call pi_slot_load pascal, 0, ds, offset aMs_pi
|
|
|
|
|
call pi_slot_palette_apply pascal, 0
|
2014-12-18 13:36:43 +00:00
|
|
|
|
call pi_slot_put pascal, large 0, 0
|
2014-12-16 04:53:56 +00:00
|
|
|
|
call pi_slot_free pascal, 0
|
2019-12-28 21:05:25 +00:00
|
|
|
|
call graph_copy_page pascal, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push 1
|
2014-08-26 22:21:45 +00:00
|
|
|
|
call palette_black_in
|
2014-06-26 20:33:22 +00:00
|
|
|
|
call sub_B36C
|
|
|
|
|
push 1
|
2014-11-23 21:25:22 +00:00
|
|
|
|
call frame_delay
|
2019-12-28 21:05:25 +00:00
|
|
|
|
call graph_copy_page pascal, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
call sub_B489
|
|
|
|
|
push 1
|
2014-08-26 22:33:43 +00:00
|
|
|
|
call palette_black_out
|
2014-08-22 21:45:21 +00:00
|
|
|
|
call super_free
|
2014-06-26 20:33:22 +00:00
|
|
|
|
pop bp
|
|
|
|
|
retn
|
|
|
|
|
sub_B5A6 endp
|
|
|
|
|
|
2018-03-21 22:20:04 +00:00
|
|
|
|
include th04/zunsoft.asm
|
2020-02-22 11:55:34 +00:00
|
|
|
|
include th04/formats/cfg.asm
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
; =============== S U B R O U T I N E =======================================
|
|
|
|
|
|
|
|
|
|
; Attributes: bp-based frame
|
|
|
|
|
|
2019-12-08 05:32:01 +00:00
|
|
|
|
main_cdg_load proc near
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push bp
|
|
|
|
|
mov bp, sp
|
2019-09-15 14:22:36 +00:00
|
|
|
|
call cdg_load_all pascal, 0, ds, offset aSft1_cd2
|
|
|
|
|
call cdg_load_all pascal, 10, ds, offset aSft2_cd2
|
|
|
|
|
call cdg_load_all pascal, 35, ds, offset aCar_cd2
|
|
|
|
|
call cdg_load_single_noalpha pascal, 40, ds, offset aSl00_cdg, 0
|
|
|
|
|
call cdg_load_single_noalpha pascal, 41, ds, offset aSl01_cdg, 0
|
|
|
|
|
call cdg_load_single_noalpha pascal, 42, ds, offset aSl02_cdg, 0
|
|
|
|
|
call cdg_load_single_noalpha pascal, 43, ds, offset aSl03_cdg, 0
|
|
|
|
|
call cdg_load_single pascal, 44, ds, offset aSlcl_cdg, 0
|
|
|
|
|
call cdg_load_single_noalpha pascal, 45, ds, offset aSl04_cdg, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
pop bp
|
|
|
|
|
retn
|
2019-12-08 05:32:01 +00:00
|
|
|
|
main_cdg_load endp
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; =============== S U B R O U T I N E =======================================
|
|
|
|
|
|
|
|
|
|
; Attributes: bp-based frame
|
|
|
|
|
|
2019-12-08 05:32:01 +00:00
|
|
|
|
main_cdg_free proc near
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push bp
|
|
|
|
|
mov bp, sp
|
2019-09-15 14:22:36 +00:00
|
|
|
|
call cdg_freeall
|
2014-06-26 20:33:22 +00:00
|
|
|
|
pop bp
|
|
|
|
|
retn
|
2019-12-08 05:32:01 +00:00
|
|
|
|
main_cdg_free endp
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; =============== S U B R O U T I N E =======================================
|
|
|
|
|
|
|
|
|
|
; Attributes: bp-based frame
|
|
|
|
|
|
2019-12-08 05:32:01 +00:00
|
|
|
|
op_animate proc near
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2018-12-29 19:08:52 +00:00
|
|
|
|
@@page_show = byte ptr -2
|
|
|
|
|
@@page_access = byte ptr -1
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
enter 2, 0
|
|
|
|
|
push si
|
2014-08-23 13:47:05 +00:00
|
|
|
|
mov PaletteTone, 0
|
2014-08-23 14:11:16 +00:00
|
|
|
|
call far ptr palette_show
|
2014-12-16 04:53:56 +00:00
|
|
|
|
call pi_slot_load pascal, 0, ds, offset aOp2a_pi
|
|
|
|
|
call pi_slot_load pascal, 1, ds, offset aOp2b_pi
|
|
|
|
|
call pi_slot_load pascal, 2, ds, offset aOp2c_pi
|
|
|
|
|
call pi_slot_load pascal, 3, ds, offset aOp2d_pi
|
|
|
|
|
call pi_slot_load pascal, 4, ds, offset aOp2e_pi
|
|
|
|
|
call pi_slot_load pascal, 5, ds, offset aOp2f_pi
|
|
|
|
|
call pi_slot_load pascal, 6, ds, offset aOp2g_pi
|
|
|
|
|
call pi_slot_load pascal, 7, ds, offset aOp2h_pi
|
2018-12-29 19:08:52 +00:00
|
|
|
|
graph_accesspage 0
|
|
|
|
|
graph_showpage al
|
2015-01-12 21:48:13 +00:00
|
|
|
|
call grcg_setcolor pascal, (GC_RMW shl 16) + 1
|
2018-12-29 19:08:52 +00:00
|
|
|
|
graph_accesspage 1
|
2019-11-10 23:18:22 +00:00
|
|
|
|
call grcg_byteboxfill_x pascal, large 0, (((RES_X - 1) / 8) shl 16) or (RES_Y - 1)
|
2018-12-29 19:08:52 +00:00
|
|
|
|
graph_accesspage 0
|
2019-11-10 23:18:22 +00:00
|
|
|
|
call grcg_byteboxfill_x pascal, large 0, (((RES_X - 1) / 8) shl 16) or (RES_Y - 1)
|
2018-12-04 22:08:57 +00:00
|
|
|
|
GRCG_OFF_CLOBBERING dx
|
2019-12-28 21:05:25 +00:00
|
|
|
|
call graph_copy_page pascal, 1
|
2018-12-29 19:08:52 +00:00
|
|
|
|
mov [bp+@@page_access], 1
|
2020-02-22 15:48:31 +00:00
|
|
|
|
mov [bp+@@page_show], 0
|
2018-12-29 19:08:52 +00:00
|
|
|
|
graph_accesspage 0
|
|
|
|
|
graph_showpage al
|
2014-06-26 20:33:22 +00:00
|
|
|
|
xor si, si
|
|
|
|
|
jmp short loc_BDAD
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_BD55:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ax, si
|
|
|
|
|
mov bx, 8
|
|
|
|
|
cwd
|
|
|
|
|
idiv bx
|
|
|
|
|
cmp dx, 1
|
|
|
|
|
jg short loc_BD81
|
|
|
|
|
mov ax, si
|
|
|
|
|
cwd
|
|
|
|
|
idiv bx
|
2014-12-16 04:53:56 +00:00
|
|
|
|
call pi_slot_palette_apply pascal, ax
|
2019-12-08 05:32:01 +00:00
|
|
|
|
pushd (0 shl 16) or 278
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ax, si
|
|
|
|
|
mov bx, 8
|
|
|
|
|
cwd
|
|
|
|
|
idiv bx
|
|
|
|
|
push ax
|
2014-12-18 13:36:43 +00:00
|
|
|
|
call pi_slot_put
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_BD81:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push 1
|
2014-11-23 21:25:22 +00:00
|
|
|
|
call frame_delay
|
2018-12-29 19:08:52 +00:00
|
|
|
|
graph_accesspage [bp+@@page_access]
|
2020-02-22 15:48:31 +00:00
|
|
|
|
graph_showpage [bp+@@page_show]
|
2018-12-29 19:08:52 +00:00
|
|
|
|
mov [bp+@@page_access], al
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov al, 1
|
2020-02-22 15:48:31 +00:00
|
|
|
|
sub al, [bp+@@page_show]
|
|
|
|
|
mov [bp+@@page_show], al
|
2019-12-28 22:45:48 +00:00
|
|
|
|
lea ax, [si+36]
|
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-26 20:33:22 +00:00
|
|
|
|
inc si
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_BDAD:
|
2014-09-18 15:20:12 +00:00
|
|
|
|
cmp si, 40h
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jl short loc_BD55
|
|
|
|
|
mov si, 1
|
|
|
|
|
jmp short loc_BDBE
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_BDB7:
|
2014-12-16 04:53:56 +00:00
|
|
|
|
call pi_slot_free pascal, si
|
2014-06-26 20:33:22 +00:00
|
|
|
|
inc si
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_BDBE:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cmp si, 8
|
|
|
|
|
jl short loc_BDB7
|
2019-12-28 21:05:25 +00:00
|
|
|
|
call graph_copy_page pascal, 1
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
cmp es:[bx+resident_t.demo_num], 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_BDE8
|
2014-11-29 23:18:40 +00:00
|
|
|
|
call snd_load pascal, ds, offset aOp_0, SND_LOAD_SONG
|
2014-11-27 18:35:54 +00:00
|
|
|
|
kajacall KAJA_SONG_PLAY
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_BDE8:
|
2014-12-16 04:53:56 +00:00
|
|
|
|
call pi_slot_load pascal, 0, ds, offset aOp1_pi_0
|
2018-12-29 19:08:52 +00:00
|
|
|
|
graph_accesspage 0
|
|
|
|
|
graph_showpage al
|
2018-07-05 06:19:15 +00:00
|
|
|
|
push 16
|
2014-11-23 21:25:22 +00:00
|
|
|
|
call frame_delay
|
2014-06-26 20:33:22 +00:00
|
|
|
|
xor si, si
|
|
|
|
|
jmp short loc_BE46
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_BE08:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ax, si
|
|
|
|
|
mov bx, 4
|
|
|
|
|
cwd
|
|
|
|
|
idiv bx
|
|
|
|
|
cmp dx, 1
|
|
|
|
|
jg short loc_BE25
|
2014-11-19 11:09:22 +00:00
|
|
|
|
pushd 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push 0
|
|
|
|
|
mov ax, si
|
|
|
|
|
cwd
|
|
|
|
|
idiv bx
|
|
|
|
|
push ax
|
2019-12-10 07:52:24 +00:00
|
|
|
|
call pi_slot_put_mask
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_BE25:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push 1
|
2014-11-23 21:25:22 +00:00
|
|
|
|
call frame_delay
|
2018-12-29 19:08:52 +00:00
|
|
|
|
graph_accesspage [bp+@@page_access]
|
2020-02-22 15:48:31 +00:00
|
|
|
|
graph_showpage [bp+@@page_show]
|
2018-12-29 19:08:52 +00:00
|
|
|
|
mov [bp+@@page_access], al
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov al, 1
|
2020-02-22 15:48:31 +00:00
|
|
|
|
sub al, [bp+@@page_show]
|
|
|
|
|
mov [bp+@@page_show], al
|
2014-06-26 20:33:22 +00:00
|
|
|
|
inc si
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_BE46:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cmp si, 10h
|
|
|
|
|
jl short loc_BE08
|
2018-12-29 19:08:52 +00:00
|
|
|
|
graph_accesspage 1
|
|
|
|
|
graph_showpage 0
|
2014-12-16 04:53:56 +00:00
|
|
|
|
call pi_slot_palette_apply pascal, 0
|
2014-12-18 13:36:43 +00:00
|
|
|
|
call pi_slot_put pascal, large 0, 0
|
2014-12-16 04:53:56 +00:00
|
|
|
|
call pi_slot_free pascal, 0
|
2019-12-28 21:05:25 +00:00
|
|
|
|
call graph_copy_page pascal, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
pop si
|
|
|
|
|
leave
|
|
|
|
|
retn
|
2019-12-08 05:32:01 +00:00
|
|
|
|
op_animate endp
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; =============== S U B R O U T I N E =======================================
|
|
|
|
|
|
|
|
|
|
; Attributes: bp-based frame
|
2019-11-25 11:09:11 +00:00
|
|
|
|
public DRAW_TRACK
|
|
|
|
|
draw_track proc near
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
var_5 = byte ptr -5
|
|
|
|
|
var_4 = word ptr -4
|
|
|
|
|
var_2 = word ptr -2
|
|
|
|
|
arg_0 = word ptr 4
|
|
|
|
|
arg_2 = byte ptr 6
|
|
|
|
|
|
|
|
|
|
enter 6, 0
|
|
|
|
|
push si
|
|
|
|
|
mov [bp+var_5], 5
|
|
|
|
|
mov al, [bp+arg_2]
|
|
|
|
|
mov ah, 0
|
|
|
|
|
sub ax, word_1403A
|
|
|
|
|
shl ax, 4
|
|
|
|
|
mov si, ax
|
|
|
|
|
or si, si
|
|
|
|
|
jl loc_BF48
|
2019-11-10 23:18:22 +00:00
|
|
|
|
cmp si, 192
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jge loc_BF48
|
|
|
|
|
cmp [bp+arg_0], 0
|
|
|
|
|
jz short loc_BEF4
|
2015-01-12 21:48:13 +00:00
|
|
|
|
call grcg_setcolor pascal, (GC_RMW shl 16) + 5
|
2019-11-10 23:18:22 +00:00
|
|
|
|
push (12 shl 16) or 300
|
|
|
|
|
lea ax, [si+96]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ax
|
2014-08-27 22:17:57 +00:00
|
|
|
|
call grcg_hline
|
2019-11-10 23:18:22 +00:00
|
|
|
|
push (12 shl 16) or 300
|
|
|
|
|
lea ax, [si+111]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ax
|
2014-08-27 22:17:57 +00:00
|
|
|
|
call grcg_hline
|
2019-11-10 23:18:22 +00:00
|
|
|
|
push 12
|
|
|
|
|
lea ax, [si+96]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ax
|
2019-11-10 23:18:22 +00:00
|
|
|
|
lea ax, [si+111]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ax
|
2014-08-27 22:48:06 +00:00
|
|
|
|
call grcg_vline
|
2019-11-10 23:18:22 +00:00
|
|
|
|
push 300
|
|
|
|
|
lea ax, [si+96]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ax
|
2019-11-10 23:18:22 +00:00
|
|
|
|
lea ax, [si+111]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ax
|
2014-08-27 22:48:06 +00:00
|
|
|
|
call grcg_vline
|
2018-12-04 22:08:57 +00:00
|
|
|
|
GRCG_OFF_CLOBBERING dx
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_BF05
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_BEF4:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push 0
|
2019-11-10 23:18:22 +00:00
|
|
|
|
lea ax, [si+96]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ax
|
2019-12-28 21:51:33 +00:00
|
|
|
|
push (320 shl 16) or 16
|
2019-12-08 12:09:13 +00:00
|
|
|
|
call bgimage_put_rect
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_BF05:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov al, [bp+arg_2]
|
|
|
|
|
mov ah, 0
|
|
|
|
|
cmp ax, word_1403C
|
|
|
|
|
jnz short loc_BF14
|
|
|
|
|
mov [bp+var_5], 3
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_BF14:
|
2014-12-24 20:39:34 +00:00
|
|
|
|
mov bx, music_game
|
2014-06-26 20:33:22 +00:00
|
|
|
|
imul bx, 78h
|
|
|
|
|
mov al, [bp+arg_2]
|
|
|
|
|
mov ah, 0
|
|
|
|
|
shl ax, 2
|
|
|
|
|
add bx, ax
|
2019-12-05 02:53:01 +00:00
|
|
|
|
mov ax, word ptr _MUSIC_TITLES+2[bx]
|
|
|
|
|
mov dx, word ptr _MUSIC_TITLES[bx]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov [bp+var_2], ax
|
|
|
|
|
mov [bp+var_4], dx
|
2019-12-21 17:08:24 +00:00
|
|
|
|
add si, 96
|
|
|
|
|
push 12
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push si
|
|
|
|
|
mov al, [bp+var_5]
|
|
|
|
|
mov ah, 0
|
|
|
|
|
push ax
|
|
|
|
|
push [bp+var_2]
|
|
|
|
|
push dx
|
2019-11-24 13:32:32 +00:00
|
|
|
|
call graph_putsa_fx
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_BF48:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
pop si
|
|
|
|
|
leave
|
|
|
|
|
retn 4
|
2019-11-25 11:09:11 +00:00
|
|
|
|
draw_track endp
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; =============== S U B R O U T I N E =======================================
|
|
|
|
|
|
|
|
|
|
; Attributes: bp-based frame
|
2019-11-25 11:09:11 +00:00
|
|
|
|
public DRAW_TRACKS
|
|
|
|
|
draw_tracks proc near
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2019-11-25 11:09:11 +00:00
|
|
|
|
@@sel = byte ptr 4
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
push bp
|
|
|
|
|
mov bp, sp
|
|
|
|
|
push si
|
|
|
|
|
xor si, si
|
|
|
|
|
jmp short loc_BF6B
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_BF55:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push si
|
2019-11-25 11:09:11 +00:00
|
|
|
|
mov al, [bp+@@sel]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
cmp ax, si
|
|
|
|
|
jnz short loc_BF64
|
|
|
|
|
mov ax, 1
|
|
|
|
|
jmp short loc_BF66
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_BF64:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
xor ax, ax
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_BF66:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ax
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call draw_track
|
2014-06-26 20:33:22 +00:00
|
|
|
|
inc si
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_BF6B:
|
2014-07-03 19:28:21 +00:00
|
|
|
|
mov ax, musicroom_trackcount
|
2014-06-26 20:33:22 +00:00
|
|
|
|
add ax, 2
|
|
|
|
|
cmp ax, si
|
|
|
|
|
jg short loc_BF55
|
2019-12-21 17:08:24 +00:00
|
|
|
|
call graph_putsa_fx pascal, (12 shl 16) or 80, 5, large [MUSICROOM_UP]
|
|
|
|
|
call graph_putsa_fx pascal, (12 shl 16) or 288, 5, large [MUSICROOM_DOWN]
|
|
|
|
|
push (12 shl 16) or 32
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push 3
|
2014-12-24 20:39:34 +00:00
|
|
|
|
mov bx, music_game
|
2014-06-26 20:33:22 +00:00
|
|
|
|
shl bx, 2
|
2014-11-19 11:09:22 +00:00
|
|
|
|
pushd dword ptr MUSICROOM_GAME[bx]
|
2019-11-24 13:32:32 +00:00
|
|
|
|
call graph_putsa_fx
|
2014-06-26 20:33:22 +00:00
|
|
|
|
pop si
|
|
|
|
|
pop bp
|
|
|
|
|
retn 2
|
2019-11-25 11:09:11 +00:00
|
|
|
|
draw_tracks endp
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2019-11-25 11:09:11 +00:00
|
|
|
|
include th02/music/music.asm
|
2014-12-24 20:39:34 +00:00
|
|
|
|
include th05/music/music_cmt_load.asm
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
; =============== S U B R O U T I N E =======================================
|
|
|
|
|
|
|
|
|
|
; Attributes: bp-based frame
|
2019-11-25 11:09:11 +00:00
|
|
|
|
public DRAW_CMT_LINES
|
|
|
|
|
draw_cmt_lines proc pascal near
|
2014-12-24 20:39:34 +00:00
|
|
|
|
local @@y:word
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
push si
|
|
|
|
|
push di
|
2019-12-21 17:08:24 +00:00
|
|
|
|
call graph_putsa_fx pascal, (320 shl 16) or 32, 7, ds, offset _music_cmt
|
2015-02-24 14:45:38 +00:00
|
|
|
|
mov si, offset _music_cmt + MUSIC_CMT_LINE_LEN
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov di, 1
|
2014-12-24 20:39:34 +00:00
|
|
|
|
mov @@y, 180
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_C36D
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_C351:
|
2014-12-24 20:39:34 +00:00
|
|
|
|
cmp byte ptr [si], ';'
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_C365
|
2019-12-21 17:08:24 +00:00
|
|
|
|
call graph_putsa_fx pascal, 320, @@y, 7, ds, si
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_C365:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
inc di
|
2014-12-24 20:39:34 +00:00
|
|
|
|
add @@y, 16
|
|
|
|
|
add si, MUSIC_CMT_LINE_LEN
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_C36D:
|
2014-12-24 20:39:34 +00:00
|
|
|
|
cmp di, MUSIC_CMT_LINE_COUNT
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jl short loc_C351
|
|
|
|
|
pop di
|
|
|
|
|
pop si
|
2014-12-24 20:39:34 +00:00
|
|
|
|
ret
|
2019-11-25 11:09:11 +00:00
|
|
|
|
draw_cmt_lines endp
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; =============== S U B R O U T I N E =======================================
|
|
|
|
|
|
|
|
|
|
; Attributes: bp-based frame
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
sub_C376 proc near
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push bp
|
|
|
|
|
mov bp, sp
|
|
|
|
|
push si
|
|
|
|
|
mov si, 4
|
|
|
|
|
jmp short loc_C390
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_C37F:
|
2019-11-25 08:44:38 +00:00
|
|
|
|
mov _graph_putsa_fx_func, si
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call draw_cmt_lines
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call music_flip
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call draw_cmt_lines
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call music_flip
|
2014-06-26 20:33:22 +00:00
|
|
|
|
inc si
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_C390:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cmp si, 8
|
|
|
|
|
jl short loc_C37F
|
2019-11-25 08:44:38 +00:00
|
|
|
|
mov _graph_putsa_fx_func, 2
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call draw_cmt_lines
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call music_flip
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call draw_cmt_lines
|
2014-06-26 20:33:22 +00:00
|
|
|
|
pop si
|
|
|
|
|
pop bp
|
|
|
|
|
retn
|
|
|
|
|
sub_C376 endp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; =============== S U B R O U T I N E =======================================
|
|
|
|
|
|
|
|
|
|
; Attributes: bp-based frame
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
sub_C3A7 proc near
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push bp
|
|
|
|
|
mov bp, sp
|
2019-11-25 08:44:38 +00:00
|
|
|
|
mov _graph_putsa_fx_func, 2
|
2019-12-28 21:51:33 +00:00
|
|
|
|
call bgimage_put_rect pascal, (320 shl 16) or 32, (320 shl 16) or 16
|
|
|
|
|
call bgimage_put_rect pascal, (320 shl 16) or 180, (320 shl 16) or 144
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call music_flip
|
2019-12-28 21:51:33 +00:00
|
|
|
|
call bgimage_put_rect pascal, (320 shl 16) or 32, (320 shl 16) or 16
|
|
|
|
|
call bgimage_put_rect pascal, (320 shl 16) or 180, (320 shl 16) or 144
|
2014-06-26 20:33:22 +00:00
|
|
|
|
pop bp
|
|
|
|
|
retn
|
|
|
|
|
sub_C3A7 endp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; =============== S U B R O U T I N E =======================================
|
|
|
|
|
|
|
|
|
|
; Attributes: bp-based frame
|
2019-11-25 11:09:11 +00:00
|
|
|
|
public DRAW_CMT
|
|
|
|
|
draw_cmt proc near
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-12-24 20:39:34 +00:00
|
|
|
|
@@track = word ptr 4
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
push bp
|
|
|
|
|
mov bp, sp
|
|
|
|
|
cmp byte_13E96, 0
|
|
|
|
|
jz short loc_C406
|
|
|
|
|
call sub_C3A7
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_C406:
|
2014-12-24 20:39:34 +00:00
|
|
|
|
call music_cmt_load pascal, [bp+@@track]
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call screen_back_B_put
|
2019-12-28 21:51:33 +00:00
|
|
|
|
call bgimage_put_rect pascal, (320 shl 16) or 64, (320 shl 16) or 256
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cmp byte_13E96, 0
|
|
|
|
|
jz short loc_C42C
|
|
|
|
|
call sub_C376
|
|
|
|
|
jmp short loc_C43A
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_C42C:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov byte_13E96, 1
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call draw_cmt_lines
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call music_flip
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call draw_cmt_lines
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_C43A:
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call screen_back_B_put
|
2014-06-26 20:33:22 +00:00
|
|
|
|
pop bp
|
|
|
|
|
retn 2
|
2019-11-25 11:09:11 +00:00
|
|
|
|
draw_cmt endp
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; =============== S U B R O U T I N E =======================================
|
|
|
|
|
|
|
|
|
|
; Attributes: bp-based frame
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
sub_C441 proc near
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
arg_0 = word ptr 4
|
|
|
|
|
|
|
|
|
|
push bp
|
|
|
|
|
mov bp, sp
|
|
|
|
|
push si
|
|
|
|
|
mov si, [bp+arg_0]
|
2019-12-28 21:51:33 +00:00
|
|
|
|
call bgimage_put_rect pascal, large (0 shl 16) or 32, (320 shl 16) or 16
|
|
|
|
|
call bgimage_put_rect pascal, large (0 shl 16) or 96, (320 shl 16) or 192
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call draw_tracks pascal, si
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call music_flip
|
2019-12-28 21:51:33 +00:00
|
|
|
|
call bgimage_put_rect pascal, large (0 shl 16) or 32, (320 shl 16) or 16
|
|
|
|
|
call bgimage_put_rect pascal, large (0 shl 16) or 96, (320 shl 16) or 192
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call draw_tracks pascal, si
|
2014-06-26 20:33:22 +00:00
|
|
|
|
pop si
|
|
|
|
|
pop bp
|
|
|
|
|
retn 2
|
|
|
|
|
sub_C441 endp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; =============== S U B R O U T I N E =======================================
|
|
|
|
|
|
|
|
|
|
; Attributes: bp-based frame
|
2019-11-25 11:09:11 +00:00
|
|
|
|
public MUSICROOM
|
|
|
|
|
musicroom proc near
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2019-11-25 11:09:11 +00:00
|
|
|
|
@@sel = byte ptr -1
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
enter 2, 0
|
|
|
|
|
push si
|
|
|
|
|
xor si, si
|
|
|
|
|
mov word_1403A, 0
|
|
|
|
|
mov word_1403C, 0
|
2019-11-25 11:09:11 +00:00
|
|
|
|
mov _music_sel, 0
|
2014-12-24 20:39:34 +00:00
|
|
|
|
mov bx, music_game
|
2014-06-26 20:33:22 +00:00
|
|
|
|
add bx, bx
|
2019-12-05 02:53:01 +00:00
|
|
|
|
mov ax, MUSICROOM_TRACKCOUNTS[bx]
|
2014-07-03 19:28:21 +00:00
|
|
|
|
mov musicroom_trackcount, ax
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov byte_13E96, 0
|
2019-09-15 14:22:36 +00:00
|
|
|
|
call cdg_freeall
|
2014-08-20 14:45:24 +00:00
|
|
|
|
call text_clear
|
2019-11-25 11:09:11 +00:00
|
|
|
|
mov _music_page, 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
|
2018-12-29 19:08:52 +00:00
|
|
|
|
graph_showpage 0
|
|
|
|
|
graph_accesspage al
|
2014-08-27 04:03:08 +00:00
|
|
|
|
call graph_clear
|
2018-12-29 19:08:52 +00:00
|
|
|
|
graph_accesspage 1
|
2014-12-16 04:53:56 +00:00
|
|
|
|
call pi_slot_load pascal, 0, ds, offset aMusic_pi
|
|
|
|
|
call pi_slot_palette_apply pascal, 0
|
2014-12-18 13:36:43 +00:00
|
|
|
|
call pi_slot_put pascal, large 0, 0
|
2014-12-16 04:53:56 +00:00
|
|
|
|
call pi_slot_free pascal, 0
|
2019-12-04 13:03:43 +00:00
|
|
|
|
call _piano_setup
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call screen_back_B_snap
|
2019-12-08 12:09:13 +00:00
|
|
|
|
call bgimage_snap
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call draw_tracks pascal, word ptr _music_sel
|
2019-12-28 21:05:25 +00:00
|
|
|
|
call graph_copy_page pascal, 0
|
2018-12-29 19:08:52 +00:00
|
|
|
|
graph_accesspage 1
|
|
|
|
|
graph_showpage 0
|
2014-11-16 03:00:41 +00:00
|
|
|
|
call pfend
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ds
|
|
|
|
|
push offset aMusic_dat ; "music.dat"
|
2014-11-16 03:00:41 +00:00
|
|
|
|
call pfstart
|
2019-11-25 11:09:11 +00:00
|
|
|
|
mov al, _music_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call draw_cmt pascal, ax
|
2019-12-28 22:45:48 +00:00
|
|
|
|
mov PaletteTone, 100
|
2014-08-23 14:11:16 +00:00
|
|
|
|
call far ptr palette_show
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_C555:
|
2018-09-11 17:34:19 +00:00
|
|
|
|
call _input_reset_sense_held
|
2019-11-30 15:15:03 +00:00
|
|
|
|
cmp _key_det, INPUT_NONE
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_C57F
|
|
|
|
|
cmp si, 18h
|
|
|
|
|
jl short loc_C579
|
2019-11-30 15:15:03 +00:00
|
|
|
|
cmp _key_det, INPUT_UP
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_C574
|
2019-11-30 15:15:03 +00:00
|
|
|
|
cmp _key_det, INPUT_DOWN
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_C579
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_C574:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov si, 14h
|
|
|
|
|
jmp short loc_C57F
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_C579:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
inc si
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call music_flip
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_C555
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_C57F:
|
2018-09-11 17:34:19 +00:00
|
|
|
|
call _input_reset_sense_held
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.lo, low INPUT_UP
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_C5EB
|
2019-11-25 11:09:11 +00:00
|
|
|
|
mov al, _music_sel
|
2019-11-25 11:09:11 +00:00
|
|
|
|
mov [bp+@@sel], al
|
2019-11-25 11:09:11 +00:00
|
|
|
|
cmp _music_sel, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jbe short loc_C5D5
|
2019-11-25 11:09:11 +00:00
|
|
|
|
dec _music_sel
|
|
|
|
|
mov al, _music_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
cmp ax, word_1403A
|
|
|
|
|
jge short loc_C5AE
|
2019-11-25 11:09:11 +00:00
|
|
|
|
mov al, _music_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
jmp short loc_C61C
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_C5AE:
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call draw_track pascal, word ptr [bp+@@sel], 0
|
|
|
|
|
call draw_track pascal, word ptr _music_sel, 1
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call music_flip
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call draw_track pascal, word ptr [bp+@@sel], 0
|
|
|
|
|
call draw_track pascal, word ptr _music_sel, 1
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_C5EB
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_C5D5:
|
2014-07-03 19:28:21 +00:00
|
|
|
|
mov al, byte ptr musicroom_trackcount
|
2019-11-25 11:09:11 +00:00
|
|
|
|
mov _music_sel, al
|
2014-07-03 19:28:21 +00:00
|
|
|
|
mov ax, musicroom_trackcount
|
2014-06-26 20:33:22 +00:00
|
|
|
|
add ax, 0FFF5h
|
|
|
|
|
mov word_1403A, ax
|
2014-07-03 19:28:21 +00:00
|
|
|
|
push musicroom_trackcount
|
2014-06-26 20:33:22 +00:00
|
|
|
|
call sub_C441
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_C5EB:
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.lo, low INPUT_DOWN
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_C666
|
2019-11-25 11:09:11 +00:00
|
|
|
|
mov al, _music_sel
|
2019-11-25 11:09:11 +00:00
|
|
|
|
mov [bp+@@sel], al
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
2014-07-03 19:28:21 +00:00
|
|
|
|
cmp ax, musicroom_trackcount
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jge short loc_C652
|
2019-11-25 11:09:11 +00:00
|
|
|
|
inc _music_sel
|
|
|
|
|
mov al, _music_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
mov dx, word_1403A
|
|
|
|
|
add dx, 0Ch
|
|
|
|
|
cmp ax, dx
|
|
|
|
|
jl short loc_C62B
|
2019-11-25 11:09:11 +00:00
|
|
|
|
mov al, _music_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
add ax, 0FFF5h
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_C61C:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov word_1403A, ax
|
2019-11-25 11:09:11 +00:00
|
|
|
|
mov al, _music_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
push ax
|
|
|
|
|
call sub_C441
|
|
|
|
|
jmp loc_C6E3
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_C62B:
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call draw_track pascal, word ptr [bp+@@sel], 0
|
|
|
|
|
call draw_track pascal, word ptr _music_sel, 1
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call music_flip
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call draw_track pascal, word ptr [bp+@@sel], 0
|
|
|
|
|
call draw_track pascal, word ptr _music_sel, 1
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_C666
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_C652:
|
2019-11-25 11:09:11 +00:00
|
|
|
|
mov _music_sel, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov word_1403A, 0
|
2019-11-25 11:09:11 +00:00
|
|
|
|
mov al, _music_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
push ax
|
|
|
|
|
call sub_C441
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_C666:
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.lo, low INPUT_LEFT
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_C680
|
2014-12-24 20:39:34 +00:00
|
|
|
|
dec music_game
|
|
|
|
|
cmp music_game, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jge short loc_C698
|
2014-12-24 20:39:34 +00:00
|
|
|
|
mov music_game, 4
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_C698
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_C680:
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.lo, low INPUT_RIGHT
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_C6E3
|
2014-12-24 20:39:34 +00:00
|
|
|
|
inc music_game
|
|
|
|
|
cmp music_game, 5
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jl short loc_C698
|
2014-12-24 20:39:34 +00:00
|
|
|
|
mov music_game, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_C698:
|
2019-11-25 11:09:11 +00:00
|
|
|
|
mov _music_sel, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov word_1403C, 0
|
|
|
|
|
mov word_1403A, 0
|
2014-12-24 20:39:34 +00:00
|
|
|
|
mov bx, music_game
|
2014-06-26 20:33:22 +00:00
|
|
|
|
add bx, bx
|
2019-12-05 02:53:01 +00:00
|
|
|
|
mov ax, MUSICROOM_TRACKCOUNTS[bx]
|
2014-07-03 19:28:21 +00:00
|
|
|
|
mov musicroom_trackcount, ax
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push 0
|
|
|
|
|
call sub_C441
|
2014-11-27 18:35:54 +00:00
|
|
|
|
kajacall KAJA_SONG_FADE, 32
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call draw_cmt pascal, 0
|
2014-12-24 20:39:34 +00:00
|
|
|
|
mov bx, music_game
|
2014-06-26 20:33:22 +00:00
|
|
|
|
imul bx, 78h
|
2019-12-05 02:53:01 +00:00
|
|
|
|
call snd_load pascal, dword ptr _MUSIC_FILES[bx], SND_LOAD_SONG
|
2014-11-27 18:35:54 +00:00
|
|
|
|
kajacall KAJA_SONG_PLAY
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_C6E3:
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.lo, low INPUT_SHOT
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_C6F1
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.hi, high INPUT_OK
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_C767
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_C6F1:
|
2019-11-25 11:09:11 +00:00
|
|
|
|
mov al, _music_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
2014-07-03 19:28:21 +00:00
|
|
|
|
cmp ax, musicroom_trackcount
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz loc_C77F
|
2014-11-27 18:35:54 +00:00
|
|
|
|
kajacall KAJA_SONG_FADE, 32
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov al, byte ptr word_1403C
|
2019-11-25 11:09:11 +00:00
|
|
|
|
mov [bp+@@sel], al
|
2019-11-25 11:09:11 +00:00
|
|
|
|
mov al, _music_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
mov word_1403C, ax
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call draw_track pascal, word ptr [bp+@@sel], 0
|
|
|
|
|
call draw_track pascal, word ptr _music_sel, 1
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call music_flip
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call draw_track pascal, word ptr [bp+@@sel], 0
|
|
|
|
|
call draw_track pascal, word ptr _music_sel, 1
|
2019-11-25 11:09:11 +00:00
|
|
|
|
mov al, _music_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call draw_cmt pascal, ax
|
2014-12-24 20:39:34 +00:00
|
|
|
|
mov bx, music_game
|
2014-06-26 20:33:22 +00:00
|
|
|
|
imul bx, 78h
|
2019-11-25 11:09:11 +00:00
|
|
|
|
mov al, _music_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
shl ax, 2
|
|
|
|
|
add bx, ax
|
2019-12-05 02:53:01 +00:00
|
|
|
|
call snd_load pascal, dword ptr _MUSIC_FILES[bx], SND_LOAD_SONG
|
2014-11-27 18:35:54 +00:00
|
|
|
|
kajacall KAJA_SONG_PLAY
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_C767:
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.hi, high INPUT_CANCEL
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_C77F
|
2019-11-30 15:15:03 +00:00
|
|
|
|
cmp _key_det, INPUT_NONE
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz loc_C555
|
|
|
|
|
xor si, si
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call music_flip
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp loc_C57F
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_C77F:
|
2018-09-11 17:34:19 +00:00
|
|
|
|
call _input_reset_sense_held
|
2019-11-30 15:15:03 +00:00
|
|
|
|
cmp _key_det, INPUT_NONE
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_C790
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call music_flip
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_C77F
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_C790:
|
2014-11-16 03:00:41 +00:00
|
|
|
|
call pfend
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ds
|
2014-07-03 19:12:55 +00:00
|
|
|
|
push offset aKaikidan1_dat1
|
2014-11-16 03:00:41 +00:00
|
|
|
|
call pfstart
|
2014-11-27 18:35:54 +00:00
|
|
|
|
kajacall KAJA_SONG_FADE, 16
|
2019-11-25 11:09:11 +00:00
|
|
|
|
call screen_back_B_free
|
2018-12-29 19:08:52 +00:00
|
|
|
|
graph_showpage 0
|
|
|
|
|
graph_accesspage al
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push 1
|
2014-08-26 22:33:43 +00:00
|
|
|
|
call palette_black_out
|
2019-12-08 12:09:13 +00:00
|
|
|
|
call bgimage_free
|
2014-11-29 23:18:40 +00:00
|
|
|
|
call snd_load pascal, ds, offset aH_op+2, SND_LOAD_SONG
|
2014-11-27 18:35:54 +00:00
|
|
|
|
kajacall KAJA_SONG_PLAY
|
2014-06-26 20:33:22 +00:00
|
|
|
|
pop si
|
|
|
|
|
leave
|
|
|
|
|
retn
|
2019-11-25 11:09:11 +00:00
|
|
|
|
musicroom endp
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2019-12-27 21:28:54 +00:00
|
|
|
|
include th04/formats/scoredat_decode_both.asm
|
|
|
|
|
include th04/formats/scoredat_encode.asm
|
|
|
|
|
include th05/formats/scoredat_recreate_op.asm
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
; =============== S U B R O U T I N E =======================================
|
|
|
|
|
|
|
|
|
|
; Attributes: bp-based frame
|
2019-12-26 15:07:35 +00:00
|
|
|
|
public SCOREDAT_LOAD
|
|
|
|
|
scoredat_load proc near
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
arg_0 = word ptr 4
|
|
|
|
|
|
|
|
|
|
push bp
|
|
|
|
|
mov bp, sp
|
|
|
|
|
push ds
|
|
|
|
|
push offset aGensou_scr ; "GENSOU.SCR"
|
2014-08-30 06:46:38 +00:00
|
|
|
|
call file_exist
|
2014-06-26 20:33:22 +00:00
|
|
|
|
or ax, ax
|
|
|
|
|
jz short loc_CA0C
|
|
|
|
|
push ds
|
|
|
|
|
push offset aGensou_scr ; "GENSOU.SCR"
|
2014-08-30 07:12:17 +00:00
|
|
|
|
call file_ropen
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ax, [bp+arg_0]
|
|
|
|
|
imul ax, 5
|
2019-03-01 15:16:54 +00:00
|
|
|
|
mov dl, _hiscore_rank
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov dh, 0
|
|
|
|
|
add ax, dx
|
2019-12-26 16:19:44 +00:00
|
|
|
|
imul ax, size scoredat_section_t
|
2014-06-26 20:33:22 +00:00
|
|
|
|
movzx eax, ax
|
2019-12-26 16:19:44 +00:00
|
|
|
|
call file_seek pascal, large eax, 0
|
|
|
|
|
call file_read pascal, ds, offset _hi, size scoredat_section_t
|
2014-08-30 06:15:42 +00:00
|
|
|
|
call file_close
|
2019-12-27 21:28:54 +00:00
|
|
|
|
call scoredat_decode_func
|
2014-06-26 20:33:22 +00:00
|
|
|
|
or al, al
|
|
|
|
|
jz short loc_CA15
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CA0C:
|
2019-12-27 21:28:54 +00:00
|
|
|
|
call scoredat_recreate_op
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov al, 1
|
|
|
|
|
pop bp
|
|
|
|
|
retn 2
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CA15:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov al, 0
|
|
|
|
|
pop bp
|
|
|
|
|
retn 2
|
2019-12-26 15:07:35 +00:00
|
|
|
|
scoredat_load endp
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; =============== S U B R O U T I N E =======================================
|
|
|
|
|
|
|
|
|
|
; Attributes: bp-based frame
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
sub_CA1B proc near
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
var_2 = word ptr -2
|
|
|
|
|
arg_0 = word ptr 4
|
2019-12-22 13:04:34 +00:00
|
|
|
|
@@y = word ptr 6
|
2014-06-26 20:33:22 +00:00
|
|
|
|
arg_4 = word ptr 8
|
|
|
|
|
|
|
|
|
|
enter 2, 0
|
|
|
|
|
push si
|
|
|
|
|
push di
|
|
|
|
|
mov si, [bp+arg_4]
|
|
|
|
|
mov di, [bp+arg_0]
|
|
|
|
|
mov bx, di
|
|
|
|
|
shl bx, 3
|
2019-12-26 16:19:44 +00:00
|
|
|
|
mov al, _hi.score.g_points[bx][SCORE_DIGITS - 1]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
2019-12-26 16:19:44 +00:00
|
|
|
|
add ax, -gb_0_
|
2019-12-22 13:04:34 +00:00
|
|
|
|
cmp ax, 10
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jl short loc_CA5B
|
2019-12-22 13:04:34 +00:00
|
|
|
|
lea ax, [si-16]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ax
|
2019-12-22 13:04:34 +00:00
|
|
|
|
push [bp+@@y]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov bx, di
|
|
|
|
|
shl bx, 3
|
2019-12-26 16:19:44 +00:00
|
|
|
|
mov al, _hi.score.g_points[bx][SCORE_DIGITS - 1]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
2019-12-26 16:19:44 +00:00
|
|
|
|
add ax, -gb_0_
|
2019-12-22 13:04:34 +00:00
|
|
|
|
mov bx, 10
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cwd
|
|
|
|
|
idiv bx
|
|
|
|
|
push ax
|
2014-08-28 00:13:13 +00:00
|
|
|
|
call super_put
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CA5B:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push si
|
2019-12-22 13:04:34 +00:00
|
|
|
|
push [bp+@@y]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov bx, di
|
|
|
|
|
shl bx, 3
|
2019-12-26 16:19:44 +00:00
|
|
|
|
mov al, _hi.score.g_points[bx][SCORE_DIGITS - 1]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
2019-12-26 16:19:44 +00:00
|
|
|
|
add ax, -gb_0_
|
2019-12-22 13:04:34 +00:00
|
|
|
|
mov bx, 10
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cwd
|
|
|
|
|
idiv bx
|
|
|
|
|
push dx
|
2014-08-28 00:13:13 +00:00
|
|
|
|
call super_put
|
2019-12-22 13:04:34 +00:00
|
|
|
|
add si, 16
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov [bp+var_2], 6
|
|
|
|
|
jmp short loc_CAA4
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CA83:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push si
|
2019-12-22 13:04:34 +00:00
|
|
|
|
push [bp+@@y]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov bx, di
|
|
|
|
|
shl bx, 3
|
|
|
|
|
add bx, [bp+var_2]
|
2019-12-26 16:19:44 +00:00
|
|
|
|
mov al, _hi.score.g_points[bx]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
2019-12-26 16:19:44 +00:00
|
|
|
|
add ax, -gb_0_
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ax
|
2014-08-28 00:13:13 +00:00
|
|
|
|
call super_put
|
2014-06-26 20:33:22 +00:00
|
|
|
|
dec [bp+var_2]
|
2019-12-22 13:04:34 +00:00
|
|
|
|
add si, 16
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CAA4:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cmp [bp+var_2], 0
|
|
|
|
|
jge short loc_CA83
|
|
|
|
|
pop di
|
|
|
|
|
pop si
|
|
|
|
|
leave
|
|
|
|
|
retn 6
|
|
|
|
|
sub_CA1B endp
|
|
|
|
|
|
2019-12-29 16:47:23 +00:00
|
|
|
|
include th04/hiscore/hiscore_stage_put.asm
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
; =============== S U B R O U T I N E =======================================
|
|
|
|
|
|
|
|
|
|
; Attributes: bp-based frame
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
sub_CB00 proc near
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2019-12-28 21:05:25 +00:00
|
|
|
|
@@color = word ptr -2
|
2014-06-26 20:33:22 +00:00
|
|
|
|
arg_0 = word ptr 4
|
|
|
|
|
arg_2 = word ptr 6
|
|
|
|
|
|
|
|
|
|
enter 2, 0
|
|
|
|
|
push si
|
|
|
|
|
push di
|
|
|
|
|
cmp [bp+arg_0], 0
|
|
|
|
|
jnz short loc_CB3A
|
|
|
|
|
mov bx, [bp+arg_2]
|
|
|
|
|
cmp bx, 3
|
|
|
|
|
ja short loc_CB33
|
|
|
|
|
add bx, bx
|
|
|
|
|
jmp cs:off_CBD4[bx]
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CB1B:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov si, 8
|
|
|
|
|
jmp short loc_CB23
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CB20:
|
2019-12-28 21:05:25 +00:00
|
|
|
|
mov si, 328
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CB23:
|
2019-12-28 21:05:25 +00:00
|
|
|
|
mov di, 88
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_CB33
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CB28:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov si, 8
|
|
|
|
|
jmp short loc_CB30
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CB2D:
|
2019-12-28 21:05:25 +00:00
|
|
|
|
mov si, 328
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CB30:
|
2019-12-28 21:05:25 +00:00
|
|
|
|
mov di, 224
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CB33:
|
2019-12-28 21:05:25 +00:00
|
|
|
|
mov [bp+@@color], 7
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_CB74
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CB3A:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov bx, [bp+arg_2]
|
|
|
|
|
cmp bx, 3
|
|
|
|
|
ja short loc_CB6F
|
|
|
|
|
add bx, bx
|
|
|
|
|
jmp cs:off_CBCC[bx]
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CB49:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov si, 8
|
|
|
|
|
jmp short loc_CB51
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CB4E:
|
2019-12-28 21:05:25 +00:00
|
|
|
|
mov si, 328
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CB51:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ax, [bp+arg_0]
|
|
|
|
|
shl ax, 4
|
2019-12-28 21:05:25 +00:00
|
|
|
|
add ax, 96
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_CB6D
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CB5C:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov si, 8
|
|
|
|
|
jmp short loc_CB64
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CB61:
|
2019-12-28 21:05:25 +00:00
|
|
|
|
mov si, 328
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CB64:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ax, [bp+arg_0]
|
|
|
|
|
shl ax, 4
|
2019-12-28 21:05:25 +00:00
|
|
|
|
add ax, 232
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CB6D:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov di, ax
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CB6F:
|
2019-12-28 21:05:25 +00:00
|
|
|
|
mov [bp+@@color], 2
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CB74:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
lea ax, [si+2]
|
|
|
|
|
push ax
|
|
|
|
|
lea ax, [di+2]
|
|
|
|
|
push ax
|
2019-12-28 21:05:25 +00:00
|
|
|
|
push GAIJI_W
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ax, [bp+arg_0]
|
2019-12-28 21:05:25 +00:00
|
|
|
|
imul ax, (SCOREDAT_NAME_LEN + 1)
|
2019-12-26 16:19:44 +00:00
|
|
|
|
add ax, offset _hi.score.g_name
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ds
|
|
|
|
|
push ax
|
2019-12-28 21:05:25 +00:00
|
|
|
|
push 14
|
2014-09-15 01:03:52 +00:00
|
|
|
|
call graph_gaiji_puts
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push si
|
|
|
|
|
push di
|
2019-12-28 21:05:25 +00:00
|
|
|
|
push GAIJI_W
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ax, [bp+arg_0]
|
2019-12-28 21:05:25 +00:00
|
|
|
|
imul ax, (SCOREDAT_NAME_LEN + 1)
|
2019-12-26 16:19:44 +00:00
|
|
|
|
add ax, offset _hi.score.g_name
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ds
|
|
|
|
|
push ax
|
2019-12-28 21:05:25 +00:00
|
|
|
|
push [bp+@@color]
|
2014-09-15 01:03:52 +00:00
|
|
|
|
call graph_gaiji_puts
|
2019-12-29 15:10:44 +00:00
|
|
|
|
lea ax, [si+150]
|
|
|
|
|
call sub_CA1B pascal, ax, di, [bp+arg_0]
|
|
|
|
|
lea ax, [si+286]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ax
|
|
|
|
|
push di
|
|
|
|
|
mov bx, [bp+arg_0]
|
2019-12-26 16:19:44 +00:00
|
|
|
|
mov al, _hi.score.g_stage[bx]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
push ax
|
2019-12-29 16:47:23 +00:00
|
|
|
|
call hiscore_stage_put
|
2014-06-26 20:33:22 +00:00
|
|
|
|
pop di
|
|
|
|
|
pop si
|
|
|
|
|
leave
|
|
|
|
|
retn 4
|
|
|
|
|
sub_CB00 endp
|
|
|
|
|
|
|
|
|
|
; ---------------------------------------------------------------------------
|
2014-08-10 01:44:54 +00:00
|
|
|
|
off_CBCC dw offset loc_CB49
|
2014-06-26 20:33:22 +00:00
|
|
|
|
dw offset loc_CB4E
|
|
|
|
|
dw offset loc_CB5C
|
|
|
|
|
dw offset loc_CB61
|
2014-08-10 01:44:54 +00:00
|
|
|
|
off_CBD4 dw offset loc_CB1B
|
2014-06-26 20:33:22 +00:00
|
|
|
|
dw offset loc_CB20
|
|
|
|
|
dw offset loc_CB28
|
|
|
|
|
dw offset loc_CB2D
|
|
|
|
|
|
|
|
|
|
; =============== S U B R O U T I N E =======================================
|
|
|
|
|
|
|
|
|
|
; Attributes: bp-based frame
|
|
|
|
|
|
2019-12-07 10:37:53 +00:00
|
|
|
|
score_render proc near
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push bp
|
|
|
|
|
mov bp, sp
|
|
|
|
|
push si
|
|
|
|
|
push di
|
2018-12-29 19:08:52 +00:00
|
|
|
|
graph_accesspage 1
|
2014-12-16 04:53:56 +00:00
|
|
|
|
call pi_slot_palette_apply pascal, 0
|
2014-12-18 13:36:43 +00:00
|
|
|
|
call pi_slot_put pascal, large 0, 0
|
2018-12-29 19:08:52 +00:00
|
|
|
|
graph_accesspage 0
|
2014-12-16 04:53:56 +00:00
|
|
|
|
call pi_slot_palette_apply pascal, 0
|
2014-12-18 13:36:43 +00:00
|
|
|
|
call pi_slot_put pascal, large 0, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
xor si, si
|
|
|
|
|
jmp short loc_CC27
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CC13:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push si
|
2019-12-26 15:07:35 +00:00
|
|
|
|
call scoredat_load
|
2014-06-26 20:33:22 +00:00
|
|
|
|
xor di, di
|
|
|
|
|
jmp short loc_CC21
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CC1B:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push si
|
|
|
|
|
push di
|
|
|
|
|
call sub_CB00
|
|
|
|
|
inc di
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CC21:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cmp di, 5
|
|
|
|
|
jl short loc_CC1B
|
|
|
|
|
inc si
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CC27:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cmp si, 4
|
|
|
|
|
jl short loc_CC13
|
2019-12-22 13:04:34 +00:00
|
|
|
|
push (496 shl 16) or 376
|
2019-03-01 15:16:54 +00:00
|
|
|
|
mov al, _hiscore_rank
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
add ax, ax
|
2019-12-22 13:04:34 +00:00
|
|
|
|
add ax, 20
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ax
|
2014-08-28 00:13:13 +00:00
|
|
|
|
call super_put
|
2019-12-22 13:04:34 +00:00
|
|
|
|
push (560 shl 16) or 376
|
2019-03-01 15:16:54 +00:00
|
|
|
|
mov al, _hiscore_rank
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
add ax, ax
|
2019-12-22 13:04:34 +00:00
|
|
|
|
add ax, 21
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ax
|
2014-08-28 00:13:13 +00:00
|
|
|
|
call super_put
|
2014-06-26 20:33:22 +00:00
|
|
|
|
pop di
|
|
|
|
|
pop si
|
|
|
|
|
pop bp
|
|
|
|
|
retn
|
2019-12-07 10:37:53 +00:00
|
|
|
|
score_render endp
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; =============== S U B R O U T I N E =======================================
|
|
|
|
|
|
|
|
|
|
; Attributes: bp-based frame
|
2019-12-07 10:37:53 +00:00
|
|
|
|
public SCORE_MENU
|
|
|
|
|
score_menu proc near
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push bp
|
|
|
|
|
mov bp, sp
|
2014-11-27 18:35:54 +00:00
|
|
|
|
kajacall KAJA_SONG_STOP
|
2014-11-29 23:18:40 +00:00
|
|
|
|
call snd_load pascal, ds, offset aName, SND_LOAD_SONG
|
2014-11-27 18:35:54 +00:00
|
|
|
|
kajacall KAJA_SONG_PLAY
|
|
|
|
|
kajacall KAJA_SONG_FADE, -128
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push 1
|
2014-08-26 22:33:43 +00:00
|
|
|
|
call palette_black_out
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov al, es:[bx+resident_t.rank]
|
2019-03-01 15:16:54 +00:00
|
|
|
|
mov _hiscore_rank, al
|
2014-12-16 04:53:56 +00:00
|
|
|
|
call pi_slot_load pascal, 0, ds, offset aHi01_pi
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CC9F:
|
2019-12-07 10:37:53 +00:00
|
|
|
|
call score_render
|
|
|
|
|
call palette_black_in pascal, 1
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CCA9:
|
2018-09-11 17:34:19 +00:00
|
|
|
|
call _input_reset_sense_held
|
2019-12-07 10:37:53 +00:00
|
|
|
|
call frame_delay pascal, 1
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.hi, high INPUT_OK
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_CD17
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.lo, low INPUT_SHOT
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_CD17
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.hi, high INPUT_CANCEL
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_CD17
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.hi, high INPUT_OK
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_CD17
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.lo, low INPUT_LEFT
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_CCF8
|
2019-03-01 15:16:54 +00:00
|
|
|
|
cmp _hiscore_rank, RANK_EASY
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_CCF8
|
2019-03-01 15:16:54 +00:00
|
|
|
|
dec _hiscore_rank
|
2014-08-23 13:47:05 +00:00
|
|
|
|
mov PaletteTone, 0
|
2014-08-23 14:11:16 +00:00
|
|
|
|
call far ptr palette_show
|
2019-12-07 10:37:53 +00:00
|
|
|
|
call score_render
|
|
|
|
|
call palette_black_in pascal, 1
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CCF8:
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.lo, low INPUT_RIGHT
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_CCA9
|
2019-03-01 15:16:54 +00:00
|
|
|
|
cmp _hiscore_rank, RANK_EXTRA
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnb short loc_CCA9
|
2019-03-01 15:16:54 +00:00
|
|
|
|
inc _hiscore_rank
|
2014-08-23 13:47:05 +00:00
|
|
|
|
mov PaletteTone, 0
|
2014-08-23 14:11:16 +00:00
|
|
|
|
call far ptr palette_show
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_CC9F
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CD17:
|
2014-11-27 18:35:54 +00:00
|
|
|
|
kajacall KAJA_SONG_FADE, 1
|
2019-12-07 10:37:53 +00:00
|
|
|
|
call palette_black_out pascal, 1
|
2014-12-16 04:53:56 +00:00
|
|
|
|
call pi_slot_free pascal, 0
|
2018-12-29 19:08:52 +00:00
|
|
|
|
graph_accesspage 1
|
2014-12-16 04:53:56 +00:00
|
|
|
|
call pi_slot_load pascal, 0, ds, offset aOp1_pi_1
|
|
|
|
|
call pi_slot_palette_apply pascal, 0
|
2014-12-18 13:36:43 +00:00
|
|
|
|
call pi_slot_put pascal, large 0, 0
|
2014-12-16 04:53:56 +00:00
|
|
|
|
call pi_slot_free pascal, 0
|
2019-12-07 10:37:53 +00:00
|
|
|
|
call graph_copy_page pascal, 0
|
|
|
|
|
call palette_black_in pascal, 1
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CD64:
|
2018-09-11 17:34:19 +00:00
|
|
|
|
call _input_reset_sense_held
|
2019-12-07 10:37:53 +00:00
|
|
|
|
call frame_delay pascal, 1
|
2019-11-30 15:15:03 +00:00
|
|
|
|
cmp _key_det, INPUT_NONE
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_CD64
|
2014-11-27 18:35:54 +00:00
|
|
|
|
kajacall KAJA_SONG_STOP
|
2014-11-29 23:18:40 +00:00
|
|
|
|
call snd_load pascal, ds, offset aOp_1, SND_LOAD_SONG
|
2014-11-27 18:35:54 +00:00
|
|
|
|
kajacall KAJA_SONG_PLAY
|
2014-06-26 20:33:22 +00:00
|
|
|
|
pop bp
|
|
|
|
|
retn
|
2019-12-07 10:37:53 +00:00
|
|
|
|
score_menu endp
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; =============== S U B R O U T I N E =======================================
|
|
|
|
|
|
|
|
|
|
; Attributes: bp-based frame
|
2019-12-26 15:07:35 +00:00
|
|
|
|
public SCOREDAT_CLEARED_LOAD
|
|
|
|
|
scoredat_cleared_load proc near
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push bp
|
|
|
|
|
mov bp, sp
|
|
|
|
|
push si
|
2019-12-07 10:37:53 +00:00
|
|
|
|
mov _extra_unlocked, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
xor si, si
|
|
|
|
|
jmp short loc_CE0E
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CDA1:
|
2019-03-01 15:16:54 +00:00
|
|
|
|
mov _hiscore_rank, RANK_EASY
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_CE06
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CDA8:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push si
|
2019-12-26 15:07:35 +00:00
|
|
|
|
call scoredat_load
|
2014-06-26 20:33:22 +00:00
|
|
|
|
or al, al
|
|
|
|
|
jnz short loc_CE0D
|
|
|
|
|
mov bx, si
|
2019-12-07 10:37:53 +00:00
|
|
|
|
imul bx, RANK_COUNT
|
2019-03-01 15:16:54 +00:00
|
|
|
|
mov al, _hiscore_rank
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
add bx, ax
|
2019-12-26 16:19:44 +00:00
|
|
|
|
mov al, _hi.score.cleared
|
2019-12-07 10:37:53 +00:00
|
|
|
|
mov _cleared_with[bx], al
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov bx, si
|
2019-12-07 10:37:53 +00:00
|
|
|
|
imul bx, RANK_COUNT
|
2019-03-01 15:16:54 +00:00
|
|
|
|
mov al, _hiscore_rank
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
add bx, ax
|
2019-12-26 16:19:44 +00:00
|
|
|
|
cmp _cleared_with[bx], SCOREDAT_CLEARED
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_CDE7
|
|
|
|
|
mov bx, si
|
2019-12-07 10:37:53 +00:00
|
|
|
|
imul bx, RANK_COUNT
|
2019-03-01 15:16:54 +00:00
|
|
|
|
mov al, _hiscore_rank
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
add bx, ax
|
2019-12-07 10:37:53 +00:00
|
|
|
|
mov _cleared_with[bx], 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CDE7:
|
2019-03-01 15:16:54 +00:00
|
|
|
|
cmp _hiscore_rank, RANK_EXTRA
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnb short loc_CE02
|
|
|
|
|
mov bx, si
|
2019-12-07 10:37:53 +00:00
|
|
|
|
imul bx, RANK_COUNT
|
2019-03-01 15:16:54 +00:00
|
|
|
|
mov al, _hiscore_rank
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
add bx, ax
|
2019-12-07 10:37:53 +00:00
|
|
|
|
mov al, _cleared_with[bx]
|
|
|
|
|
or _extra_unlocked, al
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CE02:
|
2019-03-01 15:16:54 +00:00
|
|
|
|
inc _hiscore_rank
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CE06:
|
2019-03-01 15:16:54 +00:00
|
|
|
|
cmp _hiscore_rank, RANK_COUNT
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jb short loc_CDA8
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CE0D:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
inc si
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CE0E:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cmp si, 4
|
|
|
|
|
jl short loc_CDA1
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov al, es:[bx+resident_t.rank]
|
2019-03-01 15:16:54 +00:00
|
|
|
|
mov _hiscore_rank, al
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ds
|
|
|
|
|
push offset aScnum_bft ; "scnum.bft"
|
2014-08-23 16:07:02 +00:00
|
|
|
|
call super_entry_bfnt
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ds
|
|
|
|
|
push offset aHi_m_bft ; "hi_m.bft"
|
2014-08-23 16:07:02 +00:00
|
|
|
|
call super_entry_bfnt
|
2014-06-26 20:33:22 +00:00
|
|
|
|
xor si, si
|
|
|
|
|
jmp short loc_CE5D
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CE34:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov bx, si
|
2019-12-07 10:37:53 +00:00
|
|
|
|
imul bx, RANK_COUNT
|
|
|
|
|
mov al, _cleared_with[bx].RANK_EASY
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov bx, si
|
2019-12-07 10:37:53 +00:00
|
|
|
|
imul bx, RANK_COUNT
|
|
|
|
|
or al, _cleared_with[bx].RANK_NORMAL
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov bx, si
|
2019-12-07 10:37:53 +00:00
|
|
|
|
imul bx, RANK_COUNT
|
|
|
|
|
or al, _cleared_with[bx].RANK_HARD
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov bx, si
|
2019-12-07 10:37:53 +00:00
|
|
|
|
imul bx, RANK_COUNT
|
|
|
|
|
or al, _cleared_with[bx].RANK_LUNATIC
|
|
|
|
|
mov _extra_playable_with[si], al
|
2014-06-26 20:33:22 +00:00
|
|
|
|
inc si
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CE5D:
|
2019-12-07 10:37:53 +00:00
|
|
|
|
cmp si, PLAYCHAR_COUNT
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jl short loc_CE34
|
|
|
|
|
pop si
|
|
|
|
|
pop bp
|
|
|
|
|
retn
|
2019-12-26 15:07:35 +00:00
|
|
|
|
scoredat_cleared_load endp
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; =============== S U B R O U T I N E =======================================
|
|
|
|
|
|
|
|
|
|
; Attributes: bp-based frame
|
|
|
|
|
|
2019-12-07 10:37:53 +00:00
|
|
|
|
darken_pic proc near
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
var_6 = dword ptr -6
|
|
|
|
|
var_2 = word ptr -2
|
|
|
|
|
arg_0 = byte ptr 4
|
|
|
|
|
|
|
|
|
|
enter 6, 0
|
|
|
|
|
push si
|
|
|
|
|
push di
|
|
|
|
|
mov al, [bp+arg_0]
|
|
|
|
|
mov ah, 0
|
|
|
|
|
mov bx, ax
|
|
|
|
|
cmp bx, 3
|
|
|
|
|
ja short loc_CE90
|
|
|
|
|
add bx, bx
|
|
|
|
|
jmp cs:off_CEF7[bx]
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CE7E:
|
2019-12-29 15:10:44 +00:00
|
|
|
|
mov si, ( 48 * ROW_SIZE) + ( 16 / 8)
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_CE90
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CE83:
|
2019-12-29 15:10:44 +00:00
|
|
|
|
mov si, ( 48 * ROW_SIZE) + (272 / 8)
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_CE90
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CE88:
|
2019-12-29 15:10:44 +00:00
|
|
|
|
mov si, (224 * ROW_SIZE) + (160 / 8)
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_CE90
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CE8D:
|
2019-12-29 15:10:44 +00:00
|
|
|
|
mov si, (224 * ROW_SIZE) + (400 / 8)
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CE90:
|
2015-01-12 21:48:13 +00:00
|
|
|
|
call grcg_setcolor pascal, (GC_RMW shl 16) + 1
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov [bp+var_6], 0AAAAAAAAh
|
|
|
|
|
xor di, di
|
|
|
|
|
jmp short loc_CEE5
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CEA7:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
test di, 1
|
|
|
|
|
jnz short loc_CEB5
|
|
|
|
|
mov eax, 0AAAAAAAAh
|
|
|
|
|
jmp short loc_CEBB
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CEB5:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov eax, 55555555h
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CEBB:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov [bp+var_6], eax
|
|
|
|
|
mov [bp+var_2], 0
|
|
|
|
|
jmp short loc_CEDB
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CEC6:
|
2015-02-24 15:17:50 +00:00
|
|
|
|
les bx, _VRAM_PLANE_B
|
2014-06-26 20:33:22 +00:00
|
|
|
|
add bx, si
|
|
|
|
|
mov eax, [bp+var_6]
|
|
|
|
|
mov es:[bx], eax
|
|
|
|
|
add [bp+var_2], 4
|
|
|
|
|
add si, 4
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CEDB:
|
2019-12-29 15:10:44 +00:00
|
|
|
|
cmp [bp+var_2], (224 / 8)
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jl short loc_CEC6
|
|
|
|
|
inc di
|
2019-12-29 15:10:44 +00:00
|
|
|
|
add si, ROW_SIZE - (224 / 8)
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CEE5:
|
2019-12-29 15:10:44 +00:00
|
|
|
|
cmp di, 160
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jl short loc_CEA7
|
2018-12-04 22:08:57 +00:00
|
|
|
|
GRCG_OFF_CLOBBERING dx
|
2014-06-26 20:33:22 +00:00
|
|
|
|
pop di
|
|
|
|
|
pop si
|
|
|
|
|
leave
|
|
|
|
|
retn 2
|
2019-12-07 10:37:53 +00:00
|
|
|
|
darken_pic endp
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
; ---------------------------------------------------------------------------
|
2014-08-10 01:44:54 +00:00
|
|
|
|
off_CEF7 dw offset loc_CE7E
|
2014-06-26 20:33:22 +00:00
|
|
|
|
dw offset loc_CE83
|
|
|
|
|
dw offset loc_CE88
|
|
|
|
|
dw offset loc_CE8D
|
|
|
|
|
|
|
|
|
|
; =============== S U B R O U T I N E =======================================
|
|
|
|
|
|
|
|
|
|
; Attributes: bp-based frame
|
|
|
|
|
|
2019-12-07 10:37:53 +00:00
|
|
|
|
put_pic proc near
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2019-12-07 10:37:53 +00:00
|
|
|
|
@@y = word ptr -4
|
|
|
|
|
@@x = word ptr -2
|
|
|
|
|
@@highlight = word ptr 4
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
enter 4, 0
|
|
|
|
|
push si
|
|
|
|
|
push di
|
2019-12-07 10:37:53 +00:00
|
|
|
|
mov al, _playchar_menu_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
mov bx, ax
|
2019-12-07 10:37:53 +00:00
|
|
|
|
cmp bx, PLAYCHAR_COUNT - 1
|
2014-06-26 20:33:22 +00:00
|
|
|
|
ja short loc_CF59
|
|
|
|
|
add bx, bx
|
|
|
|
|
jmp cs:off_D08D[bx]
|
|
|
|
|
|
2019-12-07 10:37:53 +00:00
|
|
|
|
@@reimu:
|
2019-12-29 15:10:44 +00:00
|
|
|
|
mov si, 16
|
|
|
|
|
mov di, 48
|
|
|
|
|
mov [bp+@@x], 176
|
|
|
|
|
mov [bp+@@y], 192
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_CF59
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2019-12-07 10:37:53 +00:00
|
|
|
|
@@marisa:
|
2019-12-29 15:10:44 +00:00
|
|
|
|
mov si, 272
|
|
|
|
|
mov di, 48
|
|
|
|
|
mov [bp+@@x], 432
|
|
|
|
|
mov [bp+@@y], 192
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_CF59
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2019-12-07 10:37:53 +00:00
|
|
|
|
@@mima:
|
2019-12-29 15:10:44 +00:00
|
|
|
|
mov si, 160
|
|
|
|
|
mov di, 224
|
|
|
|
|
mov [bp+@@x], 320
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_CF54
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2019-12-07 10:37:53 +00:00
|
|
|
|
@@yuuka:
|
2019-12-29 15:10:44 +00:00
|
|
|
|
mov si, 400
|
|
|
|
|
mov di, 224
|
|
|
|
|
mov [bp+@@x], 560
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CF54:
|
2019-12-29 15:10:44 +00:00
|
|
|
|
mov [bp+@@y], 368
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CF59:
|
2019-12-07 10:37:53 +00:00
|
|
|
|
cmp [bp+@@highlight], 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz loc_D012
|
2019-12-07 10:37:53 +00:00
|
|
|
|
mov al, _playchar_menu_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
mov bx, ax
|
2019-12-07 10:37:53 +00:00
|
|
|
|
cmp _selectable_with[bx], 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_CF82
|
|
|
|
|
lea ax, [si-8]
|
|
|
|
|
push ax
|
|
|
|
|
lea ax, [di-8]
|
|
|
|
|
push ax
|
2019-12-07 10:37:53 +00:00
|
|
|
|
mov al, _playchar_menu_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
2017-01-22 21:23:15 +00:00
|
|
|
|
add ax, 40
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ax
|
|
|
|
|
jmp short loc_CF8C
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CF82:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
lea ax, [si-8]
|
|
|
|
|
push ax
|
|
|
|
|
lea ax, [di-8]
|
|
|
|
|
push ax
|
2017-01-22 21:23:15 +00:00
|
|
|
|
push 45
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_CF8C:
|
2019-09-15 14:22:36 +00:00
|
|
|
|
call cdg_put_noalpha
|
2015-01-12 21:48:13 +00:00
|
|
|
|
call grcg_setcolor pascal, (GC_RMW shl 16) + 1
|
2019-11-10 23:18:22 +00:00
|
|
|
|
lea ax, [si+216]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov bx, 8
|
|
|
|
|
cwd
|
|
|
|
|
idiv bx
|
|
|
|
|
push ax
|
|
|
|
|
push di
|
2019-11-10 23:18:22 +00:00
|
|
|
|
lea ax, [si+223]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cwd
|
|
|
|
|
idiv bx
|
|
|
|
|
push ax
|
2019-11-10 23:18:22 +00:00
|
|
|
|
lea ax, [di+151]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ax
|
2014-08-27 21:20:37 +00:00
|
|
|
|
call grcg_byteboxfill_x
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ax, si
|
|
|
|
|
mov bx, 8
|
|
|
|
|
cwd
|
|
|
|
|
idiv bx
|
|
|
|
|
push ax
|
2019-11-10 23:18:22 +00:00
|
|
|
|
lea ax, [di+152]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ax
|
2019-11-10 23:18:22 +00:00
|
|
|
|
lea ax, [si+223]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
cwd
|
|
|
|
|
idiv bx
|
|
|
|
|
push ax
|
2019-11-10 23:18:22 +00:00
|
|
|
|
lea ax, [di+159]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ax
|
2014-08-27 21:20:37 +00:00
|
|
|
|
call grcg_byteboxfill_x
|
2018-12-04 22:08:57 +00:00
|
|
|
|
GRCG_OFF_CLOBBERING dx
|
2019-12-07 10:37:53 +00:00
|
|
|
|
mov al, _playchar_menu_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
2019-12-07 10:37:53 +00:00
|
|
|
|
imul ax, RANK_COUNT
|
2019-03-01 15:16:54 +00:00
|
|
|
|
mov dl, _rank
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov dh, 0
|
|
|
|
|
add ax, dx
|
|
|
|
|
mov bx, ax
|
2019-12-07 10:37:53 +00:00
|
|
|
|
cmp _cleared_with[bx], 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz loc_D086
|
2019-12-07 10:37:53 +00:00
|
|
|
|
mov ax, [bp+@@x]
|
|
|
|
|
add ax, -8
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ax
|
2019-12-07 10:37:53 +00:00
|
|
|
|
mov ax, [bp+@@y]
|
|
|
|
|
add ax, -8
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ax
|
2017-01-21 17:10:53 +00:00
|
|
|
|
push 44
|
2019-09-15 14:22:36 +00:00
|
|
|
|
call cdg_put
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_D086
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_D012:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
lea ax, [si-8]
|
|
|
|
|
push ax
|
|
|
|
|
lea ax, [di-8]
|
|
|
|
|
push ax
|
2019-12-28 21:51:33 +00:00
|
|
|
|
push (224 shl 16) or 8
|
2019-12-08 12:09:13 +00:00
|
|
|
|
call bgimage_put_rect
|
2014-06-26 20:33:22 +00:00
|
|
|
|
lea ax, [si-8]
|
2019-12-28 21:51:33 +00:00
|
|
|
|
call bgimage_put_rect pascal, ax, di, (8 shl 16) or 160
|
2019-12-07 10:37:53 +00:00
|
|
|
|
mov al, _playchar_menu_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
mov bx, ax
|
2019-12-07 10:37:53 +00:00
|
|
|
|
cmp _selectable_with[bx], 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_D050
|
|
|
|
|
push si
|
|
|
|
|
push di
|
2019-12-07 10:37:53 +00:00
|
|
|
|
mov al, _playchar_menu_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
2019-12-29 15:10:44 +00:00
|
|
|
|
add ax, 40
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ax
|
|
|
|
|
jmp short loc_D054
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_D050:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push si
|
|
|
|
|
push di
|
2017-01-22 21:23:15 +00:00
|
|
|
|
push 45
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_D054:
|
2019-09-15 14:22:36 +00:00
|
|
|
|
call cdg_put_noalpha
|
2019-12-07 10:37:53 +00:00
|
|
|
|
mov al, _playchar_menu_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
2019-12-07 10:37:53 +00:00
|
|
|
|
imul ax, RANK_COUNT
|
2019-03-01 15:16:54 +00:00
|
|
|
|
mov dl, _rank
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov dh, 0
|
|
|
|
|
add ax, dx
|
|
|
|
|
mov bx, ax
|
2019-12-07 10:37:53 +00:00
|
|
|
|
cmp _cleared_with[bx], 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_D07F
|
2019-12-07 10:37:53 +00:00
|
|
|
|
call cdg_put pascal, [bp+@@x], [bp+@@y], 44
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_D07F:
|
2019-12-07 10:37:53 +00:00
|
|
|
|
call darken_pic pascal, word ptr _playchar_menu_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_D086:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
pop di
|
|
|
|
|
pop si
|
|
|
|
|
leave
|
|
|
|
|
retn 2
|
2019-12-07 10:37:53 +00:00
|
|
|
|
|
|
|
|
|
db 0
|
|
|
|
|
off_D08D dw offset @@reimu
|
|
|
|
|
dw offset @@marisa
|
|
|
|
|
dw offset @@mima
|
|
|
|
|
dw offset @@yuuka
|
2019-12-07 10:37:53 +00:00
|
|
|
|
put_pic endp
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
; =============== S U B R O U T I N E =======================================
|
|
|
|
|
|
|
|
|
|
; Attributes: bp-based frame
|
|
|
|
|
|
2019-12-07 10:37:53 +00:00
|
|
|
|
playchar_menu_init proc near
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2019-12-07 10:37:53 +00:00
|
|
|
|
@@i = word ptr -2
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
enter 2, 0
|
|
|
|
|
push si
|
2019-12-07 10:37:53 +00:00
|
|
|
|
mov al, _playchar_menu_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
2019-12-07 10:37:53 +00:00
|
|
|
|
mov [bp+@@i], ax
|
2014-08-23 13:47:05 +00:00
|
|
|
|
mov PaletteTone, 0
|
2014-08-23 14:11:16 +00:00
|
|
|
|
call far ptr palette_show
|
2018-12-29 19:08:52 +00:00
|
|
|
|
graph_accesspage 1
|
2014-12-16 04:53:56 +00:00
|
|
|
|
call pi_slot_load pascal, 0, ds, offset aSlb1_pi
|
|
|
|
|
call pi_slot_palette_apply pascal, 0
|
2014-12-18 13:36:43 +00:00
|
|
|
|
call pi_slot_put pascal, large 0, 0
|
2014-12-16 04:53:56 +00:00
|
|
|
|
call pi_slot_free pascal, 0
|
2019-12-07 10:37:53 +00:00
|
|
|
|
call graph_copy_page pascal, 0
|
2019-12-08 12:09:13 +00:00
|
|
|
|
call bgimage_snap
|
2018-12-29 19:08:52 +00:00
|
|
|
|
graph_accesspage 1
|
|
|
|
|
graph_showpage 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
xor si, si
|
2019-12-07 10:37:53 +00:00
|
|
|
|
mov _playchar_menu_sel, PLAYCHAR_REIMU
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_D111
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_D0F7:
|
2019-12-07 10:37:53 +00:00
|
|
|
|
mov al, _playchar_menu_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
2019-12-07 10:37:53 +00:00
|
|
|
|
cmp ax, [bp+@@i]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_D106
|
|
|
|
|
mov ax, 1
|
|
|
|
|
jmp short loc_D108
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_D106:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
xor ax, ax
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_D108:
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push ax
|
2019-12-07 10:37:53 +00:00
|
|
|
|
call put_pic
|
2014-06-26 20:33:22 +00:00
|
|
|
|
inc si
|
2019-12-07 10:37:53 +00:00
|
|
|
|
inc _playchar_menu_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_D111:
|
2019-12-07 10:37:53 +00:00
|
|
|
|
cmp si, PLAYCHAR_COUNT
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jl short loc_D0F7
|
2019-12-07 10:37:53 +00:00
|
|
|
|
mov al, byte ptr [bp+@@i]
|
2019-12-07 10:37:53 +00:00
|
|
|
|
mov _playchar_menu_sel, al
|
2019-12-28 21:05:25 +00:00
|
|
|
|
call graph_copy_page pascal, 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push 1
|
2014-08-26 22:21:45 +00:00
|
|
|
|
call palette_black_in
|
2014-06-26 20:33:22 +00:00
|
|
|
|
pop si
|
|
|
|
|
leave
|
|
|
|
|
retn
|
2019-12-07 10:37:53 +00:00
|
|
|
|
playchar_menu_init endp
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; =============== S U B R O U T I N E =======================================
|
|
|
|
|
|
|
|
|
|
; Attributes: bp-based frame
|
|
|
|
|
|
2019-12-07 10:37:53 +00:00
|
|
|
|
playchar_menu proc near
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2019-12-07 10:37:53 +00:00
|
|
|
|
@@i = word ptr -4
|
2019-12-07 10:37:53 +00:00
|
|
|
|
@@input_locked = byte ptr -1
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
enter 4, 0
|
2019-12-07 10:37:53 +00:00
|
|
|
|
mov [bp+@@i], 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_D146
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_D138:
|
2019-12-07 10:37:53 +00:00
|
|
|
|
mov bx, [bp+@@i]
|
|
|
|
|
mov al, _extra_playable_with[bx]
|
|
|
|
|
mov _selectable_with[bx], al
|
|
|
|
|
inc [bp+@@i]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_D146:
|
2019-12-07 10:37:53 +00:00
|
|
|
|
cmp [bp+@@i], PLAYCHAR_COUNT
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jl short loc_D138
|
2019-12-07 10:37:53 +00:00
|
|
|
|
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
cmp es:[bx+resident_t.stage], STAGE_EXTRA
|
2019-12-07 10:37:53 +00:00
|
|
|
|
jnz short @@not_extra
|
|
|
|
|
|
2019-03-01 15:16:54 +00:00
|
|
|
|
mov _rank, RANK_EXTRA
|
2019-12-07 10:37:53 +00:00
|
|
|
|
mov _playchar_menu_sel, -1
|
|
|
|
|
mov [bp+@@i], 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_D182
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_D168:
|
2019-12-07 10:37:53 +00:00
|
|
|
|
cmp _playchar_menu_sel, -1
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_D17F
|
2019-12-07 10:37:53 +00:00
|
|
|
|
mov bx, [bp+@@i]
|
|
|
|
|
cmp _selectable_with[bx], 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_D17F
|
2019-12-07 10:37:53 +00:00
|
|
|
|
mov al, byte ptr [bp+@@i]
|
|
|
|
|
mov _playchar_menu_sel, al
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_D17F:
|
2019-12-07 10:37:53 +00:00
|
|
|
|
inc [bp+@@i]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_D182:
|
2019-12-07 10:37:53 +00:00
|
|
|
|
cmp [bp+@@i], PLAYCHAR_COUNT
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jl short loc_D168
|
|
|
|
|
jmp short loc_D1B2
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2019-12-07 10:37:53 +00:00
|
|
|
|
@@not_extra:
|
|
|
|
|
mov [bp+@@i], 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_D19C
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_D191:
|
2019-12-07 10:37:53 +00:00
|
|
|
|
mov bx, [bp+@@i]
|
|
|
|
|
mov _selectable_with[bx], 1
|
|
|
|
|
inc [bp+@@i]
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_D19C:
|
2019-12-07 10:37:53 +00:00
|
|
|
|
cmp [bp+@@i], PLAYCHAR_COUNT
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jl short loc_D191
|
2019-12-07 10:37:53 +00:00
|
|
|
|
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov al, es:[bx+resident_t.rank]
|
2019-03-01 15:16:54 +00:00
|
|
|
|
mov _rank, al
|
2019-12-07 10:37:53 +00:00
|
|
|
|
mov _playchar_menu_sel, PLAYCHAR_REIMU
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_D1B2:
|
2019-12-07 10:37:53 +00:00
|
|
|
|
call playchar_menu_init
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_D1B5:
|
2018-09-11 17:34:19 +00:00
|
|
|
|
call _input_reset_sense_held
|
2019-12-07 10:37:53 +00:00
|
|
|
|
cmp [bp+@@input_locked], 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz loc_D2EC
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.lo, low INPUT_LEFT
|
2019-12-07 10:37:53 +00:00
|
|
|
|
jnz short @@left_or_right_pressed
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.lo, low INPUT_RIGHT
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_D223
|
|
|
|
|
|
2019-12-07 10:37:53 +00:00
|
|
|
|
@@left_or_right_pressed:
|
2015-02-13 11:56:51 +00:00
|
|
|
|
call snd_se_reset
|
|
|
|
|
call snd_se_play pascal, 1
|
|
|
|
|
call snd_se_update
|
2018-12-29 19:08:52 +00:00
|
|
|
|
graph_accesspage 1
|
2019-12-07 10:37:53 +00:00
|
|
|
|
call put_pic pascal, 1
|
2019-12-07 10:37:53 +00:00
|
|
|
|
xor _playchar_menu_sel, 1 ; 0<->1 2<->3
|
2019-12-07 10:37:53 +00:00
|
|
|
|
call put_pic pascal, 0
|
2014-08-26 20:52:26 +00:00
|
|
|
|
mov vsync_Count1, 0
|
2019-12-07 10:37:53 +00:00
|
|
|
|
call frame_delay pascal, 1
|
2018-12-29 19:08:52 +00:00
|
|
|
|
graph_showpage 1
|
2019-12-07 10:37:53 +00:00
|
|
|
|
call graph_copy_page pascal, 0
|
2014-08-26 20:52:26 +00:00
|
|
|
|
mov vsync_Count1, 0
|
2019-12-07 10:37:53 +00:00
|
|
|
|
call frame_delay pascal, 1
|
2018-12-29 19:08:52 +00:00
|
|
|
|
graph_showpage 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_D223:
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.lo, low INPUT_UP
|
2019-12-07 10:37:53 +00:00
|
|
|
|
jnz short @@up_or_down_pressed
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.lo, low INPUT_DOWN
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_D284
|
|
|
|
|
|
2019-12-07 10:37:53 +00:00
|
|
|
|
@@up_or_down_pressed:
|
2015-02-13 11:56:51 +00:00
|
|
|
|
call snd_se_reset
|
|
|
|
|
call snd_se_play pascal, 1
|
|
|
|
|
call snd_se_update
|
2018-12-29 19:08:52 +00:00
|
|
|
|
graph_accesspage 1
|
2019-12-07 10:37:53 +00:00
|
|
|
|
call put_pic pascal, 1
|
2019-12-07 10:37:53 +00:00
|
|
|
|
xor _playchar_menu_sel, 2 ; 0<->2 1<->3
|
2019-12-07 10:37:53 +00:00
|
|
|
|
call put_pic pascal, 0
|
2014-08-26 20:52:26 +00:00
|
|
|
|
mov vsync_Count1, 0
|
2019-12-07 10:37:53 +00:00
|
|
|
|
call frame_delay pascal, 1
|
2018-12-29 19:08:52 +00:00
|
|
|
|
graph_showpage 1
|
2019-12-07 10:37:53 +00:00
|
|
|
|
call graph_copy_page pascal, 0
|
2014-08-26 20:52:26 +00:00
|
|
|
|
mov vsync_Count1, 0
|
2019-12-07 10:37:53 +00:00
|
|
|
|
call frame_delay pascal, 1
|
2018-12-29 19:08:52 +00:00
|
|
|
|
graph_showpage 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_D284:
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.hi, high INPUT_OK
|
2019-12-07 10:37:53 +00:00
|
|
|
|
jnz short @@z_pressed
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.lo, low INPUT_SHOT
|
2019-12-07 10:37:53 +00:00
|
|
|
|
jz short @@unable_to_select
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2019-12-07 10:37:53 +00:00
|
|
|
|
@@z_pressed:
|
2019-12-07 10:37:53 +00:00
|
|
|
|
mov al, _playchar_menu_sel
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ah, 0
|
|
|
|
|
mov bx, ax
|
2019-12-07 10:37:53 +00:00
|
|
|
|
cmp _selectable_with[bx], 0
|
|
|
|
|
jz short @@unable_to_select
|
2015-02-13 11:56:51 +00:00
|
|
|
|
call snd_se_reset
|
|
|
|
|
call snd_se_play pascal, 11
|
|
|
|
|
call snd_se_update
|
2019-12-30 14:48:17 +00:00
|
|
|
|
les bx, _resident
|
2019-12-07 10:37:53 +00:00
|
|
|
|
mov al, _playchar_menu_sel
|
2020-01-02 19:55:22 +00:00
|
|
|
|
mov es:[bx+resident_t.playchar], al
|
2014-06-26 20:33:22 +00:00
|
|
|
|
push 1
|
2014-08-26 22:33:43 +00:00
|
|
|
|
call palette_black_out
|
2019-12-08 12:09:13 +00:00
|
|
|
|
call bgimage_free
|
2014-06-26 20:33:22 +00:00
|
|
|
|
xor ax, ax
|
|
|
|
|
leave
|
|
|
|
|
retn
|
|
|
|
|
|
2019-12-07 10:37:53 +00:00
|
|
|
|
@@unable_to_select:
|
2019-11-30 15:15:03 +00:00
|
|
|
|
test _key_det.hi, high INPUT_CANCEL
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jz short loc_D2E4
|
2019-12-07 10:37:53 +00:00
|
|
|
|
call palette_black_out pascal, 1
|
2019-12-08 12:09:13 +00:00
|
|
|
|
call bgimage_free
|
2014-06-26 20:33:22 +00:00
|
|
|
|
mov ax, 1
|
|
|
|
|
leave
|
|
|
|
|
retn
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_D2E4:
|
2019-11-30 15:15:03 +00:00
|
|
|
|
mov al, _key_det.lo
|
2019-12-07 10:37:53 +00:00
|
|
|
|
mov [bp+@@input_locked], al
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp short loc_D2F7
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_D2EC:
|
2019-11-30 15:15:03 +00:00
|
|
|
|
cmp _key_det, INPUT_NONE
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jnz short loc_D2F7
|
2019-12-07 10:37:53 +00:00
|
|
|
|
mov [bp+@@input_locked], 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
loc_D2F7:
|
2019-12-07 10:37:53 +00:00
|
|
|
|
call frame_delay pascal, 1
|
2014-06-26 20:33:22 +00:00
|
|
|
|
jmp loc_D1B5
|
2014-11-12 22:11:16 +00:00
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
leave
|
|
|
|
|
retn
|
2019-12-07 10:37:53 +00:00
|
|
|
|
playchar_menu endp
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2014-11-12 22:11:16 +00:00
|
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
db 0
|
2015-02-21 11:47:24 +00:00
|
|
|
|
op_01_TEXT ends
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
|
|
|
|
; ===========================================================================
|
|
|
|
|
|
|
|
|
|
; Segment type: Pure code
|
2015-02-21 11:47:24 +00:00
|
|
|
|
op_02_TEXT segment word public 'CODE' use16
|
|
|
|
|
assume cs:op_02_TEXT
|
2014-11-12 22:11:16 +00:00
|
|
|
|
; org 4
|
2015-02-18 11:07:37 +00:00
|
|
|
|
assume es:nothing, ss:nothing, ds:_DATA, fs:nothing, gs:nothing
|
2014-11-12 22:11:16 +00:00
|
|
|
|
|
2017-01-07 21:30:46 +00:00
|
|
|
|
include th03/formats/hfliplut.asm
|
2015-03-15 21:54:15 +00:00
|
|
|
|
include th04/snd/pmd_res.asm
|
|
|
|
|
include th02/snd/mmd_res.asm
|
|
|
|
|
include th04/snd/detmodes.asm
|
2019-11-19 14:26:47 +00:00
|
|
|
|
include th02/exit_dos.asm
|
2014-06-26 20:33:22 +00:00
|
|
|
|
db 0
|
2019-11-25 08:44:38 +00:00
|
|
|
|
include th04/hardware/grppsafx.asm
|
2017-01-22 21:23:15 +00:00
|
|
|
|
include th04/formats/cdg_put_noalpha.asm
|
2015-03-15 21:54:15 +00:00
|
|
|
|
include th04/snd/se.asm
|
2019-12-08 12:09:13 +00:00
|
|
|
|
include th04/bgimage.asm
|
2017-01-21 17:10:53 +00:00
|
|
|
|
include th04/formats/cdg_put.asm
|
2019-11-19 14:26:47 +00:00
|
|
|
|
include th02/exit.asm
|
2017-01-08 20:01:13 +00:00
|
|
|
|
include th04/math/vector1_at.asm
|
|
|
|
|
include th04/math/vector2_at.asm
|
2019-12-04 13:03:43 +00:00
|
|
|
|
include th05/music/piano.asm
|
2018-12-06 19:11:13 +00:00
|
|
|
|
GRCG_SETCOLOR_DIRECT_NOINT_DEF 1
|
2014-06-26 20:33:22 +00:00
|
|
|
|
db 0
|
2019-12-08 12:09:13 +00:00
|
|
|
|
include th04/bgimage_put_rect.asm
|
2015-03-15 21:54:15 +00:00
|
|
|
|
include th05/snd/load.asm
|
2015-03-15 22:26:44 +00:00
|
|
|
|
include th05/snd/kajaint.asm
|
2019-12-10 07:52:24 +00:00
|
|
|
|
include th05/formats/pi_slot_put_mask.asm
|
2014-11-18 16:56:13 +00:00
|
|
|
|
include th05/formats/pi_slot_load.asm
|
2014-12-18 13:36:43 +00:00
|
|
|
|
include th05/formats/pi_slot_put.asm
|
2014-11-22 08:29:09 +00:00
|
|
|
|
include th05/formats/pi_slot_palette_apply.asm
|
2014-11-18 16:56:13 +00:00
|
|
|
|
include th05/formats/pi_slot_free.asm
|
2019-11-19 14:26:47 +00:00
|
|
|
|
include th02/initop.asm
|
2018-09-11 17:34:19 +00:00
|
|
|
|
include th04/hardware/input_sense.asm
|
|
|
|
|
include th05/hardware/input_held.asm
|
2018-09-17 20:10:42 +00:00
|
|
|
|
include th05/hardware/input_wait.asm
|
2019-12-10 08:06:56 +00:00
|
|
|
|
include th05/snd/measure.asm
|
2019-11-24 07:49:46 +00:00
|
|
|
|
include th05/snd/delaymea.asm
|
2017-01-25 22:54:06 +00:00
|
|
|
|
include th04/formats/cdg_put_nocolors.asm
|
2015-02-23 09:29:12 +00:00
|
|
|
|
include th05/hardware/frame_delay.asm
|
2014-06-26 20:33:22 +00:00
|
|
|
|
db 0
|
2017-01-19 20:14:22 +00:00
|
|
|
|
include th04/formats/cdg_load.asm
|
2019-12-07 07:37:29 +00:00
|
|
|
|
include th04/hardware/egccopyr.asm
|
|
|
|
|
even
|
2015-02-21 11:47:24 +00:00
|
|
|
|
op_02_TEXT ends
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2015-02-18 11:07:37 +00:00
|
|
|
|
.data
|
2014-08-19 20:33:43 +00:00
|
|
|
|
|
2014-08-10 01:44:54 +00:00
|
|
|
|
db 0
|
2019-12-08 05:32:01 +00:00
|
|
|
|
_menu_sel db 0
|
|
|
|
|
_quit db 0
|
|
|
|
|
_main_menu_unused_1 db 1
|
2019-12-21 17:08:24 +00:00
|
|
|
|
public _MENU_DESC
|
|
|
|
|
_MENU_DESC dd aMENU_START ; "<22>Q<EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD>J<EFBFBD>n<EFBFBD><6E><EFBFBD>܂<EFBFBD>"
|
2014-07-04 12:21:15 +00:00
|
|
|
|
dd aMENU_START_EXTRA ; "<22>G<EFBFBD>L<EFBFBD>X<EFBFBD>g<EFBFBD><67><EFBFBD>X<EFBFBD>e<EFBFBD>[<5B>W<EFBFBD><57><EFBFBD>J<EFBFBD>n<EFBFBD><6E><EFBFBD>܂<EFBFBD>"
|
|
|
|
|
dd aMENU_HISCORE ; "<22><><EFBFBD>݂̃n<CC83>C<EFBFBD>X<EFBFBD>R<EFBFBD>A<EFBFBD><41><EFBFBD>\\<5C><><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD>"
|
|
|
|
|
dd aMENU_MUSICROOM ; "<22><><EFBFBD>y<EFBFBD><79><EFBFBD>ɓ<EFBFBD><C993><EFBFBD><EFBFBD>܂<EFBFBD>"
|
|
|
|
|
dd aMENU_OPTION ; "<22>e<EFBFBD><65><EFBFBD>ݒ<EFBFBD><DD92><EFBFBD><EFBFBD>ύX<CF8D>o<EFBFBD><6F><EFBFBD>܂<EFBFBD>"
|
|
|
|
|
dd aMENU_QUIT ; "<22>c<EFBFBD>n<EFBFBD>r<EFBFBD>ɖ߂<C996><DF82>܂<EFBFBD>"
|
|
|
|
|
dd aMENU_EASY ; "<22><><EFBFBD>Փx<D593><78><EFBFBD>₳<EFBFBD><E282B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>@ <09>i<EFBFBD><69><EFBFBD>S<EFBFBD>Ҍ<EFBFBD>"...
|
2014-09-18 15:20:12 +00:00
|
|
|
|
dd aMENU_NORMAL ; "<22><><EFBFBD>Փx<D593><78><EFBFBD>W<EFBFBD><57><EFBFBD>ɂ<EFBFBD><C982>܂<EFBFBD><DC82>@<40>@<40>@ <20>i<EFBFBD><69><EFBFBD>ʌ<EFBFBD><CA8C>E...
|
|
|
|
|
dd aMENU_HARD ; "<22><><EFBFBD>Փx<D593><78><EFBFBD><EFBFBD><EF82B5><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>@<40>@<40>@<40>i<EFBFBD>A<EFBFBD>[<5B>P<EFBFBD>[<5B>_<EFBFBD>E...
|
|
|
|
|
dd aMENU_LUNATIC ; "<22><><EFBFBD>Փx<D593><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɓ<C993><EF82B5><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>@<40>i<EFBFBD>V<EFBFBD><56><EFBFBD>[<5B>^<5E>E...
|
|
|
|
|
dd aMENU_LIVES ; "<22>Q<EFBFBD>[<5B><><EFBFBD>X<EFBFBD>^<5E>[<5B>g<EFBFBD><67><EFBFBD>̐l<CC90><6C><EFBFBD><EFBFBD><EFBFBD>ύX<CF8D>o<EFBFBD><6F><EFBFBD>܂<EFBFBD><DC82>i<EFBFBD>E...
|
|
|
|
|
dd aMENU_BOMBS ; "<22>{<7B><><EFBFBD>̎g<CC8E>p<EFBFBD><EFBFBD><F1909482>ύX<CF8D>o<EFBFBD><6F><EFBFBD>܂<EFBFBD><DC82>i<EFBFBD><69><EFBFBD><EFBFBD><EFBFBD>G<EFBFBD>L<EFBFBD>E...
|
2014-07-04 12:21:15 +00:00
|
|
|
|
dd aMENU_BGM_OFF ; "<22>a<EFBFBD>f<EFBFBD>l<EFBFBD>͗<EFBFBD><CD97><EFBFBD><EFBFBD>܂<EFBFBD><DC82><EFBFBD>"
|
|
|
|
|
dd aMENU_BGM_26K ; "<22>a<EFBFBD>f<EFBFBD>l<EFBFBD>ɂQ<C982>U<EFBFBD>j<EFBFBD><6A><EFBFBD><EFBFBD><EFBFBD>݊<EFBFBD><DD8A><EFBFBD><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD>܂<EFBFBD>"
|
|
|
|
|
dd aMENU_BGM_86K ; "<22>a<EFBFBD>f<EFBFBD>l<EFBFBD>ɂW<C982>U<EFBFBD><55><EFBFBD><EFBFBD><EFBFBD>݊<EFBFBD><DD8A><EFBFBD><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD>܂<EFBFBD>"
|
|
|
|
|
dd aMENU_SFX_OFF ; "<22><><EFBFBD>ʉ<EFBFBD><CA89>͗<EFBFBD><CD97><EFBFBD><EFBFBD>܂<EFBFBD><DC82><EFBFBD>"
|
|
|
|
|
dd aMENU_SFX_FM ; "<22><><EFBFBD>ʉ<EFBFBD><CA89>ɂe<C982>l<EFBFBD><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD>܂<EFBFBD>"
|
|
|
|
|
dd aMENU_SFX_BEEP ; "<22><><EFBFBD>ʉ<EFBFBD><CA89>ɂa<C982><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD>܂<EFBFBD>"
|
2014-09-18 15:20:12 +00:00
|
|
|
|
dd aMENU_SLOW ; "<22>G<EFBFBD>e<EFBFBD>̑<EFBFBD><CC91><EFBFBD><EFBFBD>ꏊ<EFBFBD>ŁA<C581>킴<EFBFBD>Ə<EFBFBD><C68F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>i<EFBFBD>X<EFBFBD><58><EFBFBD>E...
|
|
|
|
|
dd aMENU_TURBO ; "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}<7D>V<EFBFBD><56><EFBFBD>̃X<CC83>s<EFBFBD>[<5B>h<EFBFBD>ɔC<C994><43><EFBFBD>܂<EFBFBD><DC82>i<EFBFBD>E...
|
2014-07-04 12:21:15 +00:00
|
|
|
|
dd aMENU_RESET ; "<22><><EFBFBD>̃I<CC83>v<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>S<EFBFBD>ĕW<C495><57><EFBFBD>ɖ߂<C996><DF82>܂<EFBFBD>"
|
|
|
|
|
dd aMENU_OPTION_QUIT ; "<22>I<EFBFBD>v<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD><49><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD>"
|
|
|
|
|
dd aMENU_START_EASY ; "<22>Q<EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD>J<EFBFBD>n<EFBFBD><6E><EFBFBD>܂<EFBFBD><DC82>i<EFBFBD>C<EFBFBD>[<5B>W<EFBFBD>[<5B>j"
|
|
|
|
|
dd aMENU_START_NORMAL ; "<22>Q<EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD>J<EFBFBD>n<EFBFBD><6E><EFBFBD>܂<EFBFBD><DC82>i<EFBFBD>m<EFBFBD>[<5B>}<7D><><EFBFBD>j"
|
|
|
|
|
dd aMENU_START_HARD ; "<22>Q<EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD>J<EFBFBD>n<EFBFBD><6E><EFBFBD>܂<EFBFBD><DC82>i<EFBFBD>n<EFBFBD>[<5B>h<EFBFBD>j"
|
|
|
|
|
dd aMENU_START_LUNATIC ; "<22>Q<EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD>J<EFBFBD>n<EFBFBD><6E><EFBFBD>܂<EFBFBD><DC82>i<EFBFBD><69><EFBFBD>i<EFBFBD>e<EFBFBD>B<EFBFBD>b<EFBFBD>N<EFBFBD>j"
|
2019-12-08 05:32:01 +00:00
|
|
|
|
_main_menu_initialized db 0
|
|
|
|
|
_option_initialized db 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
; char aMain[]
|
2014-08-10 01:44:54 +00:00
|
|
|
|
aMain db 'main',0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
; char path[]
|
2014-08-10 01:44:54 +00:00
|
|
|
|
path db 'deb',0
|
|
|
|
|
aMENU_START db '<27>Q<EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD>J<EFBFBD>n<EFBFBD><6E><EFBFBD>܂<EFBFBD>',0
|
|
|
|
|
aMENU_START_EXTRA db '<27>G<EFBFBD>L<EFBFBD>X<EFBFBD>g<EFBFBD><67><EFBFBD>X<EFBFBD>e<EFBFBD>[<5B>W<EFBFBD><57><EFBFBD>J<EFBFBD>n<EFBFBD><6E><EFBFBD>܂<EFBFBD>',0
|
|
|
|
|
aMENU_HISCORE db '<27><><EFBFBD>݂̃n<CC83>C<EFBFBD>X<EFBFBD>R<EFBFBD>A<EFBFBD><41><EFBFBD>\<5C><><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD>',0
|
|
|
|
|
aMENU_MUSICROOM db '<27><><EFBFBD>y<EFBFBD><79><EFBFBD>ɓ<EFBFBD><C993><EFBFBD><EFBFBD>܂<EFBFBD>',0
|
|
|
|
|
aMENU_OPTION db '<27>e<EFBFBD><65><EFBFBD>ݒ<EFBFBD><DD92><EFBFBD><EFBFBD>ύX<CF8D>o<EFBFBD><6F><EFBFBD>܂<EFBFBD>',0
|
|
|
|
|
aMENU_QUIT db '<27>c<EFBFBD>n<EFBFBD>r<EFBFBD>ɖ߂<C996><DF82>܂<EFBFBD>',0
|
2014-07-04 12:21:15 +00:00
|
|
|
|
aMENU_EASY db '<27><><EFBFBD>Փx<D593><78><EFBFBD>₳<EFBFBD><E282B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>@ <20>i<EFBFBD><69><EFBFBD>S<EFBFBD>Ҍ<EFBFBD><D28C><EFBFBD><EFBFBD>j<EFBFBD>@ ',0
|
|
|
|
|
aMENU_NORMAL db '<27><><EFBFBD>Փx<D593><78><EFBFBD>W<EFBFBD><57><EFBFBD>ɂ<EFBFBD><C982>܂<EFBFBD><DC82>@<40>@<40>@ <20>i<EFBFBD><69><EFBFBD>ʌ<EFBFBD><CA8C><EFBFBD><EFBFBD>j<EFBFBD>@<40>@',0
|
|
|
|
|
aMENU_HARD db '<27><><EFBFBD>Փx<D593><78><EFBFBD><EFBFBD><EF82B5><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>@<40>@<40>@<40>i<EFBFBD>A<EFBFBD>[<5B>P<EFBFBD>[<5B>_<EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD>j',0
|
|
|
|
|
aMENU_LUNATIC db '<27><><EFBFBD>Փx<D593><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɓ<C993><EF82B5><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>@<40>i<EFBFBD>V<EFBFBD><56><EFBFBD>[<5B>^<5E>[<5B><><EFBFBD><EFBFBD><EFBFBD>j',0
|
|
|
|
|
aMENU_LIVES db '<27>Q<EFBFBD>[<5B><><EFBFBD>X<EFBFBD>^<5E>[<5B>g<EFBFBD><67><EFBFBD>̐l<CC90><6C><EFBFBD><EFBFBD><EFBFBD>ύX<CF8D>o<EFBFBD><6F><EFBFBD>܂<EFBFBD><DC82>i<EFBFBD><69><EFBFBD><EFBFBD><EFBFBD>G<EFBFBD>L<EFBFBD>X<EFBFBD>g<EFBFBD><67><EFBFBD>j',0
|
|
|
|
|
aMENU_BOMBS db '<27>{<7B><><EFBFBD>̎g<CC8E>p<EFBFBD><EFBFBD><F1909482>ύX<CF8D>o<EFBFBD><6F><EFBFBD>܂<EFBFBD><DC82>i<EFBFBD><69><EFBFBD><EFBFBD><EFBFBD>G<EFBFBD>L<EFBFBD>X<EFBFBD>g<EFBFBD><67><EFBFBD>j',0
|
2014-08-10 01:44:54 +00:00
|
|
|
|
aMENU_BGM_OFF db '<27>a<EFBFBD>f<EFBFBD>l<EFBFBD>͗<EFBFBD><CD97><EFBFBD><EFBFBD>܂<EFBFBD><DC82><EFBFBD>',0
|
|
|
|
|
aMENU_BGM_26K db '<27>a<EFBFBD>f<EFBFBD>l<EFBFBD>ɂQ<C982>U<EFBFBD>j<EFBFBD><6A><EFBFBD><EFBFBD><EFBFBD>݊<EFBFBD><DD8A><EFBFBD><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD>܂<EFBFBD>',0
|
|
|
|
|
aMENU_BGM_86K db '<27>a<EFBFBD>f<EFBFBD>l<EFBFBD>ɂW<C982>U<EFBFBD><55><EFBFBD><EFBFBD><EFBFBD>݊<EFBFBD><DD8A><EFBFBD><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD>܂<EFBFBD>',0
|
|
|
|
|
aMENU_SFX_OFF db '<27><><EFBFBD>ʉ<EFBFBD><CA89>͗<EFBFBD><CD97><EFBFBD><EFBFBD>܂<EFBFBD><DC82><EFBFBD>',0
|
|
|
|
|
aMENU_SFX_FM db '<27><><EFBFBD>ʉ<EFBFBD><CA89>ɂe<C982>l<EFBFBD><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD>܂<EFBFBD>',0
|
|
|
|
|
aMENU_SFX_BEEP db '<27><><EFBFBD>ʉ<EFBFBD><CA89>ɂa<C982><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD>܂<EFBFBD>',0
|
2014-07-04 12:21:15 +00:00
|
|
|
|
aMENU_SLOW db '<27>G<EFBFBD>e<EFBFBD>̑<EFBFBD><CC91><EFBFBD><EFBFBD>ꏊ<EFBFBD>ŁA<C581>킴<EFBFBD>Ə<EFBFBD><C68F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>i<EFBFBD>X<EFBFBD><58><EFBFBD>[<5B>j<EFBFBD><6A><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>i<EFBFBD><69><EFBFBD>S<EFBFBD>җp<D297>j',0
|
|
|
|
|
aMENU_TURBO db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}<7D>V<EFBFBD><56><EFBFBD>̃X<CC83>s<EFBFBD>[<5B>h<EFBFBD>ɔC<C994><43><EFBFBD>܂<EFBFBD><DC82>i<EFBFBD>W<EFBFBD><57><EFBFBD>j',0
|
2014-08-10 01:44:54 +00:00
|
|
|
|
aMENU_RESET db '<27><><EFBFBD>̃I<CC83>v<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>S<EFBFBD>ĕW<C495><57><EFBFBD>ɖ߂<C996><DF82>܂<EFBFBD>',0
|
|
|
|
|
aMENU_OPTION_QUIT db '<27>I<EFBFBD>v<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD><49><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD>',0
|
|
|
|
|
aMENU_START_EASY db '<27>Q<EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD>J<EFBFBD>n<EFBFBD><6E><EFBFBD>܂<EFBFBD><DC82>i<EFBFBD>C<EFBFBD>[<5B>W<EFBFBD>[<5B>j',0
|
|
|
|
|
aMENU_START_NORMAL db '<27>Q<EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD>J<EFBFBD>n<EFBFBD><6E><EFBFBD>܂<EFBFBD><DC82>i<EFBFBD>m<EFBFBD>[<5B>}<7D><><EFBFBD>j',0
|
|
|
|
|
aMENU_START_HARD db '<27>Q<EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD>J<EFBFBD>n<EFBFBD><6E><EFBFBD>܂<EFBFBD><DC82>i<EFBFBD>n<EFBFBD>[<5B>h<EFBFBD>j',0
|
|
|
|
|
aMENU_START_LUNATIC db '<27>Q<EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD>J<EFBFBD>n<EFBFBD><6E><EFBFBD>܂<EFBFBD><DC82>i<EFBFBD><69><EFBFBD>i<EFBFBD>e<EFBFBD>B<EFBFBD>b<EFBFBD>N<EFBFBD>j',0
|
|
|
|
|
aOp1_pi db 'op1.pi',0
|
|
|
|
|
aMiko db 'miko',0
|
|
|
|
|
aOp db 'op',0
|
|
|
|
|
aKaikidan1_dat0 db '<27><><EFBFBD>Y<EFBFBD>k1.dat',0
|
|
|
|
|
aNotEnoughMem db 0Ah
|
2014-07-03 19:12:55 +00:00
|
|
|
|
db '<27><EFBFBD><F382AB83><EFBFBD><EFBFBD><EFBFBD><EFBFBD>s<EFBFBD><73><EFBFBD>ł<EFBFBD><C582>B<EFBFBD><42><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𑝂₵<F0919D82>Ă<EFBFBD><C482><EFBFBD><EFBFBD><EFBFBD><EFBFBD>s<EFBFBD><73><EFBFBD>Ă<EFBFBD>',0Ah,0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
db 0
|
2014-08-26 05:25:43 +00:00
|
|
|
|
include libs/master.lib/atrtcmod[data].asm
|
2014-08-23 10:08:48 +00:00
|
|
|
|
include libs/master.lib/bfnt_id[data].asm
|
2014-08-27 20:57:18 +00:00
|
|
|
|
include libs/master.lib/clip[data].asm
|
2014-08-27 22:05:06 +00:00
|
|
|
|
include libs/master.lib/edges[data].asm
|
2014-08-30 05:49:51 +00:00
|
|
|
|
include libs/master.lib/fil[data].asm
|
2014-08-21 20:07:58 +00:00
|
|
|
|
include libs/master.lib/dos_ropen[data].asm
|
2014-08-14 12:30:48 +00:00
|
|
|
|
include libs/master.lib/get_machine_98[data].asm
|
2014-08-14 11:57:40 +00:00
|
|
|
|
include libs/master.lib/get_machine_at[data].asm
|
2014-08-27 03:42:48 +00:00
|
|
|
|
include libs/master.lib/grp[data].asm
|
2018-04-15 14:05:57 +00:00
|
|
|
|
include libs/master.lib/js[data].asm
|
2014-08-14 10:09:09 +00:00
|
|
|
|
include libs/master.lib/machine[data].asm
|
2014-08-23 13:47:05 +00:00
|
|
|
|
include libs/master.lib/pal[data].asm
|
2014-08-27 00:40:09 +00:00
|
|
|
|
include libs/master.lib/pf[data].asm
|
2014-08-30 10:13:04 +00:00
|
|
|
|
include libs/master.lib/rand[data].asm
|
2014-08-28 05:54:38 +00:00
|
|
|
|
include libs/master.lib/sin8[data].asm
|
2014-08-15 12:26:44 +00:00
|
|
|
|
include libs/master.lib/tx[data].asm
|
2014-08-26 20:52:26 +00:00
|
|
|
|
include libs/master.lib/vs[data].asm
|
2014-08-27 23:37:48 +00:00
|
|
|
|
include libs/master.lib/wordmask[data].asm
|
2014-08-21 20:53:12 +00:00
|
|
|
|
include libs/master.lib/mem[data].asm
|
2014-08-23 16:07:02 +00:00
|
|
|
|
include libs/master.lib/super_entry_bfnt[data].asm
|
2014-08-22 20:31:44 +00:00
|
|
|
|
include libs/master.lib/superpa[data].asm
|
2014-09-03 13:23:51 +00:00
|
|
|
|
include libs/master.lib/respal_exist[data].asm
|
2014-08-31 16:08:50 +00:00
|
|
|
|
include libs/master.lib/draw_trapezoid[data].asm
|
2014-08-26 04:18:06 +00:00
|
|
|
|
include libs/master.lib/bgm_timerhook[data].asm
|
2014-08-25 20:32:21 +00:00
|
|
|
|
include libs/master.lib/bgm[data].asm
|
2015-03-15 21:54:15 +00:00
|
|
|
|
include th04/snd/se_priority[data].asm
|
2019-11-25 08:44:38 +00:00
|
|
|
|
include th04/hardware/grppsafx[data].asm
|
2015-03-15 21:54:15 +00:00
|
|
|
|
include th03/snd/se_state[data].asm
|
2019-12-08 12:09:13 +00:00
|
|
|
|
include th04/bgimage[data].asm
|
2019-11-23 17:56:00 +00:00
|
|
|
|
include th05/mem[data].asm
|
2019-12-04 10:05:18 +00:00
|
|
|
|
include th05/music/piano[data].asm
|
2015-03-15 21:54:15 +00:00
|
|
|
|
include th05/snd/load[data].asm
|
|
|
|
|
include th04/snd/snd[data].asm
|
2019-12-10 07:52:24 +00:00
|
|
|
|
include th03/formats/pi_slot_put_mask[data].asm
|
2014-11-18 16:56:13 +00:00
|
|
|
|
include th05/formats/pi_slot_buffers[bss].asm
|
[Reverse-engineering] 32-bit VRAM plane pointers
I've looked at every openly available piece of PC-98 documentation, and there
don't seem to be any official names for the individual planes. The closest
thing I could find was the description at
http://island.geocities.jp/cklouch/column/pc98bas/pc98disphw2.htm
explaining that they represent the blue, red, green, and brightness component
when using the default PC-98 palette. However, these planes correspond to
nothing else but the 4 individual bits of the final index into the color
palette, and you can assign any color to every single palette slot. Therefore,
it's merely a convention that your own palettes don't have to follow (and in
Touhou, they don't).
Nevertheless, there doesn't seem to be an alternative, and the Neko Project II
source code uses the same B/R/G/E convention, so I'll go with that as well.
2015-02-10 22:43:34 +00:00
|
|
|
|
include th05/hardware/vram_planes[data].asm
|
2017-01-19 20:14:22 +00:00
|
|
|
|
include th03/formats/cdg[data].asm
|
2019-12-21 20:15:20 +00:00
|
|
|
|
include th04/setup[data].asm
|
2019-12-01 11:03:31 +00:00
|
|
|
|
include th04/zunsoft[data].asm
|
2020-02-22 11:55:34 +00:00
|
|
|
|
include th05/formats/cfg[data].asm
|
2014-07-05 20:29:42 +00:00
|
|
|
|
db 0
|
2014-08-10 01:44:54 +00:00
|
|
|
|
aSft1_cd2 db 'sft1.cd2',0
|
|
|
|
|
aSft2_cd2 db 'sft2.cd2',0
|
|
|
|
|
aCar_cd2 db 'car.cd2',0
|
|
|
|
|
aSl00_cdg db 'sl00.cdg',0
|
|
|
|
|
aSl01_cdg db 'sl01.cdg',0
|
|
|
|
|
aSl02_cdg db 'sl02.cdg',0
|
|
|
|
|
aSl03_cdg db 'sl03.cdg',0
|
|
|
|
|
aSlcl_cdg db 'slcl.cdg',0
|
|
|
|
|
aSl04_cdg db 'sl04.cdg',0
|
|
|
|
|
aOp2a_pi db 'op2a.pi',0
|
|
|
|
|
aOp2b_pi db 'op2b.pi',0
|
|
|
|
|
aOp2c_pi db 'op2c.pi',0
|
|
|
|
|
aOp2d_pi db 'op2d.pi',0
|
|
|
|
|
aOp2e_pi db 'op2e.pi',0
|
|
|
|
|
aOp2f_pi db 'op2f.pi',0
|
|
|
|
|
aOp2g_pi db 'op2g.pi',0
|
|
|
|
|
aOp2h_pi db 'op2h.pi',0
|
|
|
|
|
aOp_0 db 'op',0
|
|
|
|
|
aOp1_pi_0 db 'op1.pi',0
|
|
|
|
|
MUSICROOM_UP dd aMUSICROOM_UP
|
2014-06-26 20:33:22 +00:00
|
|
|
|
; " ------ <20><> ------ "
|
2014-08-10 01:44:54 +00:00
|
|
|
|
MUSICROOM_DOWN dd aMUSICROOM_DOWN
|
2014-06-26 20:33:22 +00:00
|
|
|
|
; " ------ <20><> ------ "
|
|
|
|
|
dd asc_104D5 ; " ---------------- "
|
2014-07-03 19:28:21 +00:00
|
|
|
|
MUSICROOM_GAME dd aMUSICROOM_TH01
|
|
|
|
|
dd aMUSICROOM_TH02
|
|
|
|
|
dd aMUSICROOM_TH03
|
|
|
|
|
dd aMUSICROOM_TH04
|
|
|
|
|
dd aMUSICROOM_TH05
|
2019-12-05 02:53:01 +00:00
|
|
|
|
public _MUSIC_TITLES
|
|
|
|
|
_MUSIC_TITLES label dword
|
2014-07-03 19:28:21 +00:00
|
|
|
|
dd aTH01_01 ; "No.1 A Sacred Lot "
|
|
|
|
|
dd aTH01_02 ; "No.2 <20>i<EFBFBD><69><EFBFBD>̛ޏ<CC9B> "
|
|
|
|
|
dd aTH01_03 ; "No.3 The Positive and Negative "
|
|
|
|
|
dd aTH01_04 ; "No.4 Highly Responsive to Prayers "
|
|
|
|
|
dd aTH01_05
|
|
|
|
|
dd aTH01_06 ; "No.6 <20>V<EFBFBD>g<EFBFBD>`<60><> "
|
|
|
|
|
dd aTH01_07 ; "No.7 Oriental Magician "
|
|
|
|
|
dd aTH01_08 ; "No.8 <20>j<EFBFBD>ׂ̏<D782><CC8F><EFBFBD><EFBFBD><EFBFBD> "
|
|
|
|
|
dd aTH01_09 ; "No.9 <20><><EFBFBD><EFBFBD> "
|
|
|
|
|
dd aTH01_10 ; "No.10 the Legend of KAGE "
|
|
|
|
|
dd aTH01_11 ; "No.11 <20><><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD>|<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̎<EFBFBD><CC8E>܂<EFBFBD> "
|
|
|
|
|
dd aTH01_12 ; "No.12 Civilization of Magic "
|
|
|
|
|
dd aTH01_13 ; "No.13 <20><><EFBFBD>H<EFBFBD>V<EFBFBD>g "
|
|
|
|
|
dd aTH01_14 ; "No.14 <20>A<EFBFBD>C<EFBFBD><43><EFBFBD>X "
|
|
|
|
|
dd aMUSICROOM_QUIT1 ; " <20>^<5E>C<EFBFBD>g<EFBFBD><67><EFBFBD>ɖ߂<C996> "
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd aTH02_01
|
|
|
|
|
dd aTH02_02 ; "No.2 <20>@ <09><><EFBFBD><EFBFBD><EFBFBD>@<40>`Eastern Wind "
|
|
|
|
|
dd aTH02_03 ; "No.3 <20>@ She's in a temper!! "
|
|
|
|
|
dd aTH02_04 ; "No.4 <20>@ End of Daylight<68>@ "
|
|
|
|
|
dd aTH02_05 ; "No.5 <20>@ <20>@ <20><><EFBFBD>݂̂<DD82><CC82><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40>@ "
|
|
|
|
|
dd aTH02_06 ; "No.6 <20>@<40>@<40>@<40>@<40>@<40><><EFBFBD><EFBFBD><EFBFBD>E<EFBFBD>@<40>@<40>@<40>@ "
|
|
|
|
|
dd aTH02_07
|
|
|
|
|
dd aTH02_08 ; "No.8 <20>Ђ<EFBFBD><D082>났<EFBFBD>A<EFBFBD>ނ炳<DE82><E782B3><EFBFBD>ɂ<EFBFBD><C982><EFBFBD> "
|
|
|
|
|
dd aTH02_09
|
|
|
|
|
dd aTH02_10
|
|
|
|
|
dd aTH02_11 ; "No.11 Complete Darkness "
|
|
|
|
|
dd aTH02_12 ; "No.12 <09>@ <20>G<EFBFBD>L<EFBFBD>X<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD>u "
|
|
|
|
|
dd aTH02_13 ; "No.13 <09><><EFBFBD>Ԃނ<D482><DE82>߂݂̂<CC82><DD82><EFBFBD><EFBFBD><EFBFBD> "
|
|
|
|
|
dd aTH02_14 ; "No.14 <20>@<40>@<40><><EFBFBD><EFBFBD><EFBFBD>̐X<CC90>@<40>@<40>@ "
|
|
|
|
|
dd aTH02_15
|
|
|
|
|
dd aTH02_16 ; "<22><><EFBFBD>g<EFBFBD>p.1 <20><><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD>Ћ<EFBFBD><D08B><EFBFBD> "
|
|
|
|
|
dd aTH02_17 ; "<22><><EFBFBD>g<EFBFBD>p.2 <20>@<40>z<EFBFBD><7A><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09>@ "
|
|
|
|
|
dd aTH02_18 ; "<22><><EFBFBD>g<EFBFBD>p.3 <20>@<40><><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD><49> <09>@ "
|
|
|
|
|
dd aMUSICROOM_QUIT1 ; " <20>^<5E>C<EFBFBD>g<EFBFBD><67><EFBFBD>ɖ߂<C996> "
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd aTH03_01
|
|
|
|
|
dd aTH03_02 ; "No.2 <20>@ <09>@ Selection "
|
|
|
|
|
dd aTH03_03
|
|
|
|
|
dd aTH03_04 ; "No.4 Reincarnation "
|
|
|
|
|
dd aTH03_05 ; "No.5 Dim. Dream "
|
|
|
|
|
dd aTH03_06
|
|
|
|
|
dd aTH03_07 ; "No.7 <20>@ Maniacal Princess "
|
|
|
|
|
dd aTH03_08 ; "No.8 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>`Lost Dream "
|
|
|
|
|
dd aTH03_09 ; "No.9 <20><><EFBFBD><EFBFBD><EFBFBD>V<EFBFBD>Y <09>`Dream War "
|
|
|
|
|
dd aTH03_10 ; "No.10 <20><><EFBFBD>@<40><><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD>`Fight it out! "
|
|
|
|
|
dd aTH03_11 ; "No.11 <20>@ Sailor of Time "
|
|
|
|
|
dd aTH03_12 ; "No.12 Strawberry Crisis!! "
|
|
|
|
|
dd aTH03_13
|
|
|
|
|
dd aTH03_14 ; "No.14 <20>@<40><><EFBFBD>@<40><><EFBFBD><EFBFBD> "
|
|
|
|
|
dd aTH03_15 ; "No.15 <20>@<40>v<EFBFBD><76><EFBFBD>̖<EFBFBD> "
|
|
|
|
|
dd aTH03_16
|
|
|
|
|
dd aTH03_17 ; "No.17 <20>i<EFBFBD><69><EFBFBD>̖<EFBFBD><CC96><EFBFBD> "
|
|
|
|
|
dd aTH03_18 ; "No.18 Maple Dream... "
|
|
|
|
|
dd aTH03_19
|
|
|
|
|
dd aTH03_20 ; "No.20 <20><><EFBFBD><EFBFBD><EFBFBD>f<EFBFBD><66> "
|
|
|
|
|
dd aTH03_21 ; "No.21 <20>Q<EFBFBD>[<5B><><EFBFBD>I<EFBFBD>[<5B>o<EFBFBD>[ "
|
|
|
|
|
dd aTH03_22 ; "<22><><EFBFBD>g<EFBFBD>p.1 <20><><EFBFBD>̕<EFBFBD> "
|
|
|
|
|
dd aTH03_23 ; "<22><><EFBFBD>g<EFBFBD>p.2 <09>X<EFBFBD>^<5E>[<5B>{<7B>E<EFBFBD>h<EFBFBD><68><EFBFBD>[<5B><> "
|
|
|
|
|
dd aTH03_24 ; "<22><><EFBFBD>g<EFBFBD>p.3 Phantasmagoria "
|
|
|
|
|
dd aMUSICROOM_QUIT2 ; " <20>^<5E>C<EFBFBD>g<EFBFBD><67><EFBFBD>ɖ߂<C996> "
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd aTH04_01 ; "No.1 <20><><EFBFBD>z<EFBFBD><7A> <20>` Lotus Land Story "
|
|
|
|
|
dd aTH04_02 ; "No.2 Witching Dream "
|
|
|
|
|
dd aTH04_03 ; "No.3 Selene's light "
|
|
|
|
|
dd aTH04_04
|
|
|
|
|
dd aTH04_05 ; "No.5 Break the Sabbath "
|
|
|
|
|
dd aTH04_06 ; "No.6 <20>g<EFBFBD><67><EFBFBD><EFBFBD> <20>` Scarlet Phoneme "
|
|
|
|
|
dd aTH04_07 ; "No.7 Bad Apple!! "
|
|
|
|
|
dd aTH04_08 ; "No.8 <20><><EFBFBD><EFBFBD><EFBFBD>@<40>` Perdition crisis "
|
|
|
|
|
dd aTH04_09 ; "No.9 <09>A<EFBFBD><41><EFBFBD>X<EFBFBD>}<7D>G<EFBFBD>X<EFBFBD>e<EFBFBD><65> "
|
|
|
|
|
dd aTH04_10 ; "No.10 <20><><EFBFBD><EFBFBD><EFBFBD>Y<EFBFBD>z<EFBFBD>ȁ@<40>` Capriccio "
|
|
|
|
|
dd aTH04_11 ; "No.11 <20><><EFBFBD>̊<EFBFBD><CC8A>@<40>` Casket of Star "
|
|
|
|
|
dd aTH04_12 ; "No.12 Lotus Love "
|
|
|
|
|
dd aTH04_13 ; "No.13 <20><><EFBFBD><EFBFBD><EFBFBD>鋰<EFBFBD>| <20>`Sleeping Terror "
|
|
|
|
|
dd aTH04_14 ; "No.14 Dream Land "
|
|
|
|
|
dd aTH04_15 ; "No.15 <20>H<EFBFBD><48><EFBFBD>@<40>` Inanimate Dream "
|
|
|
|
|
dd aTH04_16
|
|
|
|
|
dd aTH04_17 ; "No.17 <20><><EFBFBD>C<EFBFBD>h<EFBFBD><68><EFBFBD>z<EFBFBD>@<40>` Icemilk Magic "
|
|
|
|
|
dd aTH04_18 ; "No.18 <20><><EFBFBD>킢<EFBFBD><ED82A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40>` Innocence "
|
|
|
|
|
dd aTH04_19 ; "No.19 Days "
|
|
|
|
|
dd aTH04_20 ; "No.20 Peaceful "
|
|
|
|
|
dd aTH04_21 ; "No.21 Arcadian Dream "
|
|
|
|
|
dd aTH04_22 ; "No.22 <20><><EFBFBD>z<EFBFBD>̏Z<CC8F>l "
|
|
|
|
|
dd aTH04_23 ; "<22><><EFBFBD>g<EFBFBD>p.1 Lotus Road "
|
|
|
|
|
dd aTH04_24 ; "<22><><EFBFBD>g<EFBFBD>p.2 Dreamy pilot "
|
|
|
|
|
dd aTH04_25 ; "<22><><EFBFBD>g<EFBFBD>p.3 Incomplete Plot "
|
|
|
|
|
dd aTH04_26 ; "<22><><EFBFBD>g<EFBFBD>p.4 Border Land "
|
|
|
|
|
dd aTH04_27 ; "<22><><EFBFBD>g<EFBFBD>p.5 Magic Shop of Raspberry "
|
|
|
|
|
dd aTH04_28 ; "<22><><EFBFBD>g<EFBFBD>p.6 Crescent Dream "
|
|
|
|
|
dd aMUSICROOM_QUIT1 ; " <20>^<5E>C<EFBFBD>g<EFBFBD><67><EFBFBD>ɖ߂<C996> "
|
|
|
|
|
dd 0
|
|
|
|
|
dd aTH05_01
|
|
|
|
|
dd aTH05_02 ; "No.2 Dream Express "
|
|
|
|
|
dd aTH05_03 ; "No.3 <20><><EFBFBD>@<40>w<EFBFBD>@<40>` Magic Square "
|
|
|
|
|
dd aTH05_04
|
|
|
|
|
dd aTH05_05 ; "No.5 <20><><EFBFBD>V<EFBFBD>@<40>` Spiritual Heaven "
|
|
|
|
|
dd aTH05_06 ; "No.6 Romantic Children "
|
|
|
|
|
dd aTH05_07 ; "No.7 <20>v<EFBFBD><76><EFBFBD>X<EFBFBD>`<60>b<EFBFBD>N<EFBFBD>}<7D>C<EFBFBD><43><EFBFBD>h "
|
|
|
|
|
dd aTH05_08 ; "No.8 <20><><EFBFBD>C<EFBFBD>v<EFBFBD><76><EFBFBD><EFBFBD><EFBFBD>C<EFBFBD>Y "
|
|
|
|
|
dd aTH05_09 ; "No.9 <20>֒f<D692>̖<EFBFBD><CC96>@ <20>` Forbidden Magic"
|
|
|
|
|
dd aTH05_10 ; "No.10 <20>^<5E>g<EFBFBD>̏<EFBFBD><CC8F><EFBFBD><EFBFBD>@<40>` Crimson Dead!!"
|
|
|
|
|
dd aTH05_11 ; "No.11 <20><><EFBFBD><EFBFBD><D882>̏<EFBFBD><CC8F><EFBFBD><EFBFBD>@<40>` Judas Kiss "
|
|
|
|
|
dd aTH05_12 ; "No.12 the Last Judgement "
|
|
|
|
|
dd aTH05_13 ; "No.13 <20>߂<EFBFBD><DF82><EFBFBD><EFBFBD>l<EFBFBD>`<60>@<40>` Doll of Misery"
|
|
|
|
|
dd aTH05_14 ; "No.14 <20><><EFBFBD>E<EFBFBD>̉ʂā@<40>` World's End "
|
|
|
|
|
dd aTH05_15 ; "No.15 <20>_<EFBFBD>b<EFBFBD><62><EFBFBD>z<EFBFBD>@<40>` Infinite Being "
|
|
|
|
|
dd aTH05_16 ; "No.16 <20>s<EFBFBD>v<EFBFBD>c<EFBFBD>̍<EFBFBD><CC8D>̃A<CC83><41><EFBFBD>X "
|
|
|
|
|
dd aTH05_17 ; "No.17 the Grimoire of Alice "
|
|
|
|
|
dd aTH05_18 ; "No.18 <20>_<EFBFBD><5F> "
|
|
|
|
|
dd aTH05_19 ; "No.19 Endless "
|
|
|
|
|
dd aTH05_20 ; "No.20 <20>v<EFBFBD><76><EFBFBD>̊y<CC8A><79> "
|
|
|
|
|
dd aTH05_21 ; "No.21 Mystic Dream "
|
|
|
|
|
dd aTH05_22 ; "No.22 Peaceful Romancer "
|
|
|
|
|
dd aTH05_23 ; "No.23 <20><><EFBFBD>̋x<CC8B><78><EFBFBD>ޏ<EFBFBD> "
|
|
|
|
|
dd aMUSICROOM_QUIT1 ; " <20>^<5E>C<EFBFBD>g<EFBFBD><67><EFBFBD>ɖ߂<C996> "
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
2019-12-05 02:53:01 +00:00
|
|
|
|
public _MUSIC_FILES
|
|
|
|
|
_MUSIC_FILES label dword
|
2014-06-26 20:33:22 +00:00
|
|
|
|
dd aR_00 ; "r_00"
|
|
|
|
|
dd aR_01 ; "r_01"
|
|
|
|
|
dd aR_02 ; "r_02"
|
|
|
|
|
dd aR_03 ; "r_03"
|
|
|
|
|
dd aR_04 ; "r_04"
|
|
|
|
|
dd aR_05 ; "r_05"
|
|
|
|
|
dd aR_06 ; "r_06"
|
|
|
|
|
dd aR_07 ; "r_07"
|
|
|
|
|
dd aR_08 ; "r_08"
|
|
|
|
|
dd aR_09 ; "r_09"
|
|
|
|
|
dd aR_10 ; "r_10"
|
|
|
|
|
dd aR_11 ; "r_11"
|
|
|
|
|
dd aR_12 ; "r_12"
|
|
|
|
|
dd aR_13 ; "r_13"
|
2014-07-03 19:28:21 +00:00
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
dd aH_op ; "h_op"
|
|
|
|
|
dd aH_st00 ; "h_st00"
|
|
|
|
|
dd aH_st00b ; "h_st00b"
|
|
|
|
|
dd aH_st01 ; "h_st01"
|
|
|
|
|
dd aH_st01b ; "h_st01b"
|
|
|
|
|
dd aH_st02 ; "h_st02"
|
|
|
|
|
dd aH_st02b ; "h_st02b"
|
|
|
|
|
dd aH_st03 ; "h_st03"
|
|
|
|
|
dd aH_st03b ; "h_st03b"
|
|
|
|
|
dd aH_st04 ; "h_st04"
|
|
|
|
|
dd aH_st04b ; "h_st04b"
|
|
|
|
|
dd aH_st05 ; "h_st05"
|
|
|
|
|
dd aH_st05b ; "h_st05b"
|
|
|
|
|
dd aH_end ; "h_end"
|
|
|
|
|
dd aH_staff ; "h_staff"
|
|
|
|
|
dd aH_ng00 ; "h_ng00"
|
|
|
|
|
dd aH_ng01 ; "h_ng01"
|
|
|
|
|
dd aH_ng02 ; "h_ng02"
|
2014-07-03 19:28:21 +00:00
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
dd aY_op ; "y_op"
|
|
|
|
|
dd aY_select ; "y_select"
|
|
|
|
|
dd aY_00mm ; "y_00mm"
|
|
|
|
|
dd aY_01mm ; "y_01mm"
|
|
|
|
|
dd aY_02mm ; "y_02mm"
|
|
|
|
|
dd aY_03mm ; "y_03mm"
|
|
|
|
|
dd aY_04mm ; "y_04mm"
|
|
|
|
|
dd aY_05mm ; "y_05mm"
|
|
|
|
|
dd aY_06mm ; "y_06mm"
|
|
|
|
|
dd aY_dec ; "y_dec"
|
|
|
|
|
dd aY_07mm ; "y_07mm"
|
|
|
|
|
dd aY_08mm ; "y_08mm"
|
|
|
|
|
dd aY_demo1 ; "y_demo1"
|
|
|
|
|
dd aY_demo2 ; "y_demo2"
|
|
|
|
|
dd aY_demo3 ; "y_demo3"
|
|
|
|
|
dd aY_demo4 ; "y_demo4"
|
|
|
|
|
dd aY_demo5 ; "y_demo5"
|
|
|
|
|
dd aY_ed ; "y_ed"
|
|
|
|
|
dd aY_score ; "y_score"
|
|
|
|
|
dd aY_win ; "y_win"
|
|
|
|
|
dd aY_over ; "y_over"
|
|
|
|
|
dd aY_ng00 ; "y_ng00"
|
|
|
|
|
dd aY_ng01 ; "y_ng01"
|
|
|
|
|
dd aY_ng02 ; "y_ng02"
|
2014-07-03 19:28:21 +00:00
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
dd aG_op ; "g_op"
|
|
|
|
|
dd aG_st00 ; "g_st00"
|
|
|
|
|
dd aG_st10 ; "g_st10"
|
|
|
|
|
dd aG_st00b ; "g_st00b"
|
|
|
|
|
dd aG_st01 ; "g_st01"
|
|
|
|
|
dd aG_st01b ; "g_st01b"
|
|
|
|
|
dd aG_st02 ; "g_st02"
|
|
|
|
|
dd aG_st02b ; "g_st02b"
|
|
|
|
|
dd aG_st03 ; "g_st03"
|
|
|
|
|
dd aG_st03c ; "g_st03c"
|
|
|
|
|
dd aG_st03b ; "g_st03b"
|
|
|
|
|
dd aG_st04 ; "g_st04"
|
|
|
|
|
dd aG_st04b ; "g_st04b"
|
|
|
|
|
dd aG_st05 ; "g_st05"
|
|
|
|
|
dd aG_st05b ; "g_st05b"
|
|
|
|
|
dd aG_st06 ; "g_st06"
|
|
|
|
|
dd aG_st06b ; "g_st06b"
|
|
|
|
|
dd aG_st06c ; "g_st06c"
|
|
|
|
|
dd aG_end1 ; "g_end1"
|
|
|
|
|
dd aG_end2 ; "g_end2"
|
|
|
|
|
dd aG_staff ; "g_staff"
|
|
|
|
|
dd aG_name ; "g_name"
|
|
|
|
|
dd aG_ng00 ; "g_ng00"
|
|
|
|
|
dd aG_ng01 ; "g_ng01"
|
|
|
|
|
dd aG_ng02 ; "g_ng02"
|
|
|
|
|
dd aG_ng03 ; "g_ng03"
|
|
|
|
|
dd aG_ng04 ; "g_ng04"
|
|
|
|
|
dd aG_ng05 ; "g_ng05"
|
2014-07-03 19:28:21 +00:00
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
2014-06-26 20:33:22 +00:00
|
|
|
|
dd aH_op+2
|
|
|
|
|
dd aH_st00+2
|
|
|
|
|
dd aH_st00b+2
|
|
|
|
|
dd aH_st01+2
|
|
|
|
|
dd aH_st01b+2
|
|
|
|
|
dd aH_st02+2
|
|
|
|
|
dd aH_st02b+2
|
|
|
|
|
dd aH_st03+2
|
|
|
|
|
dd aH_st03b+2
|
|
|
|
|
dd aG_st03c+2
|
|
|
|
|
dd aSt03d ; "st03d"
|
|
|
|
|
dd aH_st04+2
|
|
|
|
|
dd aH_st04b+2
|
|
|
|
|
dd aH_st05+2
|
|
|
|
|
dd aH_st05b+2
|
|
|
|
|
dd aG_st06+2
|
|
|
|
|
dd aG_st06b+2
|
|
|
|
|
dd aEd00 ; "ed00"
|
|
|
|
|
dd aEd01 ; "ed01"
|
|
|
|
|
dd aEd02 ; "ed02"
|
|
|
|
|
dd aH_staff+2
|
|
|
|
|
dd aExed ; "exed"
|
|
|
|
|
dd aG_name+2
|
2014-07-03 19:28:21 +00:00
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
2014-12-24 20:39:34 +00:00
|
|
|
|
music_game dw 4
|
2014-07-03 19:28:21 +00:00
|
|
|
|
MUSICROOM_TRACKCOUNTS dw 14,18,24,28,23
|
2017-01-09 20:10:33 +00:00
|
|
|
|
include th02/music/polygons[data].asm
|
2014-08-10 01:44:54 +00:00
|
|
|
|
aMUSICROOM_UP db ' ------ <20><> ------ ',0
|
|
|
|
|
aMUSICROOM_DOWN db ' ------ <20><> ------ ',0
|
|
|
|
|
asc_104D5 db ' ---------------- ',0
|
|
|
|
|
aMUSICROOM_TH01 db ' <20><><EFBFBD>P<EFBFBD>e<EFBFBD>@<40><><EFBFBD><EFBFBD><EFBFBD>ˈٓ` Arrange ver ',0
|
|
|
|
|
aMUSICROOM_TH02 db ' <20><><EFBFBD>Q<EFBFBD>e<EFBFBD>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>^ Special MIX ',0
|
|
|
|
|
aMUSICROOM_TH03 db ' <20><><EFBFBD>R<EFBFBD>e<EFBFBD>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Special MIX ',0
|
|
|
|
|
aMUSICROOM_TH04 db ' <20><><EFBFBD>S<EFBFBD>e<EFBFBD>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>z<EFBFBD><7A> Special MIX ',0
|
|
|
|
|
aMUSICROOM_TH05 db ' <20><><EFBFBD>T<EFBFBD>e<EFBFBD>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Y<EFBFBD>k MysticSquare ',0
|
|
|
|
|
aTH01_01 db 'No.1 A Sacred Lot ',0
|
|
|
|
|
aTH01_02 db 'No.2 <20>i<EFBFBD><69><EFBFBD>̛ޏ<CC9B> ',0
|
|
|
|
|
aTH01_03 db 'No.3 The Positive and Negative ',0
|
|
|
|
|
aTH01_04 db 'No.4 Highly Responsive to Prayers ',0
|
|
|
|
|
aTH01_05 db 'No.5 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>k ',0
|
|
|
|
|
aTH01_06 db 'No.6 <20>V<EFBFBD>g<EFBFBD>`<60><> ',0
|
|
|
|
|
aTH01_07 db 'No.7 Oriental Magician ',0
|
|
|
|
|
aTH01_08 db 'No.8 <20>j<EFBFBD>ׂ̏<D782><CC8F><EFBFBD><EFBFBD><EFBFBD> ',0
|
|
|
|
|
aTH01_09 db 'No.9 <20><><EFBFBD><EFBFBD> ',0
|
|
|
|
|
aTH01_10 db 'No.10 the Legend of KAGE ',0
|
|
|
|
|
aTH01_11 db 'No.11 <20><><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD>|<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̎<EFBFBD><CC8E>܂<EFBFBD> ',0
|
|
|
|
|
aTH01_12 db 'No.12 Civilization of Magic ',0
|
|
|
|
|
aTH01_13 db 'No.13 <20><><EFBFBD>H<EFBFBD>V<EFBFBD>g ',0
|
|
|
|
|
aTH01_14 db 'No.14 <20>A<EFBFBD>C<EFBFBD><43><EFBFBD>X ',0
|
|
|
|
|
aMUSICROOM_QUIT1 db ' <20>^<5E>C<EFBFBD>g<EFBFBD><67><EFBFBD>ɖ߂<C996> ',0
|
|
|
|
|
aTH02_01 db 'No.1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>^<5E>@<40>`<60><><EFBFBD>y<EFBFBD><79>䶗<EFBFBD> ',0
|
|
|
|
|
aTH02_02 db 'No.2 <20>@ <20><><EFBFBD><EFBFBD><EFBFBD>@<40>`Eastern Wind ',0
|
|
|
|
|
aTH02_03 db 'No.3 <20>@ She',27h,'s in a temper!! ',0
|
|
|
|
|
aTH02_04 db 'No.4 <20>@ End of Daylight<68>@ ',0
|
|
|
|
|
aTH02_05 db 'No.5 <20>@ <20>@ <20><><EFBFBD>݂̂<DD82><CC82><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40>@ ',0
|
|
|
|
|
aTH02_06 db 'No.6 <20>@<40>@<40>@<40>@<40>@<40><><EFBFBD><EFBFBD><EFBFBD>E<EFBFBD>@<40>@<40>@<40>@ ',0
|
|
|
|
|
aTH02_07 db 'No.7 <20>@<40>@<40>@<40>@<40><><EFBFBD><EFBFBD><EFBFBD>q<EFBFBD><71><EFBFBD>ā@<40>@<40>@ ',0
|
|
|
|
|
aTH02_08 db 'No.8 <20>Ђ<EFBFBD><D082>났<EFBFBD>A<EFBFBD>ނ炳<DE82><E782B3><EFBFBD>ɂ<EFBFBD><C982><EFBFBD> ',0
|
|
|
|
|
aTH02_09 db 'No.9 <20>@ <20>@ <20><><EFBFBD>F<EFBFBD>}<7D>W<EFBFBD>b<EFBFBD>N <20>@ ',0
|
|
|
|
|
aTH02_10 db 'No.10 <20>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>^<5E>@<40>`<60>H<EFBFBD><48><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',0
|
|
|
|
|
aTH02_11 db 'No.11 Complete Darkness ',0
|
|
|
|
|
aTH02_12 db 'No.12 <20>@ <20>G<EFBFBD>L<EFBFBD>X<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD>u ',0
|
|
|
|
|
aTH02_13 db 'No.13 <20><><EFBFBD>Ԃނ<D482><DE82>߂݂̂<CC82><DD82><EFBFBD><EFBFBD><EFBFBD> ',0
|
|
|
|
|
aTH02_14 db 'No.14 <20>@<40>@<40><><EFBFBD><EFBFBD><EFBFBD>̐X<CC90>@<40>@<40>@ ',0
|
|
|
|
|
aTH02_15 db 'No.15 <20>̘b<CC98><62><EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',0
|
|
|
|
|
aTH02_16 db '<27><><EFBFBD>g<EFBFBD>p.1 <20><><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD>Ћ<EFBFBD><D08B><EFBFBD> ',0
|
|
|
|
|
aTH02_17 db '<27><><EFBFBD>g<EFBFBD>p.2 <20>@<40>z<EFBFBD><7A><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>@ ',0
|
|
|
|
|
aTH02_18 db '<27><><EFBFBD>g<EFBFBD>p.3 <20>@<40><><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD><49> <20>@ ',0
|
|
|
|
|
aTH03_01 db 'No.1 <20>@<40><><EFBFBD>͎<EFBFBD><CD8E><EFBFBD><EFBFBD><EFBFBD><EFBFBD>z<EFBFBD><7A><EFBFBD><EFBFBD> ',0
|
|
|
|
|
aTH03_02 db 'No.2 <20>@ <20>@ Selection ',0
|
|
|
|
|
aTH03_03 db 'No.3 <20><><EFBFBD><EFBFBD><EFBFBD>d<EFBFBD><64><EFBFBD>k ',0
|
|
|
|
|
aTH03_04 db 'No.4 Reincarnation ',0
|
|
|
|
|
aTH03_05 db 'No.5 Dim. Dream ',0
|
|
|
|
|
aTH03_06 db 'No.6 Tabula rasa<73>@<40>`<60><EFBFBD><F394928F><EFBFBD> ',0
|
|
|
|
|
aTH03_07 db 'No.7 <20>@ Maniacal Princess ',0
|
|
|
|
|
aTH03_08 db 'No.8 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>`Lost Dream ',0
|
|
|
|
|
aTH03_09 db 'No.9 <20><><EFBFBD><EFBFBD><EFBFBD>V<EFBFBD>Y <20>`Dream War ',0
|
|
|
|
|
aTH03_10 db 'No.10 <20><><EFBFBD>@<40><><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD>`Fight it out! ',0
|
|
|
|
|
aTH03_11 db 'No.11 <20>@ Sailor of Time ',0
|
|
|
|
|
aTH03_12 db 'No.12 Strawberry Crisis!! ',0
|
|
|
|
|
aTH03_13 db 'No.13 <20>ꖂ<F1939D88>@<40><><EFBFBD>E<EFBFBD>_ ',0
|
|
|
|
|
aTH03_14 db 'No.14 <20>@<40><><EFBFBD>@<40><><EFBFBD><EFBFBD> ',0
|
|
|
|
|
aTH03_15 db 'No.15 <20>@<40>v<EFBFBD><76><EFBFBD>̖<EFBFBD> ',0
|
|
|
|
|
aTH03_16 db 'No.16 <20><><EFBFBD><EFBFBD><EFBFBD>̐<CC90><C282><EFBFBD> ',0
|
|
|
|
|
aTH03_17 db 'No.17 <20>i<EFBFBD><69><EFBFBD>̖<EFBFBD><CC96><EFBFBD> ',0
|
|
|
|
|
aTH03_18 db 'No.18 Maple Dream... ',0
|
|
|
|
|
aTH03_19 db 'No.19 <20><><EFBFBD>l<EFBFBD>̋x<CC8B><78> ',0
|
|
|
|
|
aTH03_20 db 'No.20 <20><><EFBFBD><EFBFBD><EFBFBD>f<EFBFBD><66> ',0
|
|
|
|
|
aTH03_21 db 'No.21 <20>Q<EFBFBD>[<5B><><EFBFBD>I<EFBFBD>[<5B>o<EFBFBD>[ ',0
|
|
|
|
|
aTH03_22 db '<27><><EFBFBD>g<EFBFBD>p.1 <20><><EFBFBD>̕<EFBFBD> ',0
|
|
|
|
|
aTH03_23 db '<27><><EFBFBD>g<EFBFBD>p.2 <20>X<EFBFBD>^<5E>[<5B>{<7B>E<EFBFBD>h<EFBFBD><68><EFBFBD>[<5B><> ',0
|
|
|
|
|
aTH03_24 db '<27><><EFBFBD>g<EFBFBD>p.3 Phantasmagoria ',0
|
|
|
|
|
aMUSICROOM_QUIT2 db ' <20>^<5E>C<EFBFBD>g<EFBFBD><67><EFBFBD>ɖ߂<C996> ',0
|
|
|
|
|
aTH04_01 db 'No.1 <20><><EFBFBD>z<EFBFBD><7A> <20>` Lotus Land Story ',0
|
|
|
|
|
aTH04_02 db 'No.2 Witching Dream ',0
|
|
|
|
|
aTH04_03 db 'No.3 Selene',27h,'s light ',0
|
|
|
|
|
aTH04_04 db 'No.4 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40>` Decoration Battle ',0
|
|
|
|
|
aTH04_05 db 'No.5 Break the Sabbath ',0
|
|
|
|
|
aTH04_06 db 'No.6 <20>g<EFBFBD><67><EFBFBD><EFBFBD> <20>` Scarlet Phoneme ',0
|
|
|
|
|
aTH04_07 db 'No.7 Bad Apple!! ',0
|
|
|
|
|
aTH04_08 db 'No.8 <20><><EFBFBD><EFBFBD><EFBFBD>@<40>` Perdition crisis ',0
|
|
|
|
|
aTH04_09 db 'No.9 <20>A<EFBFBD><41><EFBFBD>X<EFBFBD>}<7D>G<EFBFBD>X<EFBFBD>e<EFBFBD><65> ',0
|
|
|
|
|
aTH04_10 db 'No.10 <20><><EFBFBD><EFBFBD><EFBFBD>Y<EFBFBD>z<EFBFBD>ȁ@<40>` Capriccio ',0
|
|
|
|
|
aTH04_11 db 'No.11 <20><><EFBFBD>̊<EFBFBD><CC8A>@<40>` Casket of Star ',0
|
|
|
|
|
aTH04_12 db 'No.12 Lotus Love ',0
|
|
|
|
|
aTH04_13 db 'No.13 <20><><EFBFBD><EFBFBD><EFBFBD>鋰<EFBFBD>| <20>`Sleeping Terror ',0
|
|
|
|
|
aTH04_14 db 'No.14 Dream Land ',0
|
|
|
|
|
aTH04_15 db 'No.15 <20>H<EFBFBD><48><EFBFBD>@<40>` Inanimate Dream ',0
|
|
|
|
|
aTH04_16 db 'No.16 <20>ւ<EFBFBD><D682><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD><C882>V<EFBFBD>Y ',0
|
|
|
|
|
aTH04_17 db 'No.17 <20><><EFBFBD>C<EFBFBD>h<EFBFBD><68><EFBFBD>z<EFBFBD>@<40>` Icemilk Magic ',0
|
|
|
|
|
aTH04_18 db 'No.18 <20><><EFBFBD>킢<EFBFBD><ED82A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40>` Innocence ',0
|
|
|
|
|
aTH04_19 db 'No.19 Days ',0
|
|
|
|
|
aTH04_20 db 'No.20 Peaceful ',0
|
|
|
|
|
aTH04_21 db 'No.21 Arcadian Dream ',0
|
|
|
|
|
aTH04_22 db 'No.22 <20><><EFBFBD>z<EFBFBD>̏Z<CC8F>l ',0
|
|
|
|
|
aTH04_23 db '<27><><EFBFBD>g<EFBFBD>p.1 Lotus Road ',0
|
|
|
|
|
aTH04_24 db '<27><><EFBFBD>g<EFBFBD>p.2 Dreamy pilot ',0
|
|
|
|
|
aTH04_25 db '<27><><EFBFBD>g<EFBFBD>p.3 Incomplete Plot ',0
|
|
|
|
|
aTH04_26 db '<27><><EFBFBD>g<EFBFBD>p.4 Border Land ',0
|
|
|
|
|
aTH04_27 db '<27><><EFBFBD>g<EFBFBD>p.5 Magic Shop of Raspberry ',0
|
|
|
|
|
aTH04_28 db '<27><><EFBFBD>g<EFBFBD>p.6 Crescent Dream ',0
|
|
|
|
|
aTH05_01 db 'No.1 <20><><EFBFBD>Y<EFBFBD>k<EFBFBD>@<40>` Mystic Square ',0
|
|
|
|
|
aTH05_02 db 'No.2 Dream Express ',0
|
|
|
|
|
aTH05_03 db 'No.3 <20><><EFBFBD>@<40>w<EFBFBD>@<40>` Magic Square ',0
|
|
|
|
|
aTH05_04 db 'No.4 <20><><EFBFBD>z<EFBFBD><7A><EFBFBD><EFBFBD> ',0
|
|
|
|
|
aTH05_05 db 'No.5 <20><><EFBFBD>V<EFBFBD>@<40>` Spiritual Heaven ',0
|
|
|
|
|
aTH05_06 db 'No.6 Romantic Children ',0
|
|
|
|
|
aTH05_07 db 'No.7 <20>v<EFBFBD><76><EFBFBD>X<EFBFBD>`<60>b<EFBFBD>N<EFBFBD>}<7D>C<EFBFBD><43><EFBFBD>h ',0
|
|
|
|
|
aTH05_08 db 'No.8 <20><><EFBFBD>C<EFBFBD>v<EFBFBD><76><EFBFBD><EFBFBD><EFBFBD>C<EFBFBD>Y ',0
|
|
|
|
|
aTH05_09 db 'No.9 <20>֒f<D692>̖<EFBFBD><CC96>@ <20>` Forbidden Magic',0
|
|
|
|
|
aTH05_10 db 'No.10 <20>^<5E>g<EFBFBD>̏<EFBFBD><CC8F><EFBFBD><EFBFBD>@<40>` Crimson Dead!!',0
|
|
|
|
|
aTH05_11 db 'No.11 <20><><EFBFBD><EFBFBD><D882>̏<EFBFBD><CC8F><EFBFBD><EFBFBD>@<40>` Judas Kiss ',0
|
|
|
|
|
aTH05_12 db 'No.12 the Last Judgement ',0
|
|
|
|
|
aTH05_13 db 'No.13 <20>߂<EFBFBD><DF82><EFBFBD><EFBFBD>l<EFBFBD>`<60>@<40>` Doll of Misery',0
|
|
|
|
|
aTH05_14 db 'No.14 <20><><EFBFBD>E<EFBFBD>̉ʂā@<40>` World',27h,'s End ',0
|
|
|
|
|
aTH05_15 db 'No.15 <20>_<EFBFBD>b<EFBFBD><62><EFBFBD>z<EFBFBD>@<40>` Infinite Being ',0
|
|
|
|
|
aTH05_16 db 'No.16 <20>s<EFBFBD>v<EFBFBD>c<EFBFBD>̍<EFBFBD><CC8D>̃A<CC83><41><EFBFBD>X ',0
|
|
|
|
|
aTH05_17 db 'No.17 the Grimoire of Alice ',0
|
|
|
|
|
aTH05_18 db 'No.18 <20>_<EFBFBD><5F> ',0
|
|
|
|
|
aTH05_19 db 'No.19 Endless ',0
|
|
|
|
|
aTH05_20 db 'No.20 <20>v<EFBFBD><76><EFBFBD>̊y<CC8A><79> ',0
|
|
|
|
|
aTH05_21 db 'No.21 Mystic Dream ',0
|
|
|
|
|
aTH05_22 db 'No.22 Peaceful Romancer ',0
|
|
|
|
|
aTH05_23 db 'No.23 <20><><EFBFBD>̋x<CC8B><78><EFBFBD>ޏ<EFBFBD> ',0
|
|
|
|
|
aR_00 db 'r_00',0
|
|
|
|
|
aR_01 db 'r_01',0
|
|
|
|
|
aR_02 db 'r_02',0
|
|
|
|
|
aR_03 db 'r_03',0
|
|
|
|
|
aR_04 db 'r_04',0
|
|
|
|
|
aR_05 db 'r_05',0
|
|
|
|
|
aR_06 db 'r_06',0
|
|
|
|
|
aR_07 db 'r_07',0
|
|
|
|
|
aR_08 db 'r_08',0
|
|
|
|
|
aR_09 db 'r_09',0
|
|
|
|
|
aR_10 db 'r_10',0
|
|
|
|
|
aR_11 db 'r_11',0
|
|
|
|
|
aR_12 db 'r_12',0
|
|
|
|
|
aR_13 db 'r_13',0
|
|
|
|
|
aH_op db 'h_op',0
|
|
|
|
|
aH_st00 db 'h_st00',0
|
|
|
|
|
aH_st00b db 'h_st00b',0
|
|
|
|
|
aH_st01 db 'h_st01',0
|
|
|
|
|
aH_st01b db 'h_st01b',0
|
|
|
|
|
aH_st02 db 'h_st02',0
|
|
|
|
|
aH_st02b db 'h_st02b',0
|
|
|
|
|
aH_st03 db 'h_st03',0
|
|
|
|
|
aH_st03b db 'h_st03b',0
|
|
|
|
|
aH_st04 db 'h_st04',0
|
|
|
|
|
aH_st04b db 'h_st04b',0
|
|
|
|
|
aH_st05 db 'h_st05',0
|
|
|
|
|
aH_st05b db 'h_st05b',0
|
|
|
|
|
aH_end db 'h_end',0
|
|
|
|
|
aH_staff db 'h_staff',0
|
|
|
|
|
aH_ng00 db 'h_ng00',0
|
|
|
|
|
aH_ng01 db 'h_ng01',0
|
|
|
|
|
aH_ng02 db 'h_ng02',0
|
|
|
|
|
aY_op db 'y_op',0
|
|
|
|
|
aY_select db 'y_select',0
|
|
|
|
|
aY_00mm db 'y_00mm',0
|
|
|
|
|
aY_01mm db 'y_01mm',0
|
|
|
|
|
aY_02mm db 'y_02mm',0
|
|
|
|
|
aY_03mm db 'y_03mm',0
|
|
|
|
|
aY_04mm db 'y_04mm',0
|
|
|
|
|
aY_05mm db 'y_05mm',0
|
|
|
|
|
aY_06mm db 'y_06mm',0
|
|
|
|
|
aY_dec db 'y_dec',0
|
|
|
|
|
aY_07mm db 'y_07mm',0
|
|
|
|
|
aY_08mm db 'y_08mm',0
|
|
|
|
|
aY_demo1 db 'y_demo1',0
|
|
|
|
|
aY_demo2 db 'y_demo2',0
|
|
|
|
|
aY_demo3 db 'y_demo3',0
|
|
|
|
|
aY_demo4 db 'y_demo4',0
|
|
|
|
|
aY_demo5 db 'y_demo5',0
|
|
|
|
|
aY_ed db 'y_ed',0
|
|
|
|
|
aY_score db 'y_score',0
|
|
|
|
|
aY_win db 'y_win',0
|
|
|
|
|
aY_over db 'y_over',0
|
|
|
|
|
aY_ng00 db 'y_ng00',0
|
|
|
|
|
aY_ng01 db 'y_ng01',0
|
|
|
|
|
aY_ng02 db 'y_ng02',0
|
|
|
|
|
aG_op db 'g_op',0
|
|
|
|
|
aG_st00 db 'g_st00',0
|
|
|
|
|
aG_st10 db 'g_st10',0
|
|
|
|
|
aG_st00b db 'g_st00b',0
|
|
|
|
|
aG_st01 db 'g_st01',0
|
|
|
|
|
aG_st01b db 'g_st01b',0
|
|
|
|
|
aG_st02 db 'g_st02',0
|
|
|
|
|
aG_st02b db 'g_st02b',0
|
|
|
|
|
aG_st03 db 'g_st03',0
|
|
|
|
|
aG_st03c db 'g_st03c',0
|
|
|
|
|
aG_st03b db 'g_st03b',0
|
|
|
|
|
aG_st04 db 'g_st04',0
|
|
|
|
|
aG_st04b db 'g_st04b',0
|
|
|
|
|
aG_st05 db 'g_st05',0
|
|
|
|
|
aG_st05b db 'g_st05b',0
|
|
|
|
|
aG_st06 db 'g_st06',0
|
|
|
|
|
aG_st06b db 'g_st06b',0
|
|
|
|
|
aG_st06c db 'g_st06c',0
|
|
|
|
|
aG_end1 db 'g_end1',0
|
|
|
|
|
aG_end2 db 'g_end2',0
|
|
|
|
|
aG_staff db 'g_staff',0
|
|
|
|
|
aG_name db 'g_name',0
|
|
|
|
|
aG_ng00 db 'g_ng00',0
|
|
|
|
|
aG_ng01 db 'g_ng01',0
|
|
|
|
|
aG_ng02 db 'g_ng02',0
|
|
|
|
|
aG_ng03 db 'g_ng03',0
|
|
|
|
|
aG_ng04 db 'g_ng04',0
|
|
|
|
|
aG_ng05 db 'g_ng05',0
|
|
|
|
|
aSt03d db 'st03d',0
|
|
|
|
|
aEd00 db 'ed00',0
|
|
|
|
|
aEd01 db 'ed01',0
|
|
|
|
|
aEd02 db 'ed02',0
|
|
|
|
|
aExed db 'exed',0
|
2014-12-24 20:39:34 +00:00
|
|
|
|
include th05/music/music_cmt_load[data].asm
|
2014-08-10 01:44:54 +00:00
|
|
|
|
aMusic_pi db 'music.pi',0
|
|
|
|
|
aMusic_dat db 'music.dat',0
|
|
|
|
|
aKaikidan1_dat1 db '<27><><EFBFBD>Y<EFBFBD>k1.dat',0
|
2014-07-03 19:12:55 +00:00
|
|
|
|
db 0
|
2014-08-10 01:44:54 +00:00
|
|
|
|
aGensou_scr db 'GENSOU.SCR',0
|
|
|
|
|
aName db 'name',0
|
|
|
|
|
aHi01_pi db 'hi01.pi',0
|
|
|
|
|
aOp1_pi_1 db 'op1.pi',0
|
|
|
|
|
aOp_1 db 'op',0
|
|
|
|
|
aScnum_bft db 'scnum.bft',0
|
|
|
|
|
aHi_m_bft db 'hi_m.bft',0
|
2014-07-05 20:29:42 +00:00
|
|
|
|
db 0
|
2014-08-10 01:44:54 +00:00
|
|
|
|
aSlb1_pi db 'slb1.pi',0
|
2014-08-17 21:55:59 +00:00
|
|
|
|
|
2015-02-18 11:07:37 +00:00
|
|
|
|
.data?
|
|
|
|
|
|
2019-12-30 14:48:17 +00:00
|
|
|
|
public _resident
|
|
|
|
|
_resident dd ?
|
2019-12-08 05:32:01 +00:00
|
|
|
|
_in_option db ?
|
2015-02-18 11:07:37 +00:00
|
|
|
|
db ?
|
2019-12-08 05:32:01 +00:00
|
|
|
|
_putfunc dw ?
|
|
|
|
|
_main_input_allowed db ?
|
|
|
|
|
_option_input_allowed db ?
|
2014-08-27 20:57:18 +00:00
|
|
|
|
include libs/master.lib/clip[bss].asm
|
2014-08-30 05:49:51 +00:00
|
|
|
|
include libs/master.lib/fil[bss].asm
|
2018-04-15 14:05:57 +00:00
|
|
|
|
include libs/master.lib/js[bss].asm
|
2014-08-23 13:47:05 +00:00
|
|
|
|
include libs/master.lib/pal[bss].asm
|
2014-08-26 20:52:26 +00:00
|
|
|
|
include libs/master.lib/vs[bss].asm
|
2014-08-26 21:58:08 +00:00
|
|
|
|
include libs/master.lib/vsync[bss].asm
|
2014-08-21 20:53:12 +00:00
|
|
|
|
include libs/master.lib/mem[bss].asm
|
2014-08-22 20:31:44 +00:00
|
|
|
|
include libs/master.lib/superpa[bss].asm
|
2014-08-31 02:46:46 +00:00
|
|
|
|
include libs/master.lib/super_put_rect[bss].asm
|
2017-01-07 21:30:46 +00:00
|
|
|
|
include th03/formats/hfliplut[bss].asm
|
2015-03-15 21:54:15 +00:00
|
|
|
|
include th04/snd/interrupt[bss].asm
|
2014-08-25 20:32:21 +00:00
|
|
|
|
include libs/master.lib/bgm[bss].asm
|
2019-12-04 03:19:38 +00:00
|
|
|
|
include th05/music/piano[bss].asm
|
2015-03-15 21:54:15 +00:00
|
|
|
|
include th02/snd/load[bss].asm
|
2019-12-10 07:52:24 +00:00
|
|
|
|
include th05/formats/pi_slot_put_mask[bss].asm
|
2014-11-18 16:56:13 +00:00
|
|
|
|
include th05/formats/pi_slot_headers[bss].asm
|
2018-09-11 17:34:19 +00:00
|
|
|
|
include th04/hardware/input[bss].asm
|
2017-01-19 20:14:22 +00:00
|
|
|
|
include th04/formats/cdg[bss].asm
|
2014-11-16 03:00:41 +00:00
|
|
|
|
include libs/master.lib/pfint21[bss].asm
|
2019-12-07 07:37:29 +00:00
|
|
|
|
include th04/hardware/egccopyr[bss].asm
|
2019-12-29 14:25:34 +00:00
|
|
|
|
include th04/setup[bss].asm
|
2018-03-21 22:20:04 +00:00
|
|
|
|
include th04/zunsoft[bss].asm
|
2014-07-05 21:03:42 +00:00
|
|
|
|
dd ? ;
|
|
|
|
|
dd ? ;
|
|
|
|
|
dd ? ;
|
|
|
|
|
dd ? ;
|
|
|
|
|
dd ? ;
|
|
|
|
|
dd ? ;
|
|
|
|
|
dd ? ;
|
|
|
|
|
dd ? ;
|
|
|
|
|
dd ? ;
|
|
|
|
|
dd ? ;
|
|
|
|
|
dd ? ;
|
|
|
|
|
dd ? ;
|
|
|
|
|
dd ? ;
|
|
|
|
|
dd ? ;
|
|
|
|
|
dd ? ;
|
|
|
|
|
dd ? ;
|
|
|
|
|
dd ? ;
|
|
|
|
|
dd ? ;
|
|
|
|
|
dd ? ;
|
|
|
|
|
dd ? ;
|
|
|
|
|
dd ? ;
|
|
|
|
|
dd ? ;
|
|
|
|
|
dd ? ;
|
|
|
|
|
dd ? ;
|
|
|
|
|
dd ? ;
|
|
|
|
|
dd ? ;
|
2019-11-25 11:09:11 +00:00
|
|
|
|
include th02/music/music[bss].asm
|
2014-08-10 01:44:54 +00:00
|
|
|
|
byte_13E96 db ?
|
2014-07-05 21:03:42 +00:00
|
|
|
|
db ?
|
2019-12-21 09:30:02 +00:00
|
|
|
|
include th03/music/cmt_back[bss].asm
|
2014-12-24 20:39:34 +00:00
|
|
|
|
include th02/music/music_cmt[bss].asm
|
2014-08-10 01:44:54 +00:00
|
|
|
|
word_1403A dw ?
|
|
|
|
|
word_1403C dw ?
|
|
|
|
|
musicroom_trackcount dw ?
|
2019-12-26 16:19:44 +00:00
|
|
|
|
extern _hi:scoredat_section_t
|
|
|
|
|
extern _hi2:scoredat_section_t
|
2019-12-07 10:37:53 +00:00
|
|
|
|
extern _hiscore_rank:byte
|
|
|
|
|
extern _cleared_with:byte
|
|
|
|
|
extern _extra_unlocked:byte
|
|
|
|
|
extern _playchar_menu_sel:byte
|
|
|
|
|
extern _rank:byte
|
|
|
|
|
extern _extra_playable_with:byte
|
|
|
|
|
extern _selectable_with:byte
|
2014-06-26 20:33:22 +00:00
|
|
|
|
|
2015-02-19 06:46:36 +00:00
|
|
|
|
end
|