hardware:doku:techrefguide:abschnitt3
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
hardware:doku:techrefguide:abschnitt3 [01/05/2008 21:05] – ergänzt. uxt | hardware:doku:techrefguide:abschnitt3 [19/09/2010 18:09] – typos uxt | ||
---|---|---|---|
Zeile 890: | Zeile 890: | ||
Der Terminplaner sortiert die Einträge chronologisch wann immer er geladen wird. | Der Terminplaner sortiert die Einträge chronologisch wann immer er geladen wird. | ||
\\ | \\ | ||
+ | |||
==== 3.9.2 Formate der Systemdateien ==== | ==== 3.9.2 Formate der Systemdateien ==== | ||
- | Es gibt drei System-Dateien die die Funktionsweise des BIOS und der internen Anwendungen steuern. Jede dieser Dateien hat ihr eigenes festgelegtes standard Datei-FOrmat. Diese sind:\\ | + | Es gibt drei System-Dateien die die Funktionsweise des BIOS und der internen Anwendungen steuern. Jede dieser Dateien hat ihr eigenes festgelegtes standard Datei-Format. Diese sind:\\ |
| | ||
| | ||
- | | + | |
Alle drei Dateien werden in den Hauptspeicher geladen, wenn eine Anwendung aufgerufen wird. Wenn wärend der Bearbeitung Daten aus diesen Dateien geändert werden, so geschieht dies nur in der Kopie im Hauptspeicher. Alle drei Dateien werden neu geschrieben wenn die Anwendungen beendet werden (z.B.: druch Drücken der Esc-Taste oder durch Beenden im Hauptmenü).\\ | Alle drei Dateien werden in den Hauptspeicher geladen, wenn eine Anwendung aufgerufen wird. Wenn wärend der Bearbeitung Daten aus diesen Dateien geändert werden, so geschieht dies nur in der Kopie im Hauptspeicher. Alle drei Dateien werden neu geschrieben wenn die Anwendungen beendet werden (z.B.: druch Drücken der Esc-Taste oder durch Beenden im Hauptmenü).\\ | ||
\\ | \\ | ||
+ | |||
=== 3.9.2.1 CLIPBORD.DAT === | === 3.9.2.1 CLIPBORD.DAT === | ||
Dies ist die Datei, die von den Anwendungen als Klemmbrett verwendet wird. Es ist ein Datenblock, der mit einer Null (00H) terminiert ist. Zeilenumbrüche werden al 0DH gespeichert, | Dies ist die Datei, die von den Anwendungen als Klemmbrett verwendet wird. Es ist ein Datenblock, der mit einer Null (00H) terminiert ist. Zeilenumbrüche werden al 0DH gespeichert, | ||
Zeile 1010: | Zeile 1012: | ||
==== 3.10.1 Verfügbare Funktionen ==== | ==== 3.10.1 Verfügbare Funktionen ==== | ||
+ | Folgende Dienste stehen in allen ROM-Versionen zur Verfügung: | ||
+ | | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | . | ||
+ | . | ||
+ | | ||
+ | | ||
+ | . | ||
+ | . | ||
+ | | ||
+ | | ||
+ | . | ||
+ | . | ||
+ | | ||
+ | . | ||
+ | | ||
+ | |||
+ | \\ | ||
+ | |||
+ | |||
==== 3.10.2 Dataillierte Beschreibung der Funktionen ==== | ==== 3.10.2 Dataillierte Beschreibung der Funktionen ==== | ||
+ | Wo Koordinaten in 16-Bit Registern angegeben werden (z.B. obere linke Ecke, untere rechte Ecke), ist das höhere Byte die y-Koordinate, | ||
+ | \\ | ||
+ | Bei allen Routinen zum zeichnen von Rahmen (einschließlich Menüs und Hilfen), wenn der Rahmen größer als die tatsächliche Bildschirmgröße ist, so werden die Zeichen falsch dargestellt.\\ | ||
+ | \\ | ||
+ | \\ | ||
+ | **__Fn 00H__ Versionsnummer (der ROMs) lesen**\\ | ||
+ | Parameter: AH 00H | ||
+ | Rückgabe: | ||
+ | \\ | ||
+ | \\ | ||
+ | **__Fn 01H__ Zeileneditor**\\ | ||
+ | Parameter: DS:SI Zeiger auf Steuerungsstruktur | ||
+ | Rückgabe: | ||
+ | Beschreibung: | ||
+ | und der Text kann länger sein als die Bildschirmbreite. Scroll-Ränder | ||
+ | | ||
+ | | ||
+ | ep_targ | ||
+ | | ||
+ | ep_pos | ||
+ | ep_max | ||
+ | ep_xpos | ||
+ | ep_ypos | ||
+ | ep_mode | ||
+ | ; | ||
+ | ; | ||
+ | ; | ||
+ | ep_hit | ||
+ | ;des Anwenders verarbeitet wird. Meistens benutzt um Zeichen vorzubearbeiten. | ||
+ | ep_tit | ||
+ | | ||
+ | ep_exit | ||
+ | | ||
+ | ep_fn dw ? ; | ||
+ | | ||
+ | ep_wid | ||
+ | ep_wind | ||
+ | ;auf 1 für einen doppelten Rahmen. | ||
+ | ep_res | ||
+ | | ||
+ | ep_udel | ||
+ | | ||
+ | ;Wenn nicht benötigt, verwenden sie eine Dummy-Routine (ret far). | ||
+ | ; | ||
+ | ;und 1 für rechts löschen. | ||
+ | ; | ||
+ | |||
+ | **Anmerkungen: | ||
+ | 1. Der Zielpuffer sollte mindestens " | ||
+ | 2. Falls sie einen Text vorgeben wollen, schreiben sie ihn in den Zielpuffer, null-terminiert. | ||
+ | 3. Die Reihe von Beeindigungs-Codes besteht aus 16-Bit " | ||
+ | | ||
+ | 4. TASTENCODES: | ||
+ | Zum Beispiel " | ||
+ | | ||
+ | | ||
+ | | ||
+ | 5. Wenn sie einen Rahmen angeben, so werden beim Bearbeiten 2 Bytes von " | ||
+ | 6. Ähnlich, wenn sie eine Eingabeaufforderung angeben haben sie weniger Spielraum bei der | ||
+ | | ||
+ | 7. Doppelwort Zeiger und Adressen haben die niederwertige Adresse im höherwertigen Wort. | ||
+ | \\ | ||
+ | \\ | ||
+ | **__Fn 02H__ aktuelle Anwendung ermitteln**\\ | ||
+ | Parameter: DL Auf 0FFH eingestellt | ||
+ | Rückgabe: | ||
+ | wobei: | ||
+ | |||
+ | AL=0 keine Anwendung | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | Beschreibung: | ||
+ | \\ | ||
+ | \\ | ||
+ | **__Fn 03H__ reserviert für Sonderfunktionen**\\ | ||
+ | Es werden eine Reihe von " | ||
+ | \\ | ||
+ | Es gibt 6 Editor-Hooks. Diese machen es möglich, dass eine Anwendung innerhalb der Textverarbeitung geladen werden kann, die zugang zu einer begrenzten Zahl von internen Funktionen hat, die den Text oder die Umgebung verändern können.\\ | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | \\ | ||
+ | \\ | ||
+ | **EDHO_GOTO | ||
+ | Parameter: AL 00H | ||
+ | | ||
+ | | ||
+ | Rückgabe: | ||
+ | |||
+ | Anmerkung: Es gibt 6 Arten von Bewegung: | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | Wenn der Wiederholungszähler negativ ist, so ist die Bewegung rückwärts.\\ | ||
+ | \\ | ||
+ | \\ | ||
+ | **EDHO_GET | ||
+ | Parameter: | ||
+ | Rückgabe: | ||
+ | DX Zeile | ||
+ | Anmerkung: Gibt die aktuelle Cursor-Position an.\\ | ||
+ | \\ | ||
+ | \\ | ||
+ | **EDHO_REF | ||
+ | Parameter: | ||
+ | BX | ||
+ | DX | ||
+ | Rückgabe: | ||
+ | |||
+ | Anmerkung: Cursor Override ist nur möglich, wenn sich der Cursor außerhalb des Scroll-Bereichs befindet, und erzwingt ein Auffrischen von der angebenen Stelle an:\\ | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | Invalid Flag Override besteht aus 5 Bits, die intern von der Textverarbeitung verwendet werden. Sie werden logisch " | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | 10H | ||
+ | 20H | ||
+ | \\ | ||
+ | \\ | ||
+ | **EDHO_LOC | ||
+ | Parameter: | ||
+ | Rückgabe: | ||
+ | Anmerkung: Diese Funktion ermittelt die Adresse des Zeichens im Arbeitsspeicher.\\ | ||
+ | \\ | ||
+ | \\ | ||
+ | **EDHO_INS | ||
+ | Parameter: | ||
+ | ES:BX Adresse der einzufügenden ASCIIZ-Zeichenkette. | ||
+ | Rückgabe: | ||
+ | Anmerkung: Fügt Text an aktueller Cursor-Position ein, und setzt Cursor an Ende der Zeichenkette. | ||
+ | \\ | ||
+ | \\ | ||
+ | **EDHO_DEL | ||
+ | Parameter: | ||
+ | | ||
+ | | ||
+ | Rückgabe: | ||
+ | Anmerkung: Eine negative Zahl in CX simuliert die Korrekturtaste, | ||
+ | \\ | ||
+ | \\ | ||
+ | **__Fn 08H__ Bildschirm speichern/ | ||
+ | Parameter: | ||
+ | | ||
+ | DS:SI Puffer zur speicherung des Bildschirms | ||
+ | | ||
+ | | ||
+ | Rückgabe: | ||
+ | Beschreibung: | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | \\ | ||
+ | \\ | ||
+ | **__Fn 09H__ Rahmen zeichnen**\\ | ||
+ | Parameter: | ||
+ | | ||
+ | | ||
+ | | ||
+ | Rückgabe: | ||
+ | Beschreibung: | ||
+ | \\ | ||
+ | \\ | ||
+ | **__Fn 0FH__ Menüs**\\ | ||
+ | Parameter: | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | DS:SI Menütext (doppelt null-terminiert) | ||
+ | ES:DI Standardtexte ((doppelt null-terminiert) | ||
+ | (Wenn DI FFFFH ist, dann gibt es keine Satndardtexte) | ||
+ | Rückgabe: | ||
+ | oder | ||
+ | | ||
+ | | ||
+ | Beschreibung: | ||
+ | \\ | ||
+ | \\ | ||
+ | **__Fn 10H__ Berechnung der Rahmenfläche**\\ | ||
+ | Parameter: | ||
+ | DS:SI Menütext (doppelt null-terminiert) | ||
+ | ES:DI Standardtexte (doppelt null-terminiert) | ||
+ | Rückgabe: | ||
+ | AL Anzahl Einträge (inkl. Überschrift) | ||
+ | BX Anzahl Bytes (Attribute ausgenommen) | ||
+ | CX untere rechte Ecke des Rahmens | ||
+ | Beschreibung: | ||
+ | \\ | ||
+ | \\ | ||
+ | **__Fn 12H__ eingerahmte Meldungen**\\ | ||
+ | Parameter: | ||
+ | DX obere linke Ecke des Rahmens | ||
+ | CS:SI Meldungstext (doppelt null-terminiert) | ||
+ | Rückgabe: | ||
+ | Beschreibung: | ||
+ | \\ | ||
+ | \\ | ||
+ | **__Fn 14H__ eingerahmte Fehlermeldungen**\\ | ||
+ | Parameter: | ||
+ | DX obere linke Ecke des Rahmens | ||
+ | CX darf nicht Null sein | ||
+ | CS:SI Fehlertext (doppelt null-terminiert) | ||
+ | Rückgabe: | ||
+ | Beschreibung: | ||
+ | \\ | ||
+ | \\ | ||
+ | |||
===== 3.11 IBM PC ENTWICKLUNGSSYSTEM ===== | ===== 3.11 IBM PC ENTWICKLUNGSSYSTEM ===== | ||
+ | Der Portfolio beinhaltet einige System-spezifische erweiterte BIOS Funktionen, auf die durch den Interrupt 61H zugegriffen wird, und eine Reihe von Funktionen für die Anwendungsumgebung auf die durch den Interrupt 60H zugegriffen wird. Wenn sie diese Funktionen, beim Entickweln auf einem standard IBM-PC, emulieren wollen, ist dies möglich indem sie die Programme I60.EXE und I61.EXE auf dem PC ausführen. Diese Programme bleiben als TSR installiert, | ||
+ | \\ | ||
+ | Int 60H Funktionen die von der IBM-Version unterstützt werden:\\ | ||
+ | Fn Nr | ||
+ | |||
+ | 0H | ||
+ | 7H | ||
+ | 8H | ||
+ | 9H | ||
+ | BH | ||
+ | DH | ||
+ | EH | ||
+ | FH | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | \\ | ||
+ | \\ |
hardware/doku/techrefguide/abschnitt3.txt · Zuletzt geändert: 13/06/2020 18:06 von karlmueller