turbopascal-xlib-unit
This Pascal unit, xlibunit, is a graphics library designed for use in Turbo Pascal programs. It provides various procedures for initializing and manipulating VGA graphics modes, handling color palettes, and drawing on the screen. It's particularly useful for creating graphic demos.
- Active · last change 8-14-2026
- ★ 5 on GitHub
README
🎮 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:
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\
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 - Copyright (c) 2026 Stefan Koelle (https://stefankoelle.dee
Erstellt mit ❤️ für die Retro-Gaming-Community

