新しいものを表示

まあそうだよね。でも慌てずじっくりで良いと思う。

きびだんごのサイトをたまにリロードしているけどまだ動きないかな?

のI2Cの転送速度ってどのくらいなんだろうか。
Arduino UNOをI2CマスターにしてYM2151シールドにVGMデータ転送してみたら、テンポはともかくスローにはならかった気がするので、ボトルネックはMSX0側なのかもなあと…

やっぱり都度送信じゃなくて一曲分まるごと送受信して演奏するのが現実的なんだろうな。となるとシールド側はArduinoだとVGMデータ格納用のメモリが足りないからRaspberry pi picoとかにするのが無難かなぁ。

YM2151シールドに からVGMデータを送って演奏させようとしているんだけど、超スローな演奏になってしまうww

MSX0上のDSKからVGMデータを読み取ってI2CでArduinoに送信するんだけど、ArduinoでSPIのSD読み出しするのとこんなに差があるとは思わなかった。

MSX0側の送信プログラムはz88dkで組んでるからこれ以上速くするのは難しそうだなあ。

ArduinoをUNOから手元にあるM0に変えたら速くなるかと思ったけど、M0にしたらPROGMEM系の関数がないとかでそもそもコンパイルが通らなかった…

制御するファイルを25曲にして、ロードテスト(全曲ループ再生するので、ずっと流しっぱなしにしてみている)をやっている。4周目(約100曲分)でもそのまま動いているので、メモリの制約的にはこれくらいが適正なのかな?

スレッドを表示


PB-100用のCasUtil←→PB-Sim形式のソースコード変換ユーティリティを使ってくださっている方がいらっしゃるということがわかったので、GitHubにソース上げてみました。
煮るなり焼くなり好きに使ってください!
github.com/MobileFF/PB-100/tre

に移植できたらもっと楽しそうではあるんだけど・・・I2CオンリーでYM2151を動かすとなると、結局、間に なり pi pico なりが必要だからなあ・・・

スレッドを表示

あと、これを pi picoに移植できたとしたらどうなるかもためしてみたいところ。メモリにはもう少し余裕あるはずなので。

スレッドを表示

UNOからSPIでSDカードにアクセスすると、メモリを結構消費するのか、一定回数以上アクセスするとファイルが取り出せなかったり、オープンに失敗したりする。なのでSDの容量に関わらず認識できる楽曲数がかなり限られそう。30曲くらいでも不安定な感じ。

スレッドを表示
MobileFF さんがブースト

YM2151シールドにmicroSDスロットを追加して、SDからvgmファイルのデータを直接読み取って演奏できるようにしてみた。シールド2段の親亀子亀孫亀状態ww
Arduino UNO R3はRAMが少なくてデータを一度にRAMに読み込めないので、SDから都度1バイトずつ読みながらYM2151に送っているんだけど、遅延なく演奏できているっぽいのが意外だった。
あとは、SD内のファイル一覧を取って、順に演奏していけるようにすればほぼ完成かな…

改めてみると、1回目と2回目の差が…
2回目にバックした方々はMSX+IoTに明確に賛同しているコア層ということなのかな…

MSX テセウス〔ASCII〕 MSX テセウス〔ASCII〕 page.auctions.yahoo.co.jp/jp/a
清々しくやってんなあ、これ
ROMPACKって書いてるディスクラベルとかさあ…

mobileFF's blog: DFPlayer mini互換機で「GD3200D」が使われているものはステレオ出力ができないっぽい mobileff.blogspot.com/2024/01/

結局、写真左の箇所はしばらくしたら剥がれてしまったらしいので、直接ハンダで短絡した。

スレッドを表示

うん、ちゃんと正規品はステレオ出力鳴っとる。
QT: fedibird.com/@mobileff/1117862
[参照]

MobileFF  
スイッチサイエンスさんからDFPlayer miniの正規品を仕入れたので、これから互換品と換装してみる。

スイッチサイエンスさんからDFPlayer miniの正規品を仕入れたので、これから互換品と換装してみる。

YM2151シールドはデジタルピン10〜13をYM2151への信号出力に使ってしまっていて、そのままだとSPIが使えない。10〜13をアナログピン側に振り替えて、SPI通信できるようにして、SDカードから演奏データを読み込めるようにしたい。

古いものを表示
Fedibird

様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。