2018年03月27日

P6SRの2画面切換

  現在着手中の移植の、オープニング、エンディングを作成している事で気付いたこと。


  画面スクロールなどもあるので、2画面切換を使って滑らかに表示しようとしたら...
  エミュレータが対応していませんでした(^^;)...

  まあ、P6SRでグラフィック2画面を使う場合拡張RAMが必須になるので、そこまで調査できていないんだろうなぁ、という感じです(使っているソフトもないですし)。


  この辺りは、詳細を調べてまとめるつもりです。



  個人的にはマウスも対応して欲しいけど...これも使っているソフトがないですね(^^;)...

posted by えすび at 00:30| Comment(0) | P6解析:画面周り | このブログの読者になる | 更新情報をチェックする

Z80の命令表のバグ?

  SD6031関連でS/Wを変更した時に遭遇したZ80の問題です。
  多分普通では遭遇しないかと思います...


  その時は、INI 命令を使っていたプログラムなんですが、どうも挙動不審でした。
  実機で動作を調べてみると、命令前後で Cflagが変化していました。

  公式のドキュメントでは、Cflagは変化しないようになっています(unknown ではなく、not affected)。また、大抵の文献でも変化なし、になっています。


  非公式のドキュメント(The Undocumented Z80 Documented:http://www.z80.info/zip/z80-documented.pdf)では、しっかりCflagが変化する事が書かれています(条件がややこしい)。



  同様に、INI/IND/INIR/INDR、OUTI/OUTD/OTIR/OTDR、はすべて Cflag が変化する事があるようです。


  ほとんど使わない命令ですが、参考まで。

posted by えすび at 00:14| Comment(0) | P6解析:CPU周り | このブログの読者になる | 更新情報をチェックする

2018年03月25日

次回予告

  SD6031のFDD周りのルーチンの変更に伴い、過去の移植分の修正を行いました。
  マイトマジック、ファンタジー、ファンタジー2と、一気に修正してテストプレイをして、さらにバグを見つけて...という状況です。


  新規移植分ですが、ファンタジー3が一通り完了して、デバッグという名のゲームプレイを待つ状態で進捗が止まっています。

  PC88版では対応していなかった、マウス対応にしました。
  また、PC88版では1曲だったBGMも、98版と同じようにちゃんと(?)鳴ります。ただ、何となくオンチです。

  ちなみにこんな↓感じです。640x200の解像度を使っています。

180325_04_ファンタジー3(1).png180325_04_ファンタジー3(2).png180325_04_ファンタジー3(3).png


  ファンタジー3のプレイが止まっている理由ですが、ファンタジー2からユーザデータを持ってきたかったので、先にファンタジー2をちゃんとプレイしていたためです。

  そのファンタジー2も、つい別のゲームの移植を始めてしまってストップしています...



  そのゲームの移植が↓です。

180325_04_ハイドライド3(1).png180325_04_ハイドライド3(2).png180325_04_ハイドライド3(3).png180325_04_ハイドライド3(4).png180325_04_ハイドライド3(5).png180325_04_ハイドライド3(6).png


  本編のゲームプログラムは、一部のバグの修正と拡張RAM対応を除き完了しました。
  オープニング、エンディングの移植にもうちょっと時間が掛かりそうです。

  後は、デバッグ(というかプレイ)に時間が掛かるので、GW前にはリリースできるかどうか...

ファンタジー2forP6(2)(ver1.1リリース)

  ファンタジー2 for P6


  88版→P6SRへの変換ツール(ver1.1)をリリースします。

ph2p6.zip


 ・ver1→ver1.1変更点
  ディスクエラー時、リトライするように修正。
  エラーで止まった場合は、何かキーを押すことでリトライします。
  (止まっている事は画面に表示されません)
  ディスクアクセスの改善。
  一部の効果音で異常動作をするのを修正。
  P6版の前バージョンからのユーザデータ移行が出来るようにした。


  説明などは、同梱のドキュメントを参照して下さい。

  エミュレータでは、PC-6001VW ver310f、PC-6001V ver1.25 で動作を確認しています。

ファンタジーforP6(5)(ver2.1リリース)

  ファンタジー for P6


  88版→P6SRへの変換ツール(ver2.1)をリリースします。

ph1p6.zip


 ・ver2→ver2.1変更点
  ディスクエラー時、リトライするように修正。
  エラーで止まった場合は、何かキーを押すことでリトライします。
  (止まっている事は画面に表示されません)
  ディスクアクセスの改善。
  カーソルの形状を少し変更。
  一部の効果音で異常動作をするのを修正。
  P6版の前バージョンからのユーザデータ移行が出来るようにした。


  説明などは、同梱のドキュメントを参照して下さい。

  エミュレータでは、PC-6001VW ver310f、PC-6001V ver1.25 で動作を確認しています。

マイトアンドマジックforP6(2)(ver1.1リリース)

  マイトアンドマジック for P6


  88版→P6SRへの変換ツール(ver1.1)をリリースします。

mm1p6.zip


 ・ver1→ver1.1変更点
  ディスクエラー時、リトライするように修正。
  エラーで止まった場合は、何かキーを押すことでリトライします。
  (止まっている事は画面に表示されません)
  ディスクアクセスの改善。
  一部の効果音で異常動作をするのを修正。
  PC-6001Vで動作しない問題を修正。
  PC-6001VW ver310f で文字表示がおかしくなる問題を修正。
  P6版の前バージョンからのユーザデータ移行が出来るようにした。
  内蔵ディスク時(PC-6601SR)、CTRL+B〜Dを押すとハングアップする問題を修正。


  説明などは、同梱のドキュメントを参照して下さい。

  エミュレータでは、PC-6001VW ver310f、PC-6001V ver1.25 で動作を確認しています。

2018年01月14日

SD6031Airファーム変更(3)

  SD6031Airのファームですが、4バイト高速リード/ライトでエラーが出る問題を修正しました。

SD6031AIR.zip


  ウィザードリィで、ディスク周りのエラー強化をして初めて発覚しました(^^;)



  ファームウエアのアップデートの方法は以下の通りです。
  (アップデートは自己責任で行って下さい。アップデート、アップデート後の問題についても責任は負えませんので)。

 1)適当なSD/SDHCカードを用意する。出来れば中身が入っていないのがいい。
 2)SD/SDHCカードのルートに、SD6031AR.hex をコピーする。
 3)SD6031Air の電源を切る。さらに P6 から抜いておく。
 4)SD/SDHCカードをSD6031Airに挿入する。
 5)SD6031Air の電源を入れる。
 6)ファームウエアのアップデートが行われ、LEDが2回点滅する(電源を入れてからすぐに完了します)。
 7)LEDが2回点滅しない場合は、再度電源OFF、ONしてみて下さい。
 8)ファームウエアのアップデートが完了したら、忘れずに、SD/SDHCカード上のSD6031AR.hex を消しておく。


 3)の P6 から抜いておく、というのと、8)のSD6031AR.hex を消しておく、というのが重要です。


posted by えすび at 22:45| Comment(0) | HW:SD6031 | このブログの読者になる | 更新情報をチェックする

2017年11月28日

ウィザードリィ1/2/3 for P6(12)

  ウィザードリィ1/2/3 for P6

  Ver1.4をリリースしました。

  ver1.3でキャッシュ関係をいじった時に、デグレを起こしていました。
  モードが一杯あったので、テストが不十分だったようです。

  1D/1DD、内蔵/外付け、16K/64K/128Kの組み合わせで12通りです。
  プログラムの作り方が悪いせいのような気もします。


  ディスクエラー時の問題は、エラーが出ない場合は全く関係ないですが...

  以前のバージョンでは、下の方に「DISK ERROR」としか出なかったのを、88版と同じようにウインドウ表示にしています。

  というか、なぜわざわざ簡素な「DISK ERROR」を作ったのか。自分で作ったのによく分からない(^^;)

ウィザードリィ1/2/3 for P6(11)(ver1.4リリース)

  ウィザードリィ for P6

  88版→P6への変換ツールのバージョンアップをしました。

wiz1_p6.zip
wiz2_p6.zip
wiz3_p6.zip


  エミュレータでは、PC-6001VW ver310f、PC-6001V ver1.25 で動作を確認しています。


 ・Ver1.3 → ver1.4 変更点

  内蔵/外付けドライブでエラーが出た時、リトライが異常になる場合があるのを修正。
  ディスクエラー時の表示の修正(88版と同じにした)。

  1D×2で、拡張RAMが64Kの場合に起動できない問題を修正。


  説明などは、同梱のドキュメントを参照して下さい。


  シナリオ#1、#2、#3用です。

2017年11月19日

ウィザードリィ5 forP6(2)

  ウィザードリィ5 for P6

  ウィズ4が出来たので、ついでにウィズ5も移植しました。
  ベースがほぼウィズ4と同じなので、移植的にはラクでした。

  グラフィックが大きくなった事と、漢字ROM必須になったために、拡張RAMが64K以上必要になっています。


  グラフィックは、機械的に変換しています。2ドットに1ドット間引きと、8色→4色変換をしている割りには、いい感じになったと思います。元絵が写真取り込みっぽい絵なので、この手法が有効だったようです。


  変換後は、実機でゲームをしていますが、地下2階を徘徊している所です。水たまりで、2人ほど溺れました...

ウィザードリィ5 forP6(1)(ver1.0リリース)

  ウィザードリィ5 for P6

  88版→P6への変換ツールをリリースします。

wiz5_p6.zip


  エミュレータでは、PC-6001VW ver310f、PC-6001V ver1.25 で動作を確認しています。

  説明などは、同梱のドキュメントを参照して下さい。

2017年11月15日

ウィザードリィ4forP6(8)

  ウィザードリィ4 for P6


  またまたバージョンアップしましたが、セーブファイルの位置などは変わっていません。メインメニューの『セーブゲームを移す』を選ぶ事で、前バージョンのデータをコピーできます。

  今回もディスク関連(しかもディスクエラー関連)です。
  2ドライブ使用でドライブ2側にエラーが発生した時に、続行不能になる可能性があります。

  このテのはテストが難しいので、普通のプレイでは見つけにくいですね...


  ウィズ4の方は、エンディングを5種類全て見る事が出来ました。
  プレイは実機で、PC-6001mk2SR+SD6031+戦士カートリッジmk2(1024KB改造版)です。あまり遅いとかは気にならない程度だと思います。

  レア敵のグラフィックを1種類だけ見る事が出来ませんでした。BISH'S TONGUE を落とす、スペインの宗教裁判官のパーティです。



  ↓これは今年中に出来るかな。デバッグが大変そう...

171115_02_wiz5_1.jpg

ウィザードリィ4 for P6(7)(ver1.2リリース)

  ウィザードリィ4 for P6

  88版→P6への変換ツールをリリースします。

wiz4_p6.zip


 ・Ver1 → ver1.1 変更点

  内蔵/外付けドライブでエラーが出た時、リトライが異常になる場合があるのを修正。

  また、ディスクAだけでなく、ディスクB、Cにも書き込みを行いますので、ライトプロテクトは外して下さい。


  エミュレータでは、PC-6001VW ver310f、PC-6001V ver1.25 で動作を確認しています。

  説明などは、同梱のドキュメントを参照して下さい。

2017年11月07日

ウィザードリィ IV forP6(6)

  ウィザードリィIV for P6


  バージョンアップしましたが、セーブファイルの位置などは変わっていません。

  メインメニューの『セーブゲームを移す』を選ぶ事で、前バージョンのデータをコピーできます。


  やっとコズミックキューブを抜けました。その時に見つけたバグも今回修正しています。


  ウィズ1/2/3や他のプログラムのバージョンアップは、時期を見て行います。

ウィザードリィ IV forP6(5)(ver1.1リリース)

  ウィザードリィIV for P6

  88版→P6への変換ツールをリリースします。

wiz4_p6.zip


 ・Ver1 → ver1.1 変更点

  グラフィックが一部表示されない問題を修正。
  外付けドライブのエラー処理の強化。


  SD6031でSDカード未挿入やライトプロテクトが掛かっているとエラーになるようになりました。
  ただし、SDカードの抜き差しで、イメージファイル(ディスク相当)が変わる事があります。
  必要な時以外は抜き差ししないで下さい。

  また、内蔵ドライブで未挿入の場合は、検出できないので、ちゃんと入れるようにして下さい。


  また、ディスクAだけでなく、ディスクB、Cにも書き込みを行いますので、ライトプロテクトは外して下さい。


  エミュレータでは、PC-6001VW ver310f、PC-6001V ver1.25 で動作を確認しています。

  説明などは、同梱のドキュメントを参照して下さい。

2017年11月04日

ウィザードリィ IV forP6(4)

  ウィザードリィIV for P6


  分かる人には分かると思いますが、


 ●ゲーム開始直後、2×2の部屋から出られない。
 ●何もしていないのに、 W..E..R..D..N..A.. などのメッセージが出る。
 ●戦っていないのに、気付いたらゲームオーバーになっていた。


  というのはバグではありません、念の為。

ウィザードリィ IV forP6(3)

  ウィザードリィIV for P6

  ウィズ4ですが、地下4階までたどり着きました。
  ディスクの入れ替えとかも問題なく動作しているようです。


  ただ、少し問題が。

 ★外付けディスク(SD6031も含む)を使用している場合、リード/ライト時にエラーが出ても検出しない事があります。

  例えばライトプロテクトをしたまま、ゲームセーブを行っても、正常終了したようになってしまいます。
  (実際にはゲームはセーブされていない)

  リードで実機でエラーが出た場合などは、最悪ゲームが止まる可能性があります。


  この問題、ディスクのリード/ライト後に、コマンド6(センドリザルトステータス)を実行していないのが原因です。


  対処方法は簡単なのですが、過去に私が移植したソフトのほとんどで、この問題が発生します。
  数が多いので、どうするかはちょっと考えます。


  とりあえず今の所は...

★書き込みをするディスク(SDカード)は、書き込み禁止にしないで下さい。
★リードエラーが出来るだけ少ない環境で動かしてください。

  をお願いします。

2017年11月03日

ウィザードリィIV for P6(2)

  ウィザードリィIV for P6

  解析がちょっと面倒だったので途中で止めていたウィズ4ですが、最初の部分が分かると割りとすんなり解析が進んで、P6版のコンバータ作成まで漕ぎ着けました。グラフィック関連などの部分は、ウィズ1/2/3と同じ構成をしていたので、P6版でもほぼ同じプログラムになっています。

  かなり早くできたのですが、256K以上の拡張RAM関連のバグの原因がなかなかわかりませんでした。

  結局、このバグは普通でも出ていた可能性があって、たまたま拡張RAMが256K以上の時に発生するというものでした。リリース後でなくてよかってですが。


  まだ、8階の地雷原あたりまでしかプレイしていないので、他にバグがあるかも知れません。


 ○今回のハイライトバグ

  コンバートが出来た初期に、途中まで普通にゲームが出来るのに、途中でキー入力が効かなくなるバグが発生。

  キー入力ルーチンで、"CP L" が、なぜか "CPL" になっていた(^^;)


ウィザードリィIV for P6(1)(ver1リリース)

  ウィザードリィIV for P6

  88版→P6への変換ツールをリリースします。

wiz4_p6.zip


  エミュレータでは、PC-6001VW ver310f、PC-6001V ver1.25 で動作を確認しています。

  説明などは、同梱のドキュメントを参照して下さい。

2017年10月31日

ウィザードリィforP6(10)

  ウィザードリィ for P6

  Ver1.3をリリースしましたが、大きな変更はキャッシュの256K以上の対応です。


  今やっている他の移植の解析の際に、キャッシュサイズが大きくなればいいなー、と思って、ついベルーガカートリッジの改造を思いついてしまったからです(^^;)

  カートリッジのSRAM増設→ハードだけ増えても面白くない→対応ソフトを作ろう、となった次第です。


  ウィザードリィ1/2/3は、PC88版のキャッシュプログラムは自前で作ったんですが、ウィザードリィ4/5では、元のゲームに既に組み込まれています。

  PC88では、機種によって拡張RAMのサイズが違ったり、拡張RAMボードを追加したりできたようなので、ソフト側でディスクキャッシュとして利用している事が多いようです。



  今の移植ゲームは、ほとんど出来ているんですが、拡張RAMの部分のバグがなかなか取れません。
  128Kまで(普通の戦士カートリッジmkII)なら、問題なく動くんですが、256K以上だとなぜかバグってしまうというやっかいな問題に引っ掛かっています。
  エミュレータが使えないので原因を特定するのが非常に難しい状態に陥っています...

  11月中にはリリースできると思うのですが。

171031_02_wiz4_1.jpg
171031_02_wiz4_2.jpg