割り込みでマウスを管理&カーソル表示するテスト 002 BIOSのGTPAD(00DBH)を使ってますがマウス対応はMSX2以降らしく、当初はMSX1には対応していませんでしたが、MSX2のSUB-BIOS(NEWPAD)を逆アセンブルしたものを含めたのでMSX1でも動くようになりました。 MSX1の時のみそれを使い、以外はBIOSを呼んでいます(安全策)。 1/60割り込みをフックして、1/15毎にマウスを読み出し、座標を計算、スプライトでカーソルを表示してます。 BASICでOkを表示するところにもフックしてるので、終了時にフックは自動で戻します。 BASICプログラムはほとんどが事前準備(機械語やスプライトの設定)のみで、メイン処理はマウスのボタンを確認して、押されてたらそのときのXY座標をメモリから得て表示するだけです。 機械語側でスプライトはページ(プレーン)31を使用、PUT SPRITE 31,(X,Y)のみ送ってるので他はBASIC側で操作できるはずです。 自分でもそのうち何かで応用するつもり。 縦192ドット以外に対応させるには数値の変更が必要です。 フォルダSRCはソースファイル MOUSEUSR.MAC MOUSE.MAC HOOK.MAC CSEG=D000- DSEG=D300- 2023/08/12 www.itochi.com いとっち中の人 2023/08/13