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

ウィザードリィforP6(9)(ver1.3リリース)

  ウィザードリィ for P6

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

wiz1_p6.zip
wiz2_p6.zip
wiz3_p6.zip

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


 ・Ver1.2 → ver1.3 変更点

  拡張RAMを512Kまで対応した。

  拡張RAMが32Kの場合に起動できない問題を修正。

  移動などの効果音の音量を大きくした。
  (効果音はCAPSでON/OFFできます)


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


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



2017年10月28日

メモリチェック2

  だいぶ前に作った、外付け拡張RAMのメモリチェック用のプログラムを変更しました。


memcheck2.zip

  主な修正点は、戦士カートリッジmkUに対応した事です。128K〜1024Kまで対応しています。
  使い方は同梱のドキュメントを参照して下さい。


  手抜きのため、相変わらずかなり遅いです。
  1024Kをチェックするのに、30分くらいかかります...

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

戦士カートリッジmkIIメモリ増設

 戦士のカートリッジmkUのメモリ増設の改造について

 注意)改造に失敗しても当方では責任を持てませんので、自己責任でお願いします。


cpld1024K.zip

  詳しくは同梱のドキュメントを参照して下さい。


1.何をするか?

 戦士のカートリッジmkU(一般には、ベルーガ新カートリッジ)に搭載されているSRAMは、128Kバイトです。
 これを256K/512K/1024Kにする改造をします。

 ただし、SCC機能が使えなくなります(それ以外の機能はそのままです)。


2.必要なもの

 ・戦士のカートリッジmkU
 ・追加するSRAM

  256Kの場合:M68AF127BM55MC6 1個
http://akizukidenshi.com/catalog/g/gI-01083/

  512K/1024Kの場合:AS6C4008-55SIN 1個/2個
https://www.marutsu.co.jp/GoodsDetail.jsp?q=AS6C4008-55SIN&salesGoodsCode=11485249&shopNo=3

  URLは参考です。コンパチ品なら問題ないと思います。


 ・初代機以外のP6実機
 ・XilinxのCLPDを書き込める環境と技術
 ・半田付けの技術


3.仕様の変更


  SRAM:00000〜1FFFF
  ↓
  SRAM:00000〜3FFFF(256K)
  SRAM:00000〜7FFFF(512K)
  SRAM:00000〜FFFFF(1024K)


 I/Oポート0x30〜0x37を設定する事で、FLASH-ROM、RAM、SCCを割り当てます。


 ポート0x30:Bank A(0x0000〜0x1FFF)
 ポート0x31:Bank B(0x2000〜0x3FFF)
 ポート0x32:Bank C(0x4000〜0x5FFF)
 ポート0x33:Bank D(0x6000〜0x7FFF)
 ポート0x34:Bank E(0x8000〜0x9FFF)
 ポート0x35:Bank F(0xA000〜0xBFFF)
 ポート0x36:Bank G(0xC000〜0xDFFF)
 ポート0x37:Bank H(0xE000〜0xFFFF)


 各ポートに書き込む値と割り当ては以下の通りです。


 ○FLASH-ROM割り当て

 bit7-6=00時、FLASH-ROMを割り当てる。

 bit5-4:ROMセット番号(#0〜#3)
 bit3-0:ROMバンク番号(#0〜#15)

 ROMセットは、Bank A〜Bank Hで同じROMセットにしかアクセスできません。
 違う値が設定されたときは、最後にセットしたROMセット番号になります。


 ○SRAM割り当て

 bit7-6=01時、SRAMを割り当てる。
 bit5-4:RAMセット番号(#0〜#3) ←変更
 bit3-0:RAMバンク番号(#0〜#15)

 bit7-6=10時、SRAMを割り当てる(1024Kの場合)。 ←変更
 bit5-4:RAMセット番号(#0〜#3) ←変更
 bit3-0:RAMバンク番号(#0〜#15)

 512K以下の場合は、bit7-6=10時は割り当てがありません。

 RAMセットは、ROMセットと同じくBank A〜Bank Hで同じRAMセットにしかアクセスできません。
 違う値が設定されたときは、最後にセットしたRAMセット番号になります。
 ただし、ROMセット番号とRAMセット番号は別の番号が割り当てられます(独立しています)。


 ○その他

 bit7-6=11時、機能を割り当てない。


 旧ベルーガカートリッジの互換動作用のレジスタなどは変更ありません。

 参考:戦士のカートリッジmkU技術資料 http://p6ers.net/beluga/



 改造した後の写真を挙げておきます。端子の説明が文章だけなので参考にして下さい。


171028_01_メモリ増設256K_1.JPG
 メモリ増設256K(1)

171028_01_メモリ増設256K_2.JPG
 メモリ増設256K(2)

171028_01_メモリ増設1024K_1.JPG
 メモリ増設1024K(1)

171028_01_メモリ増設1024K_2.JPG
 メモリ増設1024K(2)

171028_01_メモリ増設1024K_3.JPG
 メモリ増設1024K(3)


 512Kは、1024KのSRAMの上のSRAMがないものになります(間違って写真を消しちゃった...)。

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