Commodore 64のピンを1本抜くと何が起きるか、全部シミュレーションで再現

The Commodore 64 hardware simulator: break chips and pins, see the results

antirez氏が公開したc64-hw-simは、Commodore 64のマザーボード(ASSY 250407)をピンレベルでシミュレーションする。チップの足を浮かせる、GNDや+5Vに短絡する、ソケットから抜く、抵抗を開放するといった故障を再現し、画面や信号の変化を観察できる。故障時の挙動は回路から計算されるため、壊れたC64の症状を事前に知らなくてもよい。実機では難しい学習や、故障箇所の仮説検証に役立つが、動作は実機の3割から5割程度の速度で、ゲーム用エミュレータではない。

壊れた部品をシミュレーションして画面がゴミで埋まったとき、そのゴミは回路から計算されたものであって、何が起きるか知っている誰かが選んだものではない。
  1. linker3000

    これは本当にすごいし、素晴らしい成果だ。C64のボードを診断・修理するときに役立つかもしれない。

    ストレッチゴール:

    * シミュレーションで診断カートリッジを実行できるようにする。

    * 250407ボードでは、PLAの代替品でタイミングのエッジケースに遭遇したことがある。修正は多くの場合、/CASRAMラインに小さな(約100pF)コンデンサを取り付けて少し遅くすることだ。コンデンサは既存の82オーム抵抗の左足と、「RAM6」近くのグラウンドポイントの間に取り付ける。ボードによっては公式にコンデンサ用のスペース(C204指定)がある。実機ボードで一部のオリジナルPLAバリエーションでは、コンデンサがすでに取り付けられている場合がある。このコンデンサを有効/無効にしたり、値を設定して効果を確認できると良いだろう。

    記事:https://linker3000.com/index.php/blog/poor64

  2. dwheeler

    驚くべきことだ。残念ながら、強力な実ハードウェア上でもリアルタイムで動作させることはできない。コードを最適化してリアルタイムで動かせるようにできないだろうか?

  3. tombert

    Byuu(RIP)が約10年前に、BSNES/Higanがなぜ「遅い」のかについて記事を書いていたのを覚えている。やろうとしていることを考えれば実際には遅くないと説明していた。チップを正確にシミュレートするほど、同期などのオーバーヘッドが単純に増えるのだ。

    その記事で、このようなPong回路シミュレーションがゲームプレイで10FPS程度しか出ないという話があり、とても驚いた。Pongより単純なゲームはそうそうないし、素晴らしいハードウェア上でも真のエミュレーションを求めるならプレイ不可能だったのだ。

この日のほかの記事

2026-10-17