#freepascal — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #freepascal, aggregated by home.social.
-
RE: https://oldbytes.space/@thelastpsion/116345290344668595
And the results are in!
- Pico C
- Rust
- Free Pascal
- Joint with Pico C++, MicroZig and Yarg.
So, what am I going to do? Well, I'm leaning towards porting the existing Arduino C code to the Pico C SDK. I'm currently using one class for encapsulation and abstraction, but I could replace that with structs and static functions. I'm not a great C programmer, but I'm pretty comfortable with it, so it makes sense
However, before I do that, I see a bigger challenge of getting a good setup without using VS Code. I've been using #NeoVim for a while now, and I'd like to get a comfortable setup using that on #Linux.
So, I'm going to try to build Blinky projects for at least Pico C, Rust and Free Pascal, using Linux and NeoVim. Hopefully this will give me a better feel for how well these languages actually suit me. I've never done any Rust before, either, so that's going to be quite the learning curve!
If I have time, I'm going to give Yarg a go, too, because I think the premise is really cool. If I'm on a roll, I'll try #MicroZig too.
And if I really feel like I have the capacity, I'll port the code to one of these other languages.
I'm acutely aware of all the other projects I've given myself to do, such as the SIBO SDK and other small Psion-related projects, not to mention $dayjob and $reallife. So we'll see how things go!
#Pascal #FreePascal #ObjectPascal #RustLang #YargLang #RaspberryPiPico #PiPico #PiPico2 #RP2040 #RP2350
-
vkcube running on 64-bit RISC-V Alpine Linux in my PasRISCV Emulator in turn with the Vulkan-based PasRISCVEmu UI backend. #riscv #vulkan #ObjectPascal #FreePascal #Delphi
@riscv @vulkan -
Gedanken zu systemnaher Software, exotischen Programmiersprachen und warum nicht jedes Problem ein Framework braucht.
https://blog.jakobs.systems/micro/20260115-warum-purebasic-freebasic-lazarus/
#Developer #Purebasic #freepascal #lazarus #Framework #Software #Softwareentwickler
-
Things I'd like to achieve next year
...with zero pressure - just stuff I'd like to do if I get the chance
- Get as many of the #Psion SIBO C SDK apps rewritten as possible. I really enjoy using #FreePascal for this! It's vastly underrated for writing cross-platform CLI apps.
- Make some code run on #EPOC16 from a tiny/toy #compiler of my own. Not an entire C compiler, just something where I've generated some 8086 (or NEC V30) assembly from something very basic that actually runs, including implementing the TopSpeed calling convention.
- Work out how the #MAME debugger works so that I can add 4MB RAM support to EPOC16. Maybe learn some things about the internals of EPOC16 along the way. Eventually write this updated EPOC16 ROM to flash and get it running on real hardware.
- Make a #PsiDrive PCB that can write to flash drives. Just needs a +16V boost converter added to the board.
- Get an #RP2350 to pretend to be a small Psion SSD, using the on-die RAM and PIO. Bonus if it uses a battery. Extra bonus if it can write to external RAM or Flash.
- Move #libsibo away from the Arduino libraries and over to the Pico SDK. This just feels like the right move, but means I'll need to learn cmake as well.
- Learn how to write good unit tests. It's not a problem with learning frameworks - both fptest and fpcunit are simple enough. My brain is freezing when trying to decide on what to test and why. I know my code will improve once I've grasped this.
There are a lot of moving parts to all of these. Some need me to learn multiple sub-skills, such as 8086 assembly. Like I said, this isn't a list of Things Alex Must Get Done Next Year. I'd be happy if I achieved just one of them.
I'm curious... Which one of these would you like to see the most?
-
PasLLM is finally publicly released!
A high-performance LLM inference engine written in pure Object Pascal.
✨ No Python dependencies
🎯 Advanced 4-bit quantization
🖥️ Cross-platform (Delphi & FreePascal)
⚡ Native performanceSupports Llama 3.x, Qwen, Phi-3, Mixtral, DeepSeek R1 & more!
Open source (AGPL 3.0): https://github.com/BeRo1985/pasllm (synced from my private repo on my on server)
-
Yesterday, in an attempt to avoid all sorts of responsibilities, I started pulling apart another #Psion SIBO C SDK tool.
ECOBJ.EXEtakes an Intel OMF file (.OBJ) for a class and moves the class descriptor data into the code segment. Unlike #CTRAN, I have absolutely no docs on how it does this. I also have no experience with the object file format.This has never stopped me before.
So, armed with a hex editor, a PDF documenting OMF (link below), and my beloved #Pascal, I've set to work.
So far, so good!
https://www.azillionmonkeys.com/qed/Omfg.pdf
#Pascal #FreePascal #16bit #DOSBox #DOSBoxStaging #RetroComputing #RetroDev
-
If you were writing a #compiler (or, in my case, a #preprocessor) and you had to think of a variable name for a "class" struct, but you can't use the keyword
class... what would you call that variable?Plot twist: The compiler/preprocessor is written in #ObjectPascal. (So it's actually a record, not a struct. Same difference.)
I'm currently using the variable name
class_itemwhich is a very un-Pascal identifier for many reasons. I'm thinking of usingPClassorPsiClassjust to get around it. -
MCP/Tool-Usage with PALM - Pascal-native LLM interference engine
-
A short preview demonstration of PALM with llama3.2 1TB as base model - A Object-Pascal-native LLM engine with inline assembler AVX2 SIMD optimizations, running on the CPU with StreamingLLM-like "endlessly" context-windowing and 8-bit quantized weights and activations (W8A8), and multithreaded/parallelized with my PasMP library. But support for 4-bit weights (for W4A8) is also on the roadmap.
-
@babble_endanger #FreePascal runs on #MSDOS, 9x, XP and up, #PowerPC MacOS and lots more. Heck, VisualBasic 6 #VB6 runs on 9x thru Win11 and is more stable an ABI on #Linux via Wine than Linux apps have. #Rust ’s problem is a matter of will; a turning up of the nose of anything that isn’t “current” — a moniker they haven’t realised they don’t control; that’s in the hands of Microsoft, Apple, Google etc.
-
Vi aspetto sul canale "CompilaQuindiVa" per esplorare insieme #Lazarus, l'IDE open-source basato su #FPC (#FreePascal Compiler) e ispirato a #Delphi.
👉 https://twitch.tv/compilaquindivaCosa proveremo a fare di bello durante questa live?
✔ Download e installazione di Lazarus
✔ Configurazione dell’ambiente di sviluppo
✔ Creazione del primo progetto
✔ Design rapido della UI
✔ Compilazione, debugging e quant'altro📣 Condividi questo post con amici e colleghi: più siamo, più ci divertiamo!
A presto! 👨💻✨
-
Finally - FINALLY - unit tests in #FreePascal make sense. As usual, it was a few tiny details that I couldn't quite grasp. Someone (@jbmorley) very kindly took the time to walk me though, and now I'm all set to test and refactor #CTRAN!
FYI: I'm using FPTest, which has a much nicer CLI output that FPCUnit.
-
#CTRAN 0.0.2 is out!
OK, I know no one is using this, but I'm going to shout about it anyway. For those who don't know, this is my rewrite of #Psion's proprietary OO C preprocessor. It takes class definition files and spits out "pure" C or TASM.
This release doesn't add much beyond a handful of bug fixes. However, it is significantly faster than 0.0.1 thanks to using more of #FreePascal's classes and generics.
-
I renamed my GitHub account so that it's also "thelastpsion" (the old name was for an old project that never took off).
If you're interested in keeping an eye on my current #FreePascal #ObjectPascal shenanigans, you can find #CTRAN (my drop-in replacement for #Psion's OO C preprocessor) here:
-
Moved instance, so time for a new #introduction!
I'm Alex and I have a PDA problem.
In 2018, after 16 years of using various #Psion portables, I decided to try my hand at developing hardware and software for my beloved Series 3c to help me with journalling and creative writing.
6 years and repeated sidequests later, I've ended up doing a lot of research into the SIBO/EPOC16 platform, and done my best to document it when I can. I've also nudged former developers into open sourcing their old Psion apps.
My current main projects are:
- #PsiDrive, an #RP2040-based USB drive for SIBO SSDs.
- Rewriting the Psion SIBO (16-bit 8086) C SDK, including updating the docs (with #AsciiDoc) and rewriting the original DOS tools as FOSS apps. I'm currently using #FreePascal to create a drop-in replacement for #CTRAN, the Psion OO C preprocessor. (I want to eventually write a new compiler targeting EPOC16. Eventually.)
- Anything else that tickles my bouncy brain.
Outside of #retrocomputing, I'm your common-or-garden British nerd. I'm a Linux user - mostly Arch, but I dabble with others. I also like a bit of #HaikuOS and I'm planning on giving #FreeBSD a go very soon.
I used to be a senior computer monkey, specialising in on-prem SME infrastructure (I lament the loss of vSphere). Now I train others to become computer monkeys (for better or worse). As a result, sometimes you'll see me wrestling with old Cisco ASAs, Ubiquiti APs, or modded kit running #OpenWrt.
Generally, I like making things do stuff, especially if it's stuff that the thing wasn't originally designed to do.
-
Decided not to take part in this year's RetroChallenge. Work's been busy and I've not generally been in the best MH state to take on something new.
Instead, I've dipped into some #ctran stuff and started looking at #FreePascal unit tests with FPCUnit. I'm also doing a little research into the next SDK app I'll be rewriting.
I've also just made a purchase that I'll be showing off at RetroFest in Cambridge in November!
Still, as @miah said to me, every month can be retrocomputing writing month!
-
Speed of different versions of #ctran, processing a DEMO category file.
- ctran-ng 0.0.1: 660ms
- ctran-ng (current dev): 390ms
- Psion ctran 3.43 : 110ms
- Psion ctran 5.02 : 280msA 32-bit #DOS #FreePascal app (having to load CWSDPMI.EXE) will never be as fast as a 16-bit DOS C app, but it ain't bad. I'm pleased with the speed increase in the current version over 0.0.1 - better memory management using TList<> instead of concatenating arrays.
No idea why 5.02 is so much slower than 3.43.
-
I'm ashamed to say that #ctran still doesn't have proper unit testing.
I'll be honest, I've been putting off learning how to use the frameworks available for #FreePascal - FPCUnit and FPTest (leaning towards the latter). I get the feeling I'm going to have to restructure the project to use them, hence my reluctance.
I had planned to start recreating another set of Psion SDK tools (EMAKE, EREMAKE and EDUMP), but proper testing needs to take priority.
-
Thoughts on 3 months of #ObjectPascal #FreePascal usage (in #NeoVim):
- Easy to pick up and read
- Good libraries
- Generics
- No closures
- Binaries aren't small
- LSP (pasls) isn't complete, but better than nothing; #Treesitter + #Periscope really help
- Docs are frustrating
- Good forums/community
- Targets SO MANY platforms (#HaikuOS, 32-bit #DOS, #Amiga, #Z80, #baremetal)! More than Rust, Go
- A *lot* of historic books and projectsWould I use #Pascal again? Absolutely yes, without doubt.
-
Struggled a little with #Lazarus while setting up both #Zeos for database access and #mORMot2. I just don't use it enough to find my way around quickly and safely. But now my little test project at least compiles without errors, even if it doesn't actually do anything yet.
#ObjectPascal #SOA #FreePascal -
CapaCalc is a software application that calculates the electrical #capacitance of a variety of conductor arrangements, even in unusual geometry. It is written in #ObjectPascal with the #FreePascal and the #LazarusIDE. https://github.com/wp-xyz/CapaCalc
-
@inzaghi89 Używam #DoubleCommander-a od lat. Jedyne co mnie wkurzało, to słaby preview pod F3. Poza tym spoko. Może daj mu jeszcze raz szansę?
Ciekawostka: DC jest napisany we #FreePascal-u a konkretnie takim otwartym #Delphi czyli #Lazarus.
A z innej beczki: #Dolphin z #KDE przekonał mnie do jedno-okiennych menedżerów plików. I tak coraz rzadziej teraz odpalam DC.
-
Had a little view on the #CodeLite¹ on my search for a C++ #IDE that is as much usable as #Lazarus for #FreePascal and I'm really enjoying it! #CPlusPlus
¹https://codelite.org