CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
CP/M - Wikipedia

CP/M

出典: フリー百科事典『ウィキペディア(Wikipedia)』

CP/MControl Program for Microcomputerシーピーエム)は、パソコン用のシングルユーザ・シングルタスクオペレーティングシステムデジタル・リサーチ社 (Digital Research Inc. 創業者ゲイリー・キルドール) によって開発された。

8ビットCPUであるインテル8080プロセッサ用に作られたもので、8ビットのパソコン用OSとしては最も代表的な存在だった。初期に普及したバージョンはCP/M 1.4で、そののち改訂されたCP/M 2.2が広く普及した。さらに、より洗練されたCP/M 3.0(CP/M Plus)が登場したが、既に16ビットマシンへの移行が始まっていた時期でもあり普及することはなかった。

他のプロセッサに移植されたバージョンも存在するが、一般にCP/Mといえば8080プロセッサ用のもの(中でもバージョン2.2)を指す。

目次

[編集] 生い立ち

キルドールは、インテルからマイクロコンピュータ開発システム (MDS) 用の高級言語を受注して、PL/M(Programming Language for Microcomputer、後にPL/M-80)コンパイラを開発した。これはPL/I風に作られた8080用のシステム記述向け言語であった。

このPL/Mの動作環境として、キルドールがインテルに提案したフロッピーディスクベースのDOSがあったが、これは採用されなかったため、後に自ら販売することにしたものがCP/Mである。ちなみに、インテルは後に8080/8085からの移行を支援するため、8086/8088用にPL/M-86を開発した。

[編集] 動作環境

CP/Mは8080マイクロプロセッサ(およびその上位互換CPU)、0番地から配置されたRAM(最小はCP/M 1.4で16KB)、最低1台の8インチフロッピーディスク装置、シリアル端末CRTディスプレイキーボード、あるいはASR-33のようなテレタイプ端末)があれば動作した。オプションとして、プリンタ紙テープ読取装置・紙テープ穿孔装置、ハードディスク装置をサポートした。一般的には32KB以上、可能なら56KBくらいのRAMがあると、当時としては大規模なコンパイラなどが実行できた。

[編集] 構成

CP/Mは、シェルであるCCP (Console Command Processor)、OSの本体であるBDOS (ビードス、Basic Disk Operating System) 、入出力を処理する下位プログラムの集合体であるBIOS (バイオス、Basic Input and Output System) で構成される。ハードウェア依存部分はBIOSに集中させてあるので、BIOSだけを変更することで大抵のハードウェアに移植可能となっていた。BIOSの機能はシステムの初期化、CCPのリブート(アプリ実行の終了とシェルの再起動)、コンソールなどのキャラクタデバイスのリダイレクト付入出力、フロッピーディスク/ハードディスク等の1セクタ単位の入出力だけである。

なお、BIOSという用語は一般化して普通名詞となり、PC/AT互換機の普及以降はROMに記録された低レベル入出力プログラムを指すことが多くなったが、CP/MにおけるBIOSは殆どの場合はディスクからメモリにロードされるものであった。

[編集] コマンド

[編集] ビルトインコマンド

CCPに内蔵されているコマンドをビルトインコマンド(built-in command)といい、次のようなものがある。

DIR
REN
TYPE
それぞれ、MS-DOSの同名コマンドと同様。
ERA
MS-DOSのDEL(ERASE)に相当。
USER
ユーザ切り替え。主に、MP/Mでユーザごとに記録されたファイルを扱うために存在する。CP/M単独ではあまり意味がない。

これ以外はトランジェントコマンドに委ねている。

[編集] トランジェントコマンド

フロッピーディスクに実行ファイルとして記録されているコマンドをトランジェントコマンド(transient command)という。 次のようなものがある。

STAT
ディスクやファイルのサイズ表示する、ファイルの保護属性を表示・変更する、デバイスのリダイレクト状況を表示・変更する、など様々なシステムの状態を表示・操作する。
PIP
周辺装置やディスクの間でファイルをコピーする(Peripheral Interchange Program)。DECPDPシリーズのコマンドに由来する。
SUBMIT
バッチファイルを実行する。
ED
キャラクタ単位のラインエディタ。
ASM
8080用アブソリュートアセンブラ
LOAD
ASMの出力したオブジェクト(インテルHEXフォーマット)を.COMファイルに変換する。コマンド名から機能を連想しづらいことで有名。
DUMP
ファイルの16進ダンプツール。アセンブリソースコードが添付されており、プログラミングのサンプルでもあった。特に、ASCIIダンプがついていなかったため、この機能を追加することは定番の改造であった。
DDT
セルフ環境のデバッガ(Dynamic Debugging Tool)。殺虫剤のDDTにひっかけた名前である。
XSUB
バッチ処理中にコンソール入力をファイルから取得する際にSUBMITと同時に用いる。CP/M 2.x以降に用意された。
MOVCPM
CP/M自身の再配置ツール(move CP/M)。CP/M自身のコードは実装されたRAMの最上位に配置される。つまり、実装メモリが変わるとCP/M自身の配置を変更する必要があった。リロケータブルでない8080コードで書かれたBDOSとCCPを再配置するためのツールがMOVCPMである。各マシン向けのBIOS(Customized BIOS、CBIOS)はソースコードが供給されるのが普通だったので、インストールする人が自分で再アセンブルすることで必要なアドレスで実行できるバイナリを得られた。

パソコンメーカーが自社製品用に供給するCP/Mのパッケージには、上記以外にもフロッピーのフォーマットやコピー、ハードウェアの設定など独自コマンドが追加されていることが多かった。

なお、トランジェントコマンドがロードされるメモリ上の領域(0100H~)をTPA(Transient Program Area)と呼ぶ。

[編集] アプリケーション

CP/Mは8ビットマイコン上で主要な地位を占めたため、CP/M環境で動作するプログラムが大量に発売されており、ソフトウェア開発用ソフトのみならず1バイト文字圏におけるビジネスソフトウェアも数多くあった。

ユーザ・コミュニティでのフリーソフトウェア(当時はPDSと呼ばれていた)の流通もあった。当時は通信環境がまだ普及していなかったので、フロッピーによって配布するのが主流だった。CP/M UGなど、組織的にソフトの収集と配布を行なっていたユーザグループも存在した。

マイクロソフトは、当時OEM各社より発売していたマイコン用のスタンドアロンBASICとは別に、CP/M汎用のBASIC処理系としてM-BASICインタープリタ(MB80)およびコンパイラ(BASCOM)をリリースしていた。他に、マクロ機能付リロケータブルアセンブラMACRO-80やFORTRAN-80、COBOL-80なども製品ラインに存在した。

デジタル・リサーチ自身は、PL/I-80、 CBASIC(ビジネス向きBASICコンパイラ)、MACとRMAC(マクロアセンブラとリロケータブル・マクロアセンブラ)、Pascal/MT+(これはMT Microsystemsから買収。Z80専用コードも生成できるコンパイラ。高速なオブジェクトコードを出力した)などを出荷した。

CP/M上でC言語の処理系として名高いものは、Leor ZolmanのBDS-C、Whitesmith、AZTEC、HITECHのCコンパイラ、日本のLSIジャパンのLSI-C80などがある。日本では、ライフボート(当時)とそのOEM供給を受けたシャープが、CP/M向けに安価な各種言語のパッケージを販売していたこともある。ラインアップとしては、FORTRANCOBOLLISPLOGOProlog、BDS-C(サブセット)、PascalFORTHなどが存在した。

また、統合開発環境という概念を打ち立てたボーランドTurbo Pascalは、WordMastarライクなスクリーンエディタ・極めて高速なコンパイラとリンカのすべてをわずか30KB程度の実行形式に組み込んで提供されていた。さらに販売価格も廉価に抑えられていたため、驚きの目で迎えられ一時代を築いた。これは以後のマイコン向け開発用ソフトウェアに影響を与え、同時にボーランド社の地位を確立した。

事務処理用のアプリケーションソフトとしては、WordStar(フルスクリーンワードプロセッサ)、WordMaster(フルスクリーンエディタ)、SuperCalc等があった。WordStar/WordMasterのカーソル移動キーバインドはダイヤモンドカーソルと呼ばれ、その使いやすさからCP/MやMS-DOSの多くのスクリーンエディタに受け継がれた。

[編集] リブートについて

CP/Mの特徴的な仕様の一つに、リブート(ウォームブート)がある。 リブートとは、アプリケーションの終了、または^Cの入力により、ディスクからCCPとBDOSをロードし直してCCPのコマンドラインに戻ることをいう。 他のOSのように、IPLから完全に再起動することを指すわけではない。

リブートは以下の場合に発生する。

  • CP/Mのアプリケーションは、終了してOSに戻るために、0番地にジャンプする(JMP 0)。
  • CCPのコマンドライン上、またはアプリケーションの動作中に、^Cを入力すると、任意にリブートすることができる。
  • ディスクI/Oでエラー(BDOSエラー)が発生した際に、Abort(中断)を選ぶとリブートする。

いずれの場合も最終的にBIOSの先頭にジャンプし、BIOSはドライブAのディスクのシステム領域からCCPとBDOSをメモリにロードし、CCPの先頭にジャンプする。これにより、CCPのコマンドラインに戻ることになる。 リブートはCP/Mの使用中に頻繁に発生するので、ドライブAにはCCPとBDOSの入ったフロッピー(通常、CP/Mの起動フロッピー)を入れておく必要がある。

CCPとBDOSをロードするのは、アプリケーションによって破壊されている可能性があるためである。 アプリケーションの動作中にはCCPは不要なので、CP/MのアプリケーションはCCPのメモリ領域を食いつぶしてもよいことになっている。 さらに、BDOSすら利用しないアプリケーションでは、BDOSも食いつぶしてよい(ただし、さすがにBDOSを利用しないものはめったにないが)。 そのため、アプリケーションの終了時にはCCPとBDOSをロードする必要がある。

ただし、小規模なアプリケーションでは、JMP 0でなく単にRET命令でCCPに直接戻るものもある。この場合はリブートは発生しない。
なお、MS-DOSにおいても、COMMAND.COMの非常駐部の再ロードという、似たような機能がある。

このようにリブートとはCP/Mにおけるきわめて基本的かつ重要な動作であるが、一方で多くのユーザーにとっては苦い思い出を呼び起こす言葉でもある。

CP/Mでは、フロッピーの入れ替えを検出すると、前のフロッピーのデータを現在のフロッピーに書き込んでしまうことを避けるため、一時的にフロッピーをリードオンリー扱いとする。これはリブートにより解消される。 すなわち、CP/Mでフロッピーを入れ替えるときは、(アプリケーションが動作中であればまず終了し)フロッピーを入れ替えてから^Cを押さなければならない。 これを怠って、リードオンリーになってしまっているフロッピーにデータを書き込もうとすると、BDOSエラーが発生し、リブートを余儀なくされる。当然、データは失われる。

これはCP/Mの重大な問題点で、この事態に陥ったときに表示される"Bdos Err On x: $R/O"(x:はドライブレター)というメッセージは、PC-9800シリーズのMS-DOSの"Int trap halt"や、Windows 3.1の一般保護例外(GPE)、Windows 95/NTの青画面と同様に、ユーザーを恐怖と絶望におとしいれたものであった。

この問題は、後のPersonal CP/MやCP/M Plus、CP/M-86では改善されている。

[編集] 他CPU版

後に、16ビットCPUであるインテル8086用のCP/M-86およびモトローラMC680x0用のCP/M-68K、またザイログZ8000用のCP/M-8000が作られたが、CP/M-86がIBM-PCに公式採用されなかったこともあり、結局MS-DOS(PC-DOS)に押されて16ビット以降の世界ではマイナーな存在に終わった(これら16ビット版と区別するために、8080用のCP/MをCP/M-80と呼ぶようになった)。面白い特徴としては、各々トランジェントコマンドの拡張子が異なっており、同一のファイルシステム内に、複数のアーキテクチャ用のCP/Mを混在させることが出来た。実際の製品としては、PC-9801用のSPARKシリーズがあり、実行を指示されたコマンドを拡張子によって区別し、8086で動作するコマンドと、Z80で動作するコマンドを混用することが出来た。

[編集] バリエーション

CP/Mのシリーズには、他に、Personal CP/M(P-CP/M、CP/M Ver.2.8)や、複数のプログラムを同時に走らせることができるMP/M1.1やMP/M II、コンカレントCP/M(-86)というものも存在した(Linuxの仮想コンソールのように、画面を切り替えて使う)。

[編集] 日本での状況

  • NECPC-8000シリーズ/PC-8800シリーズシャープMZシリーズ/X1シリーズなど、Z80プロセッサ搭載の8ビットパソコンに移植されたCP/Mのパッケージが、ハードメーカーやサードパーティーから提供されていた。とくにシャープ自ら供給したX1シリーズ用のものは完成度が高く、しかも安価であった。
  • NECのワープロ専用機、文豪ミニ5シリーズは、特定のキーを押しながら電源を入れるとCP/M-80が起動し、パソコンとして利用することができた。
  • ソニーのSMCシリーズのうち、SMC-777は、CP/M 1.4ベースのSONY FILERというOSを標準搭載した。SMC-70, SMC-70G は、別売りではあったが事実上、CP/M 2.2が標準OSとして使用されるのが一般的であった。
  • 6809プロセッサを採用した富士通FMシリーズでも、オプションのZ80ボードを搭載することでCP/Mが動作する。
  • シャープMZ-2500にはPersonal CP/Mが提供されていた。国産機種でPersonal CP/Mが提供されていたものは他に例がない。
  • MSXに提供されたMSX-DOSは、外見はMS-DOS、中身はCP/MとでもいうべきOSで、CP/Mのソフトがおおむね動作した。
  • CP/M-86は、日本語化されたものが三菱MULTI16、富士通FM-11EX/BS、FM-16β/πなどに標準採用された他、NECのPC-9800シリーズにも提供されていた。このCP/M-86の日本語化の過程で策定されたのがシフトJISである。
  • 一部機種には、CP/M PlusやコンカンレントCP/M-86も提供されていた。

[編集] MS-DOSとの比較

初期のMS-DOS/PC-DOS(の前身であるシアトルコンピュータプロダクツの86-DOS)は、CP/Mをモデルとして設計されたため、さまざまな面で類似点が見られる。

  • ファイル名が8文字+3文字であり、拡張子でファイルの種類を区別する。実行可能ファイルの拡張子は.COMである。ワイルドカード「*」「?」がある。
  • ドライブレター、カレントドライブ、デバイス名などの概念がある。
  • コマンドプロンプトは「>」である(例: A>)。
  • DIR、REN、TYPEなどのビルトインコマンドがある。
  • ^Sで出力の一時停止、^Cでアプリケーションの中断、^Pでプリンタ出力の切り替えを行う。
  • CP/MのCCP、BDOS、BIOSの三層構造は、MS-DOSではCOMMAND.COM、MSDOS.SYS、IO.SYS(PC-DOSではCOMMAND.COM、IBMDOS.COM、IBMBIO.COM)となる。
  • システムコールの機能や呼び出し方法、アプリケーションのメモリ配置、コマンドライン引数の渡し方などが酷似している。
  • ファイルを削除すると、ディレクトリエントリの先頭バイトがE5Hになる。
このE5Hという値は、当時フロッピーを物理フォーマットする際に書き込まれた値に由来する。つまり、物理フォーマット後に論理フォーマットする必要がないように設計されている。ただし、MS-DOSの場合はFATやブートセクタを書き込む必要があるため、別途論理フォーマットが必須である。

一方で、以下のような相違点(改善点)もある。

  • CP/MのERAコマンドはMS-DOSではDEL (ERASE)コマンドである。
  • CP/MのDIRコマンドは、MS-DOSのDIR/Wに相当する出力形式しかない。ファイルの詳細を知るにはSTATコマンドを使う。
  • CP/MのRENコマンドは「REN 新ファイル名=旧ファイル名」と書き、MS-DOSのそれとは引数の順序が逆である。
  • CP/MではファイルのコピーはトランジェントコマンドのPIPを必要としたが、MS-DOSでは内部コマンドのCOPYで行える。引数の順序もRENコマンドと同様に逆になる。
  • CP/Mでは前述したようなフロッピー入れ替えにまつわる問題があるが、MS-DOSではそのようなことはない。
  • CP/Mではバッチファイル(.SUB)の実行にはトランジェントコマンドのSUBMITを必要としたが、MS-DOSではCOMMAND.COM自身がバッチファイル実行機能を持っている。
  • CP/MではCCPなどのOS構成要素はディスク上の専用領域に格納されるが、MS-DOSのCOMMAND.COMなどは通常のファイルとして存在するため柔軟な管理が可能。
  • CP/MのディスクI/Oの基本単位は128バイトであり、ファイルサイズも128バイト単位である。これは、標準メディアが8インチ単密度フロッピー(セクタサイズ128バイト)であったことによる。一方、MS-DOSのディスクI/Oは128/256/512/1024バイトなどの単位で行え、ファイルサイズもバイト単位でとることができる。
  • CP/Mのファイルシステムではファイルの配置情報がディレクトリと一体化しており、大きなファイルがあるとディレクトリエントリをいくつも消費するという問題があったが、MS-DOSではFATとして独立している。

また、マイクロソフトがCP/M向けに出していたソフトでは、コマンドラインのスイッチはスラッシュで始まっており(例: M80 =FOO.MAC/R)、PC-DOS/MS-DOS 1.xではこれがOS標準の書式として受け継がれた。 そのため、PC-DOS/MS-DOS 2.xで階層ディレクトリを導入する際に、UNIXのようにパス名の区切りにスラッシュを使うことができず、バックスラッシュを使うことになった。 しかし、ASCIIのバックスラッシュはISO 646各国版で置き換えが認められており、たとえば日本のJIS X 0201では円記号になっているため、日本のPCではパス名の区切りが円記号で表示されることになった。

なお、これはコマンドラインに限った話であり、MS-DOSのシステムコールやWindows APIにパス名を渡す場合には、コマンドラインスイッチと混同するおそれがないため、区切りとしてスラッシュもバックスラッシュも受け付ける。

[編集] 現状

デジタル・リサーチは1991年ノベルに買収され、さらにカルデラ(2002年SCOに改称)に売却された。現在CP/M資産は同社の子会社であるリネオが所持しているが、その大半は同社の許諾を受けた「非公式なCP/Mサイト」からダウンロードすることが可能である。

[編集] 関連リンク

[編集] 外部リンク

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Sub-domains

CDRoms - Magnatune - Librivox - Liber Liber - Encyclopaedia Britannica - Project Gutenberg - Wikipedia 2008 - Wikipedia 2007 - Wikipedia 2006 -

Other Domains

https://www.classicistranieri.it - https://www.ebooksgratis.com - https://www.gutenbergaustralia.com - https://www.englishwikipedia.com - https://www.wikipediazim.com - https://www.wikisourcezim.com - https://www.projectgutenberg.net - https://www.projectgutenberg.es - https://www.radioascolto.com - https://www.debitoformtivo.it - https://www.wikipediaforschools.org - https://www.projectgutenbergzim.com