Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OSC東京でいただいた UIAPduinoマイコンボードで PSG演奏と液晶ドッド絵デモ / ...

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

OSC東京でいただいた UIAPduinoマイコンボードで PSG演奏と液晶ドッド絵デモ / osc2026Kagawa

オープンソースカンファレンス 2026 Kagawa の「NetBSDのご紹介」のセミナーで発表した『OSC東京でいただいた UIAPduinoマイコンボードで PSG演奏と液晶ドッド絵デモ』のスライドです。(セミナー発表時から一部誤記の修正をしています)

Avatar for Izumi Tsutsui

Izumi Tsutsui

April 18, 2026

More Decks by Izumi Tsutsui

Other Decks in Programming

Transcript

  1. PC-6001 スペック •CPU: 8bit Z80互換 4MHz •RAM: 標準 16KB, 最大32KB

    •グラフィック: 128×192ドット 4色 256×192ドット モノクロ2色 •音源:PSG 3和音 •標準価格:89,800円
  2. PSG音源 •いわゆるピコピコ音 × 3和音 •元はアーケードゲーム用? •BASIC言語だと PLAY 文で MML (Music

    Macro Language) という楽譜相当の書式で演奏 こんなの→ "d4b4&b32r16.b8.r16q2b8b8b8" •“d” が「レ」、“4” が「4分音符の長さ」  “&” がタイで音をつなげる、といった具合
  3. PSGの出力原理 スピーカー アンプ ♪♪ ♪ Pico pico 加算 PSGチップ チャンネル3

    Volume 1〜15 チャンネル1 Volume 1〜15 音程 チャンネル2 Volume 1〜15 音程 音程 各chに音程と音量を設定すると その音が鳴り続ける
  4. UIAPduino とは  主な仕様 •RISC-Vコア CH32V003 CPU 48MHz •Arduino IDE対応

    •FLASH ROM 16KB / RAM 2KB •GPIO 15本, ADC, UART, SPI, PWM,  I2C, タイマ 等々のI/O •5V / 3.3V 動作切替可能 https://www.uiap.jp/uiapduino/pro-micro/ch32v003/v1dot4
  5. 教えに従って ChatGPTに雑に聞いてみる UIAPduinoに PSG YM2149F を接続して、 Raspberry Pi 3Bから制御したとき同様に 演奏制御できますか?

    また、ボード同士の接続端子も 教えてください。 以下のWEB資料を参考にしてください。 https://www.uiap.jp/uiapduino/pro-micro/ch32v003/v1dot4 https://ch32v003-guidebook-arduino.74th.tech/
  6.  はい、できます。 しかも UIAPduino Pro Micro CH32V003 V1.4は 5V動作に対応し、 CH32V003 は

    48MHz で動き、 Arduino IDEでスケッチを書けるので、 YM2149F を 8bit パラレルで直接 たたく用途には十分向いています。
  7. デバッグもテストもAIブースト  便利なしもべ •切り分けのために1ラインずつ書いてみよう、  と言われてテストルーチンを追加してもらう •各ライン問題無いようなので ZX0展開ルーチン  を疑ってみる •展開ルーチンはC実装だから、NetBSD上で動く  同じ展開処理を検証するテストを書いて、

     と依頼して、その結果(NG)をまた投げる  ➔「2ブロック目の展開で通るパスで処理を   間違えてました」と自分で直してくる   (元実装の goto文を勝手にfor(;;) に書き換えてバグっていた)
  8. SPIクロック律速?  これもChatGPTに計算してもらいつつ •液晶仕様としては上限 1.1MHz •CH32V003の仕様上は 24MHzの分周  つまり 750kHz か

    1.5MHz? •計算上は1.5MHzでも厳しい •試しに3MHzで動かす →動く? •試しに6MHzで動かす →動く!? ➔画面4分割で6MHzならPSG演奏の2ms周期  も現実味ありそう、というChatGPT所見