ReC98/th01_fuuin.asm

310 lines
7.6 KiB
NASM

;
; +-------------------------------------------------------------------------+
; | This file has been generated by The Interactive Disassembler (IDA) |
; | Copyright (c) 2009 by Hex-Rays, <support@hex-rays.com> |
; +-------------------------------------------------------------------------+
;
; Input MD5 : 2CAAD6F798E32B912A08DA327A97DDB4
; File Name : th01/FUUIN.EXE
; Format : MS-DOS executable (EXE)
; Base Address: 0h Range: 0h-147E0h Loaded length: 13ED8h
; Entry Point : 0:0
; OS type : MS DOS
; Application type: Executable 16bit
.386
.model use16 large _TEXT
BINARY = 'E'
include ReC98.inc
include th01/th01.inc
extern SCOPY@:proc
extern __setargv__:proc ; main() needs both to be set
extern __setenvp__:proc
extern _execl:proc
fuuin_01 group fuuin_01_TEXT, fuuin_01__TEXT
; ===========================================================================
; Segment type: Pure code
_TEXT segment word public 'CODE' use16
assume cs:_TEXT
assume es:nothing, ds:_DATA, fs:nothing, gs:nothing
include libs/master.lib/graph_400line.asm
include libs/master.lib/graph_clear.asm
include libs/master.lib/graph_show.asm
include libs/master.lib/graph_start.asm
include libs/master.lib/graph_scrollup.asm
include libs/master.lib/palette_show.asm
include libs/master.lib/palette_init.asm
include libs/master.lib/respal_exist.asm
include libs/master.lib/respal_free.asm
include libs/master.lib/resdata.asm
include libs/master.lib/file_read.asm
include libs/master.lib/file_close.asm
include libs/master.lib/file_ropen.asm
include libs/master.lib/file_seek.asm
include libs/master.lib/key_sense.asm
include libs/master.lib/dos_ropen.asm
include libs/master.lib/egc.asm
include libs/master.lib/gdc_outpw.asm
db 0
include libs/master.lib/random.asm
_TEXT ends
; ===========================================================================
; Segment type: Pure code
fuuin_01_TEXT segment byte public 'CODE' use16
fuuin_01_TEXT ends
fuuin_01__TEXT segment byte public 'CODE' use16
assume cs:fuuin_01
extern _end_init:proc
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl main(int argc, const char **argv, const char **envp)
public _main
_main proc far
_argc = word ptr 6
_argv = dword ptr 8
_envp = dword ptr 0Ch
push bp
mov bp, sp
call _mdrv2_resident
or ax, ax
jnz short loc_A105
pop bp
retf
; ---------------------------------------------------------------------------
loc_A105:
les bx, [bp+_argv]
les bx, es:[bx+4]
mov al, es:[bx]
cbw
cmp ax, 74h ; 't'
jz short loc_A121
call _end_init
or ax, ax
jnz short loc_A11F
pop bp
retf
; ---------------------------------------------------------------------------
loc_A11F:
jmp short loc_A13E
; ---------------------------------------------------------------------------
loc_A121:
les bx, [bp+_argv]
les bx, es:[bx+4]
mov al, es:[bx+1]
cbw
cmp ax, 31h ; '1'
jnz short loc_A139
mov _end_flag, 1
jmp short loc_A13E
; ---------------------------------------------------------------------------
loc_A139:
mov _end_flag, 2
loc_A13E:
call _mdrv2_check_board
call @game_init$qv
call @end_and_verdict_and_regist_anima$qv
call @game_switch_binary$qv
push 0
push 0
push ds
push offset arg0 ; "op"
push ds
push offset path ; "op"
call _execl
add sp, 0Ch
pop bp
retf
_main endp
fuuin_01__TEXT ends
; ===========================================================================
fuuin_02_TEXT segment byte public 'CODE' use16
fuuin_02_TEXT ends
; ===========================================================================
; Segment type: Pure code
fuuin_03_TEXT segment byte public 'CODE' use16
extern @end_and_verdict_and_regist_anima$qv:proc
fuuin_03_TEXT ends
; ===========================================================================
; Segment type: Pure code
fuuin_04_TEXT segment byte public 'CODE' use16
fuuin_04_TEXT ends
; ===========================================================================
; Segment type: Pure code
vsync_TEXT segment byte public 'CODE' use16
vsync_TEXT ends
; ===========================================================================
ztext_TEXT segment byte public 'CODE' use16
ztext_TEXT ends
; ===========================================================================
; Segment type: Pure code
initexit_TEXT segment byte public 'CODE' use16
extern @game_init$qv:proc
extern @game_switch_binary$qv:proc
initexit_TEXT ends
; ===========================================================================
; Segment type: Pure code
graph_TEXT segment byte public 'CODE' use16
graph_TEXT ends
; ===========================================================================
grppffx_TEXT segment byte public 'CODE' use16
grppffx_TEXT ends
; ===========================================================================
PTN_GRP_GRZ segment byte public 'CODE' use16
PTN_GRP_GRZ ends
; ===========================================================================
SHARED segment byte public 'CODE' use16
SHARED ends
; ===========================================================================
; Segment type: Pure code
GRAPH_EX_TEXT segment byte public 'CODE' use16
GRAPH_EX_TEXT ends
; ===========================================================================
; Segment type: Pure code
mdrv2_TEXT segment byte public 'CODE' use16
extern _mdrv2_resident:proc
extern _mdrv2_check_board:proc
mdrv2_TEXT ends
.data
public _score, _score_highest
public _RES_ID_0, _RES_ID_1, _ERROR_END_FLAG, _ERROR_NO_RESDATA
_score dd 100000
_score_highest dd 100000
_RES_ID_0 db 'ReiidenConfig',0
_ERROR_END_FLAG db 'ERROR : end_flag is not ture !!',0
_ERROR_NO_RESDATA db 'ERROR : cfg_id is not alloc!!',0
_RES_ID_1 db 'ReiidenConfig',0
; char path[]
path db 'op',0
; char arg0[3]
arg0 db 'op',0
db 0
include th01/hardware/input_main_end[data].asm
dd 0
; th01/hardware/palette[data].asm
extern _z_Palettes:rgb_t:COLOR_COUNT
; libs/master.lib/grp[data].asm
extern graph_VramSeg:word
extern graph_VramWords:word
extern graph_VramLines:word
extern graph_VramZoom:word
; libs/master.lib/pal[data].asm
extern PaletteTone:word
extern PalettesInit:rgb_t:COLOR_COUNT
extern PaletteNote:word
extern ResPalSeg:word
; libs/master.lib/respal_exist[data].asm
IDLEN EQU 10
extern ResPalID:byte:IDLEN
; libs/master.lib/fil[data].asm
extern file_BufferSize:word
extern file_Handle:word
; libs/master.lib/dos_ropen[data].asm
extern file_sharingmode:word
; libs/master.lib/clip[data].asm
extern ClipXL:word
extern ClipXW:word
extern ClipXR:word
extern ClipYT:word
extern ClipYH:word
extern ClipYB:word
extern ClipYT_seg:word
extern ClipYB_adr:word
; libs/master.lib/rand[data].asm
extern random_seed:dword
.data?
public _continues_total, _continues_per_scene
_continues_total dd ?
_continues_per_scene dd SCENE_COUNT dup(?)
db 308 dup(?)
public _start_lives_extra, _end_flag, _rank
_start_lives_extra db ?
_end_flag db ? ; ZUN symbol [Strings]
_rank db ?
db ?
include th01/hiscore/hiscore[bss].asm
db ? ;
public _input_prev
_input_prev db 10 dup(?)
evendata
include th01/hardware/vsync[bss].asm
db 256 dup(?)
include th01/core/initexit[bss].asm
include th01/hardware/graph[bss].asm
db 80 dup(?)
include th01/formats/grp_palette[bss].asm
db 1136 dup(?)
include th01/formats/grp_buf[bss].asm
include th01/hardware/vram_planes[bss].asm
; libs/master.lib/pal[bss].asm
extern Palettes:rgb_t:COLOR_COUNT
; libs/master.lib/fil[bss].asm
extern file_Buffer:dword
extern file_BufferPos:dword
extern file_BufPtr:word
extern file_InReadBuf:word
extern file_Eof:word
extern file_ErrorStat:word
end