トップQs
タイムライン
チャット
視点

ROM-BASIC

ウィキペディアから

Remove ads

ROM-BASIC(ロムベーシック)は、BASICを提供方法で分類した分類名であり、ROMに書き込まれたスタンドアロンBASICである。ROMモードBASICとも。1980年代の8ビットパーソナルコンピュータのほとんどと、初期の16ビットパーソナルコンピュータに搭載されていたものである。

ROM-BASICという用語は、基本的には、補助記憶装置コンパクトカセットからBASIC(の処理系)をシステム起動時にロードして使用するもの(Casette BASIC)やフロッピーディスクからロードするもの(Disk BASIC)と対比していう。そのほか、フロッピーディスクを利用できるように機能拡張したという意味でのDISK-BASICと対比していう場合とがある。(つまり、当時は「Disk BASIC」という用語は曖昧で、"ディスクから起動するBASIC"という意味で使うメーカーと、「フロッピーディスクを操作できるBASIC」という意味で使うメーカーがあった)

Remove ads

概要

ROM-BASICは、プログラムを編集する、プログラムをコンパクトカセットにセーブ・ロードする、プログラムを実行・停止するという、OSのごく基本的な機能も備えており、CP/MやMS-DOS等のOSが普及する以前にはごく簡便なOSとしての役割も担った。

パーソナルコンピュータにサウンド機能やグラフィック機能を備えたものでは、それをサポートする命令も備えていた。

なお、シャープのMZシリーズは、クリーン設計が特長で、意図的にROM-BASICの採用を避けた。#ROM-BASICを避ける設計

歴史

要約
視点
ROM-BASIC以前

黎明期のマイクロコンピュータであり1974年12月発売のAltair 8800では、Altair BASIC紙テープの形で提供され、起動時に端末ASR-33でロードを命令した。つまりこれはROM-BASICではなかった。1976年4月に発売したApple Iは当初BASICが無く、半年後の9月にスティーブ・ウォズニアックが開発したen:Integer BASICコンパクトカセットテープで提供され、テープレコーダなどからロードして使えるようになった。これもROM-BASICではなかった。

ROM-BASICの歴史

1976年にフランスで発売となったMicral Micromel 80-22がROM-BASICを搭載した。(これがおそらく世界で最初のROM-BASICだとされている)

1977年発売のApple IIではスティーブ・ウォズニアックが開発したen:Integer BASICがROM-BASICで標準搭載され、引き続きMicrosoftがApple II向けに開発した10KByte BASICも同様だった。1977年8月発売のTRS-80も初期バージョンからROM-BASICを搭載。1977年末から翌年初頭にかけて発売されたCommodore PET(PET 2001)もROM-BASICを搭載していた。ユーザがBASICで作成したプログラムは、データレコーダコンパクトカセットでセーブやロードを行えた。1979年発売のAtari 400, Atari 800もAtari BASICをROM-BASICの形で搭載し、TI-99/4Aも同様であった。こうしてROM-BASICが定着し、Commodore VIC-20Commodore 64(C64)も同様でMicrosoft BASICをROM BASICで搭載(なおC64はベストセラーとなり世界で推定1700万台売れた)。

日本では1976年にワンボード形式で「トレーニングキット」TK-80が発売となったが、これのプログラミングは機械語でするもの(紙の上でニーモニックでプログラミングしてハンドアセンブルして16進数で入力するもの)で、ROM-BASICは非搭載であった。だが1977年11月にオプションとしてROM-BASICのキット(TK-80BS BASIC Station)が発売となった。日立が1978年9月に発売したベーシックマスター(MB6880)は最初からROM-BASICを標準搭載していた。

この段階で、ROM-BASICを意図的に避けるマシンが登場した。MZ-80Kに始まるシャープのMZ-80シリーズは「クリーン設計」を謳い、意図的にROM-BASICを避けたことで、サードパーティのBASICも利用したり、あえてBASICを一切ロードしない使用法も選べるようになった。

だが、MZシリーズの方式に追随する流れは起きず、1979年9月発売のPC-8001もROM-BASICを標準搭載であった。(なお、カセットテープをデータレコーダとして使用する人が多かったが、PC-8001本体よりも高価なフロッピーディスクドライブを購入し接続したユーザは、その入出力機能を拡張したDISK-BASICを使用した。)

1981年9月発売のPC-8801シリーズPC-6001もROM-BASICを標準搭載した。

1982年発売のPC-9800シリーズでは後年までROM-BASICが搭載され続け、起動可能だったが、標準でカセットインターフェースを搭載した機種は皆無で、比較的初期の機種に限り、別売りの拡張ボードとしてサポートされた程度だった。さらにPC-9801RA/RX以降(それ以後にモデルチェンジされたUV11やVM11も同様)からはCMT-BIOSも省略されたため、BASIC側に用意されているカセット関連の命令も動作しなくなった。このため単独での使用は実質不可能であった。ただし、ROM内のサブルーチンを利用しているプログラムの互換性を維持するため、ROM自体は必要なものであった。Microsoft Windowsの使用を前提としたPC-9821シリーズが登場する頃になるとデフォルトのBIOS設定(システムセットアップメニュー)ではROM-BASICが起動できないようになった。それでも設定を変更すればまだROM-BASICを起動できるようになっていたが、1996年後半頃の機種からはそれもできなくなった。EPSON PCシリーズでは、初期にはROMを搭載していない機種もあったが、搭載している機種でも起動はできないようになっていた。

1981年8月発売で、後に世界を席巻し世界標準となっていったIBM PCの場合は、ROMにBASICは用意されたものの、OSとしては当初からPC DOSを採用しており、DOS上からBASIC.COMコマンドでROM版のBASICを呼び出す形だった。このためBASICが起動した時点で既にFDDが使用可能であり、DISKが使用できないという意味でのROM-BASICには必ずしも該当しない一方で、DISK-BASICに相当する機能拡張版BASICを起動するためのBASICA.COMも別途用意された。PC/AT互換機の互換BIOSの場合は一般的にROM-BASICを搭載していないが、製品によっては互換性のためにBASIC.COMBASICA.COMのプログラム名でソフトウェアのBASICが提供されることがあった。やがてこれらはQBasicに置き換わった。


Remove ads

長所・短所

Thumb
ROM-BASICの起動画面
メリット
  • 起動時にOSやBASICの処理系をロードする時間を要さず、すぐに使用を開始できる。
  • ROM内部に置かれたサブルーチンをアプリケーション、システムなどからコールすることによって、あらかじめ持っている機能であればスクラッチから書かずとも、それを流用することができる。但し、その場合ROMバージョンが変わっても影響を受けないようにテーブルジャンプ方式とするなどエントリアドレスが固定されている必要がある。
デメリット
  • メリットで挙げたサブルーチンのエントリやデータの受け渡し方法がメーカーによって公開されていることはまれで、サードパーティーソフトウェア開発業者などが解析した結果をドキュメント化して出版したものを入手して参照するか、自力でROM内部をリバースエンジニアリングせざるを得なかった。当然バグフィックスが行われるなどで、ROMのリビジョンが変わってしまうと使えなくなる可能性があった。
  • 互換性維持のために、実用にならない状況にあっても、後継機もまた同じプログラムを本体に持ち続けなければならない。
  • ROM-BASICでサポートされていた外部記憶装置オーディオコンパクトカセットを流用したデータレコーダであり、読み書きの速度は300~1600bpsであり、主記憶を越える量のデータの取り扱いに対して低速であった。また、シーケンシャルデバイスであるため、外部記憶装置からの特定のデータの呼び出しなどは実用的ではなかった。

なお、ROM-BASICを搭載しているからという理由ではなく、メモリへの配置の都合で、0番地から配置されたうえで、切り替える方法を持たない機種では、同じ領域を使用するCP/Mなど、先頭部分のアドレスを使用するプログラムの使用には制限が発生する。バンク切り替えなどにより、これらのページを変更できる実装の場合はその限りではない。

ROM-BASICを避ける設計

多くの機種ではROMはメモリ空間に直接マッピングされたが、クリーン設計思想で作られていたシャープX1に用意されていたオプションボードであるCZ-8RB01は、ROM-BASICでありながら直接マッピングされるわけではなく、拡張ボード上のROMからIPLが読み込みを行い、RAMにBASICを展開する形になっている。そのため、起動後はRAM上のBASICやモニタ部分の書き換えも可能になっており、標準添付のCZ-8CB01と同じように使用することが可能である。同社MZ (コンピュータ)でも同様の仕組みが存在し、サードパーティーのROMボードが存在する。これらの機種では補助記憶装置からのシステムの読み込みを必要とし、こういったボードが装備されていないシステムでは、コールドスタートに際して本体にROM-BASICを内蔵した機種と比較し、時間が掛かった。


関連項目

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads