たま日記

たまに書く

2023-01-01から1年間の記事一覧

メモリマップを調査した

TX81Zには、64KBのROMと8KBのSRAMが搭載されている。CPUであるHD63B03XPのアドレス空間は64KBで、次のような割り当てになっている。 $0000-$001F: CPUの内部レジスタ $0040-$00FF: CPUの内部RAM $2000-$3FFF: YM2414Bのアドレス($2000)とデータ($2001) $4000…

コールグラフを描いてみた

TX81Zの解析を続けている。MAMEのデバッガには逆アセンブラが内蔵されている。しばらく使っていたのだが実行場所から離れたアドレスのコードが表示できないことがあったり、switch-case文的な意味合いのコードを文面通りにしか出力してくれなかったり、不便…

MAMEのTX81Zに手を入れた(1)

ここしばらくMAMEのソースコードを読んでいた。まだまだTX81Zのエミュレーションは不完全であることが分かった。Youtubeでも確認できる。もちろんYM2414の実装であるymfm_opz.cpp, ymfm_opz.hが未完成であることが原因なのだが、どうもTX81Zの実装であるymtx…

FM音源チップを動かしてみた(3)

ブレッドボード上のYM2151を外し、代わりにYM2414をTX81Zの中の人として動作させる実験を行った。 PC -> esp32 -> YM2414 -> TX81Zの音色 PCからesp32にレジスタアドレスと書き込む値を送る(シリアル経由) esp32は受け取ったとおりにYM2414に書き込む TX81…

FM音源チップを動かしてみた(2)

YM2151が出力するデジタル音声データを受け取り発声するプログラムを作った。VGMデータを演奏することができた。プログラムと回路図はGitHubに。 参考にしたサイト YM2151からの左右チャンネルの切り替え信号(SH1, SH2)をI2Sフォーマットに変換する方法。E…

FM音源チップを動かしてみた(1)

YM2151(OPM)とYM2414B(OPZ)が出てきた。YM3012(DAコンバータ)も。2年くらい前に買ったような気がする。5個セット。本物か偽物か分からない。せっかくなので動くかどうか試してみた。YM2151の1つはデートコードが削られてる(今回のテストではこれだけが動か…