ReC98/ReC98.inc

68 lines
1.7 KiB
PHP
Raw Normal View History

; ReC98
; Main include file
; Order segments alphabetically.
; Rather ugly workaround to prevent the automatically generated code segment
; for the large model (filename_TEXT) from enforcing its word alignment
; between _TEXT and the first code segment even though we never emit anything
; into it.
; However, this merely pushes filename_TEXT before _TEXTC, and therefore
; breaks another group of files. In these, we actually have to rename that
; automatically generated code segment to one that is expected to have word
; alignment.
.alpha
locals
LDATA = @DataSize
dPtrSize = (@DataSize + 1) * 2
; ctype character classes
_IS_DIG = 02h
_IS_CTL = 20h
include libs/master.lib/func.inc
include libs/master.lib/super.inc
include libs/master.lib/bgm.inc
2014-08-26 18:54:57 +00:00
include libs/master.lib/pf.inc
2014-08-28 01:42:26 +00:00
include libs/master.lib/clip.inc
include libs/master.lib/macros.inc
include libs/kaja/kaja.inc
include twobyte.inc
include pc98.inc
include th01/hardware/egc.inc
include th02/formats/pi_slots.inc
nopcall macro func
if LDATA
nop ; PC-98 Touhou compatibility
endif
call func
endm
; Avoids specifying both segment and offset of a function. Too bad that it
; still doesn't cause TASM to require [func] to be a valid identifier.
setfarfp macro farfp, func
mov word ptr farfp+2, seg func
mov word ptr farfp, offset func
endm
; See decomp.hpp
public _address_0
_address_0 = 0
; master.lib extensions
; ---------------------
; super_roll_put_1plane() plane_put constants
PLANE_PUT = 0FF00h or GC_RMW
; ---------------------
; Rank definitions
RANK_EASY = 0
RANK_NORMAL = 1
RANK_HARD = 2
RANK_LUNATIC = 3
RANK_EXTRA = 4
RANK_COUNT = 5
RANK_DEFAULT = -1