r/pascal Jan 21 '23

mod volunteers?

11 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 1h ago

IDE we forgot about

Thumbnail
youtube.com
β€’ Upvotes

r/pascal 3h ago

FPC MCP Server Lib for AI tooling your app.

2 Upvotes

I had a project that I wanted to drive activities through using Claude.
This has probably already been done before, but Claude created the MCP Server Lib and I thought I would share.

https://github.com/prairiedog2k/fpc-mcp-server


r/pascal 4d ago

I vibe-coded a Turbo Pascal 7 IDE that runs in your browser

60 Upvotes

Turbo Pascal is where it all started for me - school, 2003, programming olympiads, staring at that blue screen until midnight.

https://turbopascal.online

100% client-side in the browser tab.

You can also share your code as a link (File -> Share link...) - it gives you a short URL that loads your program straight into the IDE. Links live for 30 days.


r/pascal 7d ago

Return to MS-DOS Turbo Pascal. July 14th Update.

Enable HLS to view with audio, or disable this notification

146 Upvotes

I'm really excited to show you the progress in tools and demo of the tile engine i'm working on.

Tiles (and Sprites) Editor is somewhat complete for my needs.
Map Editor is lacking some tools to make it better but it works.

Demo now has the following progress:

Done:
- Tile System
- Big Maps (up to 1000 16x16 pixels tiles wide)
- Horizontal Scrolling
- Vertical Scrolling (Not shown in the demo)
- Sprites & Sprite Animations
- Collisions
- Sound and SFX
- Tile Editor (maybe ~80% done)
- Map Editor (~60% done)

To Do:
- Enemies
- "Projectiles"
- More levels

Thank you all for your support, any comments and suggestions are very welcome as always.

Original Post: Return to the MS-DOS Pascal : r/pascal
Update 1: Return to the MS-DOS Pascal, June 30th 2026 Update : r/pascal
Update 2: Return to the MS-DOS Pascal, July 2nd Update : r/pascal


r/pascal 8d ago

Raster Master v7.0 - Sprite, Map, Animator for your Retro game development

Thumbnail
17 Upvotes

r/pascal 10d ago

Pascal learning resources?

33 Upvotes

So I've decided to learn Pascal, just installed Lazarus and Free Pascal, and got the classic "Hello World" program working, so now I'd like some courses, books, anything that can teach me the basics of the language.

What would be recommended to someone who knows the vary basics of programming, to get up to speed with Free Pascal?


r/pascal 11d ago

Blaise v0.13.0 β€” Concurrency, Closures, and a Second Operating System πŸŽ‰ Β· graemeg blaise Β· Discussion #178

Thumbnail
github.com
39 Upvotes

r/pascal 18d ago

"Kinda beginner" wanting to improve. Is Pascal recommended?

43 Upvotes

I consider myself a "kinda beginner" because I know the very basics, data types, loops, conditionals, etc.

The things I struggle with, and what I've come here for, is learning how to structure and develop a full program.

From looking around, I've learned Pascal was designed for that very purpose, to teach good programming practices of structure and design, and a lot of programmers of the past say they learned properly from it.

As a hobbyist wanting to make games, to whom programming has been the biggest hurdle, would Pascal help me understand programming better?


r/pascal 19d ago

Return to the MS-DOS Pascal, July 2nd Update

Enable HLS to view with audio, or disable this notification

40 Upvotes

Progressing with Tile Editor and Map Editor. I hope to get them finished soon.

Optimized a little bit of code and got some extra FPS for that.

Wish me luck.

Questions and comments are welcome always.

ORIGINAL POST: Return to the MS-DOS Pascal : r/pascal
UPDATE 1: Return to the MS-DOS Pascal, June 30th 2026 Update : r/pascal


r/pascal 22d ago

Return to the MS-DOS Pascal, June 30th 2026 Update

Enable HLS to view with audio, or disable this notification

71 Upvotes

Making progress:

Done:
- Tile System
- Big Maps (up to 1000 16x16 pixels tiles wide)
- Horizontal Scrolling
- Sprites
- Sprite Animation
- Collisions
- Phisics (Sort of)

To Do:
- Vertical Scrolling (perhaps)
- Sound maybe.
- Tile Editor
- Map Editor
- Enemies

I'll work maybe on enemies, and then start working on the Editors.

I'll search for some tile and spritesheets in the meantime, i'm not an artist, so.......

See you next time.


r/pascal 22d ago

FPC on Android

Thumbnail
gallery
26 Upvotes

You can get FPC from here: https://downloads.freepascal.org/fpc/snapshot/.

In Termux, run: ``` termux-setup-storage

apt update

apt install binutils

touch .bashrc

mkdir .local && cd .local

tar -xvf ../storage/Download/<fpc tar.gz file name here, press Tab to auto-complete>

bin/fpcmkcfg -o ~/.fpc.cfg

cd ~ ```

Now open .fpc.cfg using your preferred editor, e.g nano or msedit (recommended), replace ALL occurences of u/units with u\~/.local/units.

Open .bashrc and update $PATH with: export PATH=$HOME/.local/bin:$HOME/.local/bin/aarch64-android:$PATH

Start a new session or run the export command above and you're set.


r/pascal 24d ago

IA e Delphi: entre a semΓ’ntica e o determinismo

2 Upvotes

r/pascal 26d ago

Return to the MS-DOS Pascal

Enable HLS to view with audio, or disable this notification

175 Upvotes

UPDATE 1: Return to the MS-DOS Pascal, June 30th 2026 Update : r/pascal

Well, i'm kind of working on making my own game engine written in Turbo Pascal 7 for MS-DOS (something i couldn't achieve ~26 years ago), and this is just for pure nostalgic purposes.

Actual demo runs at about 50-55 fps.

Done:
- Tile System
- Big Maps (up to 1000 16x16 pixels tiles wide)
- Horizontal Scrolling

To Do:
- Vertical Scrolling (perhaps)
- Sprites sort of done (it will be a subclass of Tiles)
- Sprite Animation
- Collisions
- Sound maybe.
- Tile Editor
- Map Editor

Any advise is welcome and very appreciated. See you around.


r/pascal 28d ago

Why would you use Lazarus in 2026 when other platforms provide more modern UIs?

27 Upvotes

I love Lazarus just wondering about the reasons


r/pascal 28d ago

πŸš€ Blaise compiler v0.12.0 β€” native by default, zero external tools

34 Upvotes

This is a big one.

As of v0.12.0 the native x86-64 backend is the default,
and Blaise now ships its own internal assembler and internal linker β€” so a plain build needs no external tools at all:

// blaise --source hello.pas --output hello
program hello;
begin
  WriteLn('Hello, Blaise 0.12!')
end.

That single command parses, generates native code, assembles it, and links a working executable β€” no qbe, no as, no gcc (only the system C runtime objects the linker needs). QBE is still there if you want it (--backend qbe), but it is now opt-in and on a path to retirement.

Read the full community announcement for all the details:

https://github.com/graemeg/blaise/discussions/139


r/pascal 28d ago

Luhmann β€” a Zettelkasten note server, written in Blaise πŸŽ‰

22 Upvotes

Hello everyone! πŸ‘‹

I'd love to share a project I've been building in Blaise: Luhmann, a
personal Zettelkasten note server. You point it at a directory of AsciiDoc notes, and it renders them, links them together, indexes them for search, and serves the whole thing over plain HTTP on
localhost. You keep writing in your own editor β€” Luhmann handles the rest. ✨

πŸ”— Repository: https://github.com/graemeg/luhmann

It started life as a Clojure project, but I've now rewritten it from the ground up in Blaise, structured as a hexagonal (ports & adapters) application. Along the way it also picked up a fair few features the original never had.

What it does 🧠

  • πŸ”„ Automatic backlinks β€” you only ever write forward links; Luhmann works out the reverse direction for you, no manual upkeep.
  • πŸ•ΈοΈ Interactive note graph β€” an Obsidian-style force-directed map of your notes, fully offline.
  • πŸ” Full-text search β€” a built-in index with prefix and substring matching and highlighted snippets.
  • 🏷️ Tags & a broken-links report β€” organise by tag, and spot dangling cross-references at a glance.
  • ⚑ Live reload β€” save a note in any editor and the browser refreshes itself over a WebSocket.
  • ✏️ Launch your editor from the browser β€” press e on any note and it opens in your configured editor.
  • 🧩 JSON REST API β€” query backlinks, the graph, and tags from your own tools.

It's local-first and self-contained: a single process, no database, no cloud, no account. The parallel start-up build means even a large Zettelkasten is ready in a second or two. πŸš€

Why I'm sharing it πŸ’¬

Mostly because it's been a genuinely lovely project to build in Blaise, and a nice real-world workout for the language and its stdlib β€” HTTP server, file watching, concurrency, the lot. If you fancy a look, the code, build instructions, and docs are all in the repo. Feedback, questions, and ideas are all very welcome! πŸ™

πŸ‘‰ https://github.com/graemeg/luhmann

πŸ‘‰ https://github.com/graemeg/blaise

Cheers,
Graeme


r/pascal 28d ago

How to fix the problem with the form when maximizing and restoring down to size so it looks good?

13 Upvotes

hi, i just installed lazarus and newbie

but i have a problem, when i build form 1 for example, i fill in the text, text box, button, etc

i make it big enough to fill in the information.

my problem is, if i want to enlarge the space by pressing the maximize button, it doesn't fill the space when enlarged.

i attach an example on other apps like microsoft store and epic games when the content is big, it also fills the space neatly.

how in lazarus do i do that without making the scattered items overlap...

https://reddit.com/link/1ue379p/video/qf9gxidgo59h1/player


r/pascal 29d ago

Pascal News – June 2026 (compilers, congress, ...)

35 Upvotes

New Pascal News video is up - a look at what’s been happening across the ecosystem lately

https://youtu.be/IeYBFvTrqd4?si=SPp0M8lcen3RzXX7


r/pascal Jun 20 '26

Just came across pascal

28 Upvotes

Im quite experienced with modding oblivion and fallout do seeing pascal is perfect, ive wanted to get into programming and this is literally a dream come true, ill never understand why they switched begin and end etc with ${}[]


r/pascal Jun 18 '26

πŸŽ‰ Blaise compiler v0.11.0 released - biggest release yet

47 Upvotes

This is our biggest release yet β€” 237 commits (fixed 116 bugs fixed) since v0.10.0, and easily
the one I'm most excited to share. If v0.10.0 was about making the compiler
self-hosting and fast, v0.11.0 is about making the language comfortable to
write in and bringing the native x86-64 backend up to full parity with QBE.

Read the full announcement here:
https://github.com/graemeg/blaise/discussions/126


r/pascal Jun 12 '26

Lazarus 4.8 with Free Pascal 3.2.2 is released

73 Upvotes

Lazarus IDE with FPC 3.2.2 works on Windows, Mac, Linux and is a free download at:

https://www.lazarus-ide.org/


r/pascal Jun 08 '26

Blaise v0.10.0 (alpha) β€” Mandatory (), Native Backend, Threads & Incremental Compilation

Thumbnail
github.com
19 Upvotes

r/pascal Jun 08 '26

FPC 3.2.0: "Can't find unit system used by […]" on Android 15, Termux, aarch64

Thumbnail
gallery
11 Upvotes

Hello there,

did anyone run into the issues showcased on my screenshots 1 / 2?
I ran into the "Can't find unit system used by…" error mentioned in the title, then found this wiki page on it.

However, the following problems arose and this is what I did so far:

  • I did write the dumbest possible "Hello World!" program using the CRT unit, "the way I was taught ages ago" basically.
  • I tried to compile it using fpc ./HelloWorld.PAS from the directory the file is in, got the error (see screenshot 1).
  • I thought "maybe it's the unit, so if it can't be found, let's just remove it and all references to it" – removed uses CRT and clrscr; lines (see screenshot 2) but still: Nope.
  • I did not have .fpc.cfg in my home directory, so I created it and messed with it, which did seem to do something, see screenshot 3 / 4, except fixing my issue.
  • I realised I used the wrong versions and paths, so I fixed it to the 3.2.0 paths (literally copied them, so there is definitely no typo). Now the invalid version error is gone, and I'm back to the regular unit error again.
  • I do not have fppkg anywhere, or maybe I'm just extraordinarily dumb and fail to find it.
  • I did not create home/.fppkg/config/default as the wiki description was a bit vague about it. I have no idea what would be in there, let alone if the file is called just default or default.cfg.
  • I have no idea which …/fpc/bin directory the wiki is referring to to run fpcmkcfg in, and I do not remember seeing any binaries named like that. I looked through the directories install.sh built FPC in.

This is my first time using plain FPC, so forgive any ignorance.
So far I only used FPC through Lazarus, but that's not available for Android / Linux aarch64 to my awareness, so this will have to do if possible.

Further context:
I'm on Android 15, using Termux to run an xfce desktop environment via TermuxX11, used this version of the FPC (3.2.0) for Android, aarch64 build linked by the freepascal.org website.
I should have all rights needed, i.e. can use apt install and other commands without sudo.

I extracted everything in their respective /usr/ directories, following the thought of "binaries go into /usr/bin/", you can see that on my screenshots.
Try to ignore the wrong paths / version in .fpc.cfg, that's outdated by now. I fixed it to …/fpc/3.2.0/units/aarch64-android/ paths after getting the output in screenshot 3 and 4. I did hope that would have been it. But now, the output is the same as on screenshot 1 / 2, again, unfortunately.

If anyone would be so kind to reproduce the above steps or simply know the answer, that would be really awesome.
I've been growing increasingly fond of the thought to be able to write nifty little Pascal applications for my daily use while commuting or on the go without needing to drag a laptop with me, so any help to make this possible would be greatly appreciated! : )

Thanks in advance!


r/pascal Jun 07 '26

Driving a 128x128 ILI9163 TFT display from Pascal on an ATmega328P

Post image
12 Upvotes

I've added SPI support to UnoLib, a Pascal library for Arduino Uno and AVR microcontrollers.

As a demonstration, I created a simple ILI9163 TFT display example running on an ATmega328P (Arduino Uno). The image is stored in program memory as an indexed bitmap with a palette and rendered over SPI.

UnoLib: https://github.com/ackarwow/unolib