Back Then
My first computer was a secondhand mini computer that ran BASIC. It had no tape deck and no external storage, but that didn't bother me. Once I figured out I could get it to do things by typing code I was hooked - for life. Soon after that I got my hands on my first serious computer, a 486 DX 50 MHz with 4 MB ram and 32-bit color graphics running Windows 3.1. It came with a free QBasic, which was restricted to 50 KB, no mouse support, and DOS mode only.
It took a bit of work but I managed to build my first GUI app based on my sister's color scheme in Microsoft Windows 3.1 - a dark purple window header and white window background and black text. The graphics modes in QBasic didn't support drawing any color text over any color background, so I captured the font into a custom font file I built and drew my own text using any color I wanted. And with 640 K ram restriction, I had to paint the screen in two sections, the top-half first and then the bottom-half.
The app looked identical to a Windows 3.1 app, but ran in DOS. Coding a Windows look-alike app was a bit of a challenge, and more than that, I didn't know you weren't supposed to do that in DOS. I was just happy to see my app on the screen. The app was a simple all-in-one add/edit/search plain text database called InfoDataBank. It even had a built-in interactive help viewer with keyboard shortcuts for navigating topics.
After that, I jumped into Visual Basic 4.0. It was a completely different beast to DOS. But after a few months I'd outgrown its faults, flaws, and significant limitations - the worse limitation was a 50 ms lag time to paint any graphic on the screen - I was building an animated greeting card at the time that required superior graphic performance. The answer came in the form of Borland Delphi 3 Professional in 1997. Its graphic lag was only 5 ms, making it 10x faster than VB4.
On day one I hit the ground running, moving thousands of lines of code from Visual Basic 4 into Delphi 3 with absolutely no working knowledge of Delphi. And I didn't have time stop to learn the new commands either, instead, I looked them up as I needed them and wrapped them up with my own procedure/function names and managed to get the animated greeting card up and running in two weeks flat, from start to finish.
Fast forward a few decades and I'm still coding in the same Borland Delphi 3 Professional. But now, I've stripped out all of Delphi's commands, leaving only the core object pascal language behind, and in its place I've substituted my most recently built codebase, code named 'Gossamer', after its meaning of nimble/lightweight.
And Now
With Gossamer I'm able to re-purpose Delphi 3 and create modern day apps on 1997 technology. I am literally coding like it's still 1999. Not stopping there, I've recently extended Gossamer to handle dynamic DLL loading/management and custom error handling. The codebase manages every API call the app makes to Windows, and allows for automatic feature disengagement/engagement without breaking the app on an operating system version that doesn't support a more modern feature like opacity or multi-monitor support. With this, the apps I build run on all flavors of Microsoft Windows from Windows 95 through to Windows 11, and Windows Servers.

Recently, I've added support for seamless 32-bit and 64-bit compilation. Identical code, different target bit depth. The codebase currently supports Borland Delphi 3 Professional/Lazarus 2.2 for 32-bit, and Lazarus 4.4/4.6 for 64-bit.
Additionally, I have built specialised code units for various performance enhancements/extensions. FastDraw for drawing GUI elements at high speed using the CPU. GameCore for simple 2D game sprite rendering at 60-120fps. And improved the TextCore unit - a custom built (non-Microsoft) multi-line text box control.
... Read more »
Jae
Jorj Bauer
Roger
ziggurat29