NEC PC-98シリーズエミュレーターを語ろう23 (860レス)
上下前次1-新
抽出解除 レス栞
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
232(1): 名無しさん@お腹いっぱい。 (ワッチョイ b3af-T7LG) [] 2024/05/05(日) 02:41:38.97 ID:KHevWzEV0(3/4) AAS
>>231
同様に、出力も fmopna_t 内に定義されています
「変数名,番号,機能」の順に対応を記すと
int o_gpio_a, 17〜10, 汎用I/Oポート A0(最下位ビット)〜A7(最上位ビット)
int o_gpio_b, 25〜18, 汎用I/Oポート B0(最下位ビット)〜B7(最上位ビット)
int o_spoff, 34, スピーカー ON/OFF 用スイッチ
int o_a8, 42, 外部メモリへのアドレス出力 A8
int o_romcs, 43, 外部メモリに ROM を使用した場合のデータ取り込み用タイミング信号
int o_mden, 44, 外部メモリに DRAM を使用した場合のデータ取り込み用タイミング信号
int o_we, 45, 外部メモリインターフェース 有効化信号
int o_cas, 46, 外部メモリインターフェース CASアドレスラッチ信号
int o_ras, 47, 外部メモリインターフェース RASアドレスラッチ信号
int o_dm, 48〜55, 外部メモリへのアドレス出力 A0〜A7、外部メモリへのデータ入力 DI0〜DI7
float o_analog, 27, SSG部アナログ信号(ソースフォロワ出力)
int o_sh1, 29, DACインターフェース CHANNEL1 ラッチ出力(同期信号)
int o_sh2, 30, DACインターフェース CHANNEL2 ラッチ出力(同期信号)
int o_opo, 31, DACインターフェース シリアルデータ
int o_s, 64, DACインターフェース DAC用ビットクロック
int o_irq_pull, 56, CPUインターフェース 割り込み要求信号
int o_data, 2〜9, CPUインターフェース データバス D0(最下位ビット)〜D7(最上位ビット)
233: 名無しさん@お腹いっぱい。 (ワッチョイ b3af-T7LG) [] 2024/05/05(日) 02:43:40.79 ID:KHevWzEV0(4/4) AAS
>>232
まとめると、素人目でソースコードを見たところ
・fmopna_t のインスタンスを変数に保持する
・fmopna_t.input(fmopna_input_t型)に必要なら値を書き込む
→ FMOPNA_Clock() にポインタ渡してクロック進める
→ fmopna_t の o_〜 メンバーから必要なら適宜出力を読む
を繰り返す
みたいに使うように見えます
こちらの YAMAHA LSI の資料もきっと参考になるかと
https://www.quarter-dev.info/archives.php
fmgen の fmgen_fmgwrap.cpp でいうところの OPNA_SetReg()、OPNA_Mix() みたいな wrapper があった方が扱いやすいですが、それらは用意されてません(ので手元でも作れるか見てみます)
以上こちらにもご参考まで情報共有いたしました
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.037s