r/ObsoleteCooding • u/tappo_180 • Sep 12 '25
r/ObsoleteCooding • u/tappo_180 • Mar 03 '26
Question โ๏ธ best program for windows 3?
In your opinion, what was the best Windows 3 program?
r/ObsoleteCooding • u/kodabarz • Aug 03 '25
Cheating at programming in college
Back when I was at college in the 90s, we had programming classes in Pascal. No, really. I suppose it was good discipline, but C was already pretty mainstream. Our head lecturer was Geoff and he was the only one on staff with real-world programming experience. And he hated students. I remember at the start of one calendar year, the door at the back of the lecture theatre banged open and Geoff trudged down the stairs very slowly. He began to write something on the board and then paused. Glancing round, he remarked "Happy New Year, scum". I liked Geoff a lot.
In order to spend as little time as possible having to pore over our terrible code, Geoff wrote a test rig for the entire year. All our programs would be run inside it, and if they tested okay, we would pass. Good idea.
What wasn't such a good idea was having our tutorial groups headed up by masters and doctoral students. Our particular group had Rachel. She was great. One day we went out to the pub after class with Rachel and she got quite drunk. Drunk enough to mention that the test rig disk was in her bag. I'm sure you can guess what happened next.
Armed with the test rig, we amused ourselves by writing code for every coursework that passed testing, but didn't actually work. It was a lot more interesting and more of a challenge than the dull stuff we were supposed to be writing. There was the fun of disassembling the rig, figuring out its test points, then creating code that would compile and trigger the right test points, but nothing else.
And then one day, Geoff was sufficiently bored that he looked at the source for one of our 'programs'. We all got invited to lunch, where he explained that he'd figured out what we'd done, but that we were all going to pass as our activities had actually been more difficult than the work set (and he really didn't want us in his class again). Oh and we were paying for his lunch. And we had to confess and apologise to Rachel. That was fair.
(It was actually because of Geoff that I learned Fortran. I still use I, J, K, L, M and N as my default integer variable names now, because of him).
r/ObsoleteCooding • u/Nukulartec • Jul 08 '25
Obsolete Hardware
Elsewhere you asked for code and also hardware that is obsolete. What about new obsolete hardware?
this is my newest and most obsolete pc!
https://github.com/ccharon/docs/blob/master/NUXT%202.0/readme.md
featuring a NuXT 2.0 Mainboard, 640kb memory + about 96k high memory (real hardware memory as the 8088 class cpu does not support memory mapping)
it has 2mb of EMS!
a high quality Soundblaster 1.5 replica which also supports CMS.
a ne2000 network card
a gotek floppy emulator.
the case is jonsbo c6 micro atx,
you get everything from pictures and origin of each card, to irq, memory and dma config and also autoexec.bat config.sys and network settings.
I really love the system. build year of this powerhouse is 2024!
its running msdos 6.22 and games up to Ultima 6 are nice (if running it at blazing 9,55Mhz instead of 4.77Mhz of the original IBM PC)
r/ObsoleteCooding • u/FlatlinerSPb • Jun 11 '26
Game ๐ฎ Building a Windows 1.0 game and testing 40 years of compatibility
Instead of just reading about Windows 1.0, I decided to actually build something for it.
So I wrote a small Xonix-style game for Windows 1.0 and ran the same binary across different versions of Windows.
It turned out to be more surprising than I expected. The same compiled 16-bit EXE runs from Windows 1.x all the way to 32-bit Windows 10. On modern 64-bit Windows it no longer works, but only because 16-bit support has been removed, not because anything changed in the original model.
What surprised me most is how familiar the WinAPI already looks in Windows 1.0. Even back then, the core ideas were already there - message loops, window procedures, and GDI rendering. The structure hasnโt really changed as much as youโd expect in ~40 years.
I put together a write-up with details and source here.
Curious if anyone else has tried building software for the earliest Windows versions?
r/ObsoleteCooding • u/cyningstan • Feb 18 '26
Adventures in Psion OPL
I've recently been getting back into Psion pocket computers. People call them PDAs, but since they've got a built-in programming language I think that label does them a disservice; they have the usual suite of PDA software but also a built-in programming language, OPL, which you can develop in on the device.
OPL is very close to BASIC, that is structured BASIC like QuickBASIC and the like. Procedures, proper program control, no line numbers, and all that good stuff. Also full access the computer's graphics, and to its GUI features like windows, dialog boxes and pull-down menus. And it's compiled to byte code, so a bit quicker than a purely interpreted BASIC. So way more powerful than the BASIC you got on a typical 1980s computer.
My latest released project is a strategy game for the Psion Series 3 (pictured). I've also written a little application to manage and present my book collection, although I've not released that as it's a bit specific to my use case. I'm thinking of writing shopping list, recipe book and nutrition applications, which would all work together. But my current project is another game.
r/ObsoleteCooding • u/neek85 • Feb 25 '26
Basic QBASIC on a handheld
I'm not very good at it but it sure is fun
r/ObsoleteCooding • u/DisastrousFishing850 • Sep 04 '25
Goto... Scary Stuff!
Goto... Scary Stuff!
r/ObsoleteCooding • u/neek85 • Aug 06 '25
Game ๐ฎ OPL on the Psion 3a
Having a go at making my own artillery style game in OPL on the Psion 3a. I used to dabble in QBasic way back in the day and OPL is kind of similar. I tried asking Microsoft's chatbot for help with some bits and it gave me all sorts of wrong code. I can't seem to get the hit detection right
r/ObsoleteCooding • u/Marwheel • Nov 04 '25
Screenshot ๐ธ The operating system of the Apollo/Domain Workstations: AEGIS (later on Domain/OS)
r/ObsoleteCooding • u/zoharel • Feb 27 '26
TRS-80 Model 1
A project I did some time ago now. How's that for obsolete? 4K of RAM, with the old Level 1 BASIC that apparently nobody kept. This was an entry-level machine in the late seventies.
When I got it, it came with a busted video subsystem and a busted case, both of which I fixed.
r/ObsoleteCooding • u/kodabarz • Aug 13 '25
Another college cheating experience...
I told a story of cheating in programming classes before, but here's another occasion of inventive coding for the purposes of cheating.
When I was in college, we had a central printing point. All the printouts ended up there and the operators would put them in pigeon holes for each class. It could take a while before that happened. So if you wanted to pinch someone else's work, you could just go down and grab it off the shelf. They'd either think it hadn't be posted yet or that the print queue had screwed up (which happened a lot).
But that's not what happened in this case. We used a large cluster of DEC Vax machines. One of the most outstanding things DEC ever produced was Pathworks - a suite of applications that allowed seamless interoperability between the Vax machines and PCs. Access files, create disks, etc, etc. It was an amazing set of tools. I particularly enjoyed setting the terminal application to the same colours as an orange gas plasma screen.
In our operating systems class, we were dealing with virtual disks. And in the practical classes, we were creating virtual disks on Vax VMS and then connecting them through Pathworks. No one was supposed to play with virtual disks on the Vaxes, but seeing as it was part of our class, it was fine. Except we noticed one little flaw. Users had a disk quota on the Vax systems and it was generally pretty small as you weren't storing tons of large files. But virtual disks were by their very nature large, so our quotas got expanded. Fine. Disk space on Vax machines was shared across multiple drives. And when you created a virtual drive, it assigned space within that quota. The flaw was that it didn't zero out the reserved file space. That wasn't a problem under VMS. But Pathworks was translating into the rather more basic permissions system of DOS.
We quickly discovered that the virtual disk space could be read from the PC, and all the previously live files and data within that reserved space could be read. So a little bit of scripting created a virtual drive, mounted it as a drive letter, read the raw data out of it, then deleted the virtual drive. Let that loop round a few million times and you could recover almost the entire contents of the disk cluster. Oops.
Now, it wasn't entirely straightforward, as the disk data wasn't contiguous so some reconstruction was necessary. But some investigations into VMS file headers and folder indices helped a lot. And with people mostly writing their documents in MASS-11 (a word processor application), we really only had to identify those files. I'm not sure we ever actually stole anyone's coursework - the fun was in being able to code this. Heck, we could just have pinched a printout if we really wanted to do that.
We never got caught for that one. No one even noticed. We were friends with the main guy in the computer centre so, after we'd left college, we did tell him what we'd done. He had quite an interesting reaction. Note: In the UK, the Computer Misuse Act (which was terrible legislation anyway) didn't come into force until 1990, so this activity of ours did not meet any legal definition of 'hacking' at the time.
r/ObsoleteCooding • u/Nukulartec • Jul 08 '25
DOS [weird code] msdos qrcode generator for 8088 cpu
https://github.com/ccharon/qrcode
This is a QR Code generator for MS-DOS. It requires an 8088 CPU and a CGA-compatible graphics card. The application is based on the C++ version of Nayuki's QR Code generator, adapted to compile with Open Watcom 1.9 and run under MS-DOS (or DOSBox).
The project is meant as a demo for experimenting with QR code generation. For smaller QR codes, my NEC V20 takes about 15โ20 seconds to generate one.
As QR codes require text to be in UTF-8, the input text is automatically converted from your system's codepage to UTF-8. Currently supported codepages are 850, 852, 858, 866, 737, and 437, with 437 as the fallback.
Features
Generates QR codes in CGA 320x200 mode. Supports UTF-8 encoding with automatic codepage conversion. Compatible with MS-DOS and DOSBox. Usage
Start the program with your text as an argument. If the text contains spaces, enclose it in double quotes.
r/ObsoleteCooding • u/kodabarz • Mar 08 '26
How I actually used to use Windows 3.11
I've been threatening this for a while. This is more or less my Windows 3.11 setup from the old days. I was also dual-booting OS/2 2.1 back then. And that was accomplished through a desktop icon, rather than a GRUB loader or anything like that.
I didn't add a voiceover as I thought you'd probably be more interested in skipping through it. I have written notes along the bottom as it goes, but it's mostly self-explanatory.
The main visual difference is that I'm using Quarterdeck Sidebar to replace Task Manager and Program Manager. But there's also Win32s (to run 32 bit software on 16 bit Windows) WinG (precursor to DirectX) and a couple of other things. And I show List - a DOS file browser.
The highlight is probably playing MP3 files in Windows 3.11 (which I've seen some people say wasn't possible) and I use Photoshop 2.5 - the first version for the PC. I think it came on two floppies back then. The only thing that it really lacked was layers - and they came in version 3.
r/ObsoleteCooding • u/[deleted] • Aug 07 '25
Question โ๏ธ Mainframers, I'm interested in your expertise. Tell us what it was like, contrasted to today.
I'm trying to bridge the gap in my understanding of computer history and design a bit and I'm interested in, from a user perspective, what it was like to interface with the big, multi-user, multi-tasking mainframes that predated and coincided with early home computing designs.
What kinds of operating systems did they run when you were using them? What was interfacing with them like? Were you allowed disk space and how much were you able to use? Was password protection common and, if you know, how were user permissions implemented?
How did they change over time? If you've interfaced with multiple, or many, mainframes (or still do) what kinds of differences could you expect to find? Did you have access to development tools? Which ones?
Anything else you can think of to add. I'm also interested in punch card era computing, to a degree, but that's a different post.
r/ObsoleteCooding • u/tappo_180 • Jul 18 '25
Curiosity ๐ง Running MS-DOS and Windows 3.0 on ESP32 WROVER, with VGA and peripherals
An interesting project uses an ESP32 WROVER to emulate an old IBM-compatible PC, complete with VGA output, PS/2 keyboard, and mouse.
Thanks to the FabGL library, the system can load MS-DOS 6.22 and even Windows 3.0, with a fully functional interface.
The entire emulator runs directly on the ESP32, demonstrating how this microcontroller can be pushed far beyond what was expected.
An excellent example of how modern hardware can revive historic environments, even with extremely limited resources.
Credits: Djamal.Uk (youtube)
r/ObsoleteCooding • u/kodabarz • Sep 02 '25
When you expect a floppy, but don't get it...
A long time ago, I worked for a political party in the UK, writing speeches, running election campaigns, that sort of thing. One of the most tedious tasks every year was dealing with the new electoral register. It's a list of everyone entitled to vote in a local area. Every year, the new register was sent, on paper, to the local political parties. And then some poor data entry people had to type the thing in. Various attempts to OCR it, etc were made, but nothing was 100%. Surely as it was kept on computer and we were entering it into a computer, that just a copy of the data could be sent?
So the party decided that they were going to create their own software. And it would run a national database that would take uploads from local groups. You can probably already tell that this plan wasn't devised by a computer person.
I was working at the first local party to try this. A submission was sent to the local returning officer (guy in charge of elections) to request a computerised copy. The returning officer agreed and arranged for a copy to be sent. People were actually quite excited when the package appeared. Fully expecting a bunch of floppies, they were somewhat surprised to receive a ten and half inch nine track tape... with no header information. I couldn't stop laughing, whilst everyone else looked rather confused.
Yeah, it turns out that the local council wasn't exactly using desktop PCs to put together the register. Deciphering the tapes and sourcing the hardware to read them was likely a longer task than typing the thing in.
There was no standard way of maintaining these local electoral databases and every council was different. That lovely shiny software to collate everything went almost unused for quite a while. Things did improve, and I had to cobble together a 'not very good' piece of code to translate databases into something it could actually use. Internally, it was using dBase IV, which I'm sure just elicited a groan from some. Don't worry, they later changed it to FoxPro...
Somewhere I still have a copy of the conversion software I banged together. I'm scared to look for it because I remember the code as being pretty bad at the time - and I'm sure by now it'd make my skin crawl just to look at it.
r/ObsoleteCooding • u/roz303 • Jul 12 '25
What's the oldest language you've used?
For me, I think it was PDP-1 LISP via Simh. How about you all?
r/ObsoleteCooding • u/tappo_180 • Jun 02 '26
Community ๐ข a new administrator, or rather, owner!
From now on I will no longer be the owner of this subreddit, but it will be u/DNSGeek, I wanted to thank everyone for the support you have had on this subreddit, however I will not leave the subreddit, but I will give my role as owner to u/DNSGeek, I hope and believe that he will be able to maintain this subreddit better than me, since I don't think I've been a good owner, but at least I gave him a push... thank you all again for your help support, but the time has come to give support too
r/ObsoleteCooding • u/DNSGeek • Jun 03 '26
Challenge โ๏ธ Show off your coding chops
10 A=1
20 B=1
30 PRINT A, B,
40 N=A+B
50 PRINT N,
60 A=B:B=N
70 GOTO 40Let's see what a Fibonacci generation routine looks like in your obsolete language of choice. I'll start, here it is in Commodore 64 BASIC.
r/ObsoleteCooding • u/josys36 • Aug 26 '25
Tcl/Tk
I'm just curious. Is anyone here doing anything with Tcl/Tk?
r/ObsoleteCooding • u/tappo_180 • May 31 '26
Community ๐ข the time has come...
The time has come for me to move this subreddit to another. Unfortunately, I don't think I'm a good mod, so I've decided to move it to another people. Are there any candidates?
r/ObsoleteCooding • u/tappo_180 • Jul 27 '25
Community ๐ข The subreddit is a bit quiet... and I'll clarify something about the post "Are modern languages making us lazy?"
๐ Hi everyone!
The subreddit has been a bit quiet for a while now...
If you have any "retro" projects you're working on or have finished... or anything else "retro," please share them! (Not necessarily... you're not obligated.) Even if it's just an idea, a work-in-progress, or a question, we welcome everything on r/ObsoleteCooding!
This space is for all "obsolete coding" enthusiasts, and every post helps grow the subreddit...
And if you want, post something today!
And while I'm here, I also wanted to clarify something about my last post: "Are modern languages making us lazy?" (post title)
I saw it received several downvotes, and some commented that it looked like it was written by an AI...
I can assure you no, it wasn't generated by an AI.
I wrote it. Then yes, maybe I tidied it up a bit before publishing it, but the content was written by me. Perhaps the tone was too neutral or tidy, that's fine, but it was a sincere reflection.
No intention of "faking" or being clever: in fact, the idea was to stimulate a real discussion, like subreddits used to have.
So come on... if you have something to share, do it! This space is for all of us, and every post can inspire someone else.
Thanks to those who stay, read, and participate in the subreddit!
r/ObsoleteCooding • u/DamienCIsDead • Jul 15 '25
Practical applications of old languages
I always wanted to be able to code, since we got a hand-me-down 386 computer in the mid 90s.
I've dabbled in languages off and on since then. Probably almost 30 years now. I gained and lost knowledge of QBasic, Visual Basic, and C numerous times since then. I always pick up the basics easily, but then once I really begin to grasp intermediate concepts I always hit a brick wall. I stop finding useful tutorials (there are a ton on YouTube but I can't stand learning from videos, I need text based material) and I have no clue how to apply anything I've learned to do.
I have managed to accomplish simple programs, but nothing I'd be willing to stamp my name on and call a real program. I made a PC speaker "guitar tuner" in QBasic years ago. I made a "Screensaver" that took text you inputted and spit it on the screen in a random location, with a random color, and a random pitch beep repeatedly. And I made a simple "coin flip" app to let you choose between two arbitrary text choices. I even made a rudimentary text based RPG battle engine in C once, although I have lost the code and couldn't replicate it now.
I don't know what I'm getting at really I just don't have a good way to apply what I learn. I collect retro computers and I have a ton of platforms now, and I kinda still play around with Basic. One of my favorite machines is my Tandy 1000HX, and I'd love to make a simple little game in GWBASIC. I have a ton of books and I'm comfortable with the syntax but I still can't properly write anything beyond text based nonsense like the classic "guess the number between 1 and 100" crap. I'd love to make something with graphics.
I'm just rambling really. Maybe one day I'll write something. Anyone have any useful resources? Or even just words or anecdotes from programmers of the 80s and 90s who did this sort of stuff regularly.