I love seeing this. I used these tools during my computer-formative years. Now, at 51 with a whole computer career under my belt, I've been thinking a lot about those days. Nostalgia will bias things positively, of course, but I'm look back fondly on how, at least for personal projects, I just did stuff.
At that time, I had no background in "real" CS or best practices. I didn't have the internet advising this way or that, and my only resource was a book or two from B. Dalton. I didn't even really think about good or bad code... merely: does it do the thing I want it to. I just made my programs however I wanted and thoroughly enjoyed it.
Lately, I've wanted to get back to that mode, at least a bit. It is really tough to set aside all of the rigor and analysis I'm accustomed to and just bang something out. Ugly, buggy, happy path only, but at least they exist. Things like Cursor et al. have come along at the right time...
Super cool. At first I was thinking QModem was the name of an old protocol (like XModem, YModem, ZModem) because it has been so long, but it sounded so familiar. I googled for images and boom - there it is, my childhood. I spent so many hours in this program, and what a great time I had dialing all my local BBSs and downloading all sorts of programs via ZModem on my 14.4K modem. Thank you, Aaron, for making this little piece of my childhood available for inspection and posterity. And may John RIP.
Update: it is also neat it was written in Pascal which was my 2nd language and holds a special place in my heart. I realized early on that BASIC was not ideal for writing professional programs and hadn't yet moved on to C, so Pascal had my attention for a number of years as a teenager.
Wow that is a long time ago. I spent so much time in there. I wrote my own BBS software for the MSX in Pascal before that and got a bit obsessed with cramming features. When my family switched to PC, I believed real programmers, including the author of qmodem, of course, programmed in C. If I had known then it was Pascal, I would've been a lot more sure of my young self that I was on the right track (I was 14 or so).
Aaron - Thank you for putting this code out on Github. It is a fitting tribute to your father's work and his life. I wish you and and your family well.
Original post when John Friel passed away: https://news.ycombinator.com/item?id=42551900
A bit less than 30 years ago my friend and I found an IBM AT in the trash, perfect conditions, with even the floppy disks nearby. We connected it with an RS232 cable to a Linux box, and made an IRC workstation using QMODEM, for the girlfriend of my friend. We were connecting via dialups, and the bill every month was high. With Linux NAT, we were already sharing between my and his apartment, using a coaxial cable, and with the IBM AT now we could share the Internet connection to three computers.
Friel, It's no surprise to see you here posting this. This is so cool to see, thank you for preserving this. A fitting tribute.
That is very cool, had no idea qmodem was built in Pascal at the time.
Thanks to the author for adding a very interesting readme.
I know this is for archiving and historical value, but I'm wondering what kind of license this work would/could fall under?
I see some files have copyright headers from probably long gone companies (upgrade.pas for example).
Also, the readme mentions the original documentation is not included but the src dir does contain a 98kb .HLP file, which I thought was more associated with early windows era software and not common for MS-DOS but someone might want to take a look
I forgot most of this but looking into the BBS software at the time, it looks like most of it was based on Pascal. Apparently very popular at the time
This brings back lots of fond memories dialing into The Forbin Project and HITS BBS in the 90s. Met lots of people in the Waterloo/Cedar Falls (319) area and I feel the BBS scene contributed to my eventual major and multiple careers in IT.
And it all started with QModem..
Gives me waves of nostalgia. I settled on Telix, but recall using Qmodem from time to time. These were essential tools to connecting to the outside world for us nerdy teens in the early 90s.
Wow! I never knew of qmodem. I used Telix, maybe Procomm I’m not sure, and finally Terminate. I used Terminate the most. So interesting to see this though and like someone else said I also appreciate any reminiscence from that era.
Beautiful code in a beautiful language. Very nice to see this.
Batch upload Phone book Mini bbs server Later Windows Scripts Terminal window Graphics
Great memories !
ATZ^M
AT&F^M
ATDT 12345678
Without a license, it's sadly not possible to continue to maintain the code, or even e.g. package it as part of freedos.
Ha my instant memory just seeing the word "qmodem" goes back so many decades?
If Zmodem isn't available, choose Qmodem because Xmodem is slow as heck with ack after each packet
I'm sure someone has a simulator around the web somewhere but not quite that nostalgic
This brought back memories. I remember dialling into BBSes using Qmodem, downloading QWKs (compressed email packets) from “conferences” (similar to newsgroups).
I would read/reply offline using OLX (Offline Express, a QWK reader also part of the Qmodem suite), and then batch upload my replies (.REPs, also compressed) to the BBS.
This was back in the day when you weren't connected 24/7, and when dial-up wasn’t unlimited (in my country — even if it was, BBSes were node limited so you couldn’t stay connected forever). So participating in BBS conferences meant quick dial-ins and uploads, where most of the messaging/replies was done offline.
Although bandwidth is abundant these days, I still think the QWK/REP idea is an attractive one. There is an art and a beauty to crafting replies offline from the cozy Turbo Vision UI that was OLX.