**24ビットアーケードCRTディスプレイアダプタを一から作る**

1. **概要**
   - 目的:アーケード機用のカスタム24ビット CRT ディスプレイアダプタを構築する。
   - 主な構成要素:映像プロセッサ、RGB 出力回路、電源、およびインターフェースコネクタ。

2. **設計手順**
   1. **信号生成**  
      - プログラム可能なグラフィックコントローラを用いて 24 ビットカラー データを生成。  
      - ピクセルクロックを水平/垂直同期パルスへ変換。
   2. **色変換**  
      - RGB を CRT の蛍光体に適したタイミングで変換。  
      - 正確な色再現のため、バイアスとレベリングを追加。
   3. **電源管理**  
      - +5 V、+12 V、および高電圧 CRT ターボの要件を満たす規格化電源設計。  
      - 信号整合性確保のためフィルタリングと絶縁を実装。
   4. **PCB 配線**  
      - 高速トレースはインピーダンス制御で走行。  
      - IC の近くにデカップリングコンデンサを配置。
   5. **テスト&キャリブレーション**  
      - オシロスコープで同期信号を検証。  
      - テストパターンを用いて色バランスを調整。

3. **必要材料**
   - グラフィックコントローラ(例:DAC0818 など)。  
   - RGB トランス・バイアスクロス。  
   - 電源モジュール。  
   - PCB、コネクタ、抵抗、コンデンサ、インダクタ。

4. **安全上の注意点**
   - 高電圧 CRT 部品は慎重に扱うこと。  
   - 施工全体で適切なグラウンドを確保すること。

5. **参考資料**
   - 選択した IC のデータシート。  
   - CRT 信号タイミングのチュートリアル。  
   - トラブルシューティング用コミュニティフォーラム。

これらの手順に従い、信号整合性と電源取り扱いを細部まで注意すれば、一から 24‑bit アーケード CRT ディスプレイアダプタを成功裏に構築できます。

2026/02/05 2:35

**24ビットアーケードCRTディスプレイアダプタを一から作る** 1. **概要** - 目的:アーケード機用のカスタム24ビット CRT ディスプレイアダプタを構築する。 - 主な構成要素:映像プロセッサ、RGB 出力回路、電源、およびインターフェースコネクタ。 2. **設計手順** 1. **信号生成** - プログラム可能なグラフィックコントローラを用いて 24 ビットカラー データを生成。 - ピクセルクロックを水平/垂直同期パルスへ変換。 2. **色変換** - RGB を CRT の蛍光体に適したタイミングで変換。 - 正確な色再現のため、バイアスとレベリングを追加。 3. **電源管理** - +5 V、+12 V、および高電圧 CRT ターボの要件を満たす規格化電源設計。 - 信号整合性確保のためフィルタリングと絶縁を実装。 4. **PCB 配線** - 高速トレースはインピーダンス制御で走行。 - IC の近くにデカップリングコンデンサを配置。 5. **テスト&キャリブレーション** - オシロスコープで同期信号を検証。 - テストパターンを用いて色バランスを調整。 3. **必要材料** - グラフィックコントローラ(例:DAC0818 など)。 - RGB トランス・バイアスクロス。 - 電源モジュール。 - PCB、コネクタ、抵抗、コンデンサ、インダクタ。 4. **安全上の注意点** - 高電圧 CRT 部品は慎重に扱うこと。 - 施工全体で適切なグラウンドを確保すること。 5. **参考資料** - 選択した IC のデータシート。 - CRT 信号タイミングのチュートリアル。 - トラブルシューティング用コミュニティフォーラム。 これらの手順に従い、信号整合性と電源取り扱いを細部まで注意すれば、一から 24‑bit アーケード CRT ディスプレイアダプタを成功裏に構築できます。

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

要約

日本語訳:

著者は、JAMMA コネクタを使用し、18‑ビットカラーで非標準の 320×240 → 336×262 解像度が必要な RCade アーケードマシンの CRT を駆動するためにカスタム USB‑to‑VGA アダプタを構築しました。
初期には Raspberry Pi からフルスピード USB(USB 2.0)でフレームバッファをストリーミングしようと試みましたが、必要なフレームレート(10 fps 未満)を維持できませんでした。そのため著者は RP2040 上に GUD(Generic USB Display)プロトコルのギャジェットを実装し、3 つの PIO プログラム(HSYNC、VSYNC、RGB)を使用して VGA タイミングと 16‑ビットカラーを生成しました。
フルスピード帯域幅(約 11 Mbps)はまだ不十分だったため、プロジェクトは STM32H750 に移行し、内蔵 ULPI USB インターフェースとフレームバッファ用の HyperRAM を採用しました。USB、LTDC、および RAM トレースの長さ合わせを徹底的に行うことでフルスピード動作が可能になり、クリスタルオシレーターとグラウンドプレーンの問題を修正した後、ボードは RCade CRT で真の 60 Hz リフレッシュレートを実現しました。
最終的な PCB には Mini‑USB HS 入力、75 Ω にインピーダンスマッチされた 3 本の 8‑ビット DAC を備えた VGA 出力、HyperRAM、およびコントローラ入力用の JAMMA ピンアウトが含まれています。今後はオーディオ出力を追加し、制御入力を読み取り、ダブル/トリプルバッファリングを実装し、GUD デルタを無効化し、ドキュメントを改善する予定です。全てのファームウェアは GitHub でオープンソースとして公開されています。

本文

11 月、私の友人であるリカレントユーザー・フランクがリコースセンターにアーケードマシンを持ち込みました。 私たちはそれを RCade と呼び、オリジナルの CRT をそのまま残し(素晴らしい選択)、Raspberry Pi に接続しました。その後、より強力なコンピュータが欲しくなり、ディスプレイに接続する方法が必要になりました。 私は USB 経由で通常の PC とインタフェースできる CRT‑display アダプタを作れると述べ、このプロジェクトです。


ディスプレイが期待するもの

RCade の CRT は JAMMA コネクタを使用しています。 フランクは VGA と JAMMA を橋渡しするコンバーターを購入しましたが、市販の VGA アダプタだけでは不十分でした:

  • CRT は非標準解像度(320 × 240 → 336 × 262)で動作します。
  • 多くのアダプタは 640 × 480 以下に下げられません。
  • 任意の解像度と、Pi の 18‑bit 出力よりも優れた色深度が必要でした。

VGA は CRT が行うことをほぼそのまま映し出すアナログプロトコルです。 CRT 内部には赤・緑・青の 3 本の電子銃があります。 水平方向と垂直方向にビームを誘導する 2 本の電磁石があり、ビームはラインごとにスイープしながら色を制御します。 VGA は R‑G‑B 信号に加えて HSYNC と VSYNC パルスを提供し、ドライバーと CRT を同期させます。


試行 1:RP2040 PIO

私は Raspberry Pi RP2040(約 1 ドル)とその Programmable IO(PIO)を使用しました。 3 本の PIO プログラムを書きました:

プログラム用途
hsyncHSYNC パルスを生成し、各ライン開始時に IRQ を発生させます。
vsyncその IRQ をカウントして VSYNC パルスを作ります。
rgbDMA からピクセルデータを読み取り、GPIO 上で R‑G‑B を出力します。

コードは長く、すべてのタイミング値をハードコーディングしていますが、カスタムソリューションで任意解像度を出力できることを証明しました。


Linux 側:GUD プロトコル

USB 経由でフレームバッファを送信したいと考えました。 まず DRM フレームバッファを公開するカーネルモジュールを書きましたが、作業は痛々しく、ドキュメントも乏しかったです。 代わりに GUD(USB ディスプレイアダプタプロトコル)を発見しました。 これは変更されたピクセルのみ(デルタ)を送信し、オプションで圧縮をサポートします。

ホストモジュールを逆エンジニアリングした後、RP2040 用の Rust ガジェットを書き、GUD を実装しました。 CRT 上の最初の画像は粗いもので(古いボードから取り付けた 12‑bit DAC)、しかしコンセプトが機能することを証明しました。


RP2040 の制限

RP2040 は USB フルスピード(11 Mbps)のみです。 320 × 240 × 16 bpp であれば、1 枚のフレームは約 154 kB、10 fps 未満になります。 より高速なインタフェースが必要でした。


STM32 に切り替える

USB ハイスピード(480 Mbit/s)を 外部 PHY とともに サポートし、VGA‑style 信号を駆動できる LTDC 周辺機能と、外部 RAM アクセスを提供するマイクロコントローラを探しました。 いくつか試した結果、STM32H750IBT(176 ピン LQFP)に決めました。 このデバイスは USB OTG HS インタフェース(外部 ULPI PHY が必要)と LTDC ブロックを備えています。また、ボードでは HyperRAM をフレームバッファストレージとして使用しています。

PCB デザインは簡単ではありませんでした: 16 ビット RAM バス用に 38 本の長さ合わせトレース、多数の短い USB/PHY トレース、ショートを防ぐための慎重なグラウンド設計。 私は自動 DRC チェックと Gerber ファイルおよび STL モデル(YAPP/OpenSCAD)生成を含むカスタム CAD ワークフローを使用しました。


ブルーアップ & デバッグ

  • USB – 初めは FS で動作。クレストに並列接続された 1 MΩ 抵抗を追加すると、HS モードが安定化しました。
  • LTDC – USB PHY を修正した後、スムーズに動作しました。
  • GUD – 高速 USB 上でも最適化なしで動作しました。

最終ボードは 60 Hz 全フレームで動作し、色深度(24‑bit)が向上しバンディングも解消されました。 RCade は劇的に改善されました。


残された課題

  1. USB の信頼性 – ボードを RCade に取り付けた後、USB インタフェースが停止しました。 STM32 または PHY が ESD 損傷した可能性があります。
  2. オーディオ & コントロール – 将来のボードではアンプとアーケード入力を追加する予定です。
  3. バッファリング & デルタ最適化 – ダブル/トリプル バッファリングを実装し、GUD がデルタを無効にできるようにします。
  4. ドキュメント – GUD プロトコルのより明確なドキュメントを書きます。

リソース

種類リンク
ハードウェア回路図 & PCB ファイルhttps://github.com/.../hardware
フィームウェア(STM32、RP2040)https://github.com/.../firmware
元の RP2040 コードhttps://github.com/.../rp2040-original
DAC 方程式https://github.com/.../dac-equations
GUD ガジェット試行https://github.com/.../gud-gadget

このプロジェクトは、低レベルビデオ、USB、および PCB デザインについて多くを教えてくれました。 ハードウェアはまだ不安定ですが、コアアイデア―アーケードキャビネットを現代のマイクロコントローラで適切な VGA ディスプレイに変える―は堅実でさらなる改良が可能です。

同じ日のほかのニュース

一覧に戻る →

2026/02/05 0:08

「Voxtral Transcribe 2」(ボクセトラル・トランスクライブ 2)

## Japanese Translation: Voxtral は次世代の音声認識モデルを 2 つリリースしました:**Mini Transcribe V2**(バッチ)と **Realtime**(ライブ)。RealtimはApache 2.0 ライセンスで Hugging Face 上で入手可能で、サブ 200 ms のレイテンシーを設定でき、480 ms まで下げられます。480 ms の遅延で字幕用に 2.4 秒のディレイがあり、WER(単語誤り率)が 1–2% 内に収まります。両モデルとも **13 言語**(英語、中国語、ヒンディー語、スペイン語、アラビア語、フランス語、ポルトガル語、ロシア語、ドイツ語、日本語、韓国語、イタリア語、オランダ語)をサポートします。 Mini Transcribe V2 は FLEURS ベンチマークで約 **4 % WER** を達成し、ElevenLabs の Scribe v2 より音声処理速度が約 3 倍速く、API 経由で **$0.003/min** のコストです。Realtime は同等の精度を **4‑B パラメータ** のフットプリントで実現し、エッジデプロイが可能です。また、そのストリーミングアーキテクチャは音声が到着した時点で文字起こしを行い、他の API で一般的なチャンクベースの処理を回避します。 企業向け機能には、スピーカー分離(開始/終了タイムスタンプ付き)、単語レベルのタイムスタンプ、最大 100 語・フレーズまでのコンテキストバイアシング(英語最適化)、ノイズ耐性、および **3 時間** までの録音サポートがあります。Mistral Studio のオーディオプレイグラウンドでは、両モデルを最大 10 ファイル(各ファイル ≤1 GB)でテストでき、スピーカー分離、タイムスタンプ粒度、およびコンテキストバイアシングのオプションがあります。 ユースケースは **会議インテリジェンス、音声エージェント/仮想助手、コールセンター自動化、メディア/放送字幕、コンプライアンスポータル** など多岐にわたり、すべて GDPR/HIPAA 対応のオンプレミスまたはプライベートクラウドデプロイでサポートされます。Voxtral は、GPT‑4o mini Transcribe、Gemini 2.5 Flash、Assembly Universal、Deepgram Nova を上回る最高の価格対性能を誇る転写 API と主張しています。 同社は開発者にチームへの参加を呼びかけており、世界クラスの音声 AI の構築と継続的な製品拡大・将来機能リリースを示唆しています。

2026/02/01 21:43

**Claude Code** クォータが尽きたらローカルモデルに接続します。

## Japanese Translation: **概要:** より安価な Anthropic Claude プランを利用しているユーザーは、コーディング中に日次または週次のクォータ制限に直面することが多いです。この記事では、Claude Code を Anthropic の API ではなくローカルのオープンソースモデルに接続することでこれらの制約を回避する方法について説明しています。実際的な2つの手法を紹介します: 1. **LM Studio v0.4.1** を使用する方法 ― モデルは検索インターフェイス経由でインストール(推奨コンテキストサイズ > 25k トークン)、`lms server start --port 1234` でサーバーを起動し、環境変数 `export ANTHROPIC_BASE_URL=http://localhost:1234` と `export ANTHROPIC_AUTH_TOKEN=lmstudioc` を設定します。次に Claude Code を `claude --model openai/gpt‑oss‑20b` で起動し、Claude 内で `/model` コマンドを使ってモデルの確認または切替えを行います。 2. **Llama.CPP** を直接使用する方法 ― これにより Claude Code はローカルエンドポイントを指すことも可能です。 推奨されるモデルとしては、Z.AI の **GLM‑4.7‑Flash** と **Qwen3‑Coder‑Next** が挙げられています。また、小型で量子化されたバージョンを使用するとディスク容量と GPU メモリを節約できますが、その代償として品質や速度が若干低下する可能性があります。ローカル OSS モデルは遅く、コード生成の質が低下することもありますが、クォータ制限やコストが問題になる際に有効なバックアップ手段となります。最後に、読者にはこの設定を試し、さまざまなモデルをテストして経験を共有するよう奨励しています。

2026/02/05 3:34

インフラ向け Claude コード

## Japanese Translation: > Fluid は、AI エージェントが本番インフラストラクチャのサンドボックス化されたクローンを安全に探索し、その後、自動的に実際のサーバー用の Infrastructure‑as‑Code(IaC)―たとえば Ansible プレイブック ― を生成できる軽量ターミナルエージェントです。 > LLM 単体ではライブシステムの挙動を予測することが難しいため、サンドボックスは実際的なコンテキストを提供します。コマンドはホストと同一 OS、パッケージ、ツールを鏡映した隔離された VM またはクラスター上で実行されます。 > Fluid には安全性が組み込まれています:本番環境への直接 SSH は許可せず、一時的な証明書のみを使用し、すべてのサンドボックスコマンドは監査可能に完全ログ記録され、高リソースまたはインターネット依存の操作は人間の承認が必要です。 > インストールはワンライナー(`curl -fsSL https://fluid.sh/install.sh | bash`)で、ホスト環境を自動的に検出します。 > 提供された例では、AI エージェントがサンドボックス(ID `SBX-demo1234`、IP `192.168.122.50`)に Apache をインストールし、curl で確認した後、`httpd‑setup` プレイブックを生成します。このプレイブックは 4 件のタスク(apt キャッシュ更新、Apache インストール、カスタム `index.html` 作成、サービス起動/有効化)から構成され、任意の Ubuntu サーバーで実行して同じ設定を再現できます。 > コントロールされた監査可能なワークフローをチームに提供することで、Fluid はデプロイリスクを低減し、コンプライアンスを向上させ、AI 主導のインフラ変更を効率化します。

**24ビットアーケードCRTディスプレイアダプタを一から作る** 1. **概要** - 目的:アーケード機用のカスタム24ビット CRT ディスプレイアダプタを構築する。 - 主な構成要素:映像プロセッサ、RGB 出力回路、電源、およびインターフェースコネクタ。 2. **設計手順** 1. **信号生成** - プログラム可能なグラフィックコントローラを用いて 24 ビットカラー データを生成。 - ピクセルクロックを水平/垂直同期パルスへ変換。 2. **色変換** - RGB を CRT の蛍光体に適したタイミングで変換。 - 正確な色再現のため、バイアスとレベリングを追加。 3. **電源管理** - +5 V、+12 V、および高電圧 CRT ターボの要件を満たす規格化電源設計。 - 信号整合性確保のためフィルタリングと絶縁を実装。 4. **PCB 配線** - 高速トレースはインピーダンス制御で走行。 - IC の近くにデカップリングコンデンサを配置。 5. **テスト&キャリブレーション** - オシロスコープで同期信号を検証。 - テストパターンを用いて色バランスを調整。 3. **必要材料** - グラフィックコントローラ(例:DAC0818 など)。 - RGB トランス・バイアスクロス。 - 電源モジュール。 - PCB、コネクタ、抵抗、コンデンサ、インダクタ。 4. **安全上の注意点** - 高電圧 CRT 部品は慎重に扱うこと。 - 施工全体で適切なグラウンドを確保すること。 5. **参考資料** - 選択した IC のデータシート。 - CRT 信号タイミングのチュートリアル。 - トラブルシューティング用コミュニティフォーラム。 これらの手順に従い、信号整合性と電源取り扱いを細部まで注意すれば、一から 24‑bit アーケード CRT ディスプレイアダプタを成功裏に構築できます。 | そっか~ニュース