# 🎮 Turbo Pascal X-LIB UNiT V0.3á*   ✨ **Eine leistungsstarke Grafikbibliothek für Turbo Pascal Programme** ✨ Dieses Pascal-Modul `xlibunit` ist eine Grafikbibliothek, die speziell für Turbo Pascal Programme entwickelt wurde. Es bietet verschiedene Prozeduren zur Initialisierung und Manipulation von VGA-Grafikmodi, Farbpaletten-Handhabung und Bildschirmzeichnung. Besonders nützlich für die Erstellung von Grafik-Demos! 🚀 --- ## 📋 Systemvoraussetzungen | Komponente | Anforderung | |------------|-------------| | 💾 Compiler | Turbo Pascal 6.0 | | 🖥️ Betriebssystem | MS-DOS oder kompatible Umgebung | | 🎨 Grafikkarte | VGA-kompatibel | --- ## 📁 Dateistruktur | Datei | Beschreibung | |-------|--------------| | 📄 `xlibunit.pas` | Pascal-Quellcode | | 🔧 `xlibunit.tpu` | Kompiliertes Turbo Pascal Unit | | ⚙️ `COMPILE.BAT` | Batch-Skript zum Kompilieren mit Turbo Pascal | | 📚 `intel.txt` | Referenzdokumentation für Intel 8086 Befehlssatz | | 📜 `LICENSE` | MIT-Lizenz | --- ## 🚀 Verwendung Füge das Modul in dein Turbo Pascal Programm ein und rufe die Methoden auf: ```pascal program MyGraphicsDemo; uses xlibunit; begin initxlib; { VGA-Modus 13 initialisieren } { ... dein Grafikcode ... } exitxlib; { Zurück zum Textmodus 3 } end. ``` --- ## 📊 Typen und Variablen | Typ / Variable | Beschreibung | |----------------|--------------| | 🎨 `paltype` | Array mit 768 Bytes (256 RGB-Tripel) für Paletten-Daten | | 🖼️ `textpal` | Array mit 3x16 Bytes zur Speicherung der Textmodus-Palette bei Modulinitialisierung | --- ## 🔨 Kompilieren Das `COMPILE.BAT` verwendet Turbo Pascal 6.0, installiert in `c:\progrs\tp\` ```bash compile.bat ``` --- ## ⚡ Methoden | Methode | Beschreibung | |---------|--------------| | 🚀 `initxlib` | Initialisiert VGA-Modus 13 | | 🔧 `initxmode` | Initialisiert erweiterten Modus | | 🧹 `clearxmode` | Löscht den Bildschirm schnell im erweiterten Modus | | 🧹 `cleartext` | Löscht den Bildschirm schnell im Textmodus | | 🚪 `exitxlib` | Beendet die Bibliothek und initialisiert VGA-Modus 3 | | ✏️ `point` | Zeichnet einen Punkt im erweiterten Modus | | ⬛ `blackpal` | Setzt alle Farben auf Schwarz | | ⏳ `vert_retr` | Wartet auf vertikalen Retrace | | 🌅 `fadeup` | Blendet die Palette ein | | 🌆 `fadedown` | Blendet die Palette aus | | 📷 `copypic13` | Kopiert ein Bild von Segment und Offset nach VGA in Modus 13 | | 📷 `copypicx` | Kopiert ein Bild von Segment und Offset nach VGA im erweiterten Modus | | 📷 `copypicxd` | Kopiert ein Bild im virtuellen horizontalen 640-Modus | | 🎨 `copypal` | Kopiert eine Palette von Segment und Offset zu einer anderen Palette | | 📍 `startingarea` | Setzt den linearen Startbereich | | 📐 `vert400` | Wechselt zur Auflösung 320x400 | | 📐 `vert200` | Wechselt zur Auflösung 320x200 | | 📐 `vert100` | Wechselt zur Auflösung 320x100 (nicht getestet) | | 📏 `hor640` | Wechselt zur virtuellen horizontalen 640-Auflösung | | 📏 `hor320` | Wechselt zur normalen horizontalen 320-Auflösung | | ↕️ `vpan` | Vertikales Panning | | ↔️ `hpan` | Horizontales Panning | | 🎯 `hbegin` | Setzt die horizontale Startposition | | 🔓 `CRTC_UnProtect` | Entschützt den CRTC (Cathode Ray Tube Controller) | | 🔒 `CRTC_Protect` | Schützt den CRTC | | 🔓 `unprotect` | Entschützt den Bildschirm | | 🔒 `protect` | Schützt den Bildschirm | | ⏳ `hor_retr` | Wartet auf horizontalen Retrace | | 📦 `moveblock` | Verschiebt einen Speicherblock | | 🎨 `setdac` | Setzt die DAC (Digital-to-Analog Converter) Farbe | | 🖨️ `print` | Druckt Text auf den Bildschirm | | 📍 `locate` | Setzt die Cursor-Position | | ⌨️ `key` | Prüft, ob eine Taste gedrückt wird | --- ## 🤝 Mitwirken Beiträge sind willkommen! 🎉 --- ## 📜 Lizenz Lizenziert unter der [MIT License](LICENSE) - Copyright (c) 2026 Stefan Koelle (https://stefankoelle.de) ---
Erstellt mit ❤️ für die Retro-Gaming-Community