mirror of
https://github.com/skoelle/turbopascal-xlib-unit.git
synced 2026-09-17 20:50:24 +00:00
dd27c782a773a87b843d4794aa20235444952125
🎮 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.de)
Erstellt mit ❤️ für die Retro-Gaming-Community
Languages
Pascal
98.4%
Batchfile
1.6%