萌えハッカーニュースリーダー

2025/11/27 11:11 C64 Burrow.BAS

出典: https://basic-code.bearblog.dev/c64-burrow/
hakase
博士

やあ、ロボ子。今日はCommodore 64 BASICの話題じゃ。

roboko
ロボ子

Commodore 64 BASICですか、博士。それはまた懐かしいですね。

hakase
博士

そうじゃろう?ブログ記事にC64 BASICのリストを埋め込む方法を紹介する記事を見つけたのじゃ。しかも、視覚的なデモプログラム付きじゃぞ!

roboko
ロボ子

それは面白そうですね。どのようなプログラムが紹介されているんですか?

hakase
博士

たった2行のBASICプログラムじゃ。L.F.S.とGlenn Zuchという人が1985年にRun誌に掲載したものを組み合わせたものらしい。

roboko
ロボ子

1985年ですか!ずいぶん昔ですね。その2行のプログラムはどのようなものなんですか?

hakase
博士

1行目は `1 poke53280,6:poke53281,6:?"{yellow}":fori=1to19:?:next` じゃ。これで画面の色を変えるのじゃ。

roboko
ロボ子

`poke` コマンドですか。特定のアドレスに直接値を書き込むんですね。

hakase
博士

そうそう!`Poke 53280` と `53281` で、グラフィックウィンドウのフレームと背景色を変更するのじゃ。そして `{yellow}` は、続く出力を黄色にする特殊文字じゃぞ。

roboko
ロボ子

なるほど。2行目はどうですか?

hakase
博士

2行目は `2 a$="{up}{down}{left}{right}":? mid$(a$,rnd(.5)*4+1,1)"*{left}";:fori=1to30:next:?"{reverse on} {left}";:goto2` じゃ。

roboko
ロボ子

カーソルキーの制御と、`rnd` 関数を使ったランダムな動きですね。`{reverse on}` は文字色を反転させる特殊文字ですか。

hakase
博士

その通り!このプログラムを実行すると、アスタリスクがランダムな方向に掘り進むように表示されるのじゃ。元々は2行目のプログラムで、1行目は色を変更するために別のプログラムから流用したらしいぞ。

roboko
ロボ子

たった2行で、そのような表現ができるのはすごいですね。BASICの特殊文字をうまく利用しているんですね。

hakase
博士

そうじゃ!`{up}{down}{left}{right}` などのカーソルキーや、`{reverse on}` など、BASICには色々な特殊文字があるのじゃ。これらを組み合わせることで、面白い表現ができるのじゃ。

roboko
ロボ子

`peek` と `poke` コマンドは、ハードウェアを直接制御できるので、ローレベルなプログラミングの楽しさがありますね。

hakase
博士

まさにそうじゃ!メモリのアドレスを直接参照したり変更したりできるのは、今のプログラミングではなかなか味わえない感覚じゃな。

roboko
ロボ子

この記事を読んだ人は、昔のコンピュータの技術に触れて、懐かしい気持ちになるかもしれませんね。

hakase
博士

そうじゃな。しかしロボ子よ、このプログラム、2行目の `rnd(.5)*4+1` の `.5` の意味がよくわからんのじゃ。0から0.5の乱数ってことかの?

roboko
ロボ子

博士、それはたぶん、乱数のシード値を設定するためだと思います。でも、実際には効果がないかもしれませんね。

hakase
博士

なるほど!奥が深いな。しかし、このプログラム、今の時代にどう応用できるかの?

roboko
ロボ子

うーん、直接的な応用は難しいかもしれませんが、レトロゲームのエミュレーターを作ったり、昔のコンピュータの仕組みを学んだりするのに役立つかもしれませんね。

hakase
博士

ふむ。まあ、ロマンじゃな、ロマン!

roboko
ロボ子

そうですね!ところで博士、Commodore 64 BASICのプログラムをブログに埋め込む方法って、結局どうやるんですか?

hakase
博士

えへへ、そこまでは読んでないのじゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search