Z-80 SOFTCARD CP/M

MICROSOFT Z80 SOFTCARDに付属するCP/Mのソフトウェアパッケージは13と16セクターのCP/Mマスターディスク各1枚と2册のマニュアルです。


13-sectorのディスクにはMICROSOFT製でANSI (American National Standards Institute)コンパチブルのBASIC-80にApple II独自のローレゾリューショングラフィックの命令を追加したMBASIC。16-sectorのディスクにはMBASICとMBASICに更にハイレゾリューショングラフィックの命令を加えたGBASICが含まれています。(但し、GBASICはApple Language SystemやMICROSOFT RAM CARD等によりメモリーを増設していないとフリーメモリーが少なく実用的ではありません。)
両方のディスクに含まれるoperating systemであるCP/M(Control Program/Microcomputer)(Ver. 2.2)はDigital Research, Inc.からMICROSOFTがライセンスしたもので全ての機能を持った完全版で幾つかのコマンドファイルを含む他に標準CP/M 8080アセンブラやラインエディタ、デバッグ用のDDT (Dynamic Debugging Tool)、ファイル転送用のPIP (Peripheral Interchange Program)、バッチ処理用の(SUBMIT)、ファイルを16進で吐き出す(DUMP)、Apple DOSディスクからファイルを転送する(APDOS)機能を持っています。


Softcardに含まれる2册のマニュアルの一方はCP/M関係でもう一方はBASIC 5.0とBASIC 5.0で書かれたユーティリティのマニュアルです。

BASIC 5.0は構造化プログラミングをサポートしたBASICでその為の新しいコマンドを幾つか持っています。最も有用なのはIF-THEN文でELSEが使えること、PRINT USING文を使うことにより表示に書式が指定出来ること、ディスク関係のコマンドがAppleのDOSで使われるPRINT Control-D commandから普通の文になったこと、DO WHILE loop: WHILE/WEND構文によるループ制御が可能になったこと、他のANSI BASIC使用のマシンからのプログラムの移植が簡単になったこと、等があります。


SOFTCARDでMBASICをロードすると48K byteメモリー実装のApple IIの場合約14 K byte程のプログラム用のメモリーが確保され、Apple Language SystemやMICROSOFT RAM CARDを追加した場合は16K byteのメモリーのうち12K byteが追加され26K byteが使用可能になります。Language SystemやMICROSOFT RAM CARD側で使用出来ない4K byteはApple IIの各スロットに割り当てられた$C000から$CFFF番地迄のメモリーで、本体側で使用出来ない4K byteは6502 MPUのスタックに使われたり画面表示に使われるメモリーです。CP/Mのサイズで言うと48K byte実装の場合は44K CP/M、64K byte実装の場合は56K CP/Mとなります。


他機種用(標準)のCP/Mソフトウェアの利用法

Apple II(Disk II)はディスクフォーマットが標準の5インチフロッピィディスクとは違っているので市販の5インチフォーマットでCP/Mのアプリケーションを購入してもそのままでは読めないので使うことは出来ません。Apple IIで使用可能なディスクを作成するにはもう1台CP/Mマシンを別に用意してディスクの内容をRS-232Cポートを経由してApple IIに転送しなければなりません。また、逆にApple II CP/Mフォーマットのディスクを他のCP/Mマシンで読込み可能なディスクに変換する場合も同様です。
この用途に使用するプログラムがApple II CP/Mに用意されたDOWNLOADとUPLOADと名付けられたプログラムです。

また、テキストを転送する場合もApple DOSはテキストの区切りにキャリッジリターンだけを使用するのに対してCP/Mはキャリッジリターン+ラインフィードが必要です。この変換を行うのがAPDOSと名付けられたプログラムです。

このようにApple IIだけを所有するユーザーが他のCP/Mアプリケーションを使用するのは非常に難しいので(当時)通常はソフトウェアメーカーや販売店の媒体変換サービスを利用することが多かったようです。また殆どのCP/Mソフトウェアメーカーは安価にこのサービスを提供していました。これを利用すれば媒体の変換だけでは無く、Apple II CP/Mで動作可能なように事前に細部に手を加えた状態で手に入るわけですから安心して使うことが出来ました。


CP/Mから6502を使う

Z-80 SOFTCARD CP/Mの特徴としてCP/M動作中に6502のルーチンを呼ぶことができることが上げられます。6502(Appl II)用に書かれ、既にデバッグの終了した周辺機器のドライバールーチン等をそのままか少しの変更で利用出来るので大変便利な機能です。実際にZ-80 SOFTCARD CP/Mではディスクの読み書きや画面表示等を6502が行っています。

スタート時、6502が特定のアドレスをアクセスすることによってSoftcard上のZ80が処理を開始しますがZ80によって同じ特定のアドレスがアクセスされると6502に処理が移ります。この時、更に別に用意された複数のアドレスを介して6502に処理を開始するルーチンのスタートアドレスやA, X, Y,status registerの価が渡されます。注意する点はZ80から見たメモリーマップと6502から見たメモリーマップが異なることです。これは6502と画面表示に都合が良いように最適化されているApple IIのメモリーマップをCP/Mが必要とする0番地から連続したRAMに見えるようにSoftcard上の回路でアドレスを変換している為です。これは同じメモリーでもZ80から見た場合と6502から見た場合とではアドレスが異なるということです。


BASIC 5.0の新機能

Applesoft BASICとZ-80 SOFTCARD CP/Mに付属するMicrosoft MBASIC 5.0の機能比較

Applesoftから削除された命令


Features and Utilities List

List of the features and utilities of the CP/M operating system included with the purchase of a Softcard.

Built-in CP/M Commands: Transient Commands: CP/M Software:


当時、Z-80 SOFTCARDと共に発売された関連ソフトウェアは全てお揃いのA5サイズの2リングバインダーでマニュアルが提供され、お洒落なパーケージでした。


Apple II World : A Resource for Apple II Enthusiasts.
This site is maintained by Sckop / sckop@Apple2World.jp
This file Created 2000/NOV/01, Last updated 2001/JAN/01.