;==============================================================================
;	<< 386ASM V2.0 >>  for  FM TOWNS
;==============================================================================
;
;==============================================================================
;	< note > : TABS = 4
;
;	< History >
;	1990.04.13 : CREATE
;
;	Programmed by Y.Hirata
;==============================================================================
;
rmcode	SEGMENT word public 'rmcode' use16	; ﾘｱﾙｺｰﾄﾞ用ｾｸﾞﾒﾝﾄ
rmcode	ENDS								;
rmdata	SEGMENT word public 'rmdata' use16	; ﾘｱﾙﾃﾞｰﾀ用ｾｸﾞﾒﾝﾄ
rmdata	ENDS								;
;
FMC_RSEG	SEGMENT word public 'RCODE' use16
											; FMCﾗｲﾌﾞﾗﾘのﾘｱﾙ部分
FMC_RSEG	ENDS							;
;
pmdata	SEGMENT dword public 'DATA' use32	; ﾈｲﾃｨﾌﾞﾃﾞｰﾀ用ｾｸﾞﾒﾝﾄ
pmdata	ENDS								;
DATA	SEGMENT dword public 'DATA' use32	; High C ﾃﾞｰﾀ用ｾｸﾞﾒﾝﾄ
DATA	ENDS								;
;
pmcode	SEGMENT dword public 'CODE' use32	; ﾈｲﾃｨﾌﾞｺｰﾄﾞ用ｾｸﾞﾒﾝﾄ
pmcode	ENDS								;
CODE	SEGMENT dword public 'CODE' use32	; High C ｺｰﾄﾞ用ｾｸﾞﾒﾝﾄ
CODE	ENDS								;
;
stack	SEGMENT dword stack 'STACK'			; ｽﾀｯｸｾｸﾞﾒﾝﾄ
stack	ENDS								;
?STACK	SEGMENT dword stack 'STACK'			; High C ｽﾀｯｸ用ｾｸﾞﾒﾝﾄ
?STACK	ENDS								;
;
EXTRN	_realend:byte						; ﾘｱﾙ終了ｱﾄﾞﾚｽ
;
;============================================
;	ｾｸﾞﾒﾝﾄｾﾚｸﾀ値定義
;============================================
REALSEG			EQU		060h				; ﾘｱﾙｾｸﾞﾒﾝﾄ
CODESEG			EQU		00ch				; ｺｰﾄﾞｾｸﾞﾒﾝﾄ
DATASEG			EQU		014h				; ﾃﾞｰﾀｾｸﾞﾒﾝﾄ
SROMDATASEG		EQU		108h				; SYSTEM ROM ﾃﾞｰﾀｾｸﾞﾒﾝﾄ
TBIOSSEG		EQU		110h				; TBIOS ｺｰﾄﾞｾｸﾞﾒﾝﾄ
TBIOSDATASEG	EQU		118h				; TBIOS ﾃﾞｰﾀｾｸﾞﾒﾝﾄ
VRAMSEG1		EQU		104h				; 1画面(16,32k色ﾓｰﾄﾞ)VRAMｾｸﾞﾒﾝﾄ
VRAMSEG2		EQU		128h				; 2画面(256色ﾓｰﾄﾞ)VRAMｾｸﾞﾒﾝﾄ
;
;============================================
;	割り込み番号定義
;============================================
INT_DOS			EQU		021h				; MS-DOS Function
INT_CONS		EQU		091h				; ｺﾝｿｰﾙBIOS Function
INT_DISK		EQU		093h				; ﾃﾞｨｽｸBIOS Function
INT_INT			EQU		0AEh				; 割り込み管理BIOS Function
INT_CTRL		EQU		0D9h				; CONTROL(TownsMENU) Function
INT_STIM		EQU		0FDh				; ｿﾌﾄﾀｲﾏBIOS Function
;
;============================================
;	定数定義
;============================================
TRUE			EQU		1					;
FALSE			EQU		0					;
;
ZERO			EQU		0					;
;
EGB_BIOS		EQU		020h				; ｸﾞﾗﾌｨｯｸBIOS
MOS_BIOS		EQU		040h				; ﾏｳｽBIOS
SPR_BIOS		EQU		060h				; ｽﾌﾟﾗｲﾄBIOS
SND_BIOS		EQU		080h				; ｻｳﾝﾄﾞBIOS
FNT_BIOS		EQU		0A0h				; ﾌｫﾝﾄBIOS
;
;============================================
;	ﾏｸﾛ定義
;============================================
TBIOS		MACRO	bios,func				; bios: 呼出しｱﾄﾞﾚｽ
											; func: ﾌｧﾝｸｼｮﾝｺｰﾄﾞ(AX)
			push	fs						;
			mov		ax,func					;
			push	dword PTR TBIOSSEG		;
			pop		fs						;
			call	pword PTR fs:[bios]		;
			pop		fs						;
			ENDM							;
;
