2024-03-06
3/6は、MSX-FANの創刊日とXで知る。

本屋さんで発見した「MSX プログラムコレクション50 ファンダムライブラリー6」をきっかけに、雑誌「MSX-FAN」の存在を知って買い始めたのが、1990年。

自分で打ち込むことで遊べる、投稿ゲームのコーナー、ファンダム。タイピングが遅かったので32文字24行の1画面にプログラムが収まる、俳句のようにアイデアとテクニックがぎゅっと詰まった1画面部門がお気に入り!

1画面部門でX検索して発見、Frieve-Aさんの作品「SKY」。


名前に見覚えがあると思ったら、MSX-FANにも掲載多数のMSXプログラマーのエンジニア!


「MSX | Frieve」

サイトに掲載されたMSX作品群、オープンデータの標準、CC BY 4.0(クリエイティブコモンズ表示)によるオープンライセンスなオープンソース公開されています!早速、IchigoJamへの移植チャレンジ。


ダウンロードしたMSX作品「SKY」のMSX BASICのプログラム「SKY.BAS」はテキストファイルではなく、MSX BASICの中間言語で表現さえたバイナリファイル。2013年12月23日の一日一創MSX BASIC VIEWER」を使って読むことができます。


GJwikiでまとめられた、Frieveさんの掲載号。SKYは1992年10月号!(左は、1987年3月6日に発売された、MSX・FAN創刊号!)


試しに見ながら打ち込んでみたらタイムは5分。昔は1画面1時間で見積もっていた覚えがあるので10倍速!


「SKY」 CC BY 4.0 Frieve

MSXのエミュレーターで動きました!
自動的にジャンプし続ける主人公を左右操作で雲から落ちないように操作し、続けていると登場するアイテムをとったらクリア!

Frieveさん、1学年上で三重県のご出身。小4から中2まで津市に居たのでTAKERU近くとかで遭遇していたかも!?(Frieveについて | Frieve


「mono SKY forked from Frieve's SKY」
こちらがIchigoJam版。キャラクターパターンは同じものを使っているので白黒ですが空を跳ねる再現ができました。(動画用にクリア用アイテムの出現を10倍早く改造しています)

1 CLV:POKE#700,60,126,~0,~0,~0,~0,126,60,102,255,255,102,0,0,0,0,0,120,252,252,252,252,120,0 2 CLS:FORI=0TO1:I=!BTN(32):NEXT:?CHR$(21);"+*TRY STAGE",U+1:GSB7:CLS:X=127:Y=120:G=0:F=8:LCU*2+4,16:FORI=0TO24-U*4:?CHR$(225);:NEXT:?CHR$(21);" 3";:FORI=1TO128:?CHR$(2);:NEXT 3 G=G-BTN(28)+BTN(29):LCX/8,Y/8:?CHR$(0);:X=X+G:Y=Y-F:F=F-1*(F>-8):LCX/8,Y/8:W=SCR():?CHR$(224);:V=SCR(X/8,Y/8+1) 4 IFW=226GOTO6ELSEIFW=225ORV=225LCX/8,Y/8+1:?CHR$(0);:BEEP:LCRND(30)+1,RND(12)+6:P=P+9+F:F=8:IFC<20?CHR$(225);:C=C+1ELSE?CHR$(226); 5 ?CHR$(21);"##SCORE",P*10:IFY>151ORX<4ORX>251:H=H+(P-H)*(P>H):?CHR$(21);"#%HIGH ",H*10:?CHR$(21);"++GAME OVER":GSB7:P=0:G=0:C=0:U=0:GOTO1ELSEGOTO3 6 G=0:C=0:?CHR$(21);"+)STAGE",U+1,"CLEAR!":IFU<4GSB7:U=U+1:CLS:GOTO2ELSE?CHR$(21);"+-ALL CLEAR!":GSB7:P=0:U=0:GOTO1 7 R=RND(1):IFBTN(32)RTNELSEGOTO7

MSX BASICからIchigoJam BASICへ移植しました。

主な変更点
- キャラクター定義をPOKEの連続代入に変更(DATA文にすると冗長なので文字列にするのがセオリーでした)
- スプライトをキャラクター描画に変更(IchigoJamはスプライト非対応、PanCakeでは使用可能)
- 真の符号を反転(IchigoJamの真は1、MSXは-1でした)
- エスケープシーケンスの座標指定をIchigoJamの特殊キャラクターコードに変更(XYが逆でした)
- STRING$(n,str)をループに変更
- 3行が長くなりすぎたので分割して1行増


「RUN on IchigoJam web」

スペースキーでスタート、左右キーで操作。ESCキーでプログラムを止めて、「LIST、エンター」でプログラムを確認できます。再度実行は「RUN、エンター」。

打たずに遊べる現代ですが、あえて打ち込み、ミスを探して直す楽しさもぜひご体験ください。実は、最高の学びです。


MSX-FAN、だいたい揃ってます!

links
- MSXユーザーのためのIchigoJam入門 - MSX Advent Calendar 2015
- IchigoJamの特殊キーコード表(特殊キャラクターコード表) by 表かんたん作成プログラム
- MSX BASIC VIEWER開発 - MSX-FANの投稿ゲームで温故知新

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