Back in the 1980s, a viable modem cost hundreds of dollars. Even in the 1990s, you were looking at spending a a Benjamin or two to get computer squawking down the phone lines. According to [Cameron Kaiser], though, it’s possible to whip up a softmodem using a Commodore 64 for much cheaper than that. How much? Just 35 cents, we’re told!
The inspiration was simple—Rockwell apparently used to build modems using the 6502. The Commodore 64 has a 6502 inside, pretty much, so surely it could be a softmodem, right? Indeed, one [John Iannetta] had done this in a one-way form in the 1980s, using the Commodore 64’s SID audio chip to output data in sound form. In 1998, he espoused the 35-cent modem—basically, the price of buying an RCA jack to hook up a phone line to your Commodore 64.
As [Cameron] found out, the concept still works today, as does [John’s] code, but it’s more like 68 cents in 2025 dollars. With the right bits and pieces, and a little code, you can have your C64 modulating data into sound at rates of 300 baud.
It’s hacky, slow, and there’s no real way to receive—the C64 just doesn’t have the chops to demodulate these kinds of signals on its own. You also shouldn’t use it on a real phone line if you don’t want to damage your C64. Still, it’s a wonderful bit of hackery, and it’s fun to see how well it works. We’ve seen some other great Commodore 64 modem projects before, like the ever-useful RetroModem. Meanwhile, if you’ve got your own communication hacks for the computers of yesteryear, don’t hesitate to let us know!
Q: What does the “-dem” part in “modem” stand for?
Demodulator. Turn in your geek card.
Demodulator. Something this does not have, making it ‘a Commodore 64 softmo’. Hence the original question.
Well since the SID chip is basically a hardware modulator, i guess it’s actually a ‘mo’ .
Now we just need a Larry and a Curly.
yes, the “dem” is missing.
I think the point is that technically is a mod-, there is no -dem to it.
besides that it’s also illegal to hook up to a POTS, but would be fine for an internal PBX
Why would it be illegal?
It’s not type-approved.
Because modems, phones, answering machines and fax machines etc. connected to real landline need to be FCC approved.
Or needed to be. Postal services all around the globe were very protective about their network.
Back in the 1980s owners of an unlicensed no-name phone or modem had been treaded like criminals.
Yeah, like real bad mean criminals!
Even unlicensed accoustic couplers without physical connection (just audio tones!) to the landline were initially being forbidden.
By mid-late 80s, this had calmed down for accoustic couplers that merely had used the handset of a legit phone.
Here in Germany, the postal agency did even measure line impedance and current draw to figure out if something fishy was going on.
That way, they could find out if another phone was installed.
Or if an extra phone/device was installed.
Then they would show up and knock on your door for inspection (which you technically could deny).
A lot of us citizen were more afraid of the postal agency and their monitoring habbits than of our intelligence agencies. No kidding.
That’s also because there had been a trend of cordless phones in the 80s and early 90s.
Here in Germany, there were no official models available, so brave (or naive) citizens used import models from other countries (incl. US).
While there were real concerns here (illegal frequencies used), there also were made up concerns there.
Like for example, that foreign phones use incompatible electric signaling or that the audio signals (tone dial etc) were off.
Again, the postal agencies/the telecommunications agencies were quite protective about their networks.
They didn’t like interference of any kind, including competition.
By the 90s, the situation had relaxed a lot, gratefully.
Speaking under correction.
PS: My apologies if this draws an unnecessary dark picture about the late 20th century or my country in particular.
The latter wasn’t that of a police state, whatsoever. People were rather relaxed, in general.
It’s just the, um, bureaucratic machinery that was a behemoth.
Think about old IBM or FCC, if you will.
Except for all the victims of Stasi and other German security services. Of all the socialists countries, Germany was one of the worst in terms of state terror.
@Duck Hunter I was talking about W-Germany, of course.
In the GDR, telephones were sort of a luxuray and often tapped.
Also, their own relatives, neighbors and friends were not seldomly spying on them.
For example, the nice grandmother was asking her grandson about political orientation of mama and papa..
That’s why East Germans were so full of misstrust, I suppose.
It wasn’t that agency you mentioned they were worried about, but the loss in trust as such.
That being said, I speak under correction here, obviously.
W-Germany sure had its flaws, too, but the citizens usually had other “hobbies” here.
FRG of the 80s was nothing like 1945, at all. That’s why I made that comment, at all.
Because I assumed that old stereotypes might still persisted.
“Nasty” citizens here had hobbies such as looking out of window and writing down car registratrions of illegal parking neighbors or those not performing proper waste separation! :D
In most Western European countries, the telecommunications sector was a state monopoly until deregulation in the 1990s. Practically all equipment had to be rented from the state-owned telecommunications companies. West Germany was the worst. The laws governing the Deutsche Post monopoly dated back to the Third Reich and were enforced with the utmost severity. You can read about these strange things in the past century’s issues of CCC’s “Datenschleuder” and “Hackerbibel”.
Austria had similar laws, but here usually nobody cared if it didn’t disturb the telephone network.
@hartl You’re likely right about the Deutsche Post (both East/West maybe) though to my knowledge, these old over-the-top laws from Reichspost era weren’t actually enforced by second half of 20th century anymore.
There was no physical punishment anymore, for example.
After an occurance in early 90s, in which a post employee tried to threat an user of an illegal telephone appliance, the old law was subsequent being nullified by court.
I think this was mentioned in an issue of BTX Magazin?
–
@all That’s what I meant to express, also.
W-Germany had a harsh and bureaucratic postal agency, but daily life in W-Germany was nothing like in 3rd Reich.
It rather was unspectacular, comparable to most western countries in Europe at the time.
The generations were a different, also.
My parent’s parents were toddlers when WW2 broke out, for example.
The young people and tech savy kids (generation C64) of the 1980s were quite different to those from the, um, dark times, thus.
I think that’s sometimes being forgotten when we think of (W-)Germany from decades ago.
In school, many kids around the globe may do learn about WW2 Germany now but not about the modern western country that’s re-born from the ashes, that followed after ca. 1950.
East Germany is a bit special also, I think, because the Soviets did introduce rather little changes.
It were merely cosmetic changes, combined with new ideology.
The whole rebuilding phase went different, thus, perhaps.
That’s why there was sort of an ongoing conflict between former W-Germany and E-Germany, I think. Two different sides of same thing, perhaps.
E-Germany wasn’t “americanized” over the years in same way that W-Germany was (or other western countries in Europe were).
Also, I think, W-Germany did re-introduce some of the positive concepts of Republic of Weimar, whereas E-Germany did remain 3rd Reich.
To be fair, it even had to in some ways, because of reparations payments (“Reichsbahn” otherwise made no sense in GDR).
In school, I think, W-German students did learn to acknowledge guilt of their ancestors and the role the 3rd Reich played.
All the cruelsome details of concentration camps had been teached to students, with photos and films.
By contrast, if I understand correctly, E-German students had been teached that the GDR -being brother to Soviet Union- was part of the “good” side and that it had no relationship to 3rd Reich whatsoever.
(It’s notable that they wanted to be the good guys, also.
Things like international friendships and so on were a thing.
GDR wanted to become the better Germany, also, despite the sad reality.)
That’s why there are still a few arguments among older generations, I think.
Certain ex-GDR people may feel offended if being remembered about our common heritage and the “guilt culture”.
Again, speaking under correction.
This comment section also isn’t right place for this.
I don’t mean to write something wrong here, also.
I merely write this down to avoid possible confusion.
As a summary of some sort, which isn’t easy.
So for details about history, please double-check the facts from various sources.
We’re not obsessed with WW2 here also, I think, but the topic simply is here to stay. Like background noise.
News programme and documentaries in Germany often touch the topic in some way or another,
so things won’t be forgotten and mistakes won’t be repeated. Thanks for your understanding.
@Joshua: The occurrence you’re referring to is probably the incident with some modems sold by Deutsche Bahn in a bundle with their railroad timetable software. The approval of these modems was revoked later and instead of instructing the seller to swap the now illegal devices some idiot had the bright idea to collect them with search warrants, which the law at that time permitted.
Which card has to be turned in for failing to recognize a rhetorical question?
: D. You are quick…!
If I understood it correctly, the proposed modem can only send but not receive.
The main challenge is to receive an audio signal with the processing power of the 1980s.
Even that isn’t technically difficult – the only question is what speed you can achieve.
The vast majority of 8-bit computers in the 80’s could save and load data to tape, and generally this was implemented entirely in software. Realise that that is also a fully-functional modem, it’s just simplex and connected to a tape recorder instead of a phone.
You’re right, though not all home computers had a real RS-232 interface.
Many had TTL signals and needed a level converter to +/- 12v.
Or at least an down-converter that converted the incoming +12v signal to +5v and the -12v signal to 0v.
In it’s cheapest form, a transistor with a diode and a resistor could be used.
Or a naked 7805 (diode against reverse polarity on the 7805 input recommended).
Then there’s the software side on home computers.
More than often, RS-232 protocol xon/xoff hand-shaking and ASCII had been implemented purely in software to save money.
This was understandable for a seldomlyused feature, considering most home computers users were just playing games.
The downside was that the CPU was doing the hard work, which in case of 6502 wasn’t to be underestimated.
By contrast, PCs of the time had used Z80 SIO or DART or the i8250 (replaced by 16550A).
I remember that the Commodore 64 was widely used in amateur radio RTTY operation, that was at 45 baud. I remember that most interfaces were on the user port and used the XR2206 as modulator and the XR2211 IC as FSK demodulator.
There was also the AEA PK64, that did also AX.25 at 1200 bps but it had inside a Z80 that managed all the protocol and carrier sense stuff.
There was also the version with an RS232 port, that was normally used with a MSDOS computer.
Would one still be able to make contacts with that system if they got on the air with it today? I have my general and a C64 and that sounds kinda fun!
Sure! There are RTTY contests on amateur radio some times, for example.
45,45 Baud in Baudot is still the primary mode here.
There are also RTTY news on the internet.
https://www.rtty.com/itty/index.htm
And RTTY/CW decoder boxes of the 1970s can still be used to decode them.
They also had an ASCII and Baudot setting sometimes.
(Just keep in mind there were low tones and high tones. An old US vs Europe thing.)
C64 cartridges (Bonito etc) work just fine, too.
Another good C64 program was Quick Brown Fox (QBF) by an programmer working at Scanntronik (ex-C64 third-party company in W-Germany).
It was bookware and could use the Pagefox module as memory expansion.
About Packet-Radio..
The PK-232 TNC can be used on C64, too, through a simple level converter.
There are cables with a module that plug in the C64.
Software is Pakratt 64, I think.
The PK-232 is a venerable classic.
But it needs memory expansion and a new firmware in order to provide mailbox feature and the Pactor-1 (for WinLink etc).
The MBX versions often have the RAM upgrade.
Also, APRS often is used in place if regular Packet-Radio.
A basic C64 APRS monitor program needs to be written, still, I think.
A normal terminal can be used to read/send the UI frames, too, of course.
That’s how that one guy did contact ISS once, I think. Vy73s
PS: In my days, in the 90s and 2000s, Packet-Radio was using 80 cols as a standard.
Welcome messages of digipeaters in 40 cols had line breaks etc.
So it would be nice to run an 80 columns emulator on C64, if possible.
Or just use C128, which can do it naturally.
C64 used pulse encoding, not frequency encoding. That’s why it could only use it’s own datasette and not any random cassette recorder. But I don’t think you could use pulse-encoding on a phone network. Only amplitude shift keying or frequency shift keying.
Most other computers used FSK on the cassette recorder, and as long as the signal’s frequencies were in the band of 300Hz–3.3KHz (e.g. the ‘Kansas City Standard’ used 1200 and 2400 Hz to get 300 baud), it should have been possible. All you need is a way to couple the signal to the POTS network, i.e. the right amplitudes and impedance, and you’re halfway there.
You’ll get half-duplex communications. And if you want to automate the switching between originate and answer, you’ll have to implement some arbitration and collision detection mechanism (like ethernet does, with a random wait time before retries (but properly seed you random generator ;))). I think that could all be done in software.
KCS won’t work on telephone lines with the usual 10% THD, the chosen mark/space frequencies are less than ideal, even for tape recorders. Bell 103 and V.21 are much better, they can be made quite immune to distortions with simple band pass filters.
Beauty of Bell 103/V.21 is there is little to process, you just need two analog filters (four if you want both originate/answer) and a comparator. Maybe another $5.
Same goes for Bell 202/V.23half-duplex 1200 baud, commodore should be able to handle it no problem.
V.22 full-duplex 1200 baud is another story and requires more electronics to handle phase shift keying.
Anything faster a we start talking about QAM/Trellis and echo cancellation meaning requires real DSP.
“commodore should be able to handle it no problem.”
Yes, butt it won’t. The C64 KERNAL has a buggy baudrate routine for the 1200 Baud setting.
The timings were hard-coded for 1198 Baud or something and because of this the connection would be garbled after a dozen characters.
OPEN 1,2,0,CHR$(8)+chr$(0) doesn’t work correctly.
However, there’s a workaround.
The C64 software allows selecting a custom setting, so the correct values for 1200 Baud can be entered.
OPEN 1,2,0, CHR$(0)+ CHR$(0)+ CHR$(53)+ CHR$(1)
(1200 Baud, N, 8, 1; full duplex, 3-wire handshake)
More information (German):
https://tinyurl.com/accua8wf
1198 baud is will within the allowed tolerance. The start bit of each character synchronizes the receiver, so the timing only has to be close enough to last for 10 bits
Hi! Theory and practice are separate things, though.
Please read the document in the link, give it a chance.
This little bug had caused C64 users trouble in practice, there are several evidences on the internet. Vy73s
Oh my god.
I had almost forgotten about CHRIS STRINGS CHR$
Thanks for the walk down memory lane all of a sudden!
Transmit only and would break if connected to a phone line?
I feel like this is maybe 33% of a modem at most.
Rockwell might have used 6502 to co-ordinate operations, but the data pumps did the hard work of modulating and demodulating. The hybrid took care of removing the transmitted signal from the received signal to make it easier to demodulate. Modems, even a V22bis one (2400bps), are surprisingly complex!
I miss my LM741 “modem” on the ol 8086.
Was it Hamcomm and JVFAX. Was amazing what could be done
with RS-232 port and a few cheap parts.
Also ran “Digicom” on the C64 with a 2206/2211 dumb modem.
AX25 at its best…lol
Cool! 😎 I remember there was PKTMON utility on DOS that used a 741 modem.
Found some video about it: https://tinyurl.com/svm23wnh
When baudrates increased, modems became more complicated and got DSP’s to do the hard work. And then, around the era of 56k6 modems and 80486 processors, the main processor became fast enough to do all the calculating bits, and modems were reduced to an ADC / DAC with a POTS interface, and that made them a lot cheaper.
What does modulation scheme this old 300baud standard use? FSCK? I think that can be done with a PLL such as CD4046.
Bell 103 300baud
AFSK
The same can be said about Packet-Radio on amateur radio.
The TNC4 was awesome and a far cry from TNC1, but it still did provide packet handling.
The problem with softmodems/winmodems wasn’t the DSP principle but, but the PC, the operating system.
A connection could break if the multi-tasking wasn’t working properly.
On old Windows 9x or NT4 a missbehaved DOS, Windows 3.x or VB6 program could hog the CPU and then the other side would disconnect because your modem didn’t respond in time.
That’s why radio amateurs still value intelligent Packet-Radio modems, the TNCs (Terminal Node Controllers).
They can act as a mailbox and a digipeater on their own,
but are equally useful as plain modems which do nothing but remain responsive all the time and keep the current connection.
By contrast, cheap users (including CBers) often had used BayCom or PC-Com modems that were dumb.
They were merely tone en/decoders, like accoustic couplers were.
A driver for DOS, a software TNC, such as TFPCX, did all the hard work.
It was a PC implementation of The Firmware 2.7 (TF), which also ran on TNC2s.
Downside was that these modems were limited to DOS, because of its Real Time ability.
(Though strictly speaking there was Windows 3.1 software for BayCom modems, too.
Users had to be careful though, because of limited multitasking on Windows.)
Makes me think of the old MBA-TOR software.
“That’s why radio amateurs still value intelligent Packet-Radio modems”
Not true,,,”most” use UZ7HO or DIREWOLF soundmodems now.
I moved to softmodems YEARS ago.
I have been running mtn. top nodes for 30 years, so I know
packet.
Apple //e….. Check.
2 Disk Drives…. Check.
Cassette Tape Recorder…. Check
7 SSM 300 baud ModemCards Or Hayes/Novation Applecat modemscards…… Check
7 Telephone Lines….. Check.
Diversi-Dial software…..Check.
Today’s modern equivalent: https://www.magviz.ca
Nice little chat system with links to other chats and IRC.
It even has it’s own sassy ChatGPT bot.
One proud card-carrying member of the Old Grey Haired Grouch Society….
Fun place to chat. :)
“Even in the 1990s, you were looking at spending a Benjamin or two to get computer squawking down the phone lines.”
Yes, for a recent modem, I suppose.
An “outdated” 14k4 or 28k8 data/fax modem wasn’t that expensive, though.
At least not here in Germany ca. mid-90s.
Because people wanted to get rid of them all the time in favor of a new modem.
I was very young then and could afford an beige Creatix modem just easily, thus.
For visiting mailboxes and T-Online or CompuServe it was okay, still.
It were the latest DSP-based modems that were sought after,
because of the sluggish, bloated world wide web and overhead by TCP/IP protocol.
And so about every few months there had been updates on modem market.
It got better when modems had firmware that could be updated.
PS: C64 was a very popular computer for BTX (aka T-Online Classic aka Datex-J) by late 80s.
There were hardware decoders and software decoders.
The cheap people used software decoders and accoustic couplers.
Or the DBT-03 modem, sometimes.
On DOS PCs, cheap users used the BTX-COM modems that could do 1200/75 or 1200/1200 or 2400 Baud (depending on gen/serial number).
They looked like the Creatix modems, pretty much, but were meant for v.23 standard only.
Unfortunately, they seem to have been very fragile. I have four, of which three are broken.
My first C-64 modem was a “Total Telecommunications” 300 baud. It had evidently been part of the “welcome kit” for a failed online service. A liquidation company called COMB was selling them for $20.
It plugged straight into the user port, was powered by the computer, and dialed out by pulsing the hook relay. Total POS, but it got the job done for cheap.
I saw one a couple of years ago at VCF, still for $20 :-)