r/pascal • • Jan 21 '23

mod volunteers?

12 Upvotes

Anyone would like to be added as a mod here? Bonus points for maintainers of projects such as Freepascal, Lazarus or any Pascal project.


r/pascal • • 2d ago

LLM Caching in Pascal Based NEURAL-API

Enable HLS to view with audio, or disable this notification

6 Upvotes

r/pascal • • 3d ago

šŸŽ‰ Blaise v0.15.0 is out — hello, Apple Silicon!

34 Upvotes

Hi everyone,

I'm delighted to announce Blaise v0.15.0. This one is a milestone: Blaise now runs natively on macOS arm64, and Apple Silicon has become the project's primary development host. The compiler builds itself on a Mac with every fixpoint byte-identical, and the Linux and FreeBSD release binaries are now cross-compiled from there.

Here's what the last 579 commits brought.

... you can read all the details here: https://github.com/graemeg/blaise/discussions/238

Onwards to v0.16! šŸ™Œ

Built with ā¤ļø for the Pascal community.

Regards,
Graeme


r/pascal • • 4d ago

Please help me

15 Upvotes

To start off, I’m an absolute beginner, and I’m using a 2020 MacBook M1.
Lazarus is indicating that my FPC (Free Pascal Compiler) source files are missing—specifically, it shows the error: "Error: Directory 'rtl' not found." I have already downloaded FPC and placed it in my 'Applications' folder, and I’ve tried everything I can think of to fix it. In the source code editor, I see the line `interfaces, //this includes the LCL widgetset`, and in another tab, an error appears: "Can't find unit 'interfaces' used by project1."
If you know something please tell me. I Googled, watched videos and I ask Gemini but nothing helps…


r/pascal • • 4d ago

ANN: Dynamic Packages, New Game Engine, and More

20 Upvotes

Hello everyone, this is sysrpl, the maintainer of www.getlazarus.org. I have released several major updates for Free Pascal over the past week, including some games, and thought you might be interested in taking a look at what is happening.

First, here is a small game I wrote using my toolkit. It mixes 2D and 3D, features a fairly complete, skinnable vector UI widget set, runs on Windows, Linux, macOS, and Raspberry Pi, and can even run on a bare bones system without a display manager. It is essentially a free demo of a simple project featuring rich text interspersed with animation, sounds, and effects.

Description and video of a free cross platform card game pack

I have also written a complete implementation of dynamic packages for FPC and Lazarus. You can read about dynamic packages here:

Now supporting dynamic packages in the FPC and Lazarus

My Tiny.Sim game engine has been greatly enhanced and incorporated into a single library called the Codebot Library, which includes many features of interest to game developers. The 2D physics system is bug free and quite complete. It supports all kinds of audio files and formats and includes my vector UI toolkit. Several demos are available when you install the IDE. The library supports both a mix of LCL controls and pure SDL game development. You can read about it here, along with a huge reference system to help you learn:

Codebot Library update

My game Obliterate was written using this library:

A more sophisticated game I wrote wrote using the above library

Other features of interest include a unified theming system for the Lazarus IDE and your desktop applications on both Windows and Linux:

Theming style collection for Lazarus and your applications

There are also shell controls for Windows users:

Windows shell controls for Lazarus

Other features include modern web browser controls for Windows, Linux, and macOS, networking utilities, additional graphics features, JSON and XML support, cryptography, and string handling libraries.

Everything is free and open source.


r/pascal • • 6d ago

New Python4Pascal project

Thumbnail
7 Upvotes

r/pascal • • 7d ago

Real Programmers

Post image
45 Upvotes

r/pascal • • 9d ago

VertexArt - Texture baking program ( assimp.dll / freeimage.dll )

Thumbnail
gallery
13 Upvotes

Pure Free Pascal 3.2.2 / GLFW3 / OpenGL3.3 / OpenAL / MiniGUI.pas / assimp.dll / libvlc.dll / freeImage.dll / DOD / [NO LAZARUS BINDING]

Before my project was capable of handling objects and image formats, I used MeshLab to generate objects without textures; however, it produced PLY files with highly noticeable color errors during conversion and export. Consequently, I developed my own "texture baking" tool that exports in the PLY format—without textures—yielding much more accurate results. Naturally, only those texture surfaces that have a geometrically valid corresponding location are baked correctly. The program now displays the result of the texture baking process immediately upon opening (the "BAKE" and "RELOAD" buttons have become redundant, as the process operates very efficiently and quickly during loading).


r/pascal • • 9d ago

System Monitor

15 Upvotes

Only 2,6Mb :-) And all what I need:
How can I provide the code anonymously?
https://github.com/cordao1978/Systeminfo


r/pascal • • 10d ago

Brinch Hansen Compier 'emit' routine problem

Thumbnail
6 Upvotes

r/pascal • • 10d ago

I have been using Perplexity in my quest to learn Ruby

11 Upvotes

Besides researching aspects of Ruby, I have taken my old Pascal books to find out how Wirth programs look like in both direct Ruby translations and idiomatic Ruby. Also working with available Ruby insruction material.

Am a retired electric power engineer who never programmed for work. Took up Turbo Pascal as a hobby, but stopped because of family responsibilities and continual employment changes.

I am finding Perplexity user friendly and useful in my endeavors.


r/pascal • • 10d ago

sma11: a utility library

Thumbnail
6 Upvotes

After weeks of inactivity, I'm back with updates!

* Case-sensitive input for Question()

* Implemented some more cursor (as in terminals) functions

* Properly print escape sequences to the right outout (stdout or stderr - before was only stdout)

* Implemented color resetting for Win32 console (doesn't work though)

* Fixed the console example not printing anything readable

* Added some well-known sorting algorithms

Test and let me know your thoughts!


r/pascal • • 12d ago

Three free, open-source plugins for Delphi 11, 12 and 13: Project Hub, Unit Styler and Block Folding

10 Upvotes

Hi everyone!

I've worked with Delphi for many years. Recently, I developed three IDE plugins to solve some everyday frustrations. All three are free, open source (MIT license), and support Delphi 11, 12 and 13, including the 64-bit IDE in Delphi 12 and 13.

To install, download the release ZIP, extract it, and run Install.bat. No administrator rights or compiler required.

1. CS.Coder Project Hub (Stable)

A project organizer built into the Delphi Welcome Page. It lets you:

  • Group project shortcuts by client, system, or any category you choose.
  • Add icons, search by name or path, and organize entries using drag and drop.
  • Export and import the shortcut list as JSON.

It works alongside Delphi's Open Recent panel without changing it. It never moves or deletes project files; it manages shortcuts only.

GitHub: https://github.com/cscoder69/delphi-project-hub

2. CS.Coder Unit Styler (Beta)

A configurable formatter for uses clauses. You can choose one unit per line or multiple units per line, sorting, indentation, priorities, and groups such as System.*.

  • Run it on the current unit, open units, or an entire project.
  • Preview the before/after result and confirm before applying changes.
  • Back up each file before modifying it.

Because unit order can matter, library namespaces (Winapi.*, System.*, Vcl.*, FMX.*, Data.*) are protected from reordering by default. The formatter is designed to preserve comments, compiler directives, encoding, and line endings.

GitHub: https://github.com/cscoder69/delphi-unit-styler

3. CS.Coder Block Folding (Beta)

Adds folding for blocks inside routines, beyond Delphi's built-in routine, class, and region folding.

Supported structures include if/else, for, while, with, try, case, repeat, and standalone begin..end blocks.

Press Ctrl+Alt+B to fold or expand the block at the cursor. It doesn't insert {$REGION} directives or modify your source. Folds exist only in the editor while the unit is open.

Current limitation: its menu and settings are available in Portuguese only.

GitHub: https://github.com/cscoder69/delphi-block-folding

Documentation (Portuguese)

A few important notes

  • Unit Styler and Block Folding are in beta. Please use version control when testing tools that interact with source code.
  • No telemetry, network access, or account. Settings are stored locally.
  • Claude Code helped extensively with implementation. I defined the requirements, made the design decisions, and tested the plugins inside the Delphi IDE. The source is available for review.
  • These projects are independent and are not affiliated with Embarcadero.

Feedback, bug reports, and suggestions are welcome. If something doesn't work in your setup, please open an issue in the relevant GitHub repository and include your Delphi version and IDE architecture.

Thanks for reading!


r/pascal • • 12d ago

How to add an LLM to your code with 28 lines

Thumbnail
youtube.com
0 Upvotes

r/pascal • • 12d ago

Three free, open-source plugins for Delphi 11, 12 and 13: Project Hub, Unit Styler and Block Folding

7 Upvotes

Hi everyone!

I've worked with Delphi for many years. Recently, I developed three IDE plugins to solve some everyday frustrations. All three are free, open source (MIT license), and support Delphi 11, 12 and 13, including the 64-bit IDE in Delphi 12 and 13.

To install, download the release ZIP, extract it, and run Install.bat. No administrator rights or compiler required.

1. CS.Coder Project Hub (Stable)

A project organizer built into the Delphi Welcome Page. It lets you:

  • Group project shortcuts by client, system, or any category you choose.
  • Add icons, search by name or path, and organize entries using drag and drop.
  • Export and import the shortcut list as JSON.

It works alongside Delphi's Open Recent panel without changing it. It never moves or deletes project files; it manages shortcuts only.

GitHub: https://github.com/cscoder69/delphi-project-hub

2. CS.Coder Unit Styler (Beta)

A configurable formatter for uses clauses. You can choose one unit per line or multiple units per line, sorting, indentation, priorities, and groups such as System.*.

  • Run it on the current unit, open units, or an entire project.
  • Preview the before/after result and confirm before applying changes.
  • Back up each file before modifying it.

Because unit order can matter, library namespaces (Winapi.*, System.*, Vcl.*, FMX.*, Data.*) are protected from reordering by default. The formatter is designed to preserve comments, compiler directives, encoding, and line endings.

GitHub: https://github.com/cscoder69/delphi-unit-styler

3. CS.Coder Block Folding (Beta)

Adds folding for blocks inside routines, beyond Delphi's built-in routine, class, and region folding.

Supported structures include if/else, for, while, with, try, case, repeat, and standalone begin..end blocks.

Press Ctrl+Alt+B to fold or expand the block at the cursor. It doesn't insert {$REGION} directives or modify your source. Folds exist only in the editor while the unit is open.

Current limitation: its menu and settings are available in Portuguese only.

GitHub: https://github.com/cscoder69/delphi-block-folding

Documentation (Portuguese)

A few important notes

  • Unit Styler and Block Folding are in beta. Please use version control when testing tools that interact with source code.
  • No telemetry, network access, or account. Settings are stored locally.
  • Claude Code helped extensively with implementation. I defined the requirements, made the design decisions, and tested the plugins inside the Delphi IDE. The source is available for review.
  • These projects are independent and are not affiliated with Embarcadero.

Feedback, bug reports, and suggestions are welcome. If something doesn't work in your setup, please open an issue in the relevant GitHub repository and include your Delphi version and IDE architecture.

Thanks for reading!


r/pascal • • 13d ago

VertexArt – successful Assimp integration to support various objects

Thumbnail
gallery
16 Upvotes

Pure Free Pascal 3.2.2 / GLFW3 / OpenGL3.3 / OpenAL / MiniGUI.pas / Assimp / libvlc.dll / FreeImage.dll / DOD / [NO LAZARUS BINDING]

Assimp integration is successful, but the movement of animated objects is still under development; currently, they can only be displayed statically.

Game demo featuring GLB testing:
The entire environment is procedurally generated: a sky projected onto a sphere, terrain with trees and bushes, and winding roads with lane markings. Generated textures are applied to the terrain, asphalt, and sky. Traffic interacts dynamically: faster vehicles overtake slower ones, and honking causes cars ahead of the player to accelerate briefly to avoid impeding traffic. It features procedural engine sound and functional gear shifting.

My initial goal was a texture-free 3D world, though I experimented with textures just in case. I still consider the use of textures unnecessary for a low-poly world, as I have successfully achieved visually impressive results using vertex-colored geometry. Of course, the two approaches can be combined depending on the scene's requirements.


r/pascal • • 16d ago

A port of Quake 1 to the Castle Game Engine (Object Pascal / Free Pascal)

Thumbnail
github.com
33 Upvotes

r/pascal • • 16d ago

Exoscope Finding Exoplanet

16 Upvotes

Hey everyone! šŸ‘‹

I wanted to share a passion project I’ve been working on called EXO-SCOPE.

Instead of traditional 3D graphics, I wanted to capture the claustrophobic, high-tension feeling of operating a deep-space telemetry satellite purely through abstract data and a Command Line Interface (CLI). You play as an operator searching for habitable exoplanets, filtering background radiation noise, and occasionally stumbling upon terrifying anomalies.

Here is what makes it unique:

āŒØļø CLI-Driven Gameplay: You navigate the cosmos, apply Gaussian/Moving Average filters to light curves, and deploy surface probes entirely by typing terminal commands.

šŸ“ŗ Retro CRT Aesthetic: I built a custom rendering engine to create authentic scanlines, vignette darkening, and UI glow to make it feel like you are staring at a 90s military monitor.

šŸ”Š Immersive Audio Design: Heavy focus on sound atmosphere—mechanical radar sweeps, rapid typewriter terminal blips, and heart-pounding alarms when you encounter encrypted alien signals (Biosignatures & Megastructures).

🌌 Procedural Starmap: A 3000x3000 explorable galaxy featuring gravitational lensing distortions if you pan your telescope too close to a Black Hole.

The Tech Stack:

I built this entirely using Free Pascal / Lazarus.

Graphics/UI: BGRABitmap for all the custom rendering, CRT effects, and Alpha Blending transitions.

Audio: BASS library for handling concurrent channels (ambience, UI feedback, and alarms).

I just open-sourced the entire project on GitHub. If you are into retro-sci-fi aesthetics, terminal games, or Pascal development, I’d be honored if you checked it out!

Link : https://github.com/CodeInPas/Exoscope


r/pascal • • 17d ago

Everyone says Pascal died in the 90s. Meanwhile, this Pascal library runs GPT-style transformers, Mixture-of-Experts, RWKV, xLSTM and spiking neurons!

Enable HLS to view with audio, or disable this notification

77 Upvotes

r/pascal • • 17d ago

Migrating from C# to Lazarus

Post image
43 Upvotes

I have a completed C# project that is already published on the Microsoft Store, but I feel guilty, dirty, and sinful for using .NET. So, I’ve started migrating it to Lazarus—naturally, with the help of AI and Hermes Agent. I’ve been at it for about three days, and I think we’re 80% of the way there. There’s still testing to be done, but I feel like I’m heading in the right direction.

It’s inventory software using SQLite, with both local and server modes, and comprises 60 forms.


r/pascal • • 18d ago

Pascal security tool

Post image
12 Upvotes

I've been working on a simple security research tool (https://nofuss.co.za/tools/ppee/) that runs in the browser. Since Web Assembly is already sandboxed, it makes it reasonably safe. It also doesn't try to execute the EXE or DLL, but rather just peek into it and extract some header and string information. Oh and also tries to figure out which dependencies it has and what calls it makes. So one could see that something is calling the network, or accessing the registry etc. Based on the strings, you might see it's make calls to somewhere you didn't expect.

It's not done, I am learning more and more about the PE file format, but it's already pretty useful if you know what you're looking for.


r/pascal • • 18d ago

BraunUI Lazarus Component

Post image
26 Upvotes

A pixel-perfect, skeuomorphic UI component library for Lazarus/FPC inspired by Dieter Rams' classic Braun designs. Features highly detailed knobs, faders, switches, LEDs, and dynamic theming to bring vintage hi-fi aesthetics to your modern applications.

https://github.com/CodeInPas/BraunUI


r/pascal • • 19d ago

Looking for an obscure 90s DOS Ultima V-style RPG/engine with Turbo Pascal source code

23 Upvotes

I know it's a long shot, but I'm trying to track down a very obscure DOS Ultima-clone game/engine with (Turbo) Pascal source code from the 1990s.

Sometime around 1990–1996, I got a shareware/freeware CD-ROM collection containing what I remember as an Ultima V clone or Ultima V-style RPG engine.

The really distinctive part: the source code was included, and I remember it being written in Turbo Pascal (with some "inline" assembly)

What I remember:

DOS - MCGA/VGA 320x200 probably (mode 13h baby!)

Top-down, very much in the style of Ultima V

It was more of an unfinished game / engine / hobby project than a commercial-quality RPG

Turbo Pascal source code was included

I have a vague memory that the author may have been Finnish.

I probably got it from some random shareware CD-ROM collection, possibly a Walnut Creek / Simtel-type collection. It may have been a copy of a foreign CD, so I can't reliably identify the original source.

I've spent years and years occasionally searching for this thing, but I've never managed to find it again.

If anyone remembers an obscure Turbo Pascal RPG/engine from the 90s that looked like Ultima V, please let me know. Even a filename, author name, CD-ROM title, old BBS post, archive listing, or screenshot could be enough to identify it.

I've already searched through various chatbots, Ultima archives, shareware collections, and old CD-ROM indexes without finding it.

At this point I'm mostly hoping someone sees this and goes "holy shit, I remember that." šŸ™šŸ„¹


r/pascal • • 19d ago

Doom levels rendered and played with Castle Game Engine (Object Pascal), with a WebAssembly build

Thumbnail
github.com
19 Upvotes

r/pascal • • 21d ago

TWLazUI

Post image
41 Upvotes

TWLazUI LCL Components is a custom user interface (UI) component library package for Lazarus and Free Pascal. This project brings the modern, clean, and minimalist design aesthetics typical of TWLazUI CSS to desktop application development (VCL/LCL).

Powered by BGRABitmap, this library offers advanced graphic rendering such as true alpha transparency, ultra-smooth anti-aliasing, rounded corners, and drop shadow effects that cannot be achieved by native operating system components.

Link https://github.com/CodeInPas/TWLazUI

Feedback, bug reports, and contributions are very welcome. Let me know what you think!

Best regards,