Základem je BIOS - skládá se zpravidla ze dvou částí. První část se
natahuje u SAPI z booteprom do RAM a obsluhuje čistě HW (konzoli, řadič FD,
tiskárnu případně čtečku a děrovač pásky). Druhá část (pokud je
použita) se jmenuje C-BIOS a ta je uložena v systémových stopách diskety
spolu s BDOSem a CCP a zpravidla se zavádí do paměti najednou. C-BIOS
obsahuje skokový vektor CP/M (což umožňuje využít nebo přesměrovat
služby BIOSu v případě, že např. nechceme využít některé služby již
zavedeného základního BIOSu) a dále také tabulky charakterizující
formát, kapacitu a počet disket. To umožňuje změnit formát bez zásahu do
HW počítače. Prostě se přepíší údaje na disketě a nemusí se pálit
nová EPROM s BIOSem.
Postup bootu je cca takový, že se nejdříve z booteprom zavede základní
BIOS a skočí se na něj. Odpojí se booteprom a pokusí se načíst boot
sektor (na adresu 80h, tam je později buffer a tudíž tam kó nepřekáží
při zavádění), což je první sektor na nulté stopě (systémové). Boot
sektor se pokusí zavést na určené místo zbývající sektory z nulté
(případně i první) stopy a v případě úspěchu předá řízení CCP.
Systémové stopy nemají interleave tj. sektory jdou za sebou bez
prokládání.
Toto je ve stručnosti souhrn informací, které potřebuješ k sestavení CP/M.
Pak už schází jen napsat formátovací program pro konkrétní řadič a
prográmky pro zápis příslušných sektorů diskety.
S emulátory zkušenosti nemám, vše jsem absolvoval na reálném systému...