レトロマイコン86ボードの構想(その15)DDT86でパッチ [8086]
CP/M-86の頃にはパソコンがグラフィック表示対応もして来たり、CP/M-86自体もパーソナルCP/Mとして機種毎に販売されたこと等もあり、TeraTerm接続環境でうまく動かないソフトが結構あります。
今回はgulperというパックマンライクのゲームにDDT86でパッチをあてて動かしてみたのでメモとして書いておきます。
最初にダウンロードしたままの状態で起動すると
Pascalのソースも添付されていたので確認してみると
GULPERのソース(抜粋)
機種依存のキャラクタコードの設定は一カ所で行っています。また、ソース内の先頭で設定しているので探し易そうです。
今回は次のようにキャラクタコードを変更することにしました。
DDT86でパッチを当てる場合、ddt86 gulper.cmdで読込んでパッチを当ててもwコマンドでセーブできないのでrコマンドで読込んでパッチ適用後にwコマンドでセーブしています。
最初に0080hから逆アセンブルしているのはヘッダ分を飛ばしてコードの先頭から見るためです。
コードの先頭でスタートアップ処理にジャンプし、スタートアップ処理の直後に上述のキャラクタコード設定処理がありました。
DDT86でのパッチ操作
パッチ適用により、下記の画面のように標準のアスキーコードを使った画面にすることができました。
★2019/10/14 追記
twitterに動画付きでコメントをポストしました。
https://twitter.com/wcinp/status/1183623815596634112
[TOP] [ 前へ ] 連載記事 [ 次へ ]
今回はgulperというパックマンライクのゲームにDDT86でパッチをあてて動かしてみたのでメモとして書いておきます。
最初にダウンロードしたままの状態で起動すると
GULPER実行画面(対処前) |
|
Pascalのソースも添付されていたので確認してみると
|
機種依存のキャラクタコードの設定は一カ所で行っています。また、ソース内の先頭で設定しているので探し易そうです。
今回は次のようにキャラクタコードを変更することにしました。
- 02 -> 4f O
- EA -> 23 #
- 01 -> 40 @
- DB -> 48 H
- B0 -> 5a Z
- 03 -> 56 V
- 04 -> 2A *
DDT86でパッチを当てる場合、ddt86 gulper.cmdで読込んでパッチを当ててもwコマンドでセーブできないのでrコマンドで読込んでパッチ適用後にwコマンドでセーブしています。
最初に0080hから逆アセンブルしているのはヘッダ分を飛ばしてコードの先頭から見るためです。
コードの先頭でスタートアップ処理にジャンプし、スタートアップ処理の直後に上述のキャラクタコード設定処理がありました。
|
パッチ適用により、下記の画面のように標準のアスキーコードを使った画面にすることができました。
GULPER実行画面(対処後) |
|
★2019/10/14 追記
twitterに動画付きでコメントをポストしました。
[TOP] [ 前へ ] 連載記事 [ 次へ ]