2023-02-14

MSX BASICでプログラミングの世界へ入り、Z80マシン語のハンドアセンブル、アセンブラを経て、MSX版のC言語、MSX-C(intは16bit)で、何度もダンププログラムを作っていたのが福井高専1年生時代。 すべてを0か1の、デジタルにして扱うコンピューター。ファイルもすべて0か1かの集合、つまり1つの大きな数。その数を足したり引いたりいろんな計算をしたり、ネットワークを通じて送受信することで、ゲームや動画や配信が実現できちゃうのが一見不思議でおもしろいですね。


愛読書「MSX-FAN」1987年4月の創刊号。IchigoJam-FANの名前の由来です。(かつてのやっていた、iappli-fanも)


毎号楽しみだった読書投稿プログラムコーナー「ファンダム」
レビューを読んでおもしろそうなゲームを見つけたら・・・


紙から自分のパソコンへ手動ダウンロード!つまり、打ち込み、写経です。通信が高額で、時間はたっぷりあった子ども時代。何の疑問もなく打ち込み、エラーと戦い、楽しく遊び、改造してました。


行ごと、変数ごと、改造法まで解説された、とっても優しく学べるオープンソース!
プログラムの終盤には、DATA文として16進法などで記述された一見無意味な数列が並んでいました。ここを間違うと絵や音やステージがおかしくなったり、マシン語だった場合、暴走してリセットするしかなくなりました。


行番号付きのフローチャートもあってプログラムの流れも追いやすい!


どうやったら自分でも作れるのか?をいっぽいっぽ解説する記事も充実。こちら、画面表示用のメモリ、VRAMの入門、第一回。表示されている文字も0か1なことが分かります。


巻末にMSXの生みの親、西和彦さんのメッセージ「このコンピューターは仕事に使わないでください」。コンピューター放送として、YouTubeやふわっちの誕生を予言する言葉あり!

MSX-FANを読み返してみると、こどもたちへプログラミングを伝えようというすごい熱量が伝わってきます。この頃の大人のおかげであるのが今の自分。しっかり次世代に伝えましょう!

MSX0 Stackで伝説の8ビットMSXパソコンが甦り、IoT用コンピュータに - CAMPFIRE (キャンプファイヤー)
復活するMSXで、打ち込み体験、オススメです!

こちら、JavaScript/Denoで久々に作ったダンププログラム、二進法バージョン!

「dump01.js」

任意のファイルを2進法の巨大な数として表示するプログラム。 const bin = await Deno.readFile(Deno.args[0]); const binary = []; for (let idx = 0; idx < bin.length; idx++) { const n = bin[idx]; const b0 = n.toString(2); const b = "0".repeat(8 - b0.length) + b0; binary.push(b); } console.log(binary.join("")); 1byteずつのバイナリデータとなるbin、二進法では8桁なので0をrepeatして桁あわせしています。この作りでは巨大なファイルの場合、メモリを多量に消費します。必要であればストリーム処理できるように改造するといいでしょう。(参考、CSV/NDJSONリーダーライター


「code4fukui/dump」

よくある16進法でのダンププログラムと合わせてオープンソース化。deno installを使って、Mac/Windows/Linux、環境問わず使えるdumpコマンドとできるのは便利!

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