www.pudn.com > norti2.0 > NOS98.H


/****************************************************************************** 
* NORTi対応 シルアル入出力デバイス定義(PC9801)                         * 
*                                                                             * 
*  File name : nos98.h                                                        * 
*  Copyright (c) Miyazaki System Planning Office. 1993-1995                   * 
*                                                                             * 
* 93-04-13 作成                                                               * 
* 93-05-16 1.13β                                                             * 
* 94-01-05 Ver1.14                                                            * 
* 95-06-15 Ver1.20                                                            * 
******************************************************************************/ 
 
#ifndef	NOS98_H 
#define	NOS98_H 
 
#ifdef __cplusplus 
extern "C" { 
#endif 
 
/* 割込み番号 */ 
 
#define	INT_SIO0	0x0c		/* RS-232C CH0 割込み */ 
#define	INT_SIO1	0x0b		/* RS-232C CH1 割込み(拡張バスINT0)*/ 
#define	INT_SIO2	0x14		/* RS-232C CH2 割込み(拡張バスINT5)*/ 
 
/* 割込みコントローラ */ 
 
#define	I8259		0x00		/* 割込みコントローラ */ 
#define	I8259S		0x08		/* スレーブ割込みコントローラ */ 
 
/* ボーレートジェネレータ */ 
 
#define	I8253_2		0x75		/* タイマカウンタ#2 */ 
#define	I8253_CR	0x77		/* タイマモード/コントロールレジスタ */ 
 
/* シリアル入出力デバイス */ 
 
#define	SIO0_DR		0x30		/* CH0 8251Aデータ・レジスタ */ 
#define	SIO0_CR		0x32		/* CH0 8251Aコマンド・ステータス・レジスタ */ 
#define	SIO0_MSR	0x33		/* CH0 モデムステータス(8255ポートB)*/ 
#define	SIO0_IER	0x35		/* CH0 割込み許可(8255ポートC)*/ 
 
#define	SIO1_DR		0xb1		/* CH1 8251Aデータレジスタ */ 
#define	SIO1_CR		0xb3		/* CH1 8251Aコマンド・ステータス・レジスタ */ 
#define	SIO1_MSR	0xb0		/* CH1 モデムステータス */ 
#define	SIO1_IER	0xb0		/* CH1 割込み許可 */ 
 
#define	SIO2_DR		0xb9		/* CH2 8251Aデータ・レジスタ */ 
#define	SIO2_CR		0xbb		/* CH2 8251Aコマンド・ステータス・レジスタ */ 
#define	SIO2_MSR	0xb2		/* CH2 モデムステータス */ 
#define	SIO2_IER	0xb2		/* CH2 割込み許可 */ 
 
/* 8251Aのモード */ 
 
#define	SIO_X16		0x02		/* ボーレートファクタ×16 */ 
#define	SIO_B7		0x08		/* キャラクタ長7 */ 
#define	SIO_B8		0x0c		/* キャラクタ長8 */ 
#define	SIO_NONE	0x00		/* パリティなし */ 
#define	SIO_ODD		0x10		/* パリティ奇数 */ 
#define	SIO_EVEN	0x30		/* パリティ偶数 */ 
#define	SIO_S1		0x40		/* ストップビット1 */ 
#define	SIO_S2		0xc0		/* ストップビット2 */ 
 
/* 8251Aのコマンド */ 
 
#define	SIO_TxE		0x01		/* 送信許可(1)/禁止(0) */ 
#define	SIO_DTR		0x02		/* DTR信号ON(1)/OFF(0) */ 
#define	SIO_RxE		0x04		/* 受信許可(1)/禁止(0) */ 
#define	SIO_SB		0x08		/* ブレーク送信(1) */ 
#define	SIO_ER		0x10		/* エラーリセット(1) */ 
#define	SIO_RTS		0x20		/* RTS信号ON(1)/OFF(0) */ 
#define	SIO_IR		0x40		/* 内部リセット(1) */ 
 
/* 8251Aのステータス */ 
 
#define	SIO_TxRDY	0x01		/* 送信レディ(1)/ビジー(0) */ 
#define	SIO_RxRDY	0x02		/* 受信レディ(1)/ビジー(0) */ 
#define	SIO_TxEMP	0x04		/* 送信バッファ空(1)/満(0) */ 
#define	SIO_PE		0x08		/* パリティエラー */ 
#define	SIO_OE		0x10		/* オーバランエラー */ 
#define	SIO_FE		0x20		/* フレーミングエラー */ 
#define	SIO_BD		0x40		/* ブレーク状態検出 */ 
#define	SIO_DSR		0x80		/* DSR信号ON(1)/OFF(0) */ 
 
/* モデムステータス */ 
 
#define	SIO_CD		0x20		/* 受信キャリア検出なし(1)/あり(0) */ 
#define	SIO_CS		0x40		/* 送信不可(1)/可(0) */ 
#define	SIO_CI		0x80		/* 着呼なし(1)/あり(0) */ 
 
/* 割込み許可 */ 
 
#define	SIO_RxIE	0x01		/* RxRDY割込み許可(1)/禁止(0) */ 
#define	SIO_TEIE	0x02		/* TxEMP割込み許可(1)/禁止(0) */ 
#define	SIO_TxIE	0x04		/* TxRDY割込み許可(1)/禁止(0) */ 
 
#ifdef __cplusplus 
}; 
#endif 
 
#endif /* NOS98_H */