ファミリーベーシックのひみつ(開発者・竹部隆司さんロングインタビュー付き)・発売40周年記念記事
ご注意:本記事は独自に調査および取材した内容を元に作成したものであり、有料コンテンツとして内容を保護しております。つきましては本記事の内容の転載についても無料閲覧可能部分を含め例外なく有償となりますのでご相談ください。
特に、SNS、ブログ記事、まとめサイトやWikiPediaなどの記事、archive.org 及び各種動画サイト(YouTube、ニコニコ動画、TikTok等)への内容の無断転載(引用含む)は固くお断りします。(※主にパクリサイトの作者に対しての注意書きです。ネタバレを含まないご感想は大歓迎です)
なお、無断パクり防止のため、ウル技ならぬウソ技が1つ紛れています。実害のないものですので、悪しからずご了承ください。
ファミリーベーシックとは
まずは基本から(型番、名称等、関連機器)
ファミリーコンピュータ専用ファミリーベーシックは、キーボードと専用カセットのセットで発売されました。ユーザーからは「ファミベ」または「ファミベー」の愛称でも呼ばれています。
名称:FAMILY BASIC / ファミリーベーシック
形式:HVC-BS(ファミリーベーシックセットとして)
希望小売価格:14,800円
セット内容:ファミリーベーシック専用カセット(形式:HVC-FB)、ファミリーコンピュータ™用キーボード(形式:HVC-007)、取扱説明書、キャラクタマップ(下敷き形状の厚紙)、問答集(中期以降出荷版のみ)
発売日:1984年6月21日(土)(ファミコン年表|ファミコン40周年記念サイトより)
また後日、別売で、ファミリーベーシック専用データレコーダが発売されました。
名称:DATA RECORDER / ファミリーベーシック専用データレコーダ
形式:HVC-008
希望小売価格:9,800円
製造元:松下電器産業株式会社(現・パナソニック株式会社)
セット内容:データレコーダ、接続ケーブル2本(赤・黒)、サンプルテープ、取扱説明書
発売日:1984年10月5日(金)(ファミコン年表|ファミコン40周年記念サイトより)
翌年の1985年には、プログラム用メモリが約2倍の4086バイトに増えた、ファミリーベーシックV3が発売されました。
名称:FAMILY BASIC V3 / ファミリーベーシックV3
形式:HVC-VT
希望小売価格:9,800円
セット内容:専用カセットV3、ハンドブック
発売日:1985年2月21日(木)(ファミコン年表|ファミコン40周年記念サイトより)
主な仕様
ファミリーベーシックのセットに付属のカセットには、以下のアプリケーションソフトが内蔵されています。
ゲームBASIC(GAME BASIC)
カリキュレータボード(CALCULATOR BOARD):計算。有効数字8桁となかなかの本格派
ミュージックボード(MUSIC BOARD):音楽演奏
メッセージボード(MESSAGE BOARD):メモ・伝言
コンピュータのうらない(バイオリズム占い):1868年(明治元年)から2924年(昭和999年)まで占える
なお、BASICインタープリタ(NS-HuBASIC)はハドソンソフト(HUDSON SOFT、以下、ハドソンと記す)社製ですが、それ以外のアプリケーションソフトは、ハドソン製ではありません。また、キャラクタROMデータもハドソン製ではありません。
また、ファミリーベーシックはファミリーコンピュータのソフトで、バッテリーバックアップ機能を持った初めてのカセットです。各種ボードのデータ、もしくはBASICのプログラムをバッテリーバックアップ機能により保存できます。なお、BG GRAPHICで作成した画面は直接VRAMにデータが書かれているため、V3以外ではバッテリーバックアップでの保存はできません。
以下、本稿ではGAME BASICのBASICインタープリタである、NS-HuBASICについて主に記載します。
ROMのバージョンによる違い
発売当初(1984年6月)にファミリーベーシックセットに同梱されていた専用カセットのNS-HuBASICのバージョンはV1.0でしたが、その後、指定した位置のBGキャラクタを取得できる「SCR$」関数が追加されたバージョン(V2.0A)に専用カセット及び取扱説明書が変更されて出荷されています。その後さらに、V2.0A以前のバージョンにあった一部のバグが修正されたV2.1Aに変更されて出荷されています。
バージョン1.0
発売初期のバージョン。発売日は1984年6月21日とされている。
フリーエリアは1983バイトと表示される。
バージョン2.0A
1984年9月に筆者が購入のセットには既にV2.0Aが同梱されていた。
BG画面のキャラクターコードを取得するSCR$関数が実装された。
フリーエリアはV1.0より1バイト減った1982バイトと表示される。
ファミコン起動時(リセットボタン押下)に、キーボードの「T」キーを押していることで、冒頭のピコピコ儀式をスキップして、直接GAME BASICを開始する、いわゆるクイックスタートを行うことができるようになった。
バージョン2.1A
1985年1月購入のセットにはV2.1Aが同梱されていたとの証言あり。
(@tacosan22044698 さんのツイート参照)V2.0A以前のバージョンにあるバグ(後述)が修正されたバージョン。
フリーエリアの表示は1982バイトのまま。
バグに関する「任天堂のファミリーコンピュータ・ファミリーベーシックがわかる本」の掲載プログラムを作成された高橋名人の証言(ブログ)
バージョン3.0
GAME BASICのみが搭載され、カリキュレータボード、ミュージックボード、メッセージボード等が廃止された。
起動をすると、すぐに「NS-HuBASIC V3.0」が表示され、BASICインタープリタが開始される。
下記の命令・コマンド・関数が追加された。
AUTO, BACKUP. BGGET, BGPUT, BGTOOL, CAN, CLICK, CLS(引数追加), CRASH, DELETE, ERL, ERR, ERROR, FIND, FILTER, GAME, INSTR, LOADS, ON ERROR GOTO, RENUM, RESUM, SAVES, SCREEN, TRON, TROFF, VCT
V2.1Aまでで発生するバグ(後述)がいくつか修正された。
BASICプログラムコードの内部表現が一部変更された(後述)。
これにより、V2と全く同じプログラムでも、V3のほうが省メモリとなる場合がある。
ユーザーRAMを含むメモリマップが変更された。
マシン語プログラムを書く際、およびAPUで鳴らす音の音階テーブル(プログラムROM上にある)を引く際などは、V1/V2であるか、それともV3であるかを意識する必要がある。プログラムでV3か否かを判定することは可能(後述)。
ファミリーコンピュータ本体にキーボードを接続せずに起動した場合に、これまでのバージョンでは画面がグレーアウトなどで止まったままの状態となるが、V3では、「キーボード ヲ セツゾク シテクダサイ」とメッセージが表示されるようになった。
中古等でファミリーベーシックの黒いカセット(V1.0, V2.0A, V2.1A)単体で手に入れた人は、キーボードを接続せずに動作確認を行おうとして「起動できない」と勘違いをされることが多かったようだ。
おまけ:PLAYBOX BASIC(バージョン1.0)
シャープ製のファミコン内蔵テレビ「マイコンピュータテレビC1」向けに製造されたベーシック「PLAYBOX BASIC」付属の専用カセット。型式はRMEMA0015CESA。
専用キーボード「MY COMPUTER KEYBOARD AN-320」とのセットで発売された。
「メッセージボード」アプリケーションの代わりに「バイオリズムボード」が搭載されている。
NS-HuBASICのバージョンは1.0であり、BASICの仕様はファミリーベーシック専用カセットのバージョン1.0と同じであるが、起動時に表示される著作権表記が「SHARP/NINTENDO/HUDSON」の順番で表示される。また、カセット表面のラベルの著作権表記も「SHARP-NINTENDO-HuBASIC」の順番である。(偽なすか@naska88va2 さんのツイート参照)
ファミリーベーシックでは「NINTENDO/SHARP/HUDSON」の順。NS-HuBASICのNはNintendo、SはSHARP、HuはHudsonを示している。
ここから先は有料部分ですが、目次で示している内容が気になるような方には、ファミリーベーシックのBASICインタプリタ(NS-HuBASIC)の開発者である竹部隆司さんへの特別インタビュー部分(およそ2万字)だけでもそれだけの価値があると思いますので、よろしければぜひご覧くださいね。(基本的には内容の剽窃等を防止するための有料化なのですが、もし20部売れたら、旨いお酒を竹部さんに贈ります!)
ファミリーベーシックのひみつ
V2.1Aで修正されたバグの正体
ここから先は
¥ 500
この記事が気に入ったらサポートをしてみませんか?