ようこそゲストさん

80mkII愛友会 別館

2015/07/14(火) サイト更新 - ザナドゥの動作情報

お知らせ
本日の更新は「ザナドゥ」の動作情報の修正です。
これまで,本ソフトはM88上で問題なく動作していると掲載していたのですが,藍恋工廠の藍恋氏よりM88上ではキー入力がおかしくなるとご指摘をいただきました。

私は本ソフトをまともに遊んだことがなく,起動して少し町をうろつく程度しか動作確認していなかったため今まで気づきませんでした。
このように,弊サイトの動作確認はソフトの序盤までしか行われていないケースも多いです。
今後も,間違っていると思われる場合は是非情報をお寄せください。


今回ザナドゥの動作がおかしくなる原因を調査したところ,M88のN80 V2モードではOPNの割り込みマスクが動作しておらず,これが原因となっていました。
ザナドゥではジョイスティックの読み込み処理時にOPN割り込みを停止させているのですが,これが機能していないためOPNのレジスタアドレスを設定したタイミングで割り込みが発生すると,読み込みを行うタイミングではOPNのレジスタアドレスが変化していて別の値が読み込まれてしまい,これが異常な入力となるようです。

割り込みマスクが機能しないって結構な問題だと思うのですが,よくもまあ今まで見つからなかったものでした。
実際には,動作が不安定だったり音の再生がおかしくなっているソフトがあるのかもしれませんが。

この問題について,M88 2.21をベースに修正した物を作ってみました。
修正点に色々書いてありますが,実質的な修正はpc88.cppに1行追加しただけです。
今のところザナドゥ以外のソフトで問題は見つかっておりませんが,他の80SR用ソフトでも動作が安定するなどの効果があるかもしれません。


こうして問題が発見できたのは,ザナドゥがジョイスティックの読み込み処理を残しておいてくれたおかげですね。
本来は,80SRにはアタリ仕様のジョイスティック端子が無いので不要なはずの処理なのですが。
OPNに直接配線してジョイスティック端子を増設してしまうようなパワーユーザを想定していたのでしょうか。

1: CD-R 2015年07月15日(水) 午後3時36分

こんにちは、修正版の作成お疲れ様です。実機との違いですね。88SR用の移植では同じ様なことが起きるということでしょうね。キングフラッピーとからラプテックとか電波のディグダクSRとかが該当しそうですがどうなんでしょう?

2: 藍恋 2015年07月15日(水) 午後10時40分

修正版お疲れ様でした。 移植の際に、あまり影響の無い部分はそのまま残したのかも知れませんね。
自分もタイトルと最初のあたりだけで満足して、チェックが甘かったです。

3: apaslothy 2015年07月16日(木) 午前0時47分

To CD-Rさん
ザナドゥと同じように処理していた場合は起こりうると思います。
例示されたソフトでは特に問題は確認されていませんが,タイミングに依存する現象なので一見正常に動作しているように見えても時々一瞬だけ動きが止まったりしてるのかもしれません。

To:藍恋さん
確かに,あまり深く考えずにそのまま残しているという可能性も大きいですね。
自分の80mkII勝手移植においても,80mkIIに無関係な機能が結構残ったままだったりします。


名前:  非公開コメント   

  • TB-URL(確認後に公開)  http://www5f.biglobe.ne.jp/~apaslothy/cgi_bin/adiary/adiary.cgi/048/tb/