7 ms·
QModem 4.51 Source Code
- EvanAnderson 1y agoAaron - 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.
- nu11ptr 1y agoSuper 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.
- cptskippy 1y agoI remember once a month the the ABBL(Atlanta Bulletin Board List) would come out and my father would download and print it at work because we didn't have a printer. He'd come home with a reem of green striped tractor feed paper and I would scour over it transferring annotations from the previous list and making note of new boards to try.
- Mountain_Skies 1y agoAtlanta during the BBS era must have been paradise. It had the largest local free calling zone of anywhere in the US. Where I lived, the town on the other side of the interstate was in-state long distance, so we were confined to the BBSes in our little suburb plus the nearby "big city" of about 100k people. Maybe some places like the Bay Area and New York City had more local BBSes but it wouldn't surprise me if Atlanta was in the top five or even the top given the huge free calling zone.
- toast0 1y agoThe SF Bay Area was probably full of BBSes, as was the Los Angeles Area, but we had Inter-LATA or 'Zone 3' calling for stuff where the central office was I think more than 15 miles away, but under some limit. Closer rate centera than that was local, farther would go through your long distance carrier. Unlimited local calling was available at a reasonable price, but Zone3 was still charged per minute (could cost more than some long distance carriers)
- johntarter 1y agoI also completely forgot that Qmodem isn't the protocol but the software. My first PC was an IBM XT 8088 with 20MB HD and 2400 baud modem. Twice as fast as a 1200 baud and the number of floppy disks it could fit in that hard drive! Now also remembering we could assign macros on Qmodem to function keys. That let us automate playing games like Trade Wars. I'll be honest and say we were using it to also pirate games like Space Quest, Ultima, Leisure Suit Larry. My lord, where has the time gone since then?
- mrpippy 1y agoOriginal post when John Friel passed away: https://news.ycombinator.com/item?id=42551900 https://news.ycombinator.com/item?id=42551900
- monocasa 1y agoJohn Friel. I normally wouldn't care about a mistake that'd be corrected when someone clicks through, but I think this is release supposed to be a sort of memorial to his life.
- reaperducer 1y agoI normally wouldn't care about a mistake that'd be corrected when someone clicks through, but I think this is release supposed to be a sort of memorial to his life. Plus, AI crawls the world, and if it sees an error enough times, it becomes the truth for millions of people.
- mrpippy 1y agoYikes, my mistake, fixed.
- smashed 1y agoThat 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
- 486sx33 1y agoBatch upload Phone book Mini bbs server Later Windows Scripts Terminal window Graphics Great memories !
- paulryanrogers 1y agoGives 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.
- LVB 1y agoI 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...
- antirez 1y agoA 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.
- yusina 1y agoSeeing "internet connection" mentioned in connection with QMODEM is weird. Are you sure you got your story right?
- kosolam 1y agoModems were the way to connect to the internet providers so I guess he used QMODEM to dial up.
- yusina 1y agoThat's not at all what QMODEM does.
- grgbrn 1y agoThat's precisely what QMODEM does? What do you think it does?
- spauldo 1y agoQMODEM didn't connect to the Internet. It had no IP stack. It could connect you to a machine that had Internet access. Some ISPs offered that as a service (you'd get some kind of BBS-like interface or - if you were lucky - a UNIX shell), but that's not the same thing. QMODEM was essentially just a terminal emulator that used a serial port and understood how to control a modem.
- anonzzzies 1y agoWow 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).
- nu11ptr 1y agoI also felt inferior programming in Pascal and believed "real programmers" wrote in C back in the early 90s. I quickly moved on to Turbo C/C++ after only a couple of years writing in Turbo Pascal in my teen years. If there is one thing I have learned in 35 years writing code, it is to ignore tech religion and focus on getting the work done. Some of the biggest feats in software engineering have been done with the fewest resources at their disposal.
- hnlmorg 1y agoWell said. That’s been one of the biggest lessons I’ve learned over my career too.
- zafka 1y agoI loved Turbo C/C++!. I still have copies of the directory tree that I would move from computer to computer. It was a simple little sandbox to test things, or to show newbies code. I have an 486 box that still worked last I checked with a bunch of Turbo Pascal and Turbo C code - Almost all of which I would be embarrassed to see the light. I wrote thousands of lines of code before I should be using functions :). I did amuse myself though.
- mycall 1y agoAnders sure has a great lineage of languages he developed.
- f1shy 1y agoBeautiful code in a beautiful language. Very nice to see this.
- ck2 1y agoHa 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
- sedatk 1y agoYou’re probably thinking of YModem.
- wenc 1y agoThis 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.
- EvanAnderson 1y agoI loved QWK packets. That saved me a ton of long distance telephone charges. I didn't use OLX ("Silly Little Mail Reader" was my jam) but the concept was wonderful.
- wenc 1y agoAh SLMR is OLX. Mustang Software (Wildcat! BBS) bought Qmodem and SLMR (and renamed the latter to OLX).
- EvanAnderson 1y agoOh, wow. I didn't realize that. Very cool. I used the heck out of it. At one point I learned about the QWK format and wrote some code to build a QWK packet out of text files. My idea was to distribute an e-zine as a QWK packet. I successfully made QWK packets but never had any actual content to release.
- wenc 1y ago> My idea was to distribute an e-zine as a QWK packet. What a cool idea! I would have loved something like that. This hearkens back to the day of Byte and PC Magazine where I would actually buy paper magazines to learn about the latest tech -- and I wondered, why couldn't there be an electronic version of this? (the QWK downloadable e-zine idea sounds so ergonomic). But eventually the Internet happened and we got these in the form of websites. But I feel websites still lack the nice offline, self-contained natures of a magazine. Links on a website feel dispersed. Whereas an offline packetized magazine would have a linear nature to it, and you'd be able to browse in one sitting. And look at full page glossy ads (hey, I looked at the ads -- they were so cool back in the day with Gateway and Dell feuding). Ah water under the bridge now...
- snvzz 1y agoWithout a license, it's sadly not possible to continue to maintain the code, or even e.g. package it as part of freedos.
- sgt 1y agoI'm sure his son can legally apply a license to that work.
- jjuliano 1y agoATZ^M AT&F^M ATDT 12345678
- firesteelrain 1y agoI 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
- spauldo 1y agoPascal was poised to be the de facto language for microcomputers back in the 80s and early 90s. It really could have gone either way. I'm not sure what tipped the balance to C/C++. Maybe the Microsoft compilers? Maybe the merge of the minicomputer world into microcomputers? Either way, Pascal held on (via Delphi) into the early 2000s.
- firesteelrain 1y ago2007-2012 I was still writing code in Borland C++ Builder 5 which shared a lot of code libraries with Delphi. Our microcontroller code was written in Turbo C++
- danielhlockard 1y agoFriel, It's no surprise to see you here posting this. This is so cool to see, thank you for preserving this. A fitting tribute.
- bananaboy 1y agoWow! 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.
- breu 1y agoThis 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..
- justmarc 1y agoI glanced at the code, and it shows that your father cared a lot for his work. Countless people were touched by his work and remember it decades later. Thank you for sharing this!