PofoWiki

Die ultimative Informationsquelle zum ATARI Portfolio

Benutzer-Werkzeuge

Webseiten-Werkzeuge


software:diy:assembler:int5fh

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
software:diy:assembler:int5fh [07/09/2006 23:09] – angelegt uxtsoftware:diy:assembler:int5fh [Unbekanntes Datum] (aktuell) – Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1
Zeile 1: Zeile 1:
 ====== PORTGR.EXE ====== ====== PORTGR.EXE ======
-Portfolio Grafik-Treiber von Mark Reeves.+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:\\ 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.  Pixel setzten, Pixel lesen, Linie zeichnen, Viereck zeichnen, Kreis Zeichnen und Fläche Füllen.
Zeile 7: Zeile 7:
 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.\\ 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.+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.+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^Bedeutung^ 
 +|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| 
 + 
 +Ergebnisse (wenn AH=0,FEh oder FFh) stehen nach Rückkehr in AL oder AX, etwaige Fehler-Codes in BX.\\ 
 +BX=0: Funktion durchgeführt\\ 
 +BX=1: Stapelüberlauf, Funktion abgebrochen.\\ 
 + 
 +Das Spiel [[software:vorstellung:spiele:spieleuebersicht|PUNKMAN JR]] von [[info:pantheon|Robert Quezada]] wurde unter Verwendung von PORTGR.EXE programmiert. Das Spiel funktioniert also nur, wenn nach dem letzten Warmstart PORTGR.EXE installiert wurde.\\ 
 + 
 +Beispiel (ASM):\\ 
 +Zeichnet ein Quadrat in der Mitte des Bildschirms: 
 +  MOV AH,08h ;Viereck Zeichnen 
 +  MOV AL,1 ;Pixel-Farbe 
 +  MOV BH,98 ;X1 (Mitte minus 22) 
 +  MOV BL,10 ;Y1 (Mitte minus 22) 
 +  MOV CH,142 ;X2 (Mitte plus 22) 
 +  MOV CL,54 ;Y2 (Mitte plus 22) 
 +  INT 5Fh        ;PORTGR 
 +Der Bildschirm muß sich natürlich im Grafik-Modus befinden, dies kann man mit dem INT 5Fh selbst, 
 +  MOV AH,1 ;Grafik-Modus 
 +  INT 5Fh               ;PORTGR 
 +oder mit dem BIOS-INT 10h 
 +  MOV AH,0 ;Bilschirm-Modus definieren 
 +  MOV AL,8 ;Grafik-Modus 
 +  INT 10h 
 +erledigen.
  
-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 
  
software/diy/assembler/int5fh.1157666271.txt.gz · Zuletzt geändert: 16/02/2024 17:02 (Externe Bearbeitung)