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. |