Here's a collection of public domain and free software that I've created since the late 1980s. Many of these programs are still operational through DOSBox, an emulator for running DOS-based software.
Game - QuickBASIC - MS-DOS - 1989
Back in '89, I whipped up my own version of a really cool game, all in QuickBASIC on MS-DOS. Started off with just 74 lines of code for the GW-BASIC interpreter – pretty neat for a whole game, right? It was all about keeping it simple but still nailing the fun of the original.
One of the highlights was creating the "SEGMENT-DISPLAY FONT" for the score and other on-screen elements, designed to mimic classic digital displays. It was a fun challenge to get it just right, and combining this unique font with the game added a special touch to the overall experience.
Game - Turbo Pascal - MS-DOS - 1989
Back in 1989, I created a game using Turbo Pascal on MS-DOS, inspired by a TV show I loved. I aimed to capture the show's excitement and fun in the game, and Turbo Pascal was the perfect tool for the job. The result was an engaging game with gameplay and graphics that reflected the show's vibe.
MicroCad 1.0
In 1990, I teamed up with a friend to create a painting tool using Borland Pascal on MS-DOS. It started as a simple project but evolved as we added features, including mouse support, which greatly improved usability and precision. We also integrated Epson printer support, allowing users to print their artwork directly. Recently, I found the binaries of our first version, bringing back memories of the countless hours spent coding and refining the tool. The project was a perfect blend of technical skills and creative passion.
Vga Poker 3.0
Game - Borland Pascal - MS-DOS - 1991/92
In '91-'92, I created Vga Poker 3.0 using Borland Pascal on MS-DOS. It was my first big dive into game development. Getting the game featured in McMicrocomputer magazine was a huge moment for me. The project had its challenges, like making fun gameplay and cool visuals on limited hardware, but the positive feedback pushed me to keep improving it. Those years were all about the thrill of coding and bringing ideas to life.
Library - Distributed by McMicrocomputer 120
In '91 and '92, a buddy and I created a book database manager called Library using QuickBASIC and Turbo Pascal on MS-DOS. We wanted it to be powerful yet easy for book lovers to manage their collections. It was a true team effort, blending our love for books and coding. After finishing the first version, we sent it to McMicrocomputer magazine, and they decided to publish it, which was a big deal for us. Looking back, making Library was a special memory—combining our coding passion with the joy of building something meaningful together.
Z80 Edit
IDE/Assembler - Borland Pascal / Turbo Vision - MS-DOS - 1992/1993.
In my final years studying electronics (1992-1993), I created an IDE and Assembler for the Zilog 80 microprocessor using Borland Pascal and Turbo Vision on MS-DOS. This project was crucial for my graduation, showcasing my skills in both electronics and programming. It was a challenging but rewarding experience that blended my education with my passion for coding.
Restaurant Manager - Borland Pascal/Borland Assembly - MS-DOS - 1994
In 1994, I worked on my first professional project: creating a Restaurant Manager software using Borland Pascal and Assembly on MS-DOS. The software streamlined restaurant operations for large events, managing orders, inventory, and reservations. It also provided real-time reporting and analytics, helping improve service efficiency and customer satisfaction during high customer volumes.
Demo - Borland C++ / Borland Assembler 386 - MS-DOS - 1995/1996
In the mid-90s, inspired by ID Software's games, I challenged myself to create a graphics engine, turning it into a friendly bet with a friend. Using Borland C++ and Assembler 386 on MS-DOS, I built the engine from scratch, aiming to replicate the immersive visuals of those games. Despite the challenges and hardware limitations, after months of effort, I completed an impressive demo. Winning the bet was great, but the project also marked a key milestone in my programming career, deepening my passion for game development and graphics programming.
Binary Editor / Disassembler x86 - Borland Pascal - MS-DOS - 1991-1998
During the 90s, alongside other projects, I developed a tool that merged a binary editor with an x86 disassembler using Borland Pascal on MS-DOS. This tool allowed for detailed manipulation of binary files and translated machine code into readable assembly language, making it essential for reverse engineering and software analysis. Working on this project honed my skills in low-level programming and deepened my expertise in software development and security, laying the groundwork for my future endeavors in these fields.
CD Player - Visual C++ - Windows - 1999/2000
In the late 1990s, finding existing CD players for Windows too complex, I created my own using Visual C++. I aimed for a simple, user-friendly application with just the essential features like play, pause, stop, and track selection. The project involved using Windows APIs and multimedia libraries to ensure smooth CD playback and an intuitive interface. While modest, this project taught me valuable lessons in Windows programming, simplicity, and user-centered design—principles I still prioritize today, even in the digital streaming era.
Network Analyser - Visual C++ - Windows - 2001
In 2001, I developed a Network Analyzer tool in Visual C++ for Windows, using WinPcap to enable users to analyze network data in real-time or from captured files. Initially commercial, I later released it as a free tool after removing proprietary protocol decoders. The tool provided detailed insights into protocols like TCP/IP and HTTP, helping users troubleshoot network issues. With a user-friendly interface, it allowed easy packet capture, filtering, and analysis, both live and offline. This project not only made network analysis more accessible but also deepened my knowledge of network protocols and analysis techniques, marking a significant milestone in my development journey.
3D Engine Demo - Visual C++ - Windows - 2005
In 2005, I developed a 3D Engine Demo in Visual C++ for Windows to accompany an article in Computer Programming Magazine. The demo showcased a ray casting 3D engine, creating an immersive environment with real-time rendered scenes. I shared the source code on GitHub for others to explore. The project focused on efficient ray-object intersection calculations and smooth performance. The magazine article provided a deeper look into ray casting principles, inspiring developers to experiment with 3D graphics and advanced rendering techniques.