.186 ; 簡易セグメントはいまいちっす _TEXT segment byte public 'CODE' _TEXT ends TEXT segment byte public 'CODE' TEXT ends IVTEXT segment word public 'CODE' IVTEXT ends _DATA segment word public 'DATA' _DATA ends DATA segment word public 'DATA' DATA ends BSS segment word public 'DATA' BSS ends _BSS segment word public 'BSS' _BSS ends _HEAP segment word public 'BSS' _HEAP ends CGROUP group _TEXT,TEXT,IVTEXT DGROUP group _DATA,DATA,BSS,_BSS,_HEAP assume cs:CGROUP,ds:DGROUP,es:DGROUP cseg macro ;_TEXT segment byte public 'CODE' IVTEXT segment word public 'CODE' endm endcseg macro ;_TEXT ends IVTEXT ends endm dseg macro _DATA segment word public 'DATA' endm enddseg macro _DATA ends endm bseg macro _BSS segment word public 'BSS' endm endbseg macro _BSS ends endm CPARAM1 equ 4 CPARAM2 equ 6 CPARAM3 equ 8 CPARAM4 equ 10 CPARAM5 equ 12 CPARAM6 equ 14 farpointer struc farofs dw ? farseg dw ? farpointer ends breakptr macro int 3 endm center macro enter 0,0 endm cleave macro leave endm needeven macro even endm IV_CX equ 28 IV_CY equ 18 IV_CW equ 8 IV_CH equ 8 IV_CXY equ (IV_CX*IV_CY) IV_VRAMSEG equ 200h IV_PANIC_INVALIDSP equ -1 ;struc iv_charinfo ; flags db ? ;ends IV_CHARINFO_OPAQUE equ 01h IV_CHARINFO_NORENDER equ 02h IV_CHARINFO_INVALID equ 0FFh IV_CHAR_UNITSIZE equ 16 IV_CHARTABLE_MAX equ 4 iv_sprite struc ivs_renderer dw ? ivs_param dw ? iv_sprite ends IV_SPRITE_UNITSIZE equ 4 IV_OVERLAY_MIN equ 4 ;IV_VVRAM_MINSIZE equ (IV_OVERLAY_MIN * 2 * IV_CXY) IV_STARTRENDER_NOVRAMINIT equ 0001h cseg extrn _iv_panic: near endcseg panic macro param mov ax, param push ax call _iv_panic endm