mirror of https://github.com/nmlgc/ReC98.git
58 lines
935 B
NASM
58 lines
935 B
NASM
; (only covering TH03 and above)
|
|
public _game_init_op
|
|
_game_init_op proc far
|
|
|
|
@@pf_fn = dword ptr 6
|
|
|
|
if GAME ge 4
|
|
PARAS equ <_mem_assign_paras>
|
|
else
|
|
PARAS = MEM_ASSIGN_PARAS_OP
|
|
endif
|
|
|
|
push bp
|
|
mov bp, sp
|
|
call mem_assign_dos pascal, PARAS
|
|
or ax, ax
|
|
jz short @@assign_success
|
|
mov ax, 1
|
|
pop bp
|
|
retf
|
|
|
|
@@assign_success:
|
|
if GAME le 4
|
|
nopcall vram_planes_set
|
|
endif
|
|
call graph_start
|
|
graph_accesspage 1
|
|
call graph_clear
|
|
graph_accesspage 0
|
|
call graph_clear
|
|
graph_accesspage 0
|
|
graph_showpage al
|
|
if GAME ge 4
|
|
mov bbufsiz, 2000h
|
|
endif
|
|
call vsync_start
|
|
call key_beep_off
|
|
call text_systemline_hide
|
|
call text_cursor_hide
|
|
call egc_start
|
|
if GAME eq 3
|
|
call js_start
|
|
call pfstart pascal, large [bp+@@pf_fn]
|
|
else
|
|
call js_start
|
|
les bx, [bp+@@pf_fn]
|
|
cmp byte ptr es:[bx], 0
|
|
jz short @@no_pf
|
|
call pfstart pascal, word ptr [bp+@@pf_fn+2], bx
|
|
|
|
@@no_pf:
|
|
call bgm_init pascal, 1024
|
|
endif
|
|
xor ax, ax
|
|
pop bp
|
|
retf
|
|
_game_init_op endp
|