Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works
Anything · Lazarus or Delphi
Random projectRandom project

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.

View on GitHub

Member rating

No ratings yet.

Sign in to rate this project.

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:

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 - Copyright (c) 2026 Stefan Koelle (https://stefankoelle.dee


Erstellt mit ❤️ für die Retro-Gaming-Community