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

7名無しさん@Next2ch:2021/08/04(水) 17:10:09.06 ID:MAOnCu96

/*-------------------------------------
BEEP の継続時間カウンタ
AH=24H, int 18H の BEEP の残り時間を
10 ミリ秒単位で格納する
-------------------------------------*/
#define M_beep_time() ( M_peek( 0x0000, 0x0448 ) )

/*-------------------------------------
BEEP 音程
AH=23H, INT 18H で設定する音程。
8253A の分周値が格納される
-------------------------------------*/
#define M_beep_tone() ( M_peek( 0x0000, 0x044a ) )

/*-------------------------------------
98NOTE 機種判別
0x00 : N, NV
0x3F : NS, NS/E, NC, NS/T FD model
0x27 : NS, NS/E 20 MB HDD model (256 bytes/sector)
0xA7 : NS, NS/E 20 MB HDD model (512 bytes/sector)
0x37 : NS, NS/E 40 MB HDD model (256 bytes/sector)
0xB7 : NS, NS/E 40 MB HDD model (512 bytes/sector)
0x2F : NS, NS/E 80 MB HDD model (256 bytes/sector)
0xAF : NS, NS/E 80 MB HDD model (512 bytes/sector)
-------------------------------------*/
#define M_NOTES() ( M_peekb( 0x0000, 0x0457 ) )

/*-------------------------------------
フロッピーディスクモーター制御
1 → 自動停止モード 0 → 常時 ON
-------------------------------------*/
#define M_FDDmotor() ( M_isBITon( 4, 0x0000, 0x0480 ) )

/*-------------------------------------
キーボード識別
0 → 旧キーボード
1 → 新キーボード (numキー有り DIP SW 2-7 ON )
2 → 新キーボード (numキーなし)
3 → 新キーボード (numキー有り DIP SW 2-7 OFF)
------------------------------------*/
#define M_KBDtype() ((( M_peekb( 0x0000, 0x0481 ) & 0x40 ) >> 5 ) | ¥
(( M_peekb( 0x0000, 0x0481 ) & 0x08 ) >> 3 ))

/*------------------------------------
SCSI ハードディスク接続状態
SCSI#n が接続されていると M_SCSIconnect(n)
が 1 となる (n: 0 ‾ 6)
------------------------------------*/
#define M_SCSIconnect(n) (M_isBITon((int)(n),0x0000,0x0482 ))

/*------------------------------------
内臓ハードディスクの種類
3 → SCSI 内蔵 ハードディスクあり
2 → SCSI 内蔵 ハードディスクあり (DA7)
1 → RL-SASI 内蔵ハードディスク有り
0 → SCSI/RL-SASI 内蔵ハードディスクなし
------------------------------------*/
#define M_innerSCSItype() ((M_peekb(0x0000,0x0484)&0x30)>>4)


スパムを通報

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

このスレッドを全て表示


レスを書き込む