PRODOS - APPLE DOSにも訪れた進化の波
APPLE][のDOSについては、少々散文的ですが以下の記事に書いてありました(もう随分と経つなぁ)。
AppleDOSの特異性
AppleDOSが扱うファイルたち
AppleDOSの進化
このDOSはウォズニアック氏の巧妙な設計により、整数BASICでもAPPLESOFT BASICでも、そしてアセンブラであっても利用できるというものでしたが、あくまでAPPLE][、それもDISK][しかサポートしないものでした。何せDISKインターフェースにはドライブのハードを制御するためのコントローラこそ載っていましたが、ソフトから見えるのはディスク上の0と1が、そのまま流れているシフトレジスタしかありません。これをソフトの力でトラックとセクタを理解し、特殊なエンコード(デコード)を行って読み書きしていたからです。
このため本体のハードウェアが進化しても、より大きな容量であったり高速に読み書きするにはハードルとなりました。クロックを上げた途端に読み書きのタイミングが異なってしまうので、今までのフロッピーが読み出せなくなってしまうからです。
それ以外にもUCSD-PASCALを使う際には独自の管理方式のフロッピーを使うようになり(ローレベルではDOSと互換性があるのでセクタ単位での読み書きは互換性がありますがファイルの管理方式が異なります)、さらにZ80SOFTCARDを使ってCP/Mを利用すれば、これも独自のフォーマット(こちらもセクタ単位は6502が読み書きするので互換性は残っています)になります。
15-DOS 3.3, PRODOS & BEYOND
このようにAPPLE][は、もはや単なるBASICマシンではなく、必要に応じていろいろな言語や、それらで作られたファイルを実行する環境が必要になってきたわけです。PASCALの際に導入されたLANGUAGE SYSTEMを使うことにより、ボード上にあったBASICインタプリタのROMすらメモリ空間を専有するという意味で邪魔になるようになりました。DOSの機能を追加していくにはコードが肥大化することもあり、LANGUAGE SYSTEMによる大きなフラットなメモリ空間を利用することにより、DOSも進化していくことになります。
Apple DOS
新しいDOSは意外なところからやってきました。APPLE][の後継として開発されていたAPPLE///に搭載されていたSOSをAPPLE][向けに作り直し、これをProDOSという名前で1983年にリリースされたのです。
APPLE/// - ハードウェアを売るのは難しい
Apple SOS
Apple ProDOS
APPLE///自体はいろいろな意味での大失敗だったのですが、そこで作られたものは、こうして生き残ったわけです。これでDISK][以外のドライブを扱うことができるようになり、32Mまでの容量と階層ディレクトリをサポートすることができるようになりました(ファイル名の最大の長さは半減しましたが)。また忘れがちなのですがAPPLE][はリアルタイムクロックを持っておらず、DOSはファイルに関する日時を持っていません、これもサポートされるようになりました(ただし本体がサポートしていない古い機種では使えませんでしたけど)。
THE SECRETS OF PRODOS
内部的にもローレベルでは互換性のある256バイトのセクタが使われていましたが、DOSとしてはこれを束ねて512バイトのブロックを基本としました。もちろんディレクトリやファイルの管理方法も一新されました。ソフトから見えるコマンドなどは、ほぼ引き継がれ、DOSで動いていたプログラムはProDOSのフロッピーに変換すれば引き続き使えるようにはなっていました。
Apple II DOS and ProDOS Commands
他にもボリュームラベルの考え方も大幅に変わりました。実はAPPLE][にハードディスクを接続することもできたのですが(びっくりするほどのお値段でしたが)、これをDOSで扱うために領域をフロッピーのサイズに分割し、それらをボリューム番号で識別することで(これでフロッピーの250倍程度の容量まで使えます)読み書きしていたのです。ProDOSを使うことで、もうこんな面倒なことをする必要もなくなりました。
ProDOS User's Manual
http://www.applelogic.org/files/PRODOSUM.pdf
Inside_Apples_ProDOS_1984
https://vintageapple.org/macbooks/pdf/Inside_Apples_ProDOS_1984.pdf
Apple ProDOS Advanced Features For Programmers
この後、APPLE][本体の進化に合わせて、ProDOSも進化を続け16ビット対応になった時点で今までのProDOSはProDOS8と名前を変えました。16ビット専用となったProDOSはProDOS16となり、されにGS専用となったのでGS/OSに進化しGUIを持つようになりMacOSへと繋がる形になりました。
Apple GS/OS
結局、APPLE][ユーザにとってはProDOSの先進的な機能を必要とすることもあまりなく、DOSが実に多くのメモリを専有するので、64Kのメモリを持っていてもメモリ不足に苦しむばかりでした。やはりProDOSが活躍するのはGSになってから今までのAPPLE向けのソフトを使うためという印象が強いです。もちろん3.5インチドライブを使うにはProDOSが必須だったのですけど。
ところで、APPLE][に関するドキュメントは以下のサイトが便利です。
Apple II Documentation Project Books
まあ和製パソコンにおけるDISK BASICからMS-DOSなどへの変化がAPPLE DOSからProDOSへの変化に相当するのでしょう。慣れてしまった環境を変えるのは誰しも嬉しくないのですが、徐々に普及し始めたハードディスクを使い始めると、もう古い環境ではどうにもならなくなり始め、やっと新しい環境が標準となっていったように思います。
ヘッダ画像は、以下のものを使わせていただきました。
https://commons.wikimedia.org/wiki/File:PRODOS402_catalog.png
By Vadim Rumyantsev - en:User:Polluks (as en:File:ProDOS.png), Public Domain, https://commons.wikimedia.org/w/index.php?curid=9689582