知識ベース

ジュピターエース

Jupiter CantabによるJupiter Aceは、1980年代初期の英国の家庭用コンピューターでした。エースは、そのプログラミング環境がより一般的なBASICの代わりにForthを使用したという点で、当時の他のマイクロコンピューターとは異なりました。

Jupiter Cantabが取引を停止した後、1984年にBoldfield Computing Ltdに買収され、2015年にPaul Andrewsの会社Andrews UK Limitedに売却されました。

前書き

Jupiter Cantabは、Richard AltwasserとSteven Vickersによって設立されました。どちらもSinclair ZX Spectrumの設計チームに所属していました。AltwasserはZX-81の開発とSpectrumのハードウェアの設計でいくつかの作業を行いました。 Vickersは、4K ZX-80 ROMを8K ZX-81 ROMに適合および拡張し、Spectrum用のROMのほとんどを作成しました。

新しいエース

ジュピターエースは、初期のイギリスのコンピューター、ACEにちなんで命名されました。

Jupiter ACEは、サイズ、コスト、およびフォームファクターが類似しているため、ZX81とよく比較されます。内部的にはデザインはZX Spectrumに似ていますが、ACEには2 KBの専用ビデオメモリもあり、プログラムがビデオメモリと同じバンク(同じチップ)にアクセスしたときの速度低下を部分的に回避しています。スペクトルと同様に、エースは黒い導電性ゴム製キーを使用していました。

オーディオ機能は、プログラム可能な周波数と持続時間でCPU制御されました。音声出力は、小型の内蔵スピーカーを介して行われました。

当時一般的だったように、ディスク/テープドライブの代わりに一般的なテープレコーダーを使用していました。同様に、ディスプレイとしてテレビが必要でしたが、これはSpectrumなどの競合モデルでサポートされている色ではなく、白黒のみでした。

その最も際立った特徴は、Forthの選択でした。Forthは、より高価なコンピューターでロードされたコンパイル言語とほぼ同じ速度でプログラムを作成できる構造化言語です。 Forthは、小さなメモリと比較的低パフォーマンスのプロセッサを備えたマイクロコンピュータによく適合していると考えられていました。 Forthプログラムはメモリ効率が良いです。大きくなると、以前に定義したコードを再利用します。制御構造は、使用可能なメモリによってのみ制限される、任意のレベルにネストできます。これにより、複雑なプログラムを実装でき、再帰プログラミングも可能になりました。 ACEのForthは「Basicの10倍高速」で、インタープリターBASICで記述された同等のプログラムの半分以下のメモリ(当時のローエンドコンピューターのかなりのコストの割合)を使用しました。また、必要に応じてマシンコードルーチンを簡単に実装できました。

仕様書

特性
プロセッサー 3.25 MHzでクロックされるZilog Z80A。
オペレーティング・システム FORTH(プログラミング言語とコマンドラインインターフェイスの両方として)。
記憶ビデオ用に2 KB +最大49 KBまで拡張可能な1 KBベース(ビデオは除く)。
ビデオ 2つの専用SRAMバンクを備えた独立したサブシステム:画面(1 KB)+ Char Tiles(1 KB)。
内蔵スピーカー、CPU駆動(非専用)。
拡張 2つのコネクタ:メイン(CPU関連)+ビデオ(画面+ AV信号)。
キーボードと文字セット 40キーのQwertyキーボード(追加キーを使用したシンボルアクセス)。

Charset(ASCII-1967に基づく)のすべての文字が再定義可能です。

キャラクターセット ASCII -1967に基づき、↑、£、および©を含むZX Spectrumの文字セットに関する拡張機能を備えています。

ACE RAMへの参照には、個別の2 KBのビデオメモリが含まれることがありますが、これはプログラミングには使用できなかったため、混乱を招きます。同様に、Forthの効率のために、1 KBの標準RAMは、BASICシステムの少なくとも2 KBと実質的に同等であると主張される場合がありました。

ACEのフォース

ACEのForthは、主にForth-79に基づいており、いくつかの関連する違いがあります。特に、制御構造と定義子構造(別名「セーフコンパイル」)に構文チェックを追加し、一般的なBASICサウンド、ビデオ、テープコマンド。実装には、使用頻度の低いForthワードがいくつかありませんでした。これらのワードは、必要に応じて簡単に実装できます。実行時エラーチェックをオフにして、速度を25%から50%上げることができます。

逆コンパイル

そのForthは、ディスケットシステムで使用される通常の番号付きプログラミングブロックの代わりに、ユーザーの「コンパイルされた語彙」を保存/ロードできるため、ディスクレステープを使用する家庭用コンピューターハードウェアに適合しました。

逆コンパイルにより、ディスクおよびテープドライバーの両方で使用されるブロックシステムのシミュレーションでのRAMの浪費を回避しました(これらは最後にテープレコーダーと混同しないでください)。代替として、生のバイナリデータ用の追加のデータファイルが含まれていました。これらのソリューションは、Jupiter ACEに固有のものでした。

定義とコンパイル

逆コンパイルを許可するために、CREATE .. DOES>の作成ペアを次のように置き換えて、通常のForth定義者とコンパイラーの単語作成を区別しました

  1. DEFINER .... DOES>:通常、データ構造の定義と構築に使用される新しい定義語を作成します。標準のFORTHでのCREATE..DOESの使用に似ています。 (例:データ構造を配列、レコードなどとして追加...)。
  2. コンパイラ.. RUNS>:CREATE..DOES>がFORTH実装に依存するコンパイラワードで言語を拡張するためにあまり使用されない、新しいコンパイルワードを作成します。 (例:ケース、無限ループなどの新しいコンパイラ制御構造...)。

これら2つの定義ペアは、通常のForthシステムとは異なり、1つだけではなく、ACEがプログラムを逆コンパイルできるようにしました。この逆コンパイル機能は、Forthが使用しているより柔軟性の高いディスクシステムが存在しないことに対する解決策でした。 Forthプログラムのソースを保存するのではなく、編集後にコードをコンパイルすることで、RAM上のディスク/テープドライブのエミュレーションを完全に回避し、コンピューターのメモリを節約しました。また、カセットテープからプログラムを読み書きする時間を節約しました。このテープフレンドリーでRAMを節約するソリューションは、Jupiter ACE Forth独自のものでした。

開発

ソースの回避は、コンパイルされた出力とともにコードに入力されたコメントを保存することで補われました。従来のコンパイルでは、そのようなコメントは破棄されていました。コメントは、逆コンパイル時に回復されました。 「コードがソース」の結果として、変更された単語(編集済み)は、新しく編集されたものを使用してすべてのコードの実現を要求します。これは、非標準のREDEFINEコマンドで実行されました。

このような目的のために明示的に設計されていませんが、コンパイルされたものは組み込みシステムのROM拡張に利用できます。外部ROMは、制御アプリケーションとして使用するためにAce Forthで開発されました。

システム

建築

ACEには、Forthカーネルとオペレーティングシステムを含む8 KBのROMと、約5 KBのForth単語の事前定義辞書がありました。残りの3 KBのROMは、浮動小数点数ライブラリと文字定義テーブル、テープレコーダアクセス、新しく再編集された「単語」(つまりルーチン)の逆コンパイルと再定義など、いくつかの機能をサポートしていました。 ROMの一部はZ80マシンコードで記述されていますが、一部はForthでもコード化されています。

次の8 KBは、それぞれ4 KBの2ブロックに分割されました。ビデオ・サブシステムは、2キロバイトのRAMを消費し、ユーザーが2つの異なる優先順位、 定期的または上書き CPUの競合を選択することができました。後者の場合、TV Imageのタイミングは上書きされ、ディスプレイを犠牲にしてユーザープログラムのプロセッサ時間を増やすことができました。

1 KBのユーザーRAMは部分的にしかデコードされなかったため、4 KBのブロックアドレス空間全体にエコーされました。つまり、ユーザープログラム/データは4つの異なるメモリ位置に存在するように見えました。

メモリマップの最初の16 KBはROM、ビデオ、およびユーザーが使用可能なRAMに使用され、メモリマップの2番目の16 KBはRAM拡張用に空き、32 KBは未定義です。

ハードウェア

CPU

ジュピターエースはZilog Z80をベースにしており、デザイナーはSinclair ZX81およびZX Spectrumでの作業経験があります。

ビデオ

1つの1Kバンクでは、128×ASCIIベースのほとんどの文字を8×8ピクセルのビットマップ形式で再定義できました。もう1つの1Kバンクには、24行×32列の文字のフルスクリーン表示が白黒で保存されていました。カラーは拡張として実現することを目的としていましたが、カラーグラフィックボードは設計されましたが、商業的に生産されたものはありませんでした。

グラフィックとテキストの両方を同時に表示できます。(1)文字タイルの再定義により、64 x 48グラフィックのプロットと同時に、利用可能な128(定義可能)8 x 8文字に制限された標準256 x 192グラフィックが提供されました。

記憶

16 KB RAMパックのオプションを備えた1 KB RAM、およびその後の32k RAMパック。 Jupiter CantabによってPCBも販売され、エッジコネクタをSinclair ZX81との電気的互換性に変換し、ZX81 16K RAMパックを使用できるようになりました。

シングルタスクモードでCPUによって直接制御される内部スピーカー、サウンド周波数とミリ秒単位の持続時間の制御。

外部記憶装置

ストレージは、1500ボーでカセットテープインターフェイスを介して行われました。ファイルは、4番目のプログラム(コンパイル済みコード)のストレージまたは生のメモリダンプのいずれかに使用できます。

アドオン

マシンは、同様のRAMロケーションと外部拡張スロットにより、いくつかのZX-81アドオンを使用できました。 Jupiter Cantabは16 KBのRAMパックを作成し、外部企業は同様のRAMパックと他の周辺機器およびインターフェイスを作成しました。

RAMパック
  1. Jupiter Cantabによる16 KB。
  2. Stonechip Electronicsによる16 KBおよび32 KB。
  3. Sinclairによる16 KB、電気的互換性のためにJupiter Cantabのアダプターボードを使用。
  4. Boldfieldによる48 KB(Jupiter Cantabの後の新しいJupiter ACE所有者)。
キーボード
  • Memotech製のMemotechキーボード。
  • Essex Micro ElectronicsによるSoundBoard(1983)、
ストレージ
  1. MPEによるJet-Disc Disc Drive System(1983)(最大4台の3 "、5"、または8 "ドライブを制御)。
  2. J Shepherd&S LeaskによるEPROM(1986)の4K AceDOSとの「ディープソート」ディスクインターフェイス。
プリンターアダプター
  • ADS Centronics Interface Machine(1983)、Advanced Digital Systems、
  • Essex Micro ElectronicsのRS232およびCentronics PrinterCard(1984)。
グラフィックスカード
  1. グレースケールカード-Sリースクによるグレーの4階調(1986)

商業の

他のすべての現代の家庭用コンピューターがBASICを使用していたとき、一般への販売はForthの使用により制限されていました。公開されたソフトウェアの不足、貧弱なケース、小さな初期メモリも要因でした。

モデル

1982-真空引きのケースに収められたオリジナルのJupiter ACE-5000ユニットが製造されたと報告。

1983-より強力な射出成形ケースのジュピターACE 4000-800ユニットが製造されたと報告されました。

売上高

機械の売り上げは決して大きくありませんでした。 Jupiter Cantabがビジネスのために閉鎖する前に報告されたエースの販売数は約5,000でした。 2000年代初頭の時点で、生き残った機械は珍しく、多くの場合、コレクターのアイテムとして高価格を取っています。

元々4 KBのベースRAMを搭載する予定でしたが、実際には1 KBしか出荷されていませんでした。そして、ACEの価格をほぼ2倍にする16 KBのRAM拡張を追加購入する必要がありました。低売上。

第四に、構造化され強力であるにもかかわらず、学習が困難であると考えられ、他の家庭用コンピューターに精通して得られたBASICの知識は、それを学習するのに実用的ではありませんでした。 1982年のレビューでは、「Jupiter Aceの成功は、マシン購入者が別のマイクロコンピューター言語を受け入れるかどうかにかかっている」と述べています。

さらに、マシン用に公開されたソフトウェアの範囲は非常に限られており、商用プログラムまたは趣味の雑誌に印刷されたタイプインプログラムのいずれかであり、これらはベースモデルの少量のRAMによって制限されていました。

教育市場でエースを宣伝する試みも失敗しました。 Forthが試験のシラバスに関連するかどうかについて疑問を抱き、Forthが教員からサポートされていないことが重要な問題でした。生徒は、独特のRPN構文を備えた1つの(一般的ではない)マシンで使用される言語よりも、広く使用されているBASICの学習に関心がありました。

最後に、タイルベースのグラフィックスは、他のマシンのピクセルベースのグラフィックスとは比較になりませんでした-これもエースのモノクロではなくカラーでした。これにより、主に技術プログラミング愛好家のニッチ市場への販売が制限されました。