2040年01月01日

目次

 元々はPC-6001をFPGAで実現しよう、のページだったのですが、P6のハード/ソフト関連全般を扱っています。

 当ブログ内の解析記事、製作記事、改造記事などに関しては、素人によるものです。記事が誤っている可能

性もありますので、使用する際には使用する方の責任でお願いします(当方では責任を持ちません)。


 PC-6001F(FPGA版P6)関連
 Ver.0235-0053
 Ver.0234-0052

 RGBコンバータ関連
 RGBコンバータ(10)(リリース)
 RGBコンバータ(11)(リリース)
 RGBコンバータ(1版の注意事項)

 SD6031/SD6031WIF/SD6031Air関連
 SD6031Air用ファーム変更(3)
 イメージファイル選択プログラムver2.0
 マルチディスク対応
 マルチディスク対応追記
 SD6031コマンド一覧

 88→P6変換ソフト関連
 ウィザードリィ1/2/3  /  ウィザードリィ4  /  ウィザードリィ5
 PALADIN
 MELT DOWN  /  MELT DOWN(PC-6001mk2/PC-6601用)
 魔法使いの妹子  /  魔法使いの妹子U
 ザナドゥ  /  ザナドゥユーザデータコピー
 ファンタジー  /  ファンタジー2
 マイトアンドマジック
 イシターの復活
 ポッキー
 リトルバンパイア  /  イントルーダー  /  ランス  /  D.P.S.  /  あぶない天狗伝説
 OLION80
 ログイン版ドラゴンスレイヤー
 表参道アドベンチャー

 P6ソフト関連
 CARRYGAME改造
 CARRYGAME でばぐ
 OLION 2トリガ化
 QUEST ディスク起動
 66用ロードランナーの外付けドライブ起動
 66用コロニーオデッセイをmk2などで動かす
 XOR でばぐ
 HEARTMONS でばぐ
 アステロイドチューブ でばぐ
 南青山アドベンチャー カラー化

 その他の記事は、カテゴリーから検索して下さい。

posted by えすび at 00:00| Comment(0) | カテゴリ無し | このブログの読者になる | 更新情報をチェックする

2018年04月14日

ハイドライド3(1)

  ハイドライド3 for P6

  やっとプログラムが終わって、実機でテストしてみたら...
  エンディングのパレットの色がおかしい結果に。

  エミュレータではおかしくなかったのですが、どうもポート0x44〜0x47の挙動が違うような感じです(詳細不明)。ポート0x44〜0x47は、ポート0x40〜0x43(パレット)のイメージだと思っていたのですが、ナゼか微妙に挙動が違います。

  面倒なので(そして意味もないので)、ポート0x44〜0x47を使わずに、0x40〜0x43を使う事にしました。

  実機である程度まで動かせたらリリースする予定です。


  ↓の機能もこっそり入れるつもりですが、PC88版では「3」の文字が乱れるんですね。P6SRでは修正しようかどうしようか迷っています。

180414_01_ハイドライド3(8).png
180414_01_ハイドライド3(9).png

2018年04月08日

P6SRの2画面切換(3)

  P6SRのグラフィック2画面切換について。

  参考プログラムを作りました。

  拡張RAMなしで動作します。エミュレータでは動作がちょっとヘンです。


sc2demo2.zip


  拡張RAMありで、ビットマップモードのものを作ろうかとも思ったのですが、面倒だったので止めました(^^;)


  内容は、画面の一部分を1/2/3/4ビット、ローテートするだけのものです。

  一応、動作説明です。

1)初期設定
2)表示ページ#0にする
3)表示ページ#0のデータをページ#1にコピーする
4)ページ#1のデータをローテートする
5)表示ページ#1にする
6)表示ページ#1のデータをページ#0にコピーする
7)ページ#0のデータをローテートする
8)2)に戻る

  表示ページと違う側に書き込みをしているので、ちらつきなどが抑えられています。

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

2018年04月06日

次回予告(2)

  次回作ですが、オープニング、エンディングの移植も大体終わりました。

  こーんな感じです。

180406_01_ハイドライド3(7).png

  ちゃんと88版と同じようにスクロールします。


  横に1ドットスクロールするのですが、この際、初めて RRD/RLD 命令を使いました(^^;)...


P6SRの2画面切換(2)

  P6SRのグラフィック2画面切換について。

  調査した所、以下の通りでした(以下、グラフィック画面のみの話です)。


  表示切替は、ポート0xC9に、0x00/0x08 を出力します。
  0x00を出力した場合は、0x0000〜0x7FFFのVRAMの内容が表示されます。
  0x08を出力した場合は、0x0000〜0x7FFF0x8000-0xFFFFのVRAMの内容が表示されます。
  (グラフィックの場合は、bit3のみ意味を持ちます) 


  ポート0xC8のbit4-3は、以下の通りですが、画面表示には関係ありません。
  bit4:グラフィック表示ページ(0:ページ0(0x0000〜0x7FFF)/1:ページ1(0x8000〜0xFFFF))
  bit3:ビットマップモード(0:イネーブル/1:ディセーブル(直接アクセスモード))


  ポート0xC8のbit4-3は、CPUからVRAMにアクセスする際に有効となるビットで、画面表示には関係がないんですね。この辺りが、今のエミュレータでは正確に対応できていません。



  上記のことですが、画面周りのポートはBASICで管理されているので、BASICから確認するのはちょっと面倒です。例えば、以下のようにします。

 1)コマンドラインから、SCREEN 2,2,2:LINE(0,0)-(319,199),16 とします。BASICでいうページ2に斜め線が1本引かれます。

 2)MON で、マシン語モニタに入って、0xA000〜から以下の設定をします(SA000 space で入力できます)。

A000:F3 3E FB D3 C3 3E 08 D3 C9 18 FE

 3)B でBASICで戻った後、EXEC &HA000 でさっきと違うグラフィックページが表示されるはずです。

  ちなみに表示されているのは、0x8000〜0xFFFFのページです。
  実行後は、BASICに戻ってこないので、リセットして下さい(0xA000〜の内容は残っています)。

  0xA007 の 08 を 00 にすると、0x0000〜0x7FFFのページが表示されます。



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

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 で動作を確認しています。

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