ファミリーベーシック (FAMILY BASIC)は、任天堂 が1984年 6月21日 に発売したファミリーコンピュータ 用の「プログラミング環境」である。BASIC 言語を組み込んだロムカセット と、ファミコン本体のエキスパンドコネクタに接続する周辺機器 としてのキーボード、プログラミング教本の3点がセットになっている[ 2] 。
概要
ロムカセットとキーボードの2点をファミコン本体に接続することにより、BASIC の文法に基づいた簡単なゲーム プログラム を自作することができるようになる[ 3] 。組み込まれているプログラミング言語 の固有称は、ハドソン 開発のHu-BASIC を元に、任天堂、シャープ との3社共同開発だったことから頭文字を付け、「NS-Hu BASIC 」とした。ただし、最終的にはファミコンに大幅に特化したため、パソコン用のHu-BASICとは大きく異なる[ 4] 。
プログラム実行のために使えるメモリ 容量は1,982バイト 、バージョンアップ版の「ファミリーベーシックV3 」では4,086バイトであり、カートリッジ内にSRAM で実装され、乾電池によってバックアップすることが可能になっている。
キーボード の配列は、アルファベット に関しては現在のパソコンやタイプライター と同様のいわゆる「QWERTY配列 」だったが、カナ配列に関しては現在のパソコンで主流のJISキーボード と異なり、五十音順に並んでいる[ 注釈 1] 。
ハードウェア
この節の
加筆 が望まれています。
(2022年1月 )
機能
専用データレコーダ(松下電器産業 (後のパナソニック )のOEM 製品)
「ゲーム制作体験のためのBASIC 」という方向性とそのハードウェア仕様によって、一般的なBASICとは異なる部分を多く含む。
メインモードであるGAME BASICモード でゲームプログラミングを行う。それ以外にも計算式入力による電卓 機能の“カリキュレータボード”、音階入力による音楽制作機能の“ミュージックボード”、ワードプロセッサ のような機能を持つ“メッセージボード”、バイオリズム に基づいた簡単な占いと生誕からの総経過日数の算出をする“占い ”の4つの機能が内蔵された。
また、各モードに移行するイントロダクション画面もまるでコンピュータが話しかけてくれるような親しみやすい画面に作られている。
GAME BASICモードでは整数 演算 のみで小数点 以下切り捨て、扱うことのできる整数の範囲も-32768から+32767まで、文字列の長さは31文字まで、ドット描画機能なしといった機能制限がある。その一方で、あらかじめ定義されているキャラクター群を自由に組み合わせることにより非常に簡単にスプライト キャラクターや背景画を作ることができ、煩雑で面倒になりがちな作業を一手に引き受ける簡易性がファミリーベーシックの大きな特徴となっている。ステートメント や関数 など、必要となる標準的なBASIC言語命令も大方備わっている他、直線的な動きであれば簡単にスプライトキャラクターを定義し動かせる MOVE
命令など、独自の命令が多数備わっている。
プログラム自体はROMカートリッジに一時的に記録できる他、データの保存(SAVE
)および保存したデータの読み込み(LOAD
)にはカセットテープ を使用する。テープへの読み書きには別売りの専用データレコーダもしくはモノラル 録音再生のテープレコーダが必要となる。この機能は市販ゲームプレイ時にキーボードとデータレコーダを接続することで、自作ステージデータ、セーブデータの保存用ツールとして応用された。
データレコーダ対応ソフト
バージョン
4つのバージョンが存在することが確認されている。V1.0 のバージョンアップ版である V2.0A および V2.1A は出荷時期の違いによる差異であり、単体発売されていない。また、ROMカセット の色は黒 が基本だが、V3.0 のみワインレッド 色 の外装で成型されている。
V1.0
最初に発売されたバージョン。
V2.0A
SCR$
関数が追加。
V2.1A
V2.0Aのバグ が除かれたものとされる。
V3.0
『ファミリーベーシックV3 』として、1985年 2月21日 にカセットが単体発売された。メモリ容量拡張のためGAME BASICモードに完全に特化しており、イントロダクション画面なども省略され、直接BASICの画面が起動する。CRASH
、AUTO
、ON ERROR GOTO
など多数の新規命令が追加。サンプルプログラムも4つのゲーム が収録されており、BASICの命令によりRAMに呼び出すことができる。
サンプルプログラムとして収録されたのは、以下の4つである。GAME 1 とGAME 2 は、BGグラフィックをエディタで編集することで、簡単にステージを改造できる。
GAME 0
ハート (コントローラIIのマイクに息または声を入力し、画面上のハートマークを塗りつぶして完成させるゲーム)
GAME 1
ペンペン迷路 (ペンギンを操作し、カニさんを避けながら、格子状の道に配置された数字を順番に拾っていく)
GAME 2
マリオワールド (マリオを左右移動・ジャンプ・はしごの昇降で操作して、ニタニタに触れないように落ちているリンゴと数字を拾う。数字は順番に拾わないと得点にならない)
GAME 3
スターキラー (自機を8方向に移動させて操作するシューティングゲーム。2人同時プレイも可能。スクロールはしないが、画面の上下左右がつながっている)
問題点
背の高い専用カセットに電池をセットしなければならず、非常に不安定である。
頻繁な抜き差しによってファミコン本体のROMカセット接続部が緩んでいる場合、ベーシック用ROMカセット に指 が触れた途端にフリーズ しデータ が失なわれる事態が頻発した。ベーシック用ROMカセットは一般的なゲームカセットに比べ約2倍の高さがあり、加えてバックアップ 用の電池 ケース部位がカセット上方にあり乾電池 を入れている場合重心 が非常に高くなることや、バックアップ用のスイッチ が手動であり、これを操作するためにはカセット に触れる必要があることなどもデータ損失の誘引と考えられる。当時はロムカセット用の接点復活剤 が普及していなかった。
キャラクタセットはROMにあらかじめ定義され変更できず、用意されたキャラクタの分割、反転などによってパーツ単位で再生成するなどの工夫を迫られ、ピクセル単位での描画機能はグラフィックスプレーンを持たずBGプレーンしかないファミコンの仕様と、そのパターンが前述のとおりROMに定義されている仕様から不可能であった。元々多くをROM上に置く設計であったため、本体側の主記憶も少なくカートリッジ上の物を足しても実際にプログラムを書き込める容量が少ないため、簡素なゲームプログラミングしかできなかった[ 3] 。4つのその他機能を排してゲームプログラミング用にメモリ容量を確保したV3に至っても機能的には十分ではなかった。そのためスタックエリアの一部、BASIC自身が使うワークエリアの一部、VRAMの一部まで活用された。さらにハードウェア的に改造を行い、メインメモリであるSRAMを大きな容量のものと交換する試みもユーザによって行われた[ 5] 。ワークエリアの書き換えによりBASICからも純正品と同じように4KiB弱まで利用でき、残りのエリアもバスに接続されていればCPUからは認識することが可能で、電池によってバックアップもされる。
素直に記述したBASICのプログラムでは遊べるゲームを作ることは困難であった[ 6] が、コンシューマ機用のツールで削除されがちなPEEK
、POKE
、CALL
などメモリに直接アクセス可能にする命令もあり、機械語を駆使してファミコンの機能を引き出したゲームも存在している。これに関しての詳細や応用の仕方はセット添付の取扱説明書や公式の解説書には書かれていないが、当時のファミコン雑誌やゲームプログラミング雑誌では、ファミリーベーシック自作ゲーム投稿コーナーなどでこれを用いた様々な応用法が紹介された。それら媒体や活用例の流布がコアなユーザーへ情報として伝わった。前述の通り公式に利用可能なメモリは少なく、プログラム自体も可読性よりも密度を重視したものが多く作られ、省略可能なセパレータ、スペース、命令、コメント、同一変数の使いまわしなど、削れるものは削りバイナリデータのベタ書きなど、処理を押し込む工夫が見られた。
その他
脚注
注釈
出典
関連項目
プラットフォーム
その他 ゲームソフト
周辺機器
FC SFC N64 GC Wii/Wii U GB/GBA DS/3DS Switch/Switch 2
システムアップデート 互換機
主な製品
据置型
携帯型
ハイブリッド型
アーケードゲーム 業務用ゲーム テーブルゲーム 玩具 その他
主なサービス
ソフト書き換えサービス 試遊台 ダウンロード販売 ネットワークサービス コミュニケーション インターネット番組 映像配信サービス ウェブブラウザ イベント 会員サービス その他
歴代社長 代表取締役 ゲームクリエイター 作曲家 Nintendo of America 関連人物
関連項目
任天堂ハード専門誌 関連書籍シリーズ スポーツ 関連施設 一社提供番組 訴訟 その他