MSXポケットバンク⑧ プログラムD.J. PM 11:00 Soulful Night

「私は家には帰れない」
自機が移動するときの判定に背景色のカラーコードを参照しており、MSXの初期画面の背景色である「4」以外だと自機が動かないので注意しましょう(*''ω''*)

目の前に現れたあなたの帰り道。カーソルキーを使って早くお家に帰りましょう。寄り道ばっかりしているとオオカミが出ますよw
まずは迷路が表示されるまで約2分待ちます(*''ω''*)

75秒の制限時間内に迷路を脱出します。画面最下部にゲージが表示されていて、64秒まではゲージが伸びます。
そして袋小路に手間取り時間切れでゲームオーバー(;'∀')

再度挑戦。迷路は毎回違うので難易度は描かれた迷路によりますが、今回は簡単だったので制限時間内にクリアできました(*'▽')

ちなみに制限時間の判定は自機が移動した後だけに行われるため、最初から移動しないときは75秒を越えてもゲームオーバーにはならず、75秒以降に一歩でも動くとゲームオーバーになりますw


「磁界」
カセットケースぴったりのカセットラベルをプリントアウトします。
タイトルとノイズリダクション(!)の種類を入力後、A面1曲目の曲名を入力すると、

カセットラベルのイメージ画面が表示されます。

「I」を押すと次の曲名が入力できるので続けてA面のすべての曲名を入力し、
入力し終わったら「C」を押して引き続きB面の曲名を入力していきます。

A面とB面のすべての曲名の入力が終わりました。ここで「P」を押すとプリンタにカセットラベルが印刷されます。

MSX用のプリンタが無いためどのように印刷されるのか実行結果が不明ですが、このようなラベルが印刷される、はず!


マシン語モニタ」
MSXマガジン1985年3月号に掲載の「MSX通信 ポケットバンク全正誤表」にこのプログラム(P87)についての修正情報が掲載されていますので修正しておきましょう。

また、コマンドの入力処理を二重に行っている(1010行と1020行)ため、1010行を修正しておくとよいでしょう。

基本的なこと(メモリへの書き込み、メモリの内容を表示、セーブ、ロード、実行)ができるマシン語モニタ。
ここでは1ビットサウンドポートに値を書き込んでクリック音を鳴らす短いマシン語プログラムを入力し、それをディスクにセーブ・ロードし、メモリの内容をダンプして確認後に実行させています。

コマンドについては本誌の解説を参照してください。


「H.ロールシャッハ博士の療法」
MSXマガジン1985年3月号に掲載の「MSX通信 ポケットバンク全正誤表」にこのプログラム(P89)についての修正情報が掲載されていますので修正しておきましょう。

また、描画終了時にキーが押されてるとエラーになるため、500行を修正しておくとよいでしょう。

紙を四つ折りにしてさらに斜めに折り、それをハサミで切ったり一部を切り取ったりして広げると・・・という切り絵のプログラム(*''▽'')
スペースを押しながらカーソルを動かすとハサミのように切れていきます。

囲まれた部分はDELキーを押すと切り抜くことができます。
なお、ハサミや切り抜きの使用は500ステップまでです。

切り終わったらリターンキーを押すと展開した紙を同じように切っていき、

不思議な模様の切り絵が出来あがり!


「犬のスケッチ」
MSXマガジン1985年3月号に掲載の「MSX通信 ポケットバンク全正誤表」にこのプログラム(P91)についての修正情報が掲載されていますので修正しておきましょう。

また、データの保存先のデバイスがカセットになっているので、デバイスをディスクに変更する場合は3010行を修正しておくとよいでしょう。

真夜中に突然無性に絵が描きたくなったらこのDRAW EDITOR「犬のスケッチ」をどうぞ(=゚ω゚)ノ
まずは「CAPS」で大文字入力にし、カーソルは「J」キーの周りのキーで移動させ、「B」で線を描くか描かないかの切り替えをします。

「F1」で最後に書いた線を消し、「F2」で線の色を変え、「F3」で描いたデータを保存します。

描いた線画は「DRWDATA」のファイル名で、GML(Graphic Macro Language)形式で保存されます。
保存されるのはGMLデータのみなので、描画するプログラムを加えて実行すると、

先ほど描いたものが再現されます(*'▽')


「深夜工場」
テープからプログラムを自動的に読み込んで実行し、プログラムが終わるとさらに次のプログラムを読み込んで実行し、それを延々と繰り返すという摩訶不思議なプログラム。子供の頃、この「深夜工場」というタイトルとプログラムの「このMSXはもうとまらない・・・」というのが少し怖かった記憶があります(;'∀')
残念ながらMSXPLAYer2005やMSXturboRはテープに対応していないので延々とエラーが繰り返されますw

どういった仕組みになっているのか疑問なのでマシン語部分を逆アセンブルしてみると、どうやらフックを乗っ取り、プログラムが終了するとすぐさまCLOADのエントリポイント(703FH)を呼び出してプログラムをロードして実行しているようです。

テープにしか対応していないのでディスク対応化するにはCLOADではなくLOADのエントリポイント(6B5DH)を呼び出せば良さそうですが、その場合はファイル名をどこかに指定しなければいけないようでそのやりかたもわからず、さらにディスクにあるファイル名を調べるプログラムを別途用意しなければならないのでディスク対応化は難しそうです(;'∀')