ファミリーベーシックとAPPLE ][
マエガキ
Ⅱではなく、IIでもなくあえて“APPLE ][“と表記しているのには理由がある。
最初期のAPPLE ⅡのⅡの表記は“][“だったのだ。
これを誰がやったのかはわからないが、BIOSを書いたのはウォズニアクなのが間違いないので”][“と書いたのはウォズなのだろう。
この表記は1980年ぐらいまでしか使われておらず、1981年のPRODOSあたりでは”II”と表記されている。
ついでに書くとAPPLE III時代の”IIe”なんかはAPPLE “///”に合わせて”//e”と表記されていたりもするのだけど、ともかく70年代はほぼ“][“と表記されている。
そして、これはそのオリジナル”APPLE ][“のそれもウォズニアクが書いたものに関係する話なので、”APPLE ][“と表記しているわけだ。
というわけで本編。
ファミリーベーシック開発史・現在の決定版
『さよなら、ハドソン』で書いた、若干時期は間違っていたけれど、だいたい正しかった長めの開発史と『ハドソン伝説・ファミコン編』で書いた短いけど、精度が高いテキストを合体して、『ハドソン伝説』ではちょっと書けなかった長さでまず開発史を説明したい。
誰も覚えていないので正確なところはわからないのだけど、1982-83年初頭のどこか…ただし、シャープの矢板工場に工藤副社長が挨拶にいったとき話が始まったと聞いているので、83年正月だったのだろうと想像している。
ともかく矢板で「ウチのお得意さんでBASICを作ってほしいって言ってるところがあるんだけど、作ってやってくれない?」と頼まれる。
このお得意さんが任天堂で、BASICを作って欲しかったハードがファミリーコンピュータ。
どうして任天堂さんがBASICを欲しがったのかというと、当時はパソコンというと電源を入れればBASICが動くのが当たり前だったので、ウチにもBASICありますよ、本格的なコンピュータなんですよ、お子様の学習にも使えますよ、ホームコンピュータとしてどうですか? というポーズをとるために必要だったのだろう。
このあたりは、当時の人なら「そりゃあBASICいるでしょう」って会話になると理解できるだろうけれど、今の人には感覚としては掴めないよなあと思う。
この話をもちろんハドソンは請けることになり、ファミコンがほぼ完成した1983年の4-6月のどこかで、竹部さんは任天堂に赴いて、豪華なレクチャーを受けたのち、ファミリーBASICを書き始める。
竹部さんが開発を始める時に、任天堂から汎用LSIで作られたディスクリート基板のファミコン(ファミコンエミュレータと呼ばれていたらしい)を借りていることから、ファミコンの発売前だとわかるので83年4-6月のどこからへんだろうとわかる。
また竹部さんはファミリーBASICが終わってヒマだったので『ロードランナー』のアートをやったと証言しているのだけど、『ロードランナー』は84年1月から開発開始なので、竹部さんがドットを打ったのは84年1月であろうことがわかる。つまり83年内で、だいたい開発は終わっていたと想像がつく。
■竹部さんの証言
開発期間はよく憶えていませんが、多分半年ぐらい。インタープリタのコア自体は3か月ぐらいで動いていたと思います。
上の証言から合わせて考えると、ファミリーBASICは83年の4-6月のどこかで開発がスタートし、83年末~84年初頭にはマスターを納品してチェック待ち(任天堂さんの都合や見つかったバグによる修正)だと考えると、時間的に極めて整合が取れているので、ほぼ間違いないだろうとわかる。
竹部さんは開発初期にはファミコンエミュレータを使っていたのだけど、あまりに使いにくいもので、岡田さんと中本さんにボヤいたのか、それとも頼んだのかして出来上がったのが、ハドソンの自家製のファミコン開発機。つまり、開発の途中からハドソン製の開発機で開発していたわけだ。
■ハドソン関係者
開発機については、最初は任天堂から借りたんだけど、あまりにもダサいので、ファミコンにROMエミュを作って開発してたっけ。
SRAMベースのROMエミュなんだけど、書き込みは8255ボードにパラレルでつないでROM流し込んで実行していたっけ。しかも、ほとんど手製で半田付けも自分でやったよ。
■竹部さんの証言
後に伝統(?)となる手配線のROMエミュレーターを作ってもらいました。
X1のパラレルポートのボード経由でHEXファイルをROMエミュにダウンロードしてました。
開発環境はX1に確か5MBのHDDを繋ぎ、CP/Mを動かしていました。
アセンブラはACT65です。
エディタはPMATE(PhoenixSoftware製)をX1用にカスタマイズ。
この開発機はファミコンの実機を使うので、作り出したのがファミコン発売以降、つまり83年7月以降だとわかる。どれぐらいで開発機を開発出来たのかはわからないが、当時の規模感から考えれば1-2カ月程度だろうと思われる。
言い換えると83年9月頃にはハドソン製の開発機に移行していたのではないかと判断している。
どうしてこう思うのかには一応理由はある。正直、記憶が古すぎて期間が曖昧ではあるのだけど「コア部分は3か月程度で完成した」と竹部さんは表現していて、なんとなくそのあたりに区切りがあったのだろうという感じがする。そして5-6月からスタートしているとすると、8-9月あたりにコアが完成していたという話になり、この時、ハドソン製の開発ハードに環境を移行したんだと考えると区切感の理由がわかるなあと思うのだ。
ただし、これは明らかに推測なのははっきりとさせておきたい。
なんにしても、これで「最初のうちは任天堂から借りていた」証言と整合が取れ、そして83年秋にハドソン製の開発機が出来て、竹部さんがあまりに使いにくく閉口した任天堂製の開発機から開発環境を移行させたという話とも整合が取れる。
そして、このハドソン製の開発機で、そのまま『ロードランナー』と『ナッツ&ミルク』が書かれるわけだけど、ここに歴史の綾がある。
もし、任天堂製の開発機が使いやすかったら、ハドソン製の開発機が作られることはなかった可能性がある。
そしてそれはすなわちハドソンのサードパーティへの参入が遅くなったことを意味する。
その場合には、ハドソンが生産委託契約をせずに、ナムコさんが直販の強面までやりながらサードパーティに参加することになり、今と全く違った市場が出来上がっていた可能性がある。
全くもって大きなゲームの歴史の分岐点だ。
と、まあそんなifの話はともかくとして、このファミリーベーシックの開発の中でよくわからないことが一つあった。それはこの『さよならハドソン』の時もらった証言だった。
■ハドソン関係者
私が入社した頃は麹町に会社があったのだけど、なぜかDECのPDP11があったり、86用のかなり大きな開発機MDS80?があって竹部さんがOKIのHu-BASICを作ってました
その当時としてはかなり最先端の機材がありました
■ハドソン関係者
竹部さんが作っていたけどMDS80からPC9801に持って行って作っていたと思う。
毎回ROMを焼いて差し込んで実行していたんじゃ無かったかな?
さすがに記憶がいい加減なんだ。
■ハドソン関係者
同じ時期にHuX-883という8088のワンボードマイコンを東京支社で作った(岡田さん設計)。
それにもBASICを乗せようということで、竹部さんがあっという間に書き上げた。
ということで当時、彼は2つのBASICを書いたわけだね。
■ハドソン関係者
竹部さんはその直前にHu-BASICの8086版をJRC向けに移植する仕事をしていたので、そのリソースを使って6502版を作ったんだよ。
ファミリーBASICは竹部さん自らX1で書いたと言っているので、MDS80で書いたものではない。
つまり上の証言の中の「MDSで書いていた気がする」は記憶違いだったことがわかる。
だが様々な発言からなにやら時期が近いのは確かだ。
では、MDS80で書かれていた8086用のHu-BASICはファミリーBASICに影響を与えていたのか? と、疑問があったのだけど、なんと献本したらしばらくして、竹部さんからメールがやってきて、この謎が解明された。
■竹部さんの証言
今さらファミリーベーシックの件で思い出したことですが…すみません…(^^;
当時MDS-80を使って8086のBASICを作っていましたが、ファミコンへのソースの移植はなかったです。
CPUのアーキテクチャは違いますしメモリーサイズも異なるので、フルスクラッチで書いてました。
持って行ったのはインタプリタ構造の概念だけですね。
特にスタックが256バイトしかないところで、タスクのスイッチングを行っていたので、このあたりが苦労ポイントだったりします。笑
というわけで、上の証言にあったMDS80を使った8086のBASICとファミリーBASICの間には直接の関係はないことが明らかになった。
つまりリソースを使って作った、というのは時期が近いことによる勘違いだったわけだ。
ところで6502というCPUはPET-2001やAPPLE][に使われていたのはともかくとして、間違っても日本ではメジャーなCPUではなかった。
1983年当時、日本でパソコンと言えばZ80だし、アーケードゲームでもたいていZ80で、それ以外と言えば富士通がFMシリーズで採用していた6809ぐらいのものだった。
で、竹部さんはいつごろ6502を覚えたのだろうというのには興味があったのだけど、それも同じメールで教えていただいた。
■竹部さんの証言
6502のコードを初めてみたのはAppleIIのウォズニアック氏の書いたROMのアセンブルリストです。
AppleIIのマニュアル(赤本)にはROMの全ソースが公開されていましたのでこのコードは随分と読みました。
ウォズニアック氏には会ったことはありませんが私の心の師匠です。笑
(AppleIIを手に入れたのは大学4年後半だったはず)
なので6502は意外と早く触れていたこともあり、思い返すとファミリーベーシックの開発をやらされたのは必然っぽかったのかと思います…。
つまり、竹部さんはAPPLE][を手に入れて、ウォズニアクのコードを読んでいた。
そして多分いろいろプログラムも書いていた。
だから6502は書けたので、ファミリーBASICを書くことになったわけだ。
そして、このAPPLE ][のマニュアル、赤本が、この記事のカバーで使われている画像。
この赤本にはBIOSの全ソースコードが掲載されていて(なおBASICは掲載されていない)、まさにウォズニアクの6502の全テクニックが入っている、ある種の6502のバイブルのようなものだった。
だから竹部さんが、師匠というのも本当だなあと思うのである。
黎明期のパソコン業界やゲーム業界では、このようにして歴史が出来ていったわけである。
なお、ここらへんの竹部さんやイロイロな人の証言は、全部まとめて『ハドソン伝説・ファミコン編PLUS』って本にするつもり。
ハドソン伝説既刊。BEEPさん・とらのあなさん・メロンブックスさんで委託しています。BEEPさんでは描き下ろしのイラスト+コラムの特典ペーパーがつきます。
1件のコメント
コメントは現在停止中です。
故岩田聡さんとか、6502経験者が歴史を切り開いていったのですね。