Dies ist eine alte Version des Dokuments!
PORTGR.EXE
Portfolio Grafik-Treiber von Mark Reeves.
PORTGR.EXE installiert ein TSR welches eienen Interrupt 5Fh zur Verfügung stellt. Diesen Interrupt kann man in z.B. Assembler oder BASIC aufrufen um folgende Grafik-Funktionen zu realisieren:
Pixel setzten, Pixel lesen, Linie zeichnen, Viereck zeichnen, Kreis Zeichnen und Fläche Füllen.
Dies ist eine große Entlastung für den Programmierer und den Code, allerdings funktionieren die damit erstellten Programme (BAS, COM, EXE…) nur solange der Treiber installiert ist.
PORTGR.EXE ist 4352 KB groß und braucht 8KB RAM, das Programm hat einen internen Stack von 3KB der beim Füllen von Flächen verwendet wird.
Alle Aufrufe werden durch den Interrupt 5Fh durchgeführt, die gewünschten Werte müssen beim Aufruf in den Registern stehen.
Werte für die X-Koordinate müssen zwischen 1 und 240 und Werte für die Y-Koordinate zwischen 1 und 64 liegen, Werte die darunter oder darüber liegen werden auf das Maximum oder Minimum beschränkt.
Register-Struktur AH Funktionsaufruf
00h Versionsnummer ausgeben (in AX) 01h Grafik-Modus 02h Text-Modus 03h Pixel setzten 04h Pixel lesen 05h Linie Zeichnen 06h Horizontale zeichnen (schneller als 05h) 07h Vertikale zeichnen (schneller als 05h) 08h Viereck Zeichnen 09h Kreis Zeichnen 0Ah Fläche füllen FEh Lese Tastaturpuffer (0,1) FFh Taste abfragen
AL Pixel-Wert (0,1) BH X-Koordinate 1 (X1=1…240) BL Y-Koordinate 1 (Y1=1…64) CH X-Koordinate 2 (X2=1…240) CL Y-Koordinate 2 (Y2=1…64) DL Kreis-Radius