2025-06-12
MIXのWebエミュレータにキーボードを接続しました。


「kbd-test MIX with NO-BIOS」
src on GitHub
キーボードを押すと、テスト用のキーマトリクスが反応します。これでMIXでキー入力を扱うことができるようになりました。


「Keyboard.js」

仮想キーボードのソースコードと、その核となるマップです。 export class Keyboard { constructor(comp) { this.keymap = new Uint8Array(16); for (let i = 0; i < this.keymap.length; i++) { this.keymap[i] = 0xff; } comp.addEventListener("keydown", (e) => { const n = key2n(e); if (n >= 0) { this.keymap[n >> 3] &= ~(1 << (n & 7)); } }); comp.addEventListener("keyup", (e) => { const n = key2n(e); if (n >= 0) { this.keymap[n >> 3] |= 1 << (n & 7); } }); } io_write(port, value) { if (port == 0xAA) { this.selrow = value & 0xf; } } io_read(port) { if (port != 0xA9) return undefined; return this.keymap[this.selrow]; } } io_writeとio_readを使って、MIXと仮想ハードウェアをつないでいます。

links
- 削ぎ落としたZ80マシン「MIX」用ファームウェア「NO-BIOS」

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS