Skip to content

Instantly share code, notes, and snippets.

@GOROman
Created August 20, 2026 08:00
Show Gist options
  • Select an option

  • Save GOROman/0814f7bf4f0554736d54623cae6a5b26 to your computer and use it in GitHub Desktop.

Select an option

Save GOROman/0814f7bf4f0554736d54623cae6a5b26 to your computer and use it in GitHub Desktop.
2026-08-19 日報 - FPGA / YM2151開発記録

2026-08-19 日報 — Tang Nano 1KとTang Primer 20Kの音源開発

Computer History、Codexセッション、Git履歴で確認できた範囲の日報です。記録のない活動は補完していません。 主体: 👤 本人 / 👤→🤖 AIへの指示 / 🤖 Codexによる実行

概要

Tang Nano 1KのLチカから始め、矩形波の音階出力を実機へ転送。その後Tang Primer 20Kへ移り、JT51によるYM2151曲再生、PT8211 DAC、HDMIレジスタ表示を実装した。

午後はDDR3とUARTを検証し、CRC付きXMODEM転送を構築。夜は音割れをPT8211のBCK極性まで絞り込んだが、最終的にDDR読み戻しCRC不一致が残った。

分刻み作業記録

09:00–10:59

  • 09:33 👤→🤖 — 購入したTang Nano 1Kで内蔵LEDを点滅させたいと依頼。
  • 09:35 👤→🤖 — Macでのビルド・FPGA転送方法を質問。
  • 09:37 👤→🤖 — Gowin IDEの導入を依頼。
  • 09:55 👤 — Gowin配布サイトがHTTP 403になると報告。
  • 10:12 👤 — Gowin IDEを起動。
  • 10:15 👤 — 公式LEDプロジェクトでRun Allを実行。
  • 10:25 👤→🤖 — GUIを使わないCLIビルドを依頼。
  • 10:28 🤖 Codex — Gowin Tclビルドスクリプトを追加し、合成・配置配線・ビットストリーム生成を確認。
  • 10:29 🤖 Codex — LEDを2秒間隔へ変更して再ビルド。
  • 10:33 👤→🤖 — 赤LEDを0.2秒周期で点滅させるよう依頼。
  • 10:34 🤖 Codex — 赤色0.2秒点滅版をビルド・転送。
  • 10:38 👤→🤖 — YM2151コアを使った曲再生を相談。
  • 10:40 👤→🤖 — まずNano 1KでPWM矩形波のドレミを鳴らす方針を承認。
  • 10:41 🤖 Codex — 矩形波音階プロジェクトを作成・ビルド。
  • 10:51 🤖 Codex — Nano 1Kへ音階版をSRAM転送し、CRC成功とDONEを確認。
  • 10:58 🤖 Codex — 赤LED点滅版を再転送。
  • 10:59 🤖 Codex — 音階に合わせてRGB LEDの色が変わる版を実装。

11:00–14:59

  • 11:00 🤖 Codex — 音階連動LED+矩形波版をNano 1Kへ転送。
  • 11:02 👤→🤖 — YM2151曲再生へ進むよう依頼。
  • 11:04 👤 — Nano 1KからTang Primer 20Kへ移行すると判断。
  • 11:05 👤 — Primer 20Kを接続し、圧電ブザー出力を希望。
  • 11:09 🤖 Codex — 曲データを圧縮し、JT51+LZSS展開プレイヤーを実装。
  • 11:13 🤖 Codex — LUT約12%、BSRAM 45/46で合成し、Primer 20Kへ転送。
  • 11:19 🤖 Codex — 音声出力を外部GPIOへ変更し、再ビルド・転送。
  • 11:23 👤 — 音が鳴ったことを確認。ただし音量が小さいと報告。
  • 11:28 👤→🤖 — GPIO直結からDAC出力への切り替えを依頼。
  • 11:29 🤖 Codex — Dock内蔵PT8211 DAC版をビルド・転送。
  • 11:31 🤖 Codex — 起動時ミュート、初期音量25%、ボタン音量調整を実装。
  • 11:35 👤 — 音がおかしく、割れていると報告。
  • 11:40 🤖 Codex — 現状はJT51 PCM→PT8211経路であると確認。
  • 11:44 🤖 Codex — PT8211のWS極性と左右順序を合わせ、ステレオ版をビルド。
  • 11:45 🤖 Codex — ステレオ版を転送し、DONEを確認。
  • 12:17 👤→🤖 — 問題切り分け用のDACドレミ音を追加するよう依頼。
  • 12:19 👤 — ドレミはきれいだが、YM2151とADPCMは音割れすると確認。
  • 12:49 👤 — サンプルレート修正後、音質がかなり改善したと報告。
  • 13:26 👤→🤖 — 音声データの保存先としてDDR3を提案。
  • 13:50 👤 — MDXは鳴ったが、ADPCM音声が不正だったと報告。
  • 14:13 👤→🤖 — 成功時のビルド・FPGA転送・実行を自動で進めるよう許可。
  • 14:16 🤖 Codex — DDRアドレス変換を公式例へ合わせ、ビルド・転送・再アップロード。
  • 14:20 🤖 Codex — DDRコマンドの1クロックずれを修正。
  • 14:27 🤖 Codex — DDR読み戻しCRC診断版を転送。
  • 14:31 👤→🤖 — 1280×720 HDMIでYM2151レジスタを表示するよう依頼。
  • 14:40 🤖 Codex — HDMIへ256個のOPMレジスタを表示する版を転送。
  • 14:42 🤖 Codex — 27MHzクロック制約の欠落を修正。
  • 14:45 🤖 Codex — HDMIタイトルと更新レジスタの色変化表示を追加。
  • 14:55 👤→🤖 — 現状を新しいGitHubリポジトリへコミットするよう依頼。
  • 14:59 🤖 Codex — 新規リポジトリを作成し、28ファイル・73,172行の初期コミットをpush。

15:00–19:59

  • 15:02 👤→🤖 — GitHubリポジトリを公開へ変更するよう依頼。
  • 15:26 👤→🤖 — Gowin標準IPを使った公式DDR3テストを依頼。
  • 15:32 🤖 Codex — DDR3テスト版のビルドとSRAM転送に成功。
  • 15:38 🤖 Codex — DDRテストは動作したが、UART文字化けによりPASS/FAIL判定は未完了。
  • 15:48 👤→🤖 — 公式UARTコードを使って修正するよう依頼。
  • 16:00 🤖 Codex — 公式UARTサンプルのリセットピン不一致を特定。
  • 16:03 🤖 Codex — UART送信器、リセット、兼用ピン設定を修正。
  • 17:36 🤖 Codex — UART修正版DDR3テストを再転送し、JTAG DONEを確認。
  • 17:45 🤖 Codex — JTAG動作は確認したが、UARTからDDR3のPASS/FAILを判定できず。
  • 18:18 👤 — Gowin UARTが表示されるようになったと報告。
  • 18:20 👤 — DDR3テストのFill/Check進行メッセージを確認。
  • 18:22 👤→🤖 — YM2151プロジェクトへUARTとDDR3を統合するよう依頼。
  • 18:53 👤→🤖 — CRC付きXMODEM方式を提案・承認。
  • 18:57 🤖 Codex — CRC-16、ACK/NAK、DDR READYを備えたXMODEM版をビルド。
  • 19:10 🤖 Codex — UART受信カウンタ幅不足によりデータが壊れていた原因を特定。
  • 19:13 🤖 Codex — 正しいUARTポートでXMODEMのACKを確認。
  • 19:20 🤖 Codex — 128バイトパケット方式で101,376バイトの転送を完了。
  • 19:24 🤖 Codex — DDR受信サイズとXMODEM転送サイズを統一。
  • 19:33 👤 — 4個の診断LEDが点灯したと報告。
  • 19:33 🤖 Codex — DDR読み出し、LZSS展開、JT51書き込み、アンプ有効まで到達したと判断。

21:00–23:59

  • 21:45 👤 — 診断音が鳴ったが音量が大きいと報告。
  • 21:58 👤 — 一度は鳴ったものの、安定して再現しないと報告。
  • 22:11 👤 — 曲が鳴ったが音割れすると報告。
  • 22:27 👤 — ジリジリした音割れを報告。
  • 22:39 🤖 Codex — DDRを外したBSRAM直結版を作成し、保存経路をA/B比較。
  • 22:44 🤖 Codex — BSRAM直結版を転送。
  • 22:47 🤖 Codex — 正常版との差分から、PT8211のBCK極性反転が消えていたことを特定。
  • 22:48 🤖 Codex — BCK反転、JT51ステレオ出力、BSRAM直結版を転送。
  • 22:49 👤 — 音質が直ったことを確認。
  • 22:52 🤖 Codex — BCK修正を維持して別の曲データをDDRへ転送。
  • 22:59 🤖 Codex — MDX変換データを逆変換し、レジスタ値の不一致がないことを確認。
  • 23:08 🤖 Codex — BSRAM直結の比較版を転送。
  • 23:14 👤 — BSRAM版の音が合っていると確認し、同じデータをDDRへ転送するよう依頼。
  • 23:19 🤖 Codex — 同一データをDDRへ置いたA/B比較版を転送。
  • 23:22 👤 — DDR版では再生が壊れていると報告。
  • 23:23 🤖 Codex — DDR読み戻しCRCを復活させ、CRC一致時だけ再生する診断へ変更。
  • 23:29 🤖 Codex — 31,616バイトのXMODEM転送とCRC検証版を転送。
  • 23:36 🤖 Codex — CRC不一致時に全LEDを高速点滅させる表示を実装。
  • 23:37 👤 — 全LEDの点滅を確認。
  • 23:37 🤖 Codex — DDR書き込み/読み出しCRC不一致を確認し、書き込み手順の修正を開始。

成果・決定

  • Tang Nano 1KでLチカ、矩形波音階、音階連動RGB LEDをビルド・転送。
  • Tang Primer 20KへJT51、LZSS曲再生、PT8211ステレオDAC、ボタン音量制御を実装。
  • 1280×720 HDMIへYM2151レジスタ表示と更新ハイライトを実装。
  • FPGA音源プロジェクトをGitHubへ初回コミット。
  • DDR3+UARTへCRC付きXMODEM転送を実装。
  • 音割れの一因だったPT8211 BCK極性を特定し、BSRAM版では音質改善を実機確認。

未完了・次の作業

  • DDR版は読み戻しCRC不一致で、同じ曲データでもBSRAM版より再生が壊れる。
  • DDR書き込みの「データ提示」と「コマンド発行」を分離した修正版について、実機でCRCを再確認する。
  • UART・XMODEMの転送完了だけでは、DDR内容の一致や正常再生を保証しない。

記録範囲・注記

  • 対象タイムゾーン: Asia/Tokyo
  • Codexセッションで確認できた範囲: 09:33–23:37
  • Computer Historyの直接観測は22:20の短いセグメントのみ。
  • 記録のない区間は、作業・休憩のどちらとも推定していない。
  • Gitコミットはリポジトリ状態の証拠であり、実機動作の証拠とは分離した。
  • 無関係な別調査セッションは除外した。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment