Beschrijving routines.gen Hans Kester, 00-00-00 Alle macro's en sub-routines uit ROUTINES.GEN op een rijtje: Macro's: LOCATE Functie: cursor op een bepaalde plaats op het tekstscherm zetten Invoer: x-coordinaat, y-coordinaat Uitvoer: geen BEEP Functie: geeft een beepje Invoer: geen Uitvoer: geen HORLIJN Functie: trekt een horizontale lijn op het tekstscherm Invoer: x-coordinaat,y-coordinaat,lengte Uitvoer: geen VERTLIJN Functie: trekt een verticale lijn op het tekstscherm Invoer: x-coordinaat,y-coordinaat,lengte Uitvoer: geen Subroutines: INIT Functie: haalt de VDP-poortadressen uit ROM en zet ze in RAM Invoer: geen Uitvoer: geen BIOS1 Functie: roept de MSX1-BIOS aan (Main-Rom) Invoer: IX = aan te roepen adres Uitvoer: hangt af van aangeroepen functie BIOS2 Functie: roept de MSX2-BIOS aan (Sub-Rom) Invoer: IX = aan te roepen adres Uitvoer: hangt af van aangeroepen functie BLOKFILL Functie: vult een stuk geheugen met een bepaalde waarde Invoer: HL = adres vanaf waar het geheugen gevuld moet worden BC = de lengte van het stuk geheugen A = waarde waarmee het geheugen gevuld moet worden Uitvoer: geen GET_ZEKWET Functie: het opvragen van een J of een N van het toetsenbord Invoer: geen Uitvoer: A = 0 als het antwoord nee was 1 als het antwoord ja was UPPER Functie: zet een letter om in een hoofdletter (als dat mogelijk is) Invoer: A = letter Uitvoer: A = hoofdletter LOWER Functie: zet een letter om in een kleine letter (als dat mogelijk is) Invoer: A = letter Uitvoer: A = kleine letter GETFUNC Functie: bepaalt welke functietoets er ingedrukt is Invoer: geen Uitvoer: A = 0 als er geen functietoets ingedrukt was anders bevat A het nummer van de functietoets (1 t/m 10) WAITFUNC Functie: wacht net zolang tot er geen functietoets meer is ingedrukt Invoer: geen Uitvoer: geen KILLFUNC Functie: zorgt dat de functietoets-definities leeg gemaakt worden Invoer: geen Uitvoer: geen GETCHAR Functie: kijkt of er een toets is ingedrukt en haalt hem dan uit de toetsenbuffer Invoer: geen Uitvoer: A bevat het ingetoetste karakter A = 0 als er geen toets ingedrukt was LIJN_HOR Functie: trekt een horizontale lijn (zie de macro HORLIJN) Invoer: A = lengte B = x-coordinaat C = y-coordinaat Uitvoer: geen LIJN_VERT Functie: trekt een verticale lijn (zie de macro VERTLIJN) Invoer: A = lengte B = x-co”rdinaat C = y-co”rdinaat Uitvoer: geen PRINT Functie: zet een tekst op het scherm Invoer: HL = adres van het begin van de tekst De tekst moet afgesloten zijn met een 0-byte Uitvoer: geen FAST_PRINT Functie: zet een tekst op het scherm, sneller dan PRINT Invoer: HL = adres van het begin van de tekst De tekst moet afgesloten zijn met een 0-byte Uitvoer: geen BALKJE Functie: zet een VDP-balkje op het scherm (alleen MSX2) Deze balkjes kunnen knipperen en hebben een eigen kleur. Zie de routines KNIPPER en KNIPKLEUR Invoer: A = lengte van het balkje B = x-co”rdinaat C = y-co”rdinaat Uitvoer: geen BALKJE_WEG Functie: haalt de door BALKJE gemaakte balkjes weer weg Invoer: A = lengte van het balkje B = x-co”rdinaat C = y-co”rdinaat Uitvoer: geen WEGBALK Functie: haalt alle VDP-balkjes van het scherm Invoer: geen Uitvoer: geen KNIPPER Functie: laat de VDP-balkjes knipperen Invoer: hoge deel van B = de tijd dat de balkjes te zien zijn lage deel van B = de tijd dat de balkjes weg zijn Tijd wordt gemeten in vijfden van seconden. Uitvoer: geen KNIPKLEUR Functie: geeft de VDP-balkjes een kleur Invoer: hoge deel van B = voorgrondkleur lage deel van B = achtergrondkleur Uitvoer: geen SETRD Functie: stelt het VDP-leesadres in !! DE INTERRUPTS GAAN UIT EN BLIJVEN UIT !! Wilt u het toetsenbord o.i.d. weer gebruiken dan moeten de interrupts weer aan d.m.v. het commando EI Invoer: HL = adres in Video-Ram waarvan gelezen moet worden Uitvoer: geen SETWRT Functie: stelt het VDP-schrijfadres in !! DE INTERRUPTS GAAN UIT EN BLIJVEN UIT !! Wilt u het toetsenbord o.i.d. weer gebruiken dan moeten de interrupts weer aan d.m.v. het commando EI Invoer: HL = adres in Video-Ram waarnaar geschreven moet worden Uitvoer: geen LDIRMV Functie: kopieert Video-Ram naar Main-Ram Invoer: HL = adres in Video-Ram DE = adres in Main-Ram BC = lengte van het te kopi‰ren blok Uitvoer: geen LDIRVM Functie: kopieert Main-Ram naar Video-Ram Invoer: HL = adres in Main-Ram DE = adres in Video-Ram BC = lengte van het te kopi‰ren blok Uitvoer: geen GET_ADRES Functie: berekent het adres in het Video-Ram van een bepaalde positie op het scherm Invoer: B = x-co”rdinaat C = y-co”rdinaat Uitvoer: HL = adres in VRAM |