As a DOS nerd I had been wondering why there was no proper port of fastfetch/neofetch for FreeDOS yet. The one that exists (DOSfetch) is rudimentary at best, so why not contribute to it?
With no Pascal coding experience the task felt a bit too daunting, so I briefly looked into porting it to QBASIC before eventually settling on the much more approachable OpenWatcom C to roll my own.
I asked JONINSCII if she would like to collaborate on this project and contribute some ASCII or ANSI logos. She was keen and I was excited. The project was born!

What had started as a 'simple and fun weekend project' of a nostalgic xennial dweeb quickly turned into an endless rabbit hole of digging through archive.org to find ancient DOS installation floppy images, investigating the forgotten realms of interrupts, and diving into source code of MS-DOS and the DR-DOS kernel.
I came out with the realization that from today's perspective even with a seemingly 'simple' operating system, all the different DOS flavors and variants have their own weird quirks and unique characteristics that made it more difficult to realize this project than anticipated. Eventually I got it to work on several different popular DOS emulators with different DOS 'distros' and on bare-metal DOS installations on my trusty old ThinkPad X220.
This work would have massively exceeded its scope without the assistance of ChatGPT Codex digging through 1980s source code and help debug and refine my sloppy C code.

After months of putting the project off because I was so worn down by spending days wrestling with weird memory hiccups and rendering glitches I was pretty close to giving up on the whole thing. What kept me going were JONINSCII's steady motivational nudges and the patient detective work of Claude Opus, which eventually managed to iron out the quirks.
Download
pastfetch.zip
Repository
pastfetch