横向きのアドレス空間

Acorn BBCマイクロコンピュータElectron、そしてMasterシリーズのマイクロコンピュータに搭載されたサイドウェイズアドレス空間は、 Acornのバンクスイッチング実装であり、ハードディスクドライブフロッピーディスクドライブが普及する以前の時代に、永続的なシステム拡張を可能にしました。ファイルシステム、アプリケーションおよびユーティリティソフトウェア、そしてドライバはサイドウェイズROMとして提供され、サイドウェイズアドレス空間を介して追加のRAMを搭載することができました。

BBC Microの上級ユーザーガイド[ 1 ]では、横向きアドレス空間を「ページROM」と呼んでいます。これは、このアドレス空間がRAM拡張に使用されるようになる以前の話だからです。BBC B+、B+ 128、BBC Masterはすべて、横向きRAMを標準装備していました。

横向きのアドレス空間

これらのマシンは、16ビットのアドレス空間を持つ8ビットの6502および65C102プロセッサを搭載していました。アドレス空間は、 32KBのRAM(0x0000~0x7FFF)、16KBの横方向アドレス空間(0x8000~0xBFFF)、および16KBのオペレーティングシステム空間(0xC000~0xFFFF)に分割されていました。

横方向アドレス空間はバンクスイッチ方式(Acornでは「ページング」と呼んでいます)のアドレス空間で、一度に1つの16KBバンクにアクセスできます。各バンクはROMまたはRAMにすることができます。

BBC MicroとBBC Masterの両方のマザーボードには、横向きROM用のROMソケット(BBC Microでは4つ)が搭載されています。BBC MicroにはBBC BASICを含むROMが1つ搭載されていましたが、いつでも利用可能なソフトウェアを追加するために、コンピューターにROMを追加することができます。Electronの横向きアドレス空間は、Plus 1アドオンまたはサードパーティ製の同等のアドオンを追加することでのみ利用可能になりました。Plus 1ではカートリッジスロットも導入され、これはROMをパッケージ化する代替手段としてBBC Masterの設計にも引き継がれました。

Sideways ROMは、OSに新しいファイルシステム(Disc Filing Systemなど)やアプリケーション、ユーティリティソフトウェアを追加することを可能にしました。ROMとして提供されるソフトウェアには、主に2つの利点があります。1つは、言語ROMまたはサービスROMとして提供される場合、瞬時にロードできること、もう1つは、動作に必要なRAMが非常に少ないことです(通常のソフトウェアでは使用されない、RAMのページ化された専用ROM領域を使用できる)。これにより、アプリケーションソフトウェアは通常よりも多くの作業領域を確保でき、デバッガなどのユーティリティソフトウェアはRAMに保持されたソフトウェア上で動作できるようになりました。

ROMファイリングシステムでは、ソフトウェアをROM内にファイルとして保存し、カセットプログラムと同様にロードすることも可能だった。[ 2 ]このようなロードはファイルをRAMに転送する必要があるため瞬時に行われなかったが、Acorn社ではゲームやユーティリティなどのカートリッジベースのソフトウェアを配信するためにこのシステムを使用していた。これは、カセットベースのソフトウェアを別のメディアに再展開する際にソフトウェアに大きな変更を加える必要がないためと考えられている。[ 3 ]

横向きモデル

サイドウェイROMの最初の数バイトには、OSに処理方法を指示する詳細情報が含まれています。これには、言語とサービスのエントリポイント、ROMタイプコード、バージョン番号、著作権情報へのポインタが含まれます。リセット時に、OSは著作権文字列をチェックすることで各サイドウェイバンクを検証します。動作中、OSはアキュムレータセットの特定の値を使用して2つのエントリポイントにジャンプすることで、有効なROMと通信します。これにより、オペレーティングシステムの拡張、バンク切り替え、RAM共有のネゴシエーションのためのクリーンなAPIが提供されます。

ROMには2つのエントリポイントがあります。サービスエントリポイントはROMへのAPIアクセスを提供し、言語エントリポイントはROMに含まれるアプリケーションソフトウェアの起動ポイントです。「サービス」ROM​​には言語エントリポイントは必要なく、OSの拡張のみを目的としています。「言語」ROMはアプリケーションソフトウェアを提供するROMで、バンク15にBBC BASIC言語がデフォルトのROMとして提供されていることにちなんで名付けられています。ROMには多くの場合、両方のエントリポイントが含まれます。これは、すべてのユーザーソフトウェアがOSから呼び出すためにサービスエントリポイントを持つ必要があるためです。純粋なサービスROMは通常、アプリケーションソフトウェアを提供せず、OS自体の機能のみを拡張します。

BBC MicroとElectronでは、コンピューターにユーザーインターフェースを提供するために、POST時にいずれかの言語ROMが必要です。そうでない場合、OSは「言語は?」と表示して停止します。BBC MasterのAcorn MOSバージョンにはコマンドラインが組み込まれており、デフォルトの言語ROMが設定されていない場合は、このコマンドラインが表示されます。

横向きのRAM

ROMに加えて、横方向アドレス空間を介してコンピュータにRAMバンクを追加できます。これらは、ディスクからROMイメージを読み込んで使用したり、マシンコードプログラムの追加ワークスペースとして使用したりできます。

BBC Model Bは、横方向の領域への書き込みを防止するためにハードワイヤードされているため、書き込み信号をどこかから取得する必要があります。方法は様々ですが、最も一般的な2つの方法は、チップをボードから取り外し、チップの元のソケットを占有する拡張ボードに装着する方法と、RAMモジュールをROMソケットに装着し、フライングリードをマザーボード上の別の書き込み信号に接続する方法です。

64KBモデルB+には、12KBの「特別な」横向きRAMが搭載されていました。これは横向きアドレスを使用していましたが、ROM選択レジスタの上位ビットによって選択されていたため、ROMイメージのロードには使用できませんでした。128KBモデルB+には、メインボード上の12KBの「特別な」横向きRAMに加えて、64KBの「通常の」横向きRAMを搭載した拡張ボードが搭載されていました。

BBCマスターには64KBの通常の横向きRAMが搭載されており、マザーボードのリンクを使用して、どのバンクがROMでどのバンクがRAMかを設定できました。さらに、4KBの「特別な」横向きRAMと、オペレーティングシステムによってページングされた8KBのRAMが搭載されていました。B+では「特別な」横向きRAMがユーザーアプリケーション用に利用可能でしたが、マスター上のこれらのメモリ領域はオペレーティングシステムとファイルシステムのワークスペースとして使用されました。

カートリッジポートの配線は、RAM関連の特定の信号に関してElectronとMaster 128で異なります。Masterのスロットでは、READY信号がより一般的なR/W信号に置き換えられ、FC、FD、FEページの特定のアドレスに対してのみCSRW(チップセレクト、リード/ライト)信号が保持されます。一方、CSRWはElectron Plus 1カートリッジインターフェースのCPUリード/ライトラインに相当します。ただし、両システムともRAMカートリッジをサポートしています。[ 4 ]

横方向の拡大

Acorn MOSは最大16個のサイドウェイバンクをサポートします。マザーボードのスペースが限られているため、サードパーティ製の拡張ボードによって追加のサイドウェイソケットが利用可能になりました。Watford Electronics Sidewiseボードなど、一部のボードでは、バッテリバックアップされた永続的なRAMオプションも提供されていました。これにより、開発者は新しいサイドウェイROMソフトウェアをテストする際に、毎回EPROMを書き込む必要がなくなります。書き込み保護スイッチを使用することで、サイドウェイRAMの内容が変更されるのを防ぐことができます。

参考文献

  1. ^ブレイ, アンドリュー・C.; ディケンズ, エイドリアン・C.; ホームズ, マーク・A., BA (1983). BBCマイクロコンピュータ上級ユーザーガイド(zip圧縮PDF) (第3版). ケンブリッジ: ケンブリッジ・マイクロコンピュータ・センター. p. 347. ISBN 0-946827-00-1. 2012年4月19日閲覧{{cite book}}: CS1 maint: 複数の名前: 著者リスト (リンク)
  2. ^ Rawlings, Mike (1986年9月). "File It Sideways" . Acorn User . pp.  102– 104. 2020年10月24日閲覧。ROMファイリングシステムは、カセットファイリングシステムに近いものですが、ディスクファイリングシステムからいくつかのコマンドを借用しています。
  3. ^ Smith, Bruce (1984年7月). 「Expansion Factor」 . Acorn User . p. 18. 2020年10月24日閲覧。ROMカートリッジシステムで使用されるファイリングシステムは、実際にはBeeBで使用されている*ROMファイリングシステム(RFS)であり、商業施設が独自のカートリッジROMを簡単にブローできるようにしています。*CAT、LOAD、CHAINはすべてRFSで利用できます。
  4. ^ Acorn Support Group (1992年7月6日). Acorn Electron Cartridge Interface Specification (Application Note 14) (PDF) (技術レポート). Acorn Computers Limited . 2020年10月24日閲覧

参照