mirror of https://github.com/nmlgc/ReC98.git
83 lines
1.9 KiB
PHP
83 lines
1.9 KiB
PHP
; 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
|
|
cPtrSize = (@CodeSize + 1) * 2
|
|
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
|
|
include libs/master.lib/pf.inc
|
|
include libs/master.lib/clip.inc
|
|
include libs/master.lib/macros.inc
|
|
include libs/kaja/kaja.inc
|
|
include pc98.inc
|
|
include th01/hardware/egc.inc
|
|
include th02/formats/pi_slots.inc
|
|
include th03/formats/cdg.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
|
|
|
|
twobyte_t struc
|
|
lo db ?
|
|
hi db ?
|
|
twobyte_t ends
|
|
|
|
; master.lib extensions
|
|
; ---------------------
|
|
; super_roll_put_1plane() plane_put constants
|
|
PLANE_PUT = 0FF00h or GC_RMW
|
|
|
|
; RGB color triple, used for the Palettes structure
|
|
rgb_t struc
|
|
r db ?
|
|
g db ?
|
|
b db ?
|
|
rgb_t ends
|
|
|
|
PALETTE_COLORS = 16
|
|
|
|
palette_t struc
|
|
colors rgb_t PALETTE_COLORS dup(<?>)
|
|
palette_t ends
|
|
; ---------------------
|
|
|
|
; Rank definitions
|
|
RANK_EASY = 0
|
|
RANK_NORMAL = 1
|
|
RANK_HARD = 2
|
|
RANK_LUNATIC = 3
|
|
RANK_EXTRA = 4
|
|
RANK_COUNT = 5
|
|
RANK_DEFAULT = -1
|