ROM-BASIC

ROM-BASIC:初期パーソナルコンピュータを支えたROM内蔵BASICインタプリタ



ROM-BASIC、別名ROMモードBASICは、1970~80年代の8ビット、そして初期の16ビットパーソナルコンピュータに広く搭載されていた、ROMに格納されたBASICインタプリタです。フロッピーディスクなどの外部記憶装置を使用するシステムとは異なり、電源投入と同時にBASIC環境が利用可能という点が大きな特徴でした。

ROM-BASICの登場と普及



初期のマイクロコンピュータでは、BASICインタプリタは紙テープに格納され、起動時にロードする方式が一般的でした。しかし、すぐに数キロバイトのROMに格納して、電源投入と同時に利用できる形態へと進化しました。Apple IIの整数型BASICやMicrosoftが開発した10KB BASICなどがその代表例です。

日本においても、TK-80などのキットにROM-BASICがオプションとして提供され、PC-8001が標準搭載することで広く普及しました。多くのパーソナルコンピュータがROM-BASICを搭載し、コンパクトカセットレコーダーを外部記憶装置として利用するシステムが一般的でした。フロッピーディスクが登場すると、ディスク入出力機能を拡張したDISK-BASICへと移行していきました。

ROM-BASICの機能と役割



ROM-BASICは、プログラムの編集、コンパクトカセットへの保存と読み込み、プログラムの実行と停止など、OSの基本機能を備えていました。CP/M|CP_MやMS-DOSといったOSが普及する以前は、非常に簡便なOSとしての役割も担っていました。また、サウンド機能やグラフィック機能を持つ機種では、それらをサポートする命令も備えていました。

メリットとデメリット



ROM-BASICのメリットは、なんといっても起動の速さです。OSやBASICインタプリタをロードする時間を待つ必要がないため、すぐにプログラミングを開始できます。また、ROM内部のサブルーチンをアプリケーションやシステムから呼び出すことで、既存機能の再利用が可能でした。ただし、ROMバージョンが変わっても影響を受けないように、テーブルジャンプ方式などによる工夫が必要でした。

一方、デメリットとして、サブルーチンのエントリやデータの受け渡し方法がメーカーによって公開されないことが多く、サードパーティの開発者はROM内部を解析する必要がありました。ROMのリビジョン変更による互換性の問題も発生しました。また、コンパクトカセットレコーダーによるデータの読み書きは低速であり、大容量データの取り扱いには不向きでした。さらに、メモリ配置の都合で、他のプログラムとの干渉が発生するケースもありました。

ROM-BASICと機種ごとの対応



シャープのX1やMZシリーズのように、ROM-BASICを直接メモリにマップせず、起動時にRAMに展開する機種もありました。これにより、RAM上のBASICの書き換えが可能になり、柔軟なシステム構築が可能になりました。しかし、起動には時間がかかりました。

PC-9800シリーズでは、後年までROM-BASICを搭載していましたが、標準でカセットインターフェースを搭載した機種はほとんどなく、別売りの拡張ボードが必要でした。さらに、後期の機種ではカセット関連の命令が動作しなくなり、ROM-BASIC単独での使用は困難になりました。IBM PCではROMにBASICが用意されていましたが、PC DOS上でBASIC.COMコマンドで呼び出す方式であり、ROM-BASICの定義とは少し異なる位置づけでした。

ROM-BASICの遺産



ROM-BASICは、初期のパーソナルコンピュータ時代において、手軽なプログラミング環境を提供し、多くのユーザーにコンピュータの世界への扉を開かせました。OSが普及し、より高度なBASICインタプリタが登場した現在でも、その存在は初期パーソナルコンピュータの歴史において重要な役割を果たしたことを示しています。ROM-BASICは、現代の高度なプログラミング環境の基礎を築いたと言えるでしょう。その簡潔さ、そして制約の多かった時代ならではの工夫の数々は、現代のプログラマにとっても興味深いものです。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。