         ******************************************
         *** HANDLEIDING van MDL-LIB versie 2.0 ***
         ***       Bestand: INLEIDNG.TXT        ***
         ***   - COPYRIGHT 1990 BY MDL-SOFT -   ***
         ******************************************

Dit is de  beknopte  handleiding  van  de  Pascal-bibliotheek
genaamd MDL-LIB versie 2.0. Dit bestand, INLEIDNG.TXT, is het
eerste deel daarvan, de inleiding (die u wel even moet lezen,
het  bestand  bevat  belangrijke   informatie).   De   andere
bestanden  staan  op  dezelfde  schijf  als  deze  en  hebben
allemaal de extensie '.TXT'.

Wilt u dus alle handleiding-bestanden zien, toets dan  (onder
DOS) in 'DIR *.TXT'.

Even  vooraf: er is speciaal een programma opgenomen om  deze
handleiding  te  printen. Dit programma is onderdeel van  het
grote  testprogramma bij deze bibliotheek,  MDLTEST.COM.  Tik
onder MSX-DOS in:

MDLTEST

Als  u in het hoofdmenu bent aangekomen, kiest u dan optie 5.
Het printprogramma wijst zich verder vanzelf.

MDL-LIB is bedoeld voor Turbo Pascal, versie 3.0. Voor andere
Pascals moet het mogelijk iets aangepast worden.  Het  is  in
principe mogelijk de  bibliotheek  te  gebruiken  onder  alle
Pascals die onder MSX-DOS werken,  maar  waarschijnlijk  niet
zonder aanpassingen.

Wat kan en bevat MDL-LIB nu allemaal?

Welnu,  MDL-LIB  bevat  meer  dan  100  procedures  van  zeer
verschillende aard. Een flink deel  daarvan  wordt  ingenomen
door grafische procedures, zowel voor MSX-1  als  voor  MSX-2
(b.v. het trekken van lijnen en cirkels). De namen  van  deze
procedures zijn zoveel mogelijk gelijk gehouden aan de  namen
van de procedures zoals die op  de  PC  (Pascal  versie  3.0)
werken, ook de manier van aanroepen is gelijk. Dit maakt  het
erg  makkelijk  PC-programma's  naar  MSX  over  te   zetten.
Andersom zal waarschijnlijk moeilijker zijn, omdat de MSX  nu
eenmaal andere (en meer) grafische mogelijkheden heeft.

De bibliotheek is per  onderdeel  verdeeld  in  verschillende
bestanden. Deze bestanden kunnen de extensie .LIB, .TYP, .VAR
en .CON hebben. Ze bevatten respectievelijk de procedures, de
typedefinities,  de  variabelen  en  de  constanten  van  een
bepaald onderdeel. Het .LIB bestand is altijd aanwezig,  maar
de andere hoeven niet pers aanwezig  te  zijn.  Een  Pascal-
programma dat MDL-LIB gebruikt, moet er zo uit zien:

Program <programmanaam>;

Type
  <.TYP bestanden invoegen>
  <eigen typedefinities>

Const
  <.CON bestanden invoegen>
  <eigen constanten>

Var
  <.VAR bestanden invoegen>
  <eigen variabelen>

<procedurebestanden invoegen>

<uw procedures en hoofdprogramma>

Hieronder volgt een korte opsomming van de mogelijkheden  per
bestand. Wat we vanaf nu een bestand  zullen  noemen,  is  de
verzameling van het .LIB bestand, en eventuele .TYP, .CON  en
.VAR bestanden. De extensie wordt hierbij niet  gegeven:  die
kan immers verschillend zijn.

MDLLIB: Dit bestand moet ALTIJD als eerste ingevoegd  worden,
als u deze bibliotheek gebruikt. Het bestand  bevat  namelijk
een aantal routines die ook  door  de  procedures  in  andere
bestanden gebruikt worden, bijvoorbeeld  voor  het  aanroepen
van de BIOS. MDLLIB.VAR bevat bovendien  een  aantal  handige
systeemvariabelen, zoals toetsklik aan/uit, en een timer  die
om de 50-ste seconde verhoogd wordt door  het  systeem.  Deze
variabelen worden ook in de .LIB files gebruikt.

VRAM1: Dit bestand bevat basis-routines om met het Video  RAM
en de VDP te werken, zoals bijvoorbeeld een procedure om  een
byte in het  VRAM  te  schrijven  of  een  schermmode  in  te
stellen. Bevat ook een krachtige procedure voor  gebruik  van
de "character mode": een veredeld  tekstscherm  met  max.  16
kleuren PER KARAKTER en sprites op de koop toe! (Dat  is  ook
het  soort  scherm  waarop  b.v.  KONAMI  spellen  geschreven
zijn...) Om deze laatste goed te kunnen gebruiken, moet u wel
kennis van de  opbouw  van  het  VRAM  hebben,  b.v.  hoe  de
karakters daarin staan. Dit  kan  natuurlijk  in  deze  korte
handleiding niet behandeld worden. Het speciale scherm  werkt
in schermmode 2.

VRAM2: Idem, voor MSX2.  Een  aantal  extra  procedures  zijn
opgenomen, maar van de "dubbele" procedures zitten hier  MSX2
versies in, die NIET op MSX1 werken. De "character mode"  kan
zowel op scherm 2 als scherm 4 werken.

GRAPMSX1: Bevat grafische routines, zoals het trekken van een
lijn of een cirkel, of het inkleuren van  een  vlak,  of  het
werken met patronen.

GRAPMSX2:  Idem  voor  MSX2.  Hier  zijn  tevens  een  aantal
routines opgenomen om delen van het grafische scherm naar een
ander deel te copiren. Let erop, dat ALLE routines  uit  dit
bestand ALLEEN op de schermen 5  t/m  8  werken.  Wilt  u  op
scherm 4 werken, dan moet u GRAPMSX1 gebruiken (in combinatie
met VRAM2 gaat dat prima). U heeft dan MSX1 graphics met MSX2
sprite- en kleurmogelijkheden.

LOGOROUT: Dit bestand is bestemd voor zowel MSX1 als MSX2, en
kan met beide VRAM library files samenwerken. Het  bevat  een
aantal procedures om op de beroemde LOGO-manier het grafische
scherm te besturen (de turtle wordt zichtbaar gemaakt als een
driehoekje).
Als u in n programma tegelijk VRAM1 en VRAM2  invoegt  (dat
kan  binnen  twee  procedures),  dan  moet  na   iedere   {$I
VRAMx.LIB} een {$I LOGOROUT.LIB}  staan  (alleen  als  u  hem
binnen die procedure ook daadwerkelijk gebruikt, natuurlijk),
want anders blijft LOGOROUT.LIB samenwerken met  de  routines
uit de verkeerde VRAM-library, wat zowel op MSX1 als op  MSX2
fout gaat, op MSX1 omdat MSX2 routines niet op MSX1  gebruikt
kunnen worden (dit resulteert ongetwijfeld in  een  hang-up),
en op MSX2 omdat de MSX1 routines niet het hele  VRAM  kunnen
beschrijven en uitlezen.

GAMEIO: Om de joystick, paddle,  touchpad,  muis  (MSX-2)  en
lichtpen (ook MSX-2) uit te lezen. (Overigens  ook  bruikbaar
voor professionele toepassingen, ondanks de naam).

SOUNDS:  Bevat  een  aantal  zr  gebruikersvriendelijke  en
krachtige procedures  om  de  geluidschip  mee  te  besturen.
Geluidseffecten kunnen veel makkelijker dan in  BASIC  worden
geprogrammeerd. Kennis  van  het  binaire  talstelsel  en  de
geluidschip is niet nodig, in tegenstelling tot in BASIC.

DISKTOOL:   Procedures   voor   schijven-beheer.    Directory
uitlezen,  naar  bestand(en)  zoeken,  sectoren  rechtstreeks
lezen/schrijven (voor deskundigen!), enz.

TAPE: Procedures om  de  cassetterecorder  vanuit  Pascal  te
besturen.  Handig  voor  back-ups  en  dergelijke.  MSX-BASIC
compatible ASCII files kunnen gelezen en geschreven worden!!

DATA:  Bevat  twee  zr   krachtige   procedures:   een   in
machinetaal  geschreven  procedure  om  twee  variabelen  van
inhoud te wisselen  zonder  hulpvariabele,  en  een  sorteer-
routine (Shell-Metzner sort) waarmee u ALLE soorten arrays in
Pascal bliksemsnel kunt sorteren.

MISC:  Van  alles  en  nog  wat  (de  naam   zegt   het   al:
MISCellaneous). Onder andere: printer  online?,  beep,  extra
tekstscherm procedures, etc.

Tot zover de korte opsomming van de mogelijkheden. Als  u  ze
indrukwekkend genoeg vindt, wilt u vast  eens  de  procedures
nader gaan bekijken. Dit kan door het bestand te bekijken met
dezelfde naam als de betreffende .LIB  file,  alleen  met  de
extensie .TXT. Uitprinten kunt u met het aan het begin van de
inleiding genoemde printprogramma in MDLTEST.COM.

Ik  wens  u  erg  veel  plezier  met  het  gebruik  van  deze
bibliotheek.


Martijn Dekker, 27 januari 1990
                                                             