- rentan_org
- 4683
- 7
- 0
- 0
@CMOStone 情報ありがとうございます。BUSY落ちた後のはいれなくてもアクアレスでは大丈夫そうだったのですが、40や60だとダメになりそうな感じですね。 音源ドライバのところはhumanのX形式に変更したのですぐに対応できると思いますー
2021-05-30 13:12:12@huye_4589 Busyフラグが落ちた後にデータを書き込むときに使うアドレッシングモードでかなり生死が分かれるようです。単純なアドレスレジスタ間接を使っているドラスピなんかはXVIの16MHzでもダメになってしまうようですし。
2021-05-30 13:18:30【NATURAL.X日誌】エミュをMPUノーウェイトでぶん回すとOPM書き込みに所々失敗するの、OPMビジーチェックが甘いからなんだろうけど正しいビジーチェックを何方か……何方か……。
2022-01-23 01:22:16@AKIRAfromTASSz つ twitter.com/TransAmGTA92/s…
2022-01-23 14:48:07X680x0 の OPL へのアクセスって、黄金書式があって、こう書くと、どのような環境でも、今の所失敗に遭遇したことがない。 tst.b $e9a001 1: tst.b $e90003 bmi 1b move.b ??,$e90001 tst.b $e9a001 1: tst.b $e90003 bmi 1b move.b ??,$e90003
2021-03-25 01:45:25
2022-02-16 追加分
togetter.com/li/1835958 「OPM(YM2151) レジスタ書き込みウェイト」で、当方も情報を提供していたことがあった twitter.com/gorry5/status/… ことを思い出したが、過去ソースを掘り出してみたら微妙に正確ではなかったので、以下を残しておく
2022-02-16 03:01:06@mucom88 @murayan68k OPMアドレス~データポートwrite間のウェイトとして「OPMデータポートを1回空読みする」というのを使っておりました。68000ではRedZoneまでOK、030以降(確認済みは040turboまで)はI/Oポートのアクセスにウェイトが入るのでこれもOKと
2019-10-10 02:21:46まず、完全版。「最後のtst.bは?」これをマクロにして連続させる時、本来のbusyチェックとは別にこれを入れておかないと、ウェイトが足りなくなることがある。 1: tst.b ($e90003) bmi 1b move.b reg,($e90001) tst.b ($e90003) move.b data,($e90003) tst.b ($e90003)
2022-02-16 03:01:06続いて、連続させない場合の省略版。「最後のnopは?」040turboで一部の命令がnopの位置に入るとミスが発生する…というメモが残っていたが、それが何だったのかが残っていない…(苦笑 1: tst.b ($e90003) bmi 1b move.b reg,($e90001) tst.b ($e90003) move.b data,($e90003) nop
2022-02-16 03:01:06例えば上記をマクロにして連続して4回OPMに書く場合、 マクロ1 マクロ1 マクロ1 マクロ2 みたいな使い方をする…ということね
2022-02-16 03:01:07@gorry5 nopにはライトバッファ(キャッシュオフでもバッファされる)をフラッシュしてくれる機能があったはずで、I/O周りでは積極的にnopを挟んだ記憶があります(半分は"おまじない"でしたが)。
2022-02-16 07:41:07
2022-05-17 追加分
060turboの場合、YM2151への書き込みは理屈では以下の手順で足りるはず。でも経験を理屈で置換しようとするとうまくいかないことはよくあるからなあ。 (1)BUSY空読み (2)BUSY読み出し (3)1ならば(2)に戻る (4)アドレス書き込み (5)BUSY空読み (6)BUSY空読み (7)データ書き込み twitter.com/fu_k054539/sta…
2022-05-16 16:28:12X680x0でのOPMビジー待ち書き込み問題。 マニュアルには写真1枚目の様に記載があるので、データレジスタに値を出力後もちょっと待ってやった方が良いかと。 写真2枚目はX68030+060turboでも確実に書き込み成功する例です。 pic.twitter.com/iFE4HECNrb
2022-05-16 07:04:20