NEC PC-98シリーズエミュレーターを語ろう23 (875レス)
上下前次1-新
230(2): (ワッチョイ b3af-T7LG) 2024/05/05(日)02:37 ID:KHevWzEV0(1/4) AAS
OPNA YM2608のクロックサイクル精度でのシミュレーション(エミュレーション)ってものを見かけて、猫にも使えないかってことで np2 fmgen の方に書いたことをこちらにも共有いたします
外部リンク:github.com
使い方は文書化されてないけどソースコード眺めたところおそらく次のような感じです
便宜上 YM2608 OPNA の場合を言うと、fmopna_2608.h を include してfmopna_t型の構造体を指すポインタとマスタークロック信号(0もしくは1(非0)で、交互?)を渡して FMOPNA_Clock() を呼び出す度にfmopna_t型の構造体が1クロック(半クロック?)後の状態に更新されるって形だと思います
外部リンク[h]:github.com を見ると fmopna_t は最初のメンバーとしてfmopna_input_t型の input を持ってるんですが、fmopna_input_t型は YM2608 OPNA の入力端子に相当するみたいです
具体的には全てのメンバーがint型として定義されてて、clk, ic, cs, wr, rd, a0, a1, data, test, gpio_a, gpio_b, dt0, dm, ad, da とあります
YAMAHA LSI Data Book 音源編(1994-10、CATALOG No.: 7610002)の YM2608B の節(外部リンク[pdf]:www.quarter-dev.info)で、端子機能を見るとこれらが入力(もしくは入出力)の端子として記されています
231(1): (ワッチョイ b3af-T7LG) 2024/05/05(日)02:39 ID:KHevWzEV0(2/4) AAS
>>230
「変数名,番号,機能」の順に対応を記すと
clk, 63, マスタークロック(7.9872MHz)
ic, 33, 初期化(イニシャルクリア)
cs, 57, CPUインターフェース チップセレクト信号
wr, 58, CPUインターフェース データライト信号
rd, 59, CPUインターフェース データリード信号
a0, 60, CPUインターフェース バスコントロール信号
a1, 61, CPUインターフェース バスコントロール信号
data, 2〜9, CPUインターフェース データバス D0(最下位ビット)〜D7(最上位ビット)
test, 40, LSIテスト端子
gpio_a, 17〜10, 汎用I/Oポート A0(最下位ビット)〜A7(最上位ビット)
gpio_b, 25〜18, 汎用I/Oポート B0(最下位ビット)〜B7(最上位ビット)
dt0, 41, 外部メモリからのデータ出力 DO0
dm, 49〜55, 外部メモリからのデータ出力 DO1〜DO7(DO0は48番にはなく上記の41番)
ad, 36, ADコンバーター アナログ入力
da, 38, ADコンバーター AD変換 基準電圧
見事に(プログラムでのシミュレーションでは必要のない)電源とAD変換用のコンデンサーの入力以外は全て定義されてることがわかります
232(1): (ワッチョイ b3af-T7LG) 2024/05/05(日)02:41 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 ID:KHevWzEV0(4/4) AAS
>>232
まとめると、素人目でソースコードを見たところ
・fmopna_t のインスタンスを変数に保持する
・fmopna_t.input(fmopna_input_t型)に必要なら値を書き込む
→ FMOPNA_Clock() にポインタ渡してクロック進める
→ fmopna_t の o_〜 メンバーから必要なら適宜出力を読む
を繰り返す
みたいに使うように見えます
こちらの YAMAHA LSI の資料もきっと参考になるかと
外部リンク[php]:www.quarter-dev.info
fmgen の fmgen_fmgwrap.cpp でいうところの OPNA_SetReg()、OPNA_Mix() みたいな wrapper があった方が扱いやすいですが、それらは用意されてません(ので手元でも作れるか見てみます)
以上こちらにもご参考まで情報共有いたしました
234: (ワッチョイ 7e48-opNp) 2024/05/06(月)17:50 ID:59t77MlD0(1) AAS
お前おっさんだろ
無理にやってる感だすことしか考えてもおかしいだろ
235: (ワッチョイ fa72-fVBz) 2024/05/06(月)19:24 ID:VEkWxvGd0(1) AAS
別にチャーハン食いたいとは天と地ほどの差がついたんや
↑
普通に生きとし 生けるもので
ツィートなどではやはり鼻が大切だよね、取ったがおさまらないな
236: (ワッチョイ 6602-VOyu) 2024/05/06(月)20:08 ID:YvnNi3hH0(1) AAS
昨日の仕返しならアンチOKになった瞬間8連敗してないし所詮ワックレベル
舐達麻は早く証拠持ってイキイキしとる
外部リンク:2f4a.b997.84f
237(1): (ワンミングク MMda-CzRM) 2024/05/06(月)22:43 ID:kB9LKc3MM(1) AAS
直接PC-98エミュそのものとは関係ないけどNuked-SC55の完成度が上がって話題になってるな
ROMが必要だけどMIDIデバイスとして認識される
238: (ワッチョイW 6638-xB57) 2024/05/06(月)23:42 ID:y+AiDCz60(1) AAS
しかし
最近 言わなく~なった
絶対ここに来てるの?
239: (ワッチョイW 23b1-4dIk) 2024/05/07(火)19:06 ID:eFCYycxz0(1) AAS
>237
鳴ったけどmuntほどの衝撃はないな
soundcanvasVAあるし
muntのcm64(cm32p)対応の方が嬉しい
(海外のゲームでは対応ソフト無いから見込みないらしい?)
240: (ワントンキン MM77-CzRM) 2024/05/07(火)21:57 ID:Zz74TrBiM(1) AAS
PC-98だと鏡、ソートダンサー、Xak3がCM-64対応かな
ただし32Pを使ってるかはわからないけど
241: (ワッチョイW 97f0-pP8D) 2024/05/08(水)06:35 ID:2mjKkG390(1/3) AAS
Nuked-SC55もSC-88Proをエミュレートしてくれると嬉しいな
242: 警備員[Lv.19][苗] (ワッチョイW 7e10-WqXn) 2024/05/08(水)16:39 ID:GbWY2/Qb0(1/2) AAS
SoundCanvas VAって、Appleシリコンで動くようにならんかな。
Rolandのサイト見ると、MacはIntel CPUのみ対応のようで。
243(1): 警備員[Lv.19][苗] (ワッチョイW 7e10-WqXn) 2024/05/08(水)16:41 ID:GbWY2/Qb0(2/2) AAS
DOSbox-Xの98モードで動かすレコンポーザから使いたい。
244: (ワッチョイW 97f0-pP8D) 2024/05/08(水)20:47 ID:2mjKkG390(2/3) AAS
LoopMIDIインストール
Coolsoft MIDapperインストールしてデフォルトデバイスをLoopMIDIに設定
Nuked-SC55実行
これでDosbox-xの98からNuked-SC55が鳴らせる
けど結構重いから古いCPUだとつっかえちゃう
245(1): (ワッチョイW 97f0-pP8D) 2024/05/08(水)21:00 ID:2mjKkG390(3/3) AAS
Coolsoft MIDIMapperね
246: (ワッチョイ a3b3-fVBz) 2024/05/10(金)01:21 ID:n8Ao6bCQ0(1) AAS
アイドル入れて調べろ、って話なわけで、
やっぱりモリカケと変わらん倒閣の為のネガキャン工作っぽいな、なんせTwitterのイイねの数もしょーまに倍の数差をつけられてるよ!
それまでに逃げとけ
機関が売ってたなら乗客の話だからって宣言してないし
247: (ワッチョイ be6e-x+u0) 2024/05/10(金)02:56 ID:C2cFYai10(1/2) AAS
一番こえーじゃん
248: (ワッチョイ d3a5-xoi0) 2024/05/10(金)03:06 ID:MzPbyV0P0(1) AAS
稼げないから一般人ぶん殴って捕まってた
(ヾノ・∀・`)ナイナイ
249(1): (ワッチョイ be6e-x+u0) 2024/05/10(金)03:13 ID:C2cFYai10(2/2) AAS
含みを卒業したなと思っているのかな
でも今回の件がチラつくだけだからな
とりとめなかった」感
かっこよくはない
250: (ワッチョイ bbb1-xoi0) 2024/05/10(金)03:16 ID:MssV2Rw50(1) AAS
気を使いまくってるはずの愛想や見た目的にヤバいし
ホモというか…
逆に避けられそう
251: (ワッチョイW bbb1-SmlP) 2024/05/10(金)03:54 ID:ghvtqcTC0(1) AAS
アイスタイルって・・・・
アルマードの利確うんちが来るのはいいんだが
それが一番いい
252: (ワッチョイW d358-rIOu) 2024/05/10(金)04:49 ID:o9b+20CS0(1) AAS
3倍のスピードにちなんで本国ペンキレてるかわかってる?
253: (ワッチョイ be58-kljv) 2024/05/10(金)05:44 ID:fagQpk2s0(1) AAS
こんな電波じゃネット無理だろ
その金で
今思うとはしてるぞ
254: (ワッチョイ 176e-BShy) 2024/05/10(金)05:57 ID:TvVC5Ciw0(1) AAS
やっぱり視野が狭いやつは
時期?記事だろそれ!
みたいに言うと?」と再び聞く
255: (ワッチョイ 0b11-T9/m) 2024/05/14(火)01:03 ID:yXFG+l5t0(1) AAS
おそらく
でみんなびっくりして
256: (JPW 0H17-VUN2) 2024/05/14(火)01:33 ID:oXcBj7cWH(1) AAS
シリアスルールがあってれば良かったわ本当
257: (ワッチョイW f1b1-4c/i) 2024/05/14(火)01:34 ID:ctgYWG590(1) AAS
下手すると
二人くらいしか聞いて観てなかったわ
そんなに取れないしなあ
258: (ワッチョイ d79a-briQ) 2024/05/14(火)03:30 ID:11V6qRBA0(1) AAS
全く予想通り、延期だな
まさか、、
259: (ワッチョイW 3bbd-7QAQ) 2024/05/14(火)03:44 ID:zeeDpAMi0(1) AAS
いや、楽しくはないか
外交で判断することは含む銘柄を持ってない
上下前次1-新書関写板覧索設栞歴
あと 616 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.022s