2019年02月21日の日記です


ファミリーベーシック V3(1985) ディスクシステム(1986)の発売日  2019-02-21 18:58:21  コンピュータ 今日は何の日

今日、2月21日は、ファミリーコンピューター向け周辺機器、ファミリーベーシック V3 (1985) と、ディスクシステム (1986) の発売日。


ファミコンのソフトは山ほどあるので、いちいちその発売日を「今日は何の日」で扱おうとは思わないのですが、V3 は思い入れがあるので別格です。


もっとも、本来ならいきなり V3 ではなく、ファミリーベーシックの発売日 (1984/6/21) を取り上げるべきですね…。

いろいろ探したのですが、2月21日にいいネタが見当たらなかっただけでもあります。


ディスクは、たまたま同日だったので一緒に紹介。

まぁ、あとでファミベと絡めた話もしますが。




一応、取り上げたからには語りましょう。

この WEB サイトの、一番最初に作られたページが「ファミリーベーシック」の紹介だったのですが。


ファミリーコンピューター自体、1983年の発売なので、今となっては「生まれる前に流行したんでしょ?」という認識の人も多いでしょう。

任天堂は、今でも Switch でファミコンのゲームを配信していたり、ファミコンミニ作ったりしていますが、まぁ、昔遊んだ人の思い出補正がなければ、今更遊ぶほどのものでもありません。



当時は、「RAM」がまだ非常に高価だったんですよ…


ファミコンは、4Kbyte の SRAM を搭載しています。


SRAM と DRAM では、SRAM の方が高価なのですが、「安くしたい」はずのファミコンは、なぜか SRAM を使用している。

おそらく、ここで SRAM を使用することで、周辺回路を減らせるので、全体としてはむしろ安くなったんでしょうね。


DRAM は、安い代わりに「しばらくすると記憶した内容を忘れてしまう」 RAM で、時々読み出して書き込む、リフレッシュという動作が必要でした。


そして、この動作は、CPU のメモリアクセスとぶつからないように処理する必要がありました。

なので、リフレッシュ動作を行う周辺回路を作らないといけないことを考えると、高価な SRAM を使った方が安い場合もあったのです。



とはいえ、当時のライバルである、セガ SG-1000 とか、ソード M5 とか、MSX とかは、DRAM を使用していました。

これは、どういうことかというと、CPU に Z80 を使用していたから。


Z80 は、DRAM リフレッシュ回路を内蔵しているのです。

ファミコンの CPU は 6502 (のカスタム品)で、こちらはリフレッシュ回路を持ちません。




さて、4Kbyte の SRAM の内、半分の 2Kbyte は画面表示用の VRAM。


すると、残りは 2Kbyte ですが、CPU である 6502 の「決まりごと」により、256byte はスタック用。

そして、256byte は、計算の途中結果などを保持するワーク用。


先に、2Kbyte の VRAM と書きましたが、これは BG 用です。

スプライト用のメモリは、画面表示用の LSI 側に内蔵されていました。


とはいえ、これは「今表示している」分のメモリ。

ゲームを作るときというのは、今表示している画面用のメモリとは別に、「次に表示する」ためのメモリを用意するのが普通です。

そして、そのメモリは用意されていません。


なので、通常の RAM 上に、次画面スプライト配置用のメモリ確保が必須でした。

このために、256byte 必要です。



都合、2Kbyte のメモリの内、256byte * 3 は使用用途が決まっています。

自由に使えるメモリは、1280byte しかありません。


# 1Kbyte = 1024byte です。


たったこれだけのメモリの中で、あれだけ多彩なゲーム世界を作り上げていたのです。

称賛に値します。




…と、ファミコンの話ではなく、ファミリーベーシックの話でした。


この、たった 1280byte しか存在しないメモリの中で、BASIC のプログラムを記憶し、変数を記憶し、動作させることができるのか? といえば、当然できません。


そのため、ファミリーベーシックでは、カートリッジの中に 2Kbyte の SRAM を搭載していました。


でも、これが全然足りない。

…というか、微妙な線で、ゲームを作ろうと思うと「それらしい」形にはなるのですが、作るのが面白くなってきたころにメモリオーバー。


もっとも、そうなったら仕方なく次のゲームを作り始めるしかないので、必然的にたくさんのゲームを作ることになります。

(プログラムが得意な子であれば)


僕の場合、これでずいぶん作り散らかして、プログラムの基礎を学べたように思います。




さて、標準の BASIC カートリッジは、まず、発売時についていた V1 。バージョン1ですね。


ゲームのプログラムと別に、背景をデザインすることができました。


先に、ファミコン本体に 2Kbyte の VRAM を持っている、と書きましたが、画面は半分の 1Kbyte で構成できるようになっています。

もう一画面は、「裏画面」。


ベーシックでプログラム中、当たり前なのですが、プログラムリストの表示に画面を使います。

しかし、2画面あるので、その間も「デザインした背景」は置いてあるのです。


そして、命令一発で、あらかじめデザインした背景を画面に表示できます。

裏画面から表画面にコピーする命令なのですね。


プログラムは 2Kbyte しか作れなくても、1Kbyte 分の画面を瞬時に表示できる機能があるのです。

これで、ちょっと華やかな見た目のゲームを作れました。



でも、この背景、ただの背景なんですね。

迷路を作ってゲームの中に活かしたりはできません。



そこで、改良されたのが V2 。背景に何が書かれているか調べる、という、たった1命令が追加されています。

たった1命令ですが、作れるゲームの幅がずっと広がりました。


この後、V2.1A というのもあるのですが、これはバグを修正したバージョンだそうです。



僕は、ファミリーベーシックは発売してすぐに買ったので、V1 カートリッジを持っていたのですが、後で V2 の存在を知って任天堂に電話したところ、片道送料負担のみで交換してもらえました。

これで入手したカートリッジは、2.1A でした。




そして、「別売り」になった、V3 の登場です。


ファミリーベーシックには、親しんでもらうために、ベーシック以外にも音楽演奏やバイオリズム占いの機能がありました。


これらのプログラムをなくし、空いたメモリに SRAM を増設しています。

それまでの 2Kbyte から、一気に倍の 4Kbyte へ。


先にか聞いた通り、当時はまだ SRAM は高価でした。

V3 は、カートリッジだけで 9800円しました。


#ファミコン本体が 14800円、ファミリーベーシックも 14800円でした。


RAM が増えただけでなく、命令も増えています。

特に、プログラム「作成」を支援してくれる命令が増えたのはありがたいものでした。


(それまでは、デバッガも、まともなエディタもなしにプログラムを作っているようなものでした)



…でも、4Kbyte なんて、すぐに「少ない」と思うようになる程度のメモリなんですけどね。

当時でも、MSX は 32Kbyte 使えましたから。


#もっとも、セガのゲーム機用にも BASIC はあって、こちらは最低 512byte だった。

 4Kbyte を狭いなんて言うと、セガユーザーに怒られてしまう。




さて、「4Kbyte が狭い」と感じていたら、翌年にはディスクシステムが登場します。


ディスクシステムのカートリッジ内には、32+8Kbyte の RAM を持っています。

これをディスクのデータで書き換えながら動作する仕組み。


32Kbyte はプログラム用で、8Kbyte は画像用ですね。

ファミリーベーシックでは、キャラクタは ROM で、書き換えられませんでした。


しかし、ディスクでは当然のことながら、キャラクタも書き換えてゲームを作れます。



そして、ファミリーベーシックとディスクシステムを駆使して、「ディスクベーシック」を作ってしまった人がいるのですね。

当時の雑誌(バックアップ活用テクニック)に掲載されていました。


ファミリーベーシックで小さな簡単なプログラムを作ります。

このプログラムは、ベーシックのシステムプログラム(ROM)領域を、カセットテープに保存します。


#当時は、カセットテープにデータを保存するのは普通で、ファミリーベーシックにもその機能がありました。



次いで、ディスク用の「トンカチエディター」(非ライセンス商品ですが、市販品)を使います。

これは、ディスクシステムに読み込ませて「ディスク内容を好きなように書き換えられる」プログラム。


普通はゲーム改造して遊ぶのに使うのですが、16進数を延々と入力し、小さなプログラムを作ります。

これは、カセットテープからデータを読み込み、ディスクに書き込むためのプログラム。


つまり、先にカセットテープに保存したベーシックのシステムを、ディスクに書き込むわけです。

これで、「ディスクシステム上で動くファミリーベーシック」が出来上がります。


ここから、さらに改造を加えます。

メモリ内容は BASIC でも書き換えられるので、ここからはファミリーベーシックで改造できます。

(トンカチエディタは、ファミコンのジョイパッドで 16進入力を行うので、とにかく使いづらいものでした)



たしか、プログラムで使えるメモリを 16Kbyte 程度に増やしたうえで、最終的に、ディスクにセーブ・ロードできるベーシックになっていました。

(ただし、セーブ・ロードできるプログラムは1つだけ)


さらに、この BASIC ではキャラクタ ROM の書き換えも行えます。



これ、ハードウェア改造なしで、ソフトだけで全部できてしまう、というのがすごいところ。

あこがれたなぁ。欲しかった。


でも、トンカチエディターをこれだけのために買う気はしなかったし、やりませんでした。

改造ベーシックでゲーム作っても、ベーマガに投稿できないしね。





同じテーマの日記(最近の一覧)

コンピュータ

今日は何の日

別年同日の日記

16年 おゆうぎ会

17年 在庫処分


申し訳ありませんが、現在意見投稿をできない状態にしています


戻る
トップページへ

-- share --

0000

-- follow --




- Reverse Link -