Jen trošku osvětlím to CP/M skládá se prakticky ze 3 částí - CCP, BDOS, BIOS
CCP a BDOS jsou standardní pro všechny systémy verze 2.2 na všech počítačích - pro Spectrum a Sharp p. Lamač ale do nich šáhnul, a některé rutiny přepsal do kódu Z80. To mu umožnilo zvedout rychlost a doplnit pár drobností. (totéž udělali i ve Slušovicích kde to pojmenovali CP/M 2.27 nebo 2.3x případně TNSDOS). Co je důležité, že standardní programy používají tzv. volání BDOS (Call 0005 s číslem služby v reg. C a parametry v ostatích registrech). Tyto moduly nejsou relokovatelné, ale generují se pomocí SYSGEN na konkrétní adresy pro každý počítač. Obecně platí, že čím výše v paměti jsou, tím víc volného místa zbyde na programy a data. Některé programy dokáží využít i paměť co zabírá CCP (což je obsluha příkazové řádky) aby měly víc paměti.
BIOS je to, co je pro každý počítač unikátní a má zase svoje pevné adresy a rutiny které volá BDOS a některé programy jej volají též napřímo (typicky systémové utility na práci s disky) - čím víc zabere BIOS, tím míň paměti opět zůstane na CCP/BDOS a pak pro program. BIOSy terminálových strojů měly typicky stovky bajtům max.1-2 kB. Právě p. Lamač ale má svoje BIOSy z hlediska CP/M neskutečně dlouhé, spousty bufferů pro urychlení práce disket + generátor znaků
CP/M umí obsloužt i Harddisky 20MB, takže 1 MB Ramdisk nebo 8MB mu nebude dělat problém, pouze je potřeba počítat s tím, že alokační bloky budou velké, a je tu i omezení na počet položek hlavního adresáře, nejsou zde podadresáře (složky), takže vyznat se pak ve větším množství souborů není jednoduché - sice lze využít až 16 uživatelů, ale ti vidí jen svoje soubory a soubory uživatele 0, a pak hledat co je pod jakým uživatelem uložené je taky zážitek.
Takže, pokud se tomu někdo chce věnovat, rozhodně nezasahovat do vlastního CP/M (CCP/BDOS) a použít buď standardní nebo vylepšené od p.Lamače, ale napsat si na míru BIOS, včetně emulace terminálů (výstup na obazovku) a obsluhy moderních diskových systémů. Pro CP/M je základní blok jeden sektor 128 bajtů. Takže pokud má diskový systém jiný formát, musí to BIOS zpracovat (zde ty buffery) pomocí různých blok/deblok algoritmů...
|