PC-9801エミュレータ(T98-Next)でMS-DOSプログラミング #8

8名無しさん@Next2ch:2021/08/04(水) 17:11:42.67 ID:MAOnCu96

/*------------------------------------
キーバッファオーバーフロー時の BEEP
1 → ON , 0 → OFF
------------------------------------*/
#define M_KBD_beep() ( M_isBITon( 5, 0x0000, 0x5000 ) )

/*------------------------------------
CPU = V series ?
1 : V30/V30HL/V50/V33/V30モード
0 : 80x86
------------------------------------*/
#define M_isVseries() ( M_isBITon( 6, 0x0000, 0x0501 ) )

/*------------------------------------
SHIFT KEY 押下状態
------------------------------------*/
#define M_isSHIFTkey() ( M_isBITAon( 0, 0x0000, 0x053a ) )
#define M_isCAPSkey() ( M_isBITAon( 1, 0x0000, 0x053a ) )
#define M_isKANAkey() ( M_isBITAon( 2, 0x0000, 0x053a ) )
#define M_isGRPHkey() ( M_isBITAon( 3, 0x0000, 0x053a ) )
#define M_isCTRLkey() ( M_isBITAon( 4, 0x0000, 0x053a ) )

/*------------------------------------
実装プロテクトメモリ容量
使用/未使用にかかわらず、実装している
プロテクトメモリの容量
------------------------------------*/
#define M_protect_size0() M_peekb( 0x0060, 0x0031 )

/*------------------------------------
漢字/グラフモード
00h → グラフ文字モード (エスケープシーケンス '^[)3' 発行時)
01h → 漢字モード (エスケープシーケンス '^[)0' 発行時)
------------------------------------*/
#define M_isVideoMode0() M_peekb( 0x0060, 0x008a )

/*------------------------------------
行折り返しフラグ
00h → 1行が80桁を越えたとき、カーソルを1行下の左端に移動
(エスケープシーケンスの '^[[?7H' で設定)
01h → 1行が80桁を越えたとき、越えた部分を表示しない
(エスケープシーケンスの '^[[?7l' で設定)
------------------------------------*/
#define M_isVideoMode1() M_peekb( 0x0060, 0x0117 )

/*------------------------------------
スクロールスピード
00h → ノーマル
01h → スロー
------------------------------------*/
#define M_isSlowScroll() M_peekb( 0x0060, 0x0118 )
#define M_setNormalScroll() (M_pokeb( 0x0060, 0x0118, 0x00 )
#define M_setSlowScroll() (M_pokeb( 0x0060, 0x0118, 0x01 )

/*------------------------------------
画面消去キャラクタ
初期状態は 20h
------------------------------------*/
#define M_getVideoClearChar() M_peekb( 0x0060, 0x0119 )
#define M_setVideoClearChar(c) M_pokeb( 0x0060, 0x0119, (unsigned char)(c))

/*------------------------------------
AH=84H,INT 1BH をサポートする新 SASI インターフェースの有無 (1:有り 0:なし)
------------------------------------*/
#define M_isSASInew() ( M_isBITon( 7, 0x0000, 0x0480 ) )


#endif


スパムを通報

このレスがスパム・荒らしである場合は以下のボタンをクリックして通報してください。
(同意できない意見などに反対票を投じる機能ではありません)
通報

このスレッドを全て表示


レスを書き込む