ブログマガジン社長の書類ツクール情報 (SPECIAL!)ツクール情報 (SPECIAL!)

ブリスター・ジョンの『あの頃8ビット・マシンと』

8ビット・マシンが世界のすべてだったあの時代。若者驚愕、中年感涙! 天下御免のオールドゲーマー、ブリスター・ジョン(日本人)による回想録。

バック・トゥ・BASICスタイル

 かつてパソコンが「マイコン」という呼ばれ方をしていた頃、あの1980年前半に起きたマイコンブームの熱狂をうまく言葉で伝えるのは難しい。終わってみてから思うに、あれは誰もが夢中というたぐいのブームではなく、もちろん品薄だとか価格高騰なんてあるはずもなく、たいていの人は「なんだか良く分からないマイコンとかいう物がこれからクるらしい」程度の認識だったような気がする。今で言えば××ブームとか△△ブームとかに似ているね(自主規制)。
 そういう薄めのブームの中であっても、しっくりハマる人というのは確かにいるもの。限られたごく一部の好事家、本当にマイコンにハマっていた僕らはその名も「マイコン族」だった。そもそも「マイコン族」と呼ばれたんだったか自称したんだったか、それも単なる分類だったのか蔑称や自虐だったのかもう記憶がはっきりしない。ちなみにマイコン族の中でも、かんじんのマイコンを持っていなければ「ナイコン族」ということになる(あまり洗練された感じのしない言葉遊びだが、すでに歴史上で起こってしまったことだからしかたがない)。
 なにしろマイコンは安くてもモニタ込み10万円以上が普通というしろものだったんだから、ナイコン族の多さも推して知るべし。お金持ちな趣味人や「これからの社会人はマイコンも使えんといかんな」と危機感(今思えばわりかし杞憂だった)にせまられた青年/中年層は買うだろう。だがブームの中核にいた学生層にそんな大金がポンと出せるわけもなく、必然的に僕らはナイコン族でもあった。
 ああ、マイコンさえ買えれば、好きなようにマイコンを弄れるのに!
 ところで、マイコンを弄るって、具体的に何をするんだ?

■ まずRUNより始めよ

 僕らにとってマイコンは、身近でいてひどく抽象的な機械でもあった。
 マイコンよりも具体的なコンピューターならいっぱいある。日本中が熱狂した『スペースインベーダー』ブーム、その後に残ったゲームセンター(『パックマン』や『ドンキーコング』のような新たな傑作もあった)。それに今で言えば携帯ゲーム機になるのかしらん、「電子ゲーム」と呼ばれたFLゲームの数々やかの有名な『ゲーム&ウオッチ』シリーズ。
 子供心に詳しいことはよく知らなくても、おおむねそれらが電子LSI技術(とか、なんとか、そんなもの)によって動いていることはぼんやりと知ってはいるものだ。その仲間がマイコンなんだとまではわかっても、そりゃまあ「高級言語を持つ汎用コンピュータシステム」について小中学生がもてるビジョンには限界があるよね。
 今と違ってネットもなければテキストエディターひとつない時代、じゃあマイコンで何をする? 雑誌で紹介されていたあのゲームを遊ぶ……ってのじゃ電子ゲームとたいして変わらない。少なくとも親のサイフのヒモをゆるめる武器としては貧弱そのものだ。
 「ほ……ほら、プログラムを勉強すればさ、理論的な思考も自然と身につくし、将来コンピューター関係の仕事にも役立つと……まあ、その、……ね?」というのは精一杯の言い訳でもあったけれど、必ずしもウソではない。
 たしかに僕らはプログラムがしたかったのだ。
 本当にプログラムをしてみたくて仕方なかったのだ。

 そもそも雑誌に載ってたあのスゴいゲームだって誰かがプログラムしたものだという。それもたいていの場合、1人だけで。当時はチームという発想があんまりなくて、ゲームは1人で作るのが当たり前だったのだ。
 ということは、僕でもがんばれば同じようなことができるんじゃないの? いやもちろん完璧にはたぶん無理だよ。それくらいは子供といえどわきまえてるけど、理論的には可能じゃないの、同じマシンで同じ言語を使ってるんだから。
 いま考えるとプロから小学生まで同じような開発環境でプログラムを組んでいたんだから、ちょっとすごい話。まあ高度化すれば機械語だの高価なディスクドライブだのそもそも日本で売ってないハードだのと際限はないけど、市販のゲームでもけっこうな割合で小学生の友、「BASIC」製のソフトが売られていたものだ。
 BASICベーシック。簡単に言えばそれはプログラム言語。それは当時誰もが通った道。なにしろマイコンの電源を入れたら強制的に起動するので、通らずにはすまないのだ。今の感覚で考えるとまっさきに起動されるのがプログラム言語の入力画面って、なんだかすごい話だ。

FUJITSU F−BASIC Version 3.0
Copyright (C) 1981 By FUJITSU/MICROSOFT
30530 Bytes Free

Ready

 こんな調子でディスプレイに現われるBASICの入力画面。個人的な思い入れから、起動メッセージはFM-7に準拠しております。
 もちろんギュイーンと音を立ててロゴが表示されたりしないし、ここから何をすればいいのかTIPSが出てきたりもしない。演出の素っ気なさはまだしも、黒地に白文字の画面だけ表示されてあとはご自由に、という投げっぱなし感はさすがにもうちょっと何かあったんじゃないかとは今になって思うこと。
 ここで「LOAD」と入力して市販ゲームを読み込む★1……と、横道にズレてしまうのでプログラムらしいことをしてみよう。
PRINT ”コンニチハ”
 と打ってからリターンキーを押すと、その下にさらに
コンニチハ
Ready

 と表示される。それだけといえばそれだけだ。
10 PRINT ”コンニチハ ”;:GOTO 10
RUN

 と入力すると、画面には
コンニチハ コンニチハ コンニチハ コンニチハ コンニチハ コンニチハ コンニチハ コンニチハ コンニチハ コンニチハ コンニチハ コンニチハ コンニチハ コンニチハ コンニチハ コンニチハ コンニチハ コンニチハ コンニチハ コンニチハ コンニチハ コンニチハ コンニチハ コンニチハ コンニチハ コンニチハ コンニチハ コンニチハ コンニチハ コンニチハ コンニチハ コンニチハ コンニチハ コンニチハ コンニチハ コン
 うるさいよ!
 なんだこれは売れないコラムの行数稼ぎか。まあそんなことになる。STOPキー(みなさん、ご存知ないかもしれませんが昔のパソコンにはそういう重要なキーがあったのです。機種によってはBreakキーとかね)を押すまでえんえんスクロールして画面を埋め尽くし続けるのでうっとうしいことこの上ないが、これはこれでひとつの立派なプログラム。LOADコマンドで市販ソフトを読み込む以外、何もかも受け身でしかなかった自分が「マイコンに何かをやらせている」というだけで相当なステップアップだ。スケールはかなり小さいけど、そうそうこういうことがやりたかったんだよ!
 いまの例であんまりスケールが小さすぎたなら、たとえばジャンケンのプログラムなんかはどうだ。あらゆるゲーム性の基本とされる立派なプログラムだとは言えまいか。
 読者にとってはかなりどうでもいい情報だと思うが、例として記述すると次のようになる。むしろできれば読み飛ばしていただきたい★2
10 PRINT ”ジャンケンポン!”
20 COM=INT(RND(0)*3)+1
30 INPUT ”(1)グー (2)チョキ (3)パー”;PLAYER
40 IF PLAYER=COM THEN PRINT ”アイコデショ!”:GOTO 20
50 IF COM−PLAYER=1 THEN 80
60 IF COM−PLAYER=−2 THEN 80
70 PRINT ”アナタノマケ”:END
80 PRINT ”アナタノカチ”:END

 クオリティは別として、こんな風に入力すれば曲がりなりにもジャンケンゲームの完成だ。
 なかなかのしょぼさではあるけども、小学生がマイコンを買ったその日に書けるプログラムと考えるとちょっと光るものがないだろうか。だって今、しろうと同然の僕が目の前のMacで動作するジャンケンプログラムを書けって言われたら、開発環境ってどう整えればいいのというレベルで頭を抱えるよ。その点、マイコンの電源ONから問答無用でBASICが起動するという割り切りは良くも悪くもすごかった。本当に電源入れていきなりキーボードを打てばそれがプログラムになるんだもの。

■ こんにちはマイコンの日々

 もちろんプログラムの構文について知らなければプログラムは書けない。くりかえしになるけど電源を入れたらまずBASICなんだから、BASICの最低限の知識はマイコンを買う前から必須なのだ。ニワトリが先かタマゴが先かのような話だけど、これ本当。
 そんなわけでマイコン少年にとってのバイブル、BASIC教則本というものも世の中にはあって、『こんにちはマイコン』(すがやみつる著, 小学館, 1982年)なんかは現代にもその名が残る名著だ。人気マンガ『ゲームセンターあらし』のキャラがマイコン事情から初歩のBASICプログラムまでわかりやすく解説してくれるという、いわゆる「学習まんが」の系統になるんだろうか。
 『ゲームセンターあらし』自体がアーケードゲームを扱ったマンガなのでマイコンの話になるのも自然で、しかもこの手の学習マンガにありがちなアシスタントさんの筆じゃなく作者自身がきっちり描いてるという本気度の高い名著。綴じ込み付録だった「マイコンキーボード実感ポスター」で自己流タイピングのスピードを磨いたりもしたものだ。そう、このポスター(と言うにはちょっと小サイズ)はキーボードの上面写真を撮ったもので、マイコンを持ってない子はこのポスターの上に指を走らせてキーボード配置を頭にたたき込むわけ。今思うとものすごーく涙ぐましいなあ。
 大売れしたこの本の影に隠れがちだけど、僕自信の思い入れは『マイコン教室(講談社まんがなぞふしぎシリーズ18)』(くぼやすひと著, 講談社, 1982年)の方にむしろ強い。『こんにちはマイコン』が子供むきにやさしく描かれた優等生的な学習マンガだったのに対し、『マイコン教室』はかなりエッジが効いたボケと激しいツッコミ、ギャグテイストの強い本に仕上がっていて小学生ゴコロによく響いたものだ★3。講座の内容的にも『こんにちはマイコン』より一歩踏み込んでいて、個人的にはこっちの方にお世話になった記憶がある。

 もっともBASICの仕様はメーカーや機種ごとに微妙に(いや、かなり)違っていて、ある程度──たとえばグラフィックを描くとか、リアルタイムで何かしら動かすとか──のレベル以上のことをしようとするとたちまち互換性がなくなるものだった。「誰にでもわけへだてないように」書かれている子供向けBASIC教本では踏み込める限界があるのが難しいところ。
 実際『マイコン教室』のクライマックスに使われるプログラムリストには小さく「NECのPC-6001でしか動作しません」という旨の注意書きが書かれていて、いちばん盛り上がるところにそれかい、そもそも今までのページで習った以上の技術がさらっと使われてるし! と愛読者たる僕も少々ずっこけたもの。より専門的になった『こんにちはマイコン』の第2巻にも、要所々々で「PC-6001独特のコマンドです。その他の機種については、説明書を読んでみてください」なんて書いてあって、ナイコン族にはなかなかつらい仕打ちではあった。
 どうせマイコン自体を持ってないんだからどの機種向けだろうがどうでもいいじゃないかって? もっともなお話だが、当時のナイコン族の事情からすればそうでもない。マイコンがないなら、ある場所に行けばいいのだ。

 今でも店舗でPCをどう商品展示したものかというと、「とりあえず全画面でInternet Explorerを走らせておく」「パスワード付きでスクリーンセーバーだけ動かしておく」「もうあきらめて自由にさせる」など、日本中が困ってるという気もするが、昔だって困っていたのだ。なにしろ「電源入れたら即BASIC」という素っ気なさである。今でこそOSの画面だけでも壁紙やアイコンでなかなか綺麗なものだが、さすがに当時の黒一面に「OK」の文字が光っているだけでは売れるものでも売れなくなりそうだ。
 そこで定番なのは市販のゲームを動かして試遊台のような状態にするという方法。マイコンに付属していたデモソフト★4を起動しっぱなしにしておくという手もあったね。
 しかしそうした売り手の努力をまったく意に介さず、ナイコン少年はSTOPキーを押すのである。
 さあ、「OK」のプロンプトが現われたならあとはこっちのものだ。好きなようにプログラムを打ち込んでやれ!
 なかなかひどい話だが後年聞いたところ、この手のナイコン族が店員さんにハタキ片手に追い出されずに(これも古い表現ですね)済んでいたのは「少年がキーボードをカタカタ打ってプログラムを打ち込む」という構図自体これはこれでマイコンのデモとして成立していたから、という側面もあったからとか。ナイコン族も無法の徒というわけでもなく、展示が明らかにぞんざいでかつ椅子が用意してある開放的なマシンだけを狙っていたので、一種の共生関係ではあったのかもしれない。
 そこで打ち込まれるプログラムもさすがにジャンケンではレベルが低すぎるというもので、エラーやバグと格闘しながら小一時間、見栄えはしないがスネークゲーム程度のアクションゲームは作れたのだからナイコン族あなどりがたし。
 もちろん息をするようにプログラムが組めるわけもなく、まずは学校で休み時間(性善説にもとづく観測。たぶん本当は退屈な授業の最中)にノートにプログラムを手書きして、お店で実行してみるというのもよくある話。打ち込んでみたらうまく動かなくて、また翌日学校でああしたらこうしたらどうだと頭をしぼって、お店に行ったらセーブできる環境なんてないので最初から打ち直し。例の「マイコンキーボード実感ポスター」のおかげでキーを打つ速度だけはなかなかのものである。
 もはやこうなってくるとちょっとしたゲーム感覚だ。うまくプログラムが動作するよう試行錯誤するのはゲームの謎解きにさも似たり。解けないよこんな無理ゲー、ってこともあれば、苦労に苦労を重ねて一瞬のひらめきで解法にたどり着くこともある。
 無事に完成という名のエンディングを迎えて、ナイコン少年は自作プログラムを動作させたままそっと席を立つのだった。胸にいっぱいの満足感をたたえて。
 ……そして、そのプログラムもまた別の誰かにSTOPキーで止められたりする。諸行無常。

 この店頭プログラミング、お店によってはただの子供の腕試しに終わらなかったという。
 高校生や大学生(ときには社会人!)ともなれば店頭で打ち込むプログラムもセミプロ級ということも珍しくない。ショップによってはそんな高度なゲームをその場で買い取って、そのまま量産・パッケージングして市販品として売り出すという、実演販売どころじゃなくライブ性満点なことになっていたそうだ。
 ──ああ、それであのメーカーのソフトは数がやたら多くて技術力のバラつきがやたらあったのか。と10数年後に得心したものだけど、こんな風に書いちゃった手前メーカー名はあえて伏せよう。
 当時のマイコン専門店はそのままソフトメーカーを兼業しているケースも多かったので、中にはお店の常連のナイコン少年がスカウトされて後のエースプログラマーになり、小規模店舗が転じてゲームのトップメーカーになるというサクセスストーリーもあったという。今では考えられないほどダイナミックでいて小規模な話だけど、その頃といえばゲームソフトメーカーにそもそも「大企業」がなかった時代だから、そういうことも珍しくはなかったのだろう。

■ I am programmer's song

 ナイコン少年のうち運に恵まれた者なら、親にマイコンを買ってもらえもしたものだ。
 子供の情熱に根負けしたか、うっかり「これからの社会はマイコンも使えんといかんな」と思っちゃったか。もちろんお年玉をきっちり貯金した子供なりの努力もあったろう。中高生ともなればバイトに精を出す感心な若者もいただろう。ごめん僕そのころ小学生で、親に買ってもらったクチだからあんまり詳しくない。
 晴れて脱・ナイコンとなったら、分厚く技術的にすぎる説明書を読んでマシン独特のBASIC文法を憶える……のも大変なので、世の中にはプログラムリスト集というありがたい本が一杯あったのである。雑誌『マイコンBASICマガジン』なんかはもはや伝説の域だし、『プログラムポシェット』誌や『PiO』誌、ムック形式の本となると書ききれない、というか、憶えきれないぐらいだった。
 この手の本がどういう体裁をしているかというと、マシン別にゲームプログラムが載ってるのである。ゲームの紹介じゃなくて、プログラムが本当に載ってるのね。この数字とアルファベットのかたまりを写経のごとく打つとあら不思議、説明書きにある通りのゲームが自分のマイコンの中に! つまり他人の作ったプログラムを打っているわけで、言い換えるなら「手動でプログラムをロードしてるようなもの」と言っても間違いではないだろう。
 それだけでも一冊数百円で何本もミニゲームが手に入ってありがたいことではあるが、鍛え抜かれたマイコン少年にとっては立派な教本でもあった。

 一番安直な例としては、仮にゲームの主人公キャラが「¥」だったとしたら(これは僕のテキストエディタが強制終了したわけではなく、なにぶんショートプログラムだからして、本当にテキストベースで「¥」という文字が主人公グラフィックがわりということも多々あったのだ)、プログラムの中から「¥」と書いてある部分を探して「$」に書き換えてみたり。よーし、主人公キャラが「$」に変わったぞ。──ああ、なんて無意味! しかしまあ低レベルとはいえこれも一種のプログラム解析であり改造である。こんなに手軽に改造ができるのも、『こんにちはマイコン』から地続きでプログラムがBASICで書かれているおかげ。
 もうちょっと意味があるところだと、プレイヤーキャラ数を管理している部分を見つけて、いくらプレイヤーがやられてもゲームオーバーにならないように改造するというのもある。これもそれほど難しいことではない(たいていは)。プレイヤー数がゼロになったらゲームオーバー処理に切り替える部分がどこかにあるはずだからそこを丸ごと消したり、それともプレイヤー数が一番最初に決められている部分を「999」機に書き換えたり、その程度の問題だ。
 こういうことをしていると、当然ながらプログラムの中に自分の理解の及ばない部分というのも出てくる。なんだってここで無駄にしか思えないFOR~NEXTループが入ってるんだ? とかね。
 いくらプログラムを見返してもどこかの役に立ってるようには見えない。明らかにこの変数、他で参照されている気配がない。ええいとりあえずTOの数を10倍に増やしてみるか。これでためしに実行してみると……ん? ゲームの動作が極端に遅くなったぞ……ああそうか! スピードを制御するために! なるほど! と、ご存知の方は何が起きているのかなんとなくおわかりですね。こんな風にして自分のついぞ思いついたこともないテクニックに気付くこともある。
 時にはプログラムリスト集じたいに「ここがポイント!」と書いてある説明を読んで、長年の謎が突然にするりと氷解したり。あのプログラムで使われてた16進数の羅列ってグラフィックパターンだったのか!

 プログラムの中に自分の知らないコマンドが使われていたら、初めてそこでマニュアルを見て、ああやっぱり無機質なマニュアルの説明ではよくわからん、とりあえずこの数値を何の展望もなしに変更してみる、なんだこれ敵が異常な動きをするようになったぞ、とりあえず敵の移動に関係しているらしいことだけはわかったが……、という具合に試行錯誤もよくあること。理解できる時もあればまったく理解不能な時もあって、ここでどこまで不屈の根性を発揮できるか、幸運に恵まれるか、奇跡的ひらめきが訪れるか。意外に人生の分岐点になっている人も多そうだ。僕? 僕は三角関数に挫折したのが決定打だったかなあ……。もしもあの時、何かの本に「三角関数を使ったカーブ軌道のつくりかたサンプル」なんかが載っていてたまたま僕の目にとまっていれば、案外いまごろプログラマーの道を歩んでいたりするかもしれない。……それは、それで、ちょっと、大変そうだ。

 ……なんて思い出話を、僕はスマイルブームに遊びに行くたびに社長や年配のスタッフの人としては笑っていたんだけど、ある日スマイルブームに行ったら社長が笑いながら「こんなの作ってるんだけど」と妙なものを見せてきたのだった
 あんたねえ、これで「おっ」って思うのは僕らの世代の、言うなればオッサンしかいないでしょうが。と笑いながら忠告はしたんだけれどどうやら開発は進み、本当に販売されちゃうらしい。
 果たしてこれに食いつく若者は何人いるのか? いや、仮にオッサンが食い付くとしたって、当時ナイコン族なんてそもそも何人くらいいたんだ? 社長の無謀な(?)挑戦の結末やいかに! もし売れたら何かおごってね。

  • 1★「LOAD」と入力して市販ゲームを読み込む 「メディアを挿したら自動起動」したりしないのでいちいちコマンドを打ち込む必要がある、とも言える。こう言っちゃなんだがことごとくがややこしくできていたのだ。フロッピーディスク全盛期にはそうでもなくなったしシャープ系マシンといういろいろ難しい例外もあったけど……。
  • 2★読み飛ばしていただきたい 論理式もへったくれもないどころか例外処理もしてない上にCOM側の手さえ表示しないというひどいプログラムなのでかなり読む価値に欠けていると言わざるをえない。なお現在の僕自身の名誉のために、さすがに小学生当時の僕でももうちょっとはましなプログラムを書けたはずだとは言っておこう。本当だってば。
  • 3★ギャグテイストの強い本 深刻な英語アレルギーで根本的にプログラムに向いていない主人公が特訓の末、天才ライバル派粗困太郎ぱそ・こんたろうとプログラムの早打ち(制限時間内に何行の完動するプログラムを打ち込めるか、という感じの)で争うというのが大ざっぱなストーリー。学習マンガとしてはなかなか大胆な設定でしょ?
  • 4★デモソフト 現代ではすたれてしまったので説明が難しいが、マシンの性能をフルに活かしたスクリーンセーバーのようなもの……とでも思ってもらえばイメージはしやすいだろうか

コメント

べ、BASICって・・・!(^o^)
懐かしすぎ!・・・そう私はオッサン!まんまと食いついてしまった。LOADの前にMOTORじゃない?(^_^;)フロッピーの前にカセットテープだ。
MZを使ってテレビで紹介してた番組もあったなぁ。
アッセンブラも使わないとゲームのスピードも上がらなかったね。

私はNEC系だったので、N-Basic→N88からMS-DOS版N88に
Quick-BASIC,MS-BASICに、NECから離れて最後はHP-BASIC(計測器系)そのころ様々な言語も試したなぁ。

DOS/Vマシンにも昔懐かしいBASICを出してください。

関係ないですけど、プチコンのロゴと坊やが、マイコンBASICマガジンを意識していて笑えました。

当社グラフィッカーに「BASICっぽいかんじ」で発注したところ、あいまいな記憶だけで何も見ずに描いてきたのがあのロゴとイラストでした。ブリスター・ジョン氏は「僕ならもっとソックリに描けるのに……」と悔しそうに言っていましたが、それじゃダメだろ!

今小学六年で、買ってみたんですが結構面白いですねw

10 PRINT ”コンニチハ”;:GOTO 10
RUN

とか言うのはプチコンでは

GOTO @MENU
@MENU
PRINT ”コンニチハ”
IF BUTTON()==16 GOTO @16
IF BUTTON()--32 GOTO @32
@16
GOTO @MENU
@32
END

とかでソレっぽい物ができたり
これだとBボタン押さないと止まらないんですが
Aボタンが効かないのが謎…

しくしくマークが面白かつたです

$postmonth = mktime(17,46,30,2,22,2011); $nextmonth = $postmonth + 86400 * 60; if(time()<=$nextmonth){ echo '

コメントを送る



あの頃8ビット・マシンと

交信なう