Skip to content

History / Keyboard

Revisions

  • キーボード: IRQ1の直接受信・SHIFT記号変換・キーリピートの実測を追加 - IRQ1(キーボード)がINT09hであること(IRQ0/IRQ2と同じ「IRQn→INT(8+n)」規則)、 ポート0x41でスキャンコードを読めること、bit7が離した(break)を示すこと、 EOI(0x20をポート0x00へ)が無いと2回目以降の割り込みが来ないことを Keyboard.mdに追加した。Timing-and-Interrupts.mdにも要約と相互参照を追加し、 「未検証: キーボード割り込み(IRQ1)の使い方」を本文へ解消した。 - SHIFT記号変換を数字・記号・テンキー計44スキャンコードぶん実測し、全数の 表をKeyboard.mdに追加した。 - キーリピートが生のIRQ1割り込みレベルでも同じ周期(約500ms後から約50ms間隔) で、本物のbreak→makeペアとして再現することを追加した。 - 自分のIRQ1ハンドラから元へ戻したあと、CAPSロックの状態がずれることが ある(原因不明)ことを注意点として追加した。 - いずれもROM内の変換テーブルは読み出さず、外部からのキー注入(WebNP2 np2.sendKey)に対する挙動の実測に基づく。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

    @uraraworks uraraworks committed Sep 20, 2026
  • キーリピート・時刻設定を追加、タイマ周期と8色パレットは結果を明記 キーリピートは初回後500ms・以降50ms(WebNP2の設定値である旨も明記)。 時刻設定は日付と同じ形。タイマ周期は8253チャネル0へ書いても変わらず、 ビープを陽性対照として手順の誤りではないことを添えた。

    @uraraworks uraraworks committed Aug 24, 2026
  • キーボード: 未解釈だったコードの正体と修飾キーの扱いを追加 0x33は単独では文字を持たないキー、0x5E/0x6C-0x6Fは未割り当て、 0x52-0x56はvf1-vf5(この環境では返らない)と判明。 修飾キーはビットのORで、CAPS/かなはロック式であることも明記。

    @uraraworks uraraworks committed Aug 24, 2026
  • キーボード: AH=01h とキーバッファの構造を追記 待たずにキーの有無を調べる方法(BHで判定・消費しない)と、 BIOSのリングバッファ(0x502-0x521/16件, 位置0x524/0x526, 件数0x528)を実測して追加。 満杯時にキーが黙って捨てられることも明記。

    @uraraworks uraraworks committed Aug 24, 2026
  • キーボードのリファレンスを追加 INT 18h AH=00h/02h の返り値、スキャンコード一覧(0x00-0x7F 全掃引)、 修飾キーのビット割り当て。すべて実測(WebNP2 327d061 / FreeDOS(98))。

    @uraraworks uraraworks committed Aug 24, 2026