MILC logo

IndexVorigeVolgendeLeeg

MSXDOS v2.33
Desire In Envy, 00-00-94


    

                                MSXDOS v2.33
                                ============
                    Modifications (C)1994 by Desire In Envy





Een nieuwe versie van MSXDOS?
=============================
Waarom een nieuwe versie? Als men een PC bestudeert komt men al snel tot de
ontdekking dat men bij deze computer, bij het opstarten, bepaalde dingen kunt
instellen en tsr's kan inladen. Ik vond dit eigenlijk wel interessant en ik ben
daarom begonnen aan een patch voor "MSXDOS2.SYS" (bij "COMMAND2.COM" zijn de
verschillen met de oude versie minimaal).


Wat is er toegevoegd?
=====================
-Als men bij het opstarten van "MSXDOS2.SYS" de TAB toets ingedrukt houdt,
 springt men naar BASIC. Het doel is hiervan om, naar BASIC te gaan als bijv.
 "COMMAND2.COM" beschadigt is, of om even snel naar BASIC te gaan.

-Er is een controlle op AB-codes in de "primary" mapper ingebouwd, als
 "MSXDOS2.SYS" een AB-code vindt wordt er gevraagd om door te gaan, of om te
 stoppen, wat inhoudt dat er naar BASIC wordt gesprongen. Het idee achter deze
 controle is: als er in WB wordt geprogrammeerd, de computer loopt vast, maar
 we wilden eigenlijk verder met WB gaan; COMMAND2.COM wist de AB-code en de
 source is verdwenen: tenzij er naar BASIC gesprongen kon worden!

-Er wordt een configuratie bestand ("CONFIG.SYS") ingeladen (als deze op de
 disk staat) en verwerkt.


Instaleren van MSXDOS v2.33
===========================
Het instaleren van MSXDOS v2.33 is heel simpel; copieer "MSXDOS2.SYS" en
"COMMAND2.COM" van de MSXDOS v2.33 schijf naar uw harddisk of systeem-diskette.


Configureren van MSXDOS v2.33
=============================
Configureren van MSXDOS v2.33 gaat via een ASCII file met de naam "CONFIG.SYS".
In dit bestand staan commando's die door "MSXDOS2.SYS" worden verwerkt. Een
korte lijst met de commando's en hun default waardes staat hieronder.

 Commando       Default waarde      Functie
 --------       --------------      -------
 KEY            OFF                 functie toetsen laten zien
 REBOOT         OFF                 moet "CONFIG.SYS" elke keer verwerkt worden
 RESET          OFF                 met CTRL/GRPH/CODE/RET reset-en
 BUSRESET       OFF                 met ESC/STOP/BS de SCSI-bus reset-en
 VDPSPEED       ON                  snellere karakter output in DOS
 MESSAGES       OFF                 kanji boodschappen uit DOS2-rom naar Engels
 BOOTCHECK      ON                  bootsector controleren op disk changes

 BOOTFILE       AUTOEXEC.BAT        batch file die opgestart moet worden
 BUFFERS        5                   interne dos 2 buffers
 SCREENSAVE     0                   wachttijd screensaver
 SYSVER         2.33                versie van "MSXDOS2.SYS" veranderen

 KERNELVER      dos2 rom afhank.    versie van uw DOS 2 rom veranderen
 COLOR          comp. afhankelijk   kleuren bij het opstarten
 FREQUENCY      comp. afhankelijk   vdp frequency bij het opstarten
 SCSIID         comp. afhankelijk   SCSI id nummer v/d computer

 DEVICE         ---                 device's inladen
 REM            ---                 commentaar

  IF ID=        ---                 delen van "CONFIG.SYS" SCSI-ID (computer)
  ENDIF         ---                        afhankelijk laten verwerken


Functie omschrijving commando's
===============================

 KEY
 ---
 Met dit commando kunt u aangeven of u de functie toetsen in beeld wilt
 brengen of juist niet. Geldige invoer is: "ON" en "OFF".

 KEY=ON         ; Laat de functie toetsen zien
 KEY=OFF        ; Laat de functie toetsen niet zien


 REBOOT
 ------
 Met dit commando kunt u instellen of "CONFIG.SYS" bij elke keer dat
 "MSXDOS2.SYS" (dus bij "_SYSTEM") wordt ingeladen verwerkt moet worden.
 Geldige invoer is: "ON" en "OFF".

 REBOOT=ON      ; Bij elke "_SYSTEM" wordt "CONFIG.SYS" verwerkt
 REBOOT=OFF     ; Alleen bij een reset wordt "CONFIG.SYS" verwerkt


 RESET
 -----
 Met dit commando kunt u de snelle reset toetsen (CONTROL+GRAPH+CODE+RETURN)
 aan zetten, zodat u met de genoemde toetsen ook kunt reset-en. Geldige invoer
 is: "ON" en "OFF".

 RESET=ON       ; Als er op CTRL+GRPH+CODE+RET wordt gedrukt, wordt er gereset
 RESET=OFF      ; Normale situatie, dus geen snelle reset-toetsen


 BUSRESET
 --------
 Met dit commando kunt u instellen of u met de toetsen ESC+STOP+BS de SCSI-bus
 wilt kunnen reset-en. Dit werkt alleen op een B.E.R.T. SCSI interface. Geldige
 invoer is: "ON" en "OFF".

 BUSRESET=ON    ; Als er op ESC+STOP+BS wordt gedrukt wordt de SCSI-bus gereset
 BUSRESET=OFF   ; Normale situatie, dus geen mogelijkheid om de SCSI-bus te
                  reset-en


 VDPSPEED
 --------
 Met dit commando kunt u de snellere karakter output onder DOS aan te zetten.
 Met de toetsen ESC+SELECT+STOP kunt u ook schakelen tussen de normale en
 snellere karakter output. Geldige invoer is: "ON" en "OFF".

 VDPSPEED=ON    ; Karakter output onder dos in sneller
 VDPSPEED=OFF   ; Normale situatie, zoals u gewent was met vorige versies


 MESSAGES
 --------
 Met dit commando kunt u instellen of u onder kanji de boodschappen die normaal
 uit de DOS2 rom (onder kanji modes) in het Japans waren normaal in het engels
 te laten afdrukken. Geldige invoer is: "ON" en "OFF".

 MESSAGES=ON    ; Japanse kanji teksten worden naar het Engels vertaald
 MESSAGES=OFF   ; normale situatie, sommige teksten zijn in het Japans onder
                  kanji


 BOOTCHECK
 ---------
 Met dit commando kunt u de bootsector check van DOS 2 uitschakelen. Deze
 bootsector check is bedoeld om disk wisselingen tegen te gaan, het is dus aan
 te raden deze BOOTCHECK gewoon aan te laten staan. Geldige invoer is: "ON" en
 "OFF".

 BOOTCHECK=ON   ; DOS 2 check bij elke disk opdracht of de disk verwisseld is
 BOOTCHECK=OFF  ; DOS 2 controleerd niet of de disk verwisseld is


 BOOTFILE
 --------
 Met dit commando kunt u andere batch files op laten starten dan "AUTOEXEC.BAT"
 bij een reset. Achter het "BOOTFILE" moet een string staan met de naam van de
 batch file die u inplaats van "AUTOEXEC.BAT" wilt laten opstarten. Dit
 commando bewijst zijn nut in SCSI-netwerken (in combinatie met "IF ID=",
 "ENDIF").

 BOOTFILE=AUTOEXE2.BAT             ; Na een reset wordt AUTOEXE2.BAT opgestart


 BUFFERS
 -------
 Met dit commando kunt u het aantal interne buffers aangeven die DOS 2
 gebruikt. Zie ook uw DOS 2 handleiding. Geldige invoer is 0 t/m +/- 20.

 BUFFERS=5      ; DOS 2 gebruikt 5 buffers tijdens diskopdrachten


 SCREENSAVE
 ----------
 Met dit commando kunt u aangeven hoelang er gewacht moet worden, voordat de
 screensaver het scherm zwart maakt, als er in de gegeven tijd geen toets is
 gedrukt. Ingave van 0 staat gelijk aan uit. Geldige invoer is: 0 t/m 15. De
 invoer wordt gerekent in minuten.

 SCREENSAVE=10  ; Als er tien minuten niet op een toets wordt gedrukt, wordt
                  het scherm zwart, tot er weer een toets wordt ingedrukt.


 SYSVER
 ------
 Met dit commando kunt u software matig u versie nummer van "MSXDOS2.SYS"
 veranderen. Geldige invoer is: x.yy met x tussen 0-9 en yy tussen 0-99.

 SYSVER=2.11    ; U werkt nu met MSXDOS2 v2.11


 KERNELVER
 ---------
 Met dit commando kunt u software matig het versie nummer van de DOS 2 rom
 veranderen. De invoer is het zelfde als "SYSVER".

 KERNELVER=2.40 ; Uw DOS 2 rom heeft nu versie 2.40


 COLOR
 -----
 Met dit commando kunt u de scherm kleuren onder DOS instellen. De invoer van
 dit commando is gelijk aan BASIC.

 COLOR=15,4,7   ; De voorgrondkleur is wit, en de achtergrond kleur is blauw.
                  De border kleur is licht blauw, maar deze ziet u niet in DOS.


 FREQUENCY
 ---------
 Met dit commando kunt u de vdp frequency instellen op 50 Hz (NTSC) of op 60 Hz
 (PAL). Geldige invoer is dus: "50" en "60".

 FREQUENCY=50   ; Schakel 50 Hz (NTSC)
 FREQUENCY=60   ; Schakel 60 Hz (PAL)


 SCSIID
 ------
 Met dit commando kunt u het SCSI id nummer van de computer instellen. Dit
 werkt alleen op een B.E.R.T. SCSI interface. Geldige invoer is: 0 t/m 7.

 SCSIID=6       ; De computer heeft nu ID 6


 DEVICE
 ------
 Met dit commando kunt u zgn. devices (zijn TSR's) inladen. Achter device komt
 een filenaam, en eventueel daarachter opties voor de device (net zoals u
 gewent bent in DOS).

 DEVICE=A:\DOS\TEST.SYS /A /L   ; Laat de device TEST.SYS, die te vinden is in
                                  A:\DOS, in met de opties /A en /L


 REM
 ---
 Dit is eigenlijk geen commando, maar is bedoeld voor commentaar. Alles wat
 achter "REM" komt wordt genegeerd (precies zoals in BASIC).

 REM Desire In Envy     ; doet niets


  IF ID=
  ------
  Met dit commando kunt u blokken SCSI-ID afhankelijk laten uitvoeren. Achter
  "IF ID=" komt het computer ID nummer voor welk het volgende blok moet worden
  uitgevoerd. Een blok wordt afgesloten met "ENDIF". "IF ID=" en "ENDIF" werken
  alleen op een B.E.R.T. SCSI interface.

  ENDIF
  -----
  Met dit commando sluit u een computer ID afhankelijk blok commando's af.

   Voorbeeld "IF ID=" en "ENDIF"
 
        BOOTFILE=AUTOEXE1.BAT           ; "AUTOEXE1.BAT" wordt opgestart
        COLOR=15,4,4                    ; tenzij de computer ID 6 heeft
        IF ID=6                         ; dan wordt "AUTOEXE2.BAT" opgestart
         BOOTFILE=AUTOEXE2.BAT          ; en de kleuren zijn dan 15,7,7
         COLOR=15,7,7
        ENDIF


Voorbeelden configuratie.
-------------------------
In dit stukje worden enkele configuratie voorbeelden gegeven, om u op weg te
helpen.

 "CONFIG.SYS"                      Commentaar
 ------------                      ----------
 COLOR=15,1,1                      Kleuren wit op zwart
 KEY=OFF                           Functietoetsen weg
 FREQUENCY=50                      50 Hertz

 IF ID=6                           Doe het nu volgende alleen voor ID 6
  BOOTFILE=ID6BAT.BAT              start "ID6BAT.BAT" op ipv "AUTOEXEC.BAT"
 ENDIF                             De volgende commando's zijn voor alle ID's

 REBOOT=ON                         Bij elke _SYSTEM "CONFIG.SYS" verwerken
 BUFFERS=4                         Vier buffers voor DOS
 VDPSPEED=ON                       Snellere karakter output in DOS
 RESET=ON                          Kunnen reset-en met toetsen (zie boven)

Ik hoop dat u nu zo'n beetje een idee krijgt hoe een "CONFIG.SYS" bestand er
uit zal gaan zien. U hoeft natuurlijk niet alle commando's te gebruiken, als
een commando niet gebruikt wordt, dan staat deze in zijn (als het commando dat
heeft) default waarde.


De STOP toets
-------------
Als u bij een reset de STOP toets ingedrukt houdt, dan wordt er bij elk
commando dat in "CONFIG.SYS" gevraagt of dit commando uitgevoerd moet worden of
niet. Ook wordt er gevraagd of de bootfile doorgestart moet worden.


Foutmeldingen
=============
Als er iets mis is gegaan bij het verwerken van de "CONFIG.SYS" wordt er een
melding gedaan van wat er mis is. Achter de fout staat het regelnummer waar de
fout is opgetreden. Hieronder staat een lijst met foutmeldingen en hun
betekenis.

 Foutmelding                            Omschrijving
 -----------                            ------------
 No B.E.R.T. SCSI interface found       Treedt op als er een SCSI commando
                                        wordt gebruikt, maar er geen SCSI
                                        interface aanwezig is.

 Syntax error                           Treedt op als "MSXDOS2.SYS" een
                                        commando in "CONFIG.SYS" niet kent.

 Not enough TPA available for devices   Treedt op als er te weinig geheugen
                                        vrij is voor de interne TSR's
                                        (screensaver, reset-toetsen, etc.)

 Not enough TPA to load: xxxxxxxx.xxx   Treedt op als er te weinig geheugen
                                        vrij is om een bepaald device te laden.

 Unknown type of device file            Treedt op als men het type device niet
                                        kent.

 Invalid filename                       Treedt op als er bij ingave van een
                                        filenaam, een verkeerde filenaam wordt
                                        gegeven.

 Missing filename                       Treedt op als er geen filenaam wordt
                                        gegeven waar dat wel was verwacht.

 Parameter out of range                 Treedt op als er een te hoge waarde
                                        wordt gegeven achter een commando.

 Invalid parameter                      Treedt op als er een ongeldige invoer
                                        achter het commando is gegeven.

 Missing parameter                      Treedt op als er geen invoer achter het
                                        commando is gegeven.




Programmers info
================

Formaat van device's
--------------------
Device drivers zijn tsr's die met het opstarten worden ingeladen. Hieronder
wordt het formaat ervan beschreven, zodat programmeurs tsr's voor MSX-DOS 2.33
kunnen schrijven.

De device driver begint met een header, zie hieronder.

Offset  Data

; begin header

+0000   #44 ('D')               ; 4 herkennings bytes
+0001   #44 ('D')
+0002   #AA
+0003   #55

+0004   versie nummer gebruikte "protocol" (=0), bedoelt voor eventuele
        toekomstige versies.

+0005   LSB
+0006   MSB bytes die device wil hebben in TPA

+0007   reserved (=00)
+0008   reserved (=00)

Na de header (dus nu op: +9), komt de opstart routine die op #8100 word inge-
laden. Bij het opstarten van een device driver wordt in [HL] het start adress
gegeven van het opgegeven gereseveerde geheugen. Als er niet genoeg TPA is, dan
wordt de device driver dus ook niet opgestart. Een device driver wordt tot
adress #BFFF ingeladen, page 3 wordt niet gebruikt! Dit euvel is op te lossen
door overlay files te gebruiken. Om het gebruik van overlay files te ver-
gemakkelijken is er in het systeem geheugen van de device driver (#8000-#80FF)
de ASCIIZ string neergezet (inclusief filenaam) van de ingeladen file. Device
drivers moeten zelf de hook's afbuigen, en alles initialiseren; het is dus een
gewoon programma met het verschil dat hij een bepaalde hoeveelheid geheugen
vrij tot zijn beschikking heeft.

Als de device driver wordt opgestart is de situatie als volgt:
-page 0: MSXDOS2.SYS, niet gebruiken behalve de bekende slot select (etc)
         routines.
-page 1: DISKROM
-page 2: Device driver
-page 3: RAM (natuurlijk)

Page 2 is weer als volgt ingedeeld:

 #8000-#80FF  Systeem variabelen/strings
 #8100-#BFFF  Device driver instalatie routine


  #8000   LSB
  #8001   MSB adress waar het gewenste gereserveerde geheugen staat.

  #8002   Drive waarvan MSXDOS2.SYS is ingeladen (1 voor A:, 2 voor B:, etc)

  #8003
   t/m
  #803F   reserved

  #8040   ASCIIZ string met path & filenaam van de opgestarte device
   t/m
  #807F

  #8080   Command line v/d device driver
   t/m    +00 = lengte (exclusief lengte byte en terminating zero)
  #80FF   +01 = command line (afgesloten met een terminating zero)

  #8100   De opstart routine van de device driver, deze krijgt in [HL] het
   t/m    adress waar de gevraagde gereserveerde ruimte staat.
  #BFFF


    

Index

Vorige

Volgende