IBM MCGA アレイのリバースエンジニアリング

2026/06/27 14:17

IBM MCGA アレイのリバースエンジニアリング

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

本文の核心は、IBM PS/2 MCGA チップセットへの深く踏み込んだ探求であり、メモリ制御ゲートアレイ (72X8300) およびビデオフォーマッターゲートアレイ (72X8205) について具体的な技術仕様を明らかにしている。未文書化されたレジスタマップ(アドレス 0x12 および 0x10 など)を解析することで、同期信号、テキストモード(ビット 3 を含む 80×25 モードを含む)、およびクロック速度に対する制御の詳細な説明を行っている。分析では、逆工学的手法によって特定化されたゲートアレイの物理的特性、例えば Seiko SLA6430(2um CMOS プロセス、4,342 バシックセルを使用)について詳述するとともに、IBM 自前のビデオフォーマッターチップについてはネットリスト抽出を妨げた欠落した層といった技術的課題にも言及している。文脈上、本文は IBM の公式実装とサードパーティ製バリエーション(Epson Equity 1e など)を区別している。今後、本プロジェクトではこれらの逆工学的手法によって特定化されたレイアウトを機能する Verilog コードへと変換することを目標としており、KiCAD デザインを精密な間隔要件に従ってインポートすることを行っている。結局のところ、このドキュメント開発者がプロプライエタリなチップなしでレガシーグラフィックシステムをエミュレートできるようになり、レトロコンピューティング業界にとって不可欠な資源となっている。

本文

IBM MCGA ゲートアレイのリバースエンジニアリング

IBM MCGA(マルチカラーグラフィック・アレイ)は、PS/2 モデル 25 および 30 と同時に登場した低コストビデオチップセットである。Epson Equity 1e も MCGA 互換のビデオ機能を採用しているが、異なるチップを使用している。

チップセット構成

  • IBM のチップセットには以下の 2 つのゲートアレイが含まれる:
    • メモリコントローラ用ゲートアレイ
    • ビデオフォーマッタ用ゲートアレイ
  • 製造プロセスの違いにより、以下のような組み合わせが存在する:
    • IBM の内製ゲートアレイプロセス製
    • **Seiko(精工舎)**の外部仕様ゲートアレイ部品製

メモリーコントローラ用ゲートアレイ (72X8300)

機能概要

  • MC6845 サインジェネレータ IC の実装を含む。
  • ISA バスとのビデオ RAM 間界界面の管理
  • 文字 RAM 間界界面の管理
  • クロック選択、モニタ ID の読み出しなど miscellaneous 機能の実装

リバースエンジニアリング仕様

  • 基板: Seiko SLA6430 ゲートアレイを使用。
  • 構造: トランジスタそれぞれ 4 つを有する基本セル(BC)全体で 4,342 個を内包。
    • 配置:167 行 × 26 コラム
  • プロセス: 2μm CMOS、金属層数 2 層

リソースファイル

  • 画像:
    72x8300-sla6430j
  • シームレス図およびレイアウト:
    mcga72x8300flat
    サブディレクトリに記載。

ビデオフォーマッタ用ゲートアレイ (72X8205)

機能概要

  • ISA メモリおよび I/O ポートアドレスのデコード。
  • RAMDAC 間界界面の管理。
  • グラフィックモードとテキストモードの両方でピクセルデータの生成

イメージのバリエーション

1.
72x8205-gl14105fs
(IBM 内製プロセス)

  • IBM の内製ゲートアレイプロセス上に搭載されるものと推測される。
  • 制限: デキャップ作業の際に上層の金属膜が除去されたため、ネットリストの抽出は不可能

2.
72x8205-sla6330j
(Seiko SLA6330)

  • リバースエンジニアリングが完了しており詳細を
    mcga72x8205flat
    サブディレクトリで参照可能。
  • 基板: Seiko SLA6330 ゲートアレイを使用。
    • 構造:トランジスタそれぞれ 4 つを有する基本セル (BC) で3,312 個内包。
    • 配置:144 行 × 23 コラム。

72X8300(メモリーコントローラ用)に関する注記

リバースエンジニアリングにより、MCGA に以下のような新たな情報が得られた。

主要機能とレジスタ操作

  • Genlock

    • MCGA は外部 HSYNC および VSYNC シグナルに対するGenlock が可能
    • シグナル割り当て:
      • ピン 12 (ID1): VSYNC
      • ピン 11 (ID0): HSYNC
    • 有効化方法:レジスタ
      0x12
      (文字ジェネレータ間界界面および同期極性/ディスプロセンソ)の**ビット 3 に「1」**をセット。
      • 注記: PS/2 モデル 30 の技術参照マニュアルでは「予約済み=0」とリストされているが、実際には有効化可能。
      • 推測: Genlock モードでは外部クロック PLL を 25MHz または 14MHz クロック入力に接続する必要がある。
  • レジスタ

    0x10
    (モード制御)の詳細

    • ビット 3("互換性"): 80×25 テキストモードのみに影響。
      • 水平タイミングレジスタを 2 倍にする処理制御。
      • 0x00
        : 水平合計値を加算。
      • 0x02
        : 水平同期開始値から減じる。
    • ビット 2("クロック=1"): ビデオ回路のクロック源選択。
      • デフォルト:ほとんどが 25.175MHz を使用。
      • 変更方法:このビットを「0」に変更すると、クロック周波数を 14.318MHz 入力へ切り替え可能。
    • ビット 6("予約済み=0"): 機能は完全には解明されていない。

テスト用レジスタ (
0x20
)

  • 製造上のテスト用モードレジスタである。
  • ビット定義:
ビット機能備考
714.318MHz オートナレートクロックモード未確認
6VCK ピンオプショナルモード通常は VCKIN をそのまま VCK に接続
5スピードアップモード:不明
4スピードアップモード:カーソル位置高カウンター
3スピードアップモード:カーソル位置低/文字カウンター
2スピードアップモード:垂直合計調整カウンター
1スピードアップモード:垂直カウンター
0スピードアップモード:水平カウンター
  • カウンタースピードアップモードの仕組み:
    • 各カウンターの上位 4 ビットならびに下位 4 ビットの双方にクロックシグナルを注入するため、カウンタが素早くカウントダウンする。
    • これはチップテスタにおける工場出荷時テストを助けるための機能である。

72X8205(ビデオフォーマッタ用)に関する注記

拡張モードレジスタ
0x1A

  • ドキュメントされていないビットが 2 つ存在する:
ビット推測される機能
1不明だが、他の解像度であっても256 色モードを強制する可能性あり。
0不明だが、全体のディスプレイにボーダー色を適用させる可能性がある。

製造用テストレジスタ

アクセス手順:レジスタ

0x19
にアドレスを読み込み、その後レジスタ
0x18
を読み取るか書き込む。

アドレスレジスタ種類機能詳細
0-実装されていない
1ロンリード (R/W)RAMDAC へ送信されるデータの最新内容 (P[7:0] ピン) を保持。
2ロンリード (R/W)VRAM から受信されるデータの最新内容 (CP[7:0] ピン) を保持。
3ロンリード (R/W)フォーマッティングロジックから得られる未知の 16 色モードデータを保持。
4ライトオンリー (W/O)次のビット機能を実装。

レジスタ
0x18
のビット機能(アドレス 4 用)

ビット機能動作詳細
0製造上のハードリセットリセットピンと同様の効果。「1」書き込みでリセット状態へ移行、「0」書き込みで復帰。
1出力無効化「1」書き込みで RAMDAC への出力を含む多数の出力を無効化。

リバースエンジニアリングプロセスに関する情報

画像スケーリングと保存

  • 元データ:
    72x8300
    の画像は 21808×21778 から 10904×10889 へスケーリングされた。
  • 保存形式: JPG ファイル(圧縮率 85%、DPI 48)で出力し、スケーリング係数 0.103170 を用いて KiCAD に読み込んだ。
    • この設定により、KiCAD ユニット上で BC 間のスペースを「3mm」として得た。

ライブラリ作成とフットプリント

  • 基本セルタイプ: タイプごとにライブラリフットプリントを作成し、シームレス記号と関連付け。
  • パッド配置: すべてのパッドを中央に配置したため、元々ミラー画像である多くの BC でフットPRINT 自体を回転させることが可能となった。

構造的特徴と配線ルール

  • 金属層: ゲートアレイは2 層の金属を使用。層間接続は以下の数パターンに限られる:

    • メタル 1 からメタル 2
    • メタル 2 からポリシリコン(ゲート)
    • メタル 2 から拡散領域
  • 電源・接地配置:

    • 各カラムで、メタル 2 に並列して配置された 2 本の導線が VCC(右側)と GND(左側)を運ぶ。
    • 結果として、BC 内の左側の 2 つのトランジスタは NMOSであり、右側の 2 つは PMOSである。
    • BC 内では 2 つのトランジスタが 1 つのゲートを共有し、それぞれのゲートには 3 つの接続パッドを持つ。
    • コンタクトは、共有チャネル結合部または孤立チャnel 結合部の拡散領域へ VCC/GND を接続するためのものとなる。
  • シグナル配線:

    • 外部シグナルの入出:通常メタル 1でセル全体を横断する水平なトレースを使用。
    • ロジックゲート内部配線:一般的にメタル 2上で行われる。
    • 描画の制限: メタル 2 上の縦方向並列導線による電源・接地に加え、もう一组のメタル 1 上の水平導線も電源と接地を運ぶが、リバースエンジニアリングレイアウトではこれらのシグナルラインではない上に配置されたトレースは描画されていない

ネットリスト生成フロー

  • テーザ(トレース)は、フットプリントのパッドから出発し、背後の金属に沿って進み、与えられたネット名を持つすべての他の接続パッドに結び付けられる。
  • その後、通常の KiCAD プロセスとは逆にスキーマ図へ逆方向に追跡される。

今後の計画

KiCAD のネットリストからVerilog コードを自動生成する手法の探求を目指す。

同じ日のほかのニュース

一覧に戻る →

2026/06/27 2:06

次世代モデル「GPT‑5.6 Sol」の事前公開

## Japanese Translation: OpenAI は、GPT-5.6 シリーズの限定プレビューを発表しました。本シリーズには、以下の 3 つの専用モデルが含まれます:Sol(最も堅牢な安全スタックを備えたフラグシップモデル)、Terra(バランス型/コストパフォーマンス型)、Luna(高速型/最低コスト型)。リリースでは、高リスク向けアプリケーションにおけるセキュリティと論理処理に重点を置き、Terminal-Bench 2.1 でコーディングに関する業界最高水準のベンチマークを設定し、GeneBench v1 でゲノム解析分野でも同様に最良の結果を示しました。Sol モデルは特筆すべき点として、「ultra mode」を搭載しており、サブエージェントを活用して複雑なタスクの処理を加速させるとともに、ExploitBench² において優れた結果を達成しています(同時に自律的に全チェーンエクスプロイトを生産することには達しておらず、すなわち Cyber Critical の閾値を越えていません)。Sol は 70 万以上の GPU タイムに及ぶ自動化および人間によるレッドチーム検証を通じて開発され、リアルタイムクラシファイアやアカウントレベルでの審査など、多層的なサファガードスタックを有しています。一般公開前には、アクセスは信頼されたパートナーと米政府関係者に限られ、7 月に専用 Cerebras ハードウェア上で選定顧客向けに展開される予定です。利用者からはキャッシュ読み取りに対する大幅な割引を通じてコスト削減を提供する差別化された価格設定層が提供されますが、初期段階ではフル API アクセスには制限があります。結果として、このリリースは高い機能性と厳格な安全プロトコル、そして明確なパフォーマンス・コストバリエーションを両立させた責任ある AI 導入のための新たな業界基準を確立しました。

2026/06/27 12:30

ワードスター:作家のためのワープロソフト(1996)

## Japanese Translation: Robert J. Sawyer は、確立されたフィクション作家が現代のデジタル時代においても 1978 年のテキストエディタ「WordStar」を使い続けることを情熱的に提唱している。Microsoft Word に代表される現代的なワープロソフトは派手なグラフィックや複雑なメニューを提供するが、執筆モードと編集モードの間でユーザーが精神的にギアを切り替えることを強制し、創造性を阻害することがしばしばある。これに対し、WordStar の安定したクラッシュフリーな環境は、深みのある創造的フローにとって不可欠な妨げのない空間を提供する。このソフトウェアは効率的な「コントロールキー」インターフェースに依存し、物理的な「手書きの頁」を模倣することで、作家が認知的不中断のまま自由にナビゲートすることを可能にしている。そのエルゴノミクス設計はプロのタッチタイピストを支え、カスタマイズ性はユーザーに適応させるため而非公式なワークフローを変えることを求める。このアプローチは、アーサー・C・クラークやジョージ・R・R・マーティンといった伝説的な作家からの称賛を得ており、彼らは新機能よりも安定性を重視している。現代的なアプリケーションによる精神的疲労を避けることで、本物の作家は草稿と作品の精査の間で流体様なる連続性を維持でき、古典的な技術が専門家のサイエンスファンタジー書きの要件に独特に適していることを示している。 ## Text to translate: Robert J. Sawyer passionately argues that established fiction authors should continue using WordStar, a robust text editor from 1978, even in the modern digital age. While contemporary word processors like Microsoft Word offer flashy graphics and complex menus, they often disrupt creativity by forcing users to switch mental gears between writing and editing modes. In contrast, WordStar's stable, crash-free environment provides a distraction-free space essential for deep creative flow. The software relies on an efficient "Control-key" interface and mimics a physical "long-hand page," allowing writers to navigate freely without cognitive interruption. Its ergonomic design supports professional touch typists, and its customizability adapts to the user rather than demanding they change their workflow. This approach has earned praise from legendary authors like Arthur C. Clarke and George R.R. Martin, who value stability over new features. By avoiding the mental fatigue of modern applications, serious writers can maintain a fluid continuum between drafting and refining their work, proving that classic technology remains uniquely suited for the demands of professional science fiction writing.

2026/06/25 13:06

旧ハードウェアでの Linux 運用:完全リバイバルガイド

## Japanese Translation: Linux ディストリビューションは、TPM 2.0 や低容量 RAM など過時硬件要件による電子廃棄物を解決する、Windows 11 の代替手段として有効な選択肢を提供します。Windows 11 はアイドル状態でも 3〜4GB のメモリで起動可能ですが、軽量オプションは遥かに少ない消費量を実現します。例えば、Xfce を使用した Ubuntu は約 650MB を、antiX(約 256MB)や Puppy Linux などの超軽量ディストリビューションは最低 256MB のマシンでも動作可能です。リソースが限られているユーザーには、2GB より少ない RAM のシステムには antiX が推奨され、2〜4GB の場合では Lubuntu(アイドル時約 480MB)、4GB 以上のマシンでは Linux Lite(アイドル時約 650MB)が適しています。なお、BunsenLabs Carbon などがサポートを終了する 2026 年 2 月には、古くからの 32 ビットハードウェアは互換性問題に直面します。 適切な OS を選ぶだけでなく、戦略的なアップグレードと調整により性能を大幅に向上させることも可能です。機械式ハードドライブを SATA SSD に置き換えることで、起動時間を 45 秒以上から 18 秒未満に短縮できます。上級ユーザーは診断のために `free -h`、`lscpu`、`lsblk` などのコマンドを使用し、zram 圧縮を有効化して RAM 容量を増大させるようにシミュレートし、swappiness 設定を 10 に下げて古いドライブへの磨耗を軽減し、不要なサービス(例:bluetooth、cups)を無効化し、キャッシュの無効化や広告ブロッカーを活用してブラウザのメモリ使用量を最適化するなどの措置应采取します。これらのステップにより、高価な新ハードウェア購入なしでレガシーマシンも効果的に動作させることが可能になります。