Skip to content

History

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
    324af7c
  • ディスク: 生セクタの書き込みを追加 コマンドの下位4ビットを5にすると書き込み。SEEKビットは読み出しと同じく必要。 1024バイト書いて読み返し完全一致、ホスト側のイメージ取り出しでも確認した。

    @uraraworks uraraworks committed Aug 25, 2026
    dc7e01a
  • メモリマップ: 拡張メモリ(XMS)・EMS・UMBを追加 XMS 2.00 が使え、863KBの空きから64KB確保すると799KBに減ることを実測。 EMSはドライバが無く使えない。UMBは既定で未リンクで5803hでつなげる。

    @uraraworks uraraworks committed Aug 25, 2026
    9c6410d
  • DOSファンクション: FCBを使う古い系統の呼び出しを追加 作成・書き込み・オープン・読み込み・検索・削除まで実測。読み込みのAL=01が ファイルの終わり。オープンするとレコード長が128に設定される点も明記。

    @uraraworks uraraworks committed Aug 25, 2026
    790aa24
  • 時間と割り込み: 垂直帰線の割り込みを追加 ベクタとマスクだけでは来ず、ポート0x64での許可と、ハンドラ内での再武装が要る。 実測56.5Hzで、ポーリングで測った56.4Hzと一致した。

    @uraraworks uraraworks committed Aug 24, 2026
    69f73c3
  • DOSファンクション: 終了コードを追加 AH=4Ch の AL が呼び出し元から ERRORLEVEL として見えることを実測。 IF ERRORLEVEL が「n以上」で成立することも明記。

    @uraraworks uraraworks committed Aug 24, 2026
    520aa9c
  • グラフィック: EGCで色を指定して塗る方法を追加 0x4A2でパターンの供給元(前景色)、0x4A4のライトモードで「パターンを書く」を 選ぶ必要があった。色番号のビットがそのままプレーンに対応することを実測。 マスクは効果を確認できず未検証のまま。

    @uraraworks uraraworks committed Aug 24, 2026
    5770d3b
  • 常駐プログラム: 常駐解除を追加 ベクタの復元(AH=25h)とメモリ解放(AH=49h)で解除できることを実測。 目印を確かめてから解放すること、先頭の jmp に near を明示しないと 目印の位置がずれて見つけられなくなることも記載。

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

    @uraraworks uraraworks committed Aug 24, 2026
    a8c736a
  • サウンド: FMのアルゴリズムとSSGのエンベロープを追加 アルゴリズムごとに「どのスロットが音を出すか」が変わることを、TLを下げたときの 音量変化で実測。SSGは音量レジスタのbit4でエンベロープに切り替わる。 リズム/PCMはポートが応答せずこの環境では使えないことも明記。

    @uraraworks uraraworks committed Aug 24, 2026
    fb53247
  • グラフィック: 重ね合わせ・パレット読み出し・8色モードのページを追加 テキストが前面であること、パレットが読み出せること、ページ切替が8色でも 使えることを実測。描画ページを戻し忘れるとGRCGが壊れたように見える罠も追加。

    @uraraworks uraraworks committed Aug 24, 2026
    0849062
  • テキストVRAM: フォントの読み書き(KCG)を追加 I/Oポート経由でフォントを読む手順を実測し、画面の字と1ドットも違わず一致した。 外字への書き込みも成立したが、この環境では画面に左半分しか出ないため その旨を明記して未検証に残した。

    @uraraworks uraraworks committed Aug 24, 2026
    edbdf46
  • テキストVRAM: 半角カナ・属性上位バイト・点滅周期・スクロールを追加 半角カナは1セル1文字、属性の上位バイトは無意味、点滅は約1.7秒で3:1、 20行モードでは20行目以降が出ない、表示ページの切替は無くDOSのスクロールは メモリの内容を移動させる、をすべて実測して追加。

    @uraraworks uraraworks committed Aug 24, 2026
    5487c47
  • エスケープシーケンス: 相対移動・属性・反転色・漢字モードを追加 相対移動と ESC D/E/M、属性の各値(1はカラーでは効かない、8は文字が消える)、 40-47が地の色であること、ESC)3で全角が1バイトずつに分かれることを実測。

    @uraraworks uraraworks committed Aug 24, 2026
    8f4dde3
  • サウンド: SSG音源を追加 書籍(表2-43)でレジスタ表を確認し実測。ミキサーが0でONという反転、 音の高さの規則(TP≒125568÷周波数、予測が0.2%以内で当たる)、 ミキサーで止めても振幅が残るため音量を0にする必要がある点を記載。

    @uraraworks uraraworks committed Aug 24, 2026
    12e62f6
  • メモリマップ: 各領域の正体とメモリスイッチを追加 書籍(4-2)で区分を確認。0xA4000はCGウィンドウ、0xC0000台は拡張ROM空間 (ユーザー用/システム用)と判明。メモリスイッチの位置と実測値も追加した。

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

    @uraraworks uraraworks committed Aug 24, 2026
    114f549
  • エスケープシーケンス: 消去・行操作・色・画面モードを追加 書籍(4-8 一覧表)で書式を確認し、動作はすべて実測。 行数モードは INT 18h AH=0Ah と同じ結果になることも確認した。

    @uraraworks uraraworks committed Aug 24, 2026
    505fc0c
  • DOSファンクション: シーク・部分読み出し・拡張エラー・日付設定を追加 書籍(4-7)で呼び出し形式を確認し値は実測。3Fhが要求より少なく返るのは ファイルの終わりに達したときで0が終端。拡張エラーのクラス等はMS-DOSでは 返るがFreeDOSは0のまま、という差も実測して記載。

    @uraraworks uraraworks committed Aug 24, 2026
    6ba1068
  • テキストVRAM: 未検証から「カーソルの制御方法」を削除 同ページに測定済みのカーソル制御の節を追加した際、未検証リストから 消し忘れていた。

    @uraraworks uraraworks committed Aug 24, 2026
    d967290
  • サウンド: FM音源の使い方を追加 レジスタの書き方(0x188/0x18A)、音を出す最小手順、BLOCKとF-Numberによる 音程、TLによる音量を実測。音程は規則を立てて予測が当たることまで確認した。

    @uraraworks uraraworks committed Aug 24, 2026
    c6b0d8c
  • ディスク(生セクタ読み出し)のリファレンスを追加 INT 1Bh のFD/HDDそれぞれの呼び出し形式と、SEEKビットを立てないと 成功を返しながら1バイトも転送されない件、INT 25h の直前のAH残骸で 2回目から壊れる件を明記。既存の実測(fep-measure-06/07)から起こした。

    @uraraworks uraraworks committed Aug 24, 2026
    5f4d632
  • グラフィック: 画面モードの切り替え(INT 18h AH=42h)を追加 モード指定コードはCHで渡す。400ライン/200ライン(VRAM前半・後半)と 裏画面表示を実測。CH=0のまま呼ぶと戻せなくなる点も注意として明記。

    @uraraworks uraraworks committed Aug 24, 2026
    80f5dba
  • グラフィック: 表示ページと描画ページを追加 0xA4(表示)と0xA6(描画)がどちらも効き、2ページが独立に内容を保持することを実測。 解像度・色数モードの切り替え(INT 18h AH=42h)は画面が戻せなくなったため未検証として明記。

    @uraraworks uraraworks committed Aug 24, 2026
    2313ba0
  • サウンドのリファレンスを追加 ビープのON/OFF(ポート0x37)と、8253チャネル1による音の高さの決め方を実測。 周波数はカウンタ値に反比例し、約2457600÷カウンタ値。 FM音源はポートの応答だけ確認し、使い方は未検証として明記。

    @uraraworks uraraworks committed Aug 24, 2026
    2b0fdf8
  • メモリマップのリファレンスを追加 4KBごとに書いて読み返す方法で分類。輝度プレーン(0xE0000)は16色モードで のみ現れ、メモリマップが画面モードで変わることを実測で確認した。 .COMが既定で全メモリを確保していること、AH=4Ahで縮めると604KB空くことも記載。

    @uraraworks uraraworks committed Aug 24, 2026
    0a44eb2
  • 時間と割り込みのリファレンスを追加 垂直帰線(0x60 bit5, 56.4Hz)と水平帰線(bit6, 24.9kHz)を周波数で同定。 タイマ割り込みは既定でマスクされており、外すと約100Hzで来ることを実測。 待ちルーチンは「200回で何ミリ秒か」で検証した。

    @uraraworks uraraworks committed Aug 24, 2026
    7d2942f
  • 常駐プログラム(TSR)のリファレンスを追加 ベクタ登録と常駐終了、常駐サイズがラベル順序で決まること、 確認は「常駐→他を実行→再使用」で行うことを実測で確認して記載。 常駐サイズを小さくした故障注入版がその検査で Invalid Opcode になることも確認済み。

    @uraraworks uraraworks committed Aug 24, 2026
    12821b2
  • グラフィック: EGCの使い方を実測で確定 有効化に必要だったのは 0x7C bit7 とビット長レジスタ 0x4AE。 これを含む手順で 1バイト書き込み→4プレーン同時書き込みを確認した。 前景色指定と読み書きを伴うモードは未確認として明記。

    @uraraworks uraraworks committed Aug 24, 2026
    04da602
  • グラフィック: EGCが有効にならない原因の記述を訂正 「機種がEGC相当に構成されていない」と書いていたが、ビルド定義に SUPPORT_PC9821 があり、この場合コードは grcg.chip=3 を無条件に設定する。 根拠が無かったので原因未特定に改め、切替手順を変えても同じだったことを追記。

    @uraraworks uraraworks committed Aug 24, 2026
    60d4cb3