2020-10-05
NT鯖江でも展示したMSX-FAN。 ネットがない時代、プログラミングに関する情報を得るメディアは雑誌でした。 毎月10本以上掲載される誰かが作ったゲーム。 紹介文とプログラムの長さから選び、打ち込み、Syntax errorや謎のバグと戦い、遊び、改造しました。 変数の説明と、BASICのプログラム1行ごとの解説があるので、無敵化、残機増、面セレクトは余裕。いろいろなテクニックを学んだものでした。

せっかく長いプログラムを打ち込んだのに動かない。よく聞く挫折ポイントですが、MSX-FANは、打ち込みやすい40x24の画面に収まるくらいの短いプログラムで競う、1画面部門が豊富でした。 小学生の頃でも小1時間あれば入力し、遊ぶところまで到達できました。

慣れてきたら挑戦したい何画面にも及ぶ大作。 エラーと表示されるコマンド入力ミスと違って、値やデータの打ち間違いは妙な動きになってミスした場所がわかりづらく、長くなるほどに難易度が上がります。 ここで大きな助けとなったのが「打ちこみミス発見プログラム」です。 1行ごとにチェックコードを出力する短いプログラムを追加し、雑誌に書かれた番号と照合してどの行にミスがあるか、確認できます。


水道管II、遊びたい!6画面となかなかの大作。打ち込みには6時間ぐらいかかりそう・・・


打ち込み開始!


当時の打ちこみミスをチェックコードを確認した跡


何度か改定された、打ちこみミス発見プログラム、1つ打ち込んでおいて保存しておけば他のプログラムのチェックにも使えます。

IchigoJamでも作ってみました。16進法、#C00からの1kbyteがプログラム。1行ごとに同様にチェックコードを計算し出力するプログラムを追加します。 単体で保存しておき、LOADしてLIST、対象となるプログラムをLOADしたあと、999だけエンターすればマージ完了! GOTO999でチェックコードが出力されます。

999 V=#C00:FORI=0TO1:N=PEEK(V)+PEEK(V+1)<<8:L=PEEK(V+2):S=0:FORJ=0TOL:S=255&(S+PEEK(V+3+J)*(J%9+1)):NEXT:I=0:IFN?DEC$(N,3);">";DEC$(S,3);" ";:V=V+4+L:NEXT

かわくだりゲームのチェックコード出力例(スペースが入るとチェックコードが変わります)

10 CLS:X=15 20 LC X,5:?"🐱" 30 LC RND(32),23:?"*" 35 WAIT3 36 X=X-BTN(28)+BTN(29) 39 IF SCR(X,5) END 40 GOTO20 GOTO999 10>225 20>156 30>249 35> 3 36> 81 39> 57 40> 55 999> 37

マージするには空きメモリが154byte必要ですが、行番号を消して動かせば空きメモリ0でもチェック可能です! 公開や、どこかに投稿する際に使ってみるのもいいかもしれません。


MSX-FAN、440円、安い!ゲームソフトの10分の1で、10倍遊べるのでコスパ100倍!


MSX1では遊べないゲームが増えていったので、雑誌の広告や本文の特集を見て、ファミコンと引き換えに、MSX2+ A1-WSXを買ってもらったのでした。

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS