2024年6月17日月曜日

UOOTOY Pasopia7移植

PiO 1986年5月号 119~131ページに掲載されているMZ用のUOOTOYをパソピア7に移植。
PC-6001mkIIにも移植されている方がいて、参考にさせてもらいました。助かりました。

PiO 1986年5月号は国立国会図書館に所蔵されており、遠隔複写サービスもできるようです
札幌近郊の方は、北海道立図書館の館内でコピーすることもできます(持ち出し不可)

PiO 1986年6月号 42ページにバグ情報があり、以下のように修正するようです。
・4B97hから: 00 40 E5 E7 03 40 E7 E7 07
・5C89hから: 00 10 00 10

あと、マッチが袋小路に行った際にハングする問題も対応しました。

どれだけニーズがあるかわかりませんが、ここにパソピア7用パッチのソースとRAM PACイメージを置きます。

PiO 1986年6月号に掲載されているMZ版のダンプ2000h~5FFFhを、Pasopia7で打ち込み保存します。パソピア7は0000h~7FFFhまでBASIC ROM領域のため、別の領域に一旦打ち込みます。
例えばA000hから打ち込んだ場合、以下のように保存。
BSAVE"UTDATA",&HA000,&H4000

続いて6000h~8CFFhを打ち込んで保存します。A000hから打ち込んだ場合は以下の通り。
BSAVE"UTMAIN",&HA000,&H2D00

雑誌ダンプリストの入力は、bugfireさんがダンプリスト入力用のツール(DumpListEditor)を公開してくれているので、便利でお勧めです。
バイナリを直接RAM PACイメージに上書きする場合は、以下の領域です。
・2000h~5FFFhは、RAM PACイメージの0504h~4503h
・6000h~8CFFhは、RAM PACイメージの4604h~7303h

BASICは以下の通り
10 CLEAR,&HB8FF
20 PRINT"LOADING..."
30 BLOAD"UTDATA",&H2000
40 BLOAD"UTMAIN",&HB900
50 BLOAD"PATCH7",&HE600
60 SCREEN 2:WIDTH 80:CLS:A=&HE600:CALL A
RUN"UOOTOY"で起動
(STOP)キーでBASICに戻った場合、アトリビュート領域が壊れている可能性があるので、CLSで画面クリアして下さい。再起動する場合は、"RUN 60"でOKです。

武田氏のエミュレータでも動作します。
エミュレータの場合、DCSGの高音部が出力されない音があったので、それらの効果音は音程をすこし変更しています。

パソピア7実機での動画をどうぞ。

2 件のコメント:

  1. いつもありがとうございます。ようやくこのお盆休みからXPAC2を触っています。以前よりUOOTOYがPLAYしたくて困記事を読んで国立国会図書館にリストを依頼し、手元にあるのですが、ここにイメージがあったので試しにXPAC2で起動してみました。
    イメージは認識して表示され、[LOADING...」と起動BASICプログラムも読み込むのですが、最後にWIDTH80モードになり[OK_]と表示され、UOOTOY起動しない状態です。
    どのようにしたら起動するか教えて頂きたく、よろしくお願いします。

    返信削除
    返信
    1. ここにあるRAM PACイメージはPasopia7用のパッチのみなので、別途MZ用のリストをBSAVEする必要があります。XのDMの方に連絡しましたので、もし動作がおかしいようでしたら連絡お願いします。

      削除