
|
Installeren MSX-DOS Falco van Dam, 00-00-00
Het installeren van MSX-DOS gaat als volgt:
1) Sector 0 van de diskette (de boor-sector) wordt naar C000H overgeheveld.
Wanneer een 'DRIVE NOT READY' of 'READ ERROR' optreedt of als byte #0 van de
boot-sector geen EBH ofE9H is, wordt DISK-BASIC geinstalleerd.
2) C01EH wordt met de carry gereset aangeroepen. Normaal staat hier RET NC en
gebeurt er dus niets.
3) De RAM-capaciteit wordt op een non-destructieve manier onderzocht. Minder dan
64K zorgt ervoor dan DISK-BASIC wordt geinstalleerd.
4) Nu is de omgeving voor MSX-DOS klaar en C01EH wordt met carry aangeroepen.
MSXDOS.SYS wordt op 0100H geladen en daar gerund. MSX-DOS verplaatst zichzelf
naar een hoger adres. Als MSXDOS.SYS niet wordt gevonden wordt DISK-BASIC
opgestart.
5) MSX-DOS laadt COMMAND.COM in op 0100H en springt naar het startadres. Ook
COMMAND.COM verplaatst zichzelf naar een hoger adres en gat dan zoeken naar
een AUTOEXEC.BAT.
Wanneer MSX-DOS niet is geinstalleerd en DISK-BASIC start, wordt een eventuele
AUTOEXEC.BAS opgestart.
Bij stap 4 is het hele geheugen RAM, maar de volgende BIOS routines zijn wel op
de juiste plek aanwezig. Ook de in- en uitvoer is hetzelfde als bij de BIOS. Ze
worden echter niet door het OS maar door MSX-DOS uitgevoerd.
Tabel: BIOS routines
0CH: RDSLT
14H: WRTSLT
1CH: CALSLT
24H: ENASLT
30H: CALLF
38H: KEYINT
Het gebied van 0-0100H heet de System-Scratch-area. Op adres 6 staat het einde
van de zogenaamde TPA (Transient Program Area). Hierboven staat MSX-DOS. Dit
gedeelte van het geheugen mag niet vernietigd worden als men nog naar MSX-DOS
wil terugkeren. COMMAND.COM staat onder dit adres maar kan wel overschreven
worden. Bij terugkeer uit een extern commando (COM-file) wordt dit gebied
onderzocht door middel van een checksum en als COMMAND.COM niet meer heel is,
wordt het weer van disk geladen.
|