I guess it’s not exactly obvious, to someone looking at a Commodore 64 or 128, how a modem plugs in. Commodore modems plugged into the port on the far right hand side, looking from the back. If the port is labeled at all, it will be labeled “User port.” Although it had other uses, that port was used for modems far more than for any other purpose.
The port isn’t an industry standard RS-232. If you want to connect an external modem intended for a PC, you’ll need an RS-232 interface. If you want to go above 4800 bps, you’ll need a Swiftlink-232 or something similar, which plugs into the cartridge port–on the far left, looking from the back. Commodore didn’t put a 6551 UART in the 64, choosing to emulate it in software to save a few bucks. Cartridge port-based interfaces add that chip, so the C-64 can go to 38,400 bps. In theory at least. I’ve never plugged a 56K modem into a Commodore to see for myself what the absolute limit was.
Yes, it would have been simpler for everybody if the 6551 interfaces plugged into the user port like any other ordinary RS-232 interface. But the address lines that the 6551 needs to talk to the CPU aren’t present on the user port, only the cartridge port. That also means if you want to use a 6551 along with a fast load cartridge and/or RAM expansion, you’ll need a device that plugs into the cartridge port and allows multiple cartridges. They exist, but they aren’t exactly plentiful today.
The Commodore 64, like the VIC-20 before it, didn’t use industry-standard modems. But like most everything Commodore did, it was probably a cost-saving measure. Using TTL signals instead of standard RS-232 signals saved two chips–two chips that otherwise had no use. Then they saved two chips on their modem too. Being the first to market a sub-$100 modem, that savings probably mattered in 1982. It’s confusing today, but Commodore’s engineers weren’t thinking about today. They were trying to hit a price point.
The omission of the 6551 followed similar logic. In 1982, a 1200 bps modem cost hundreds of dollars, so it was hard to imagine many people wanting one, let alone anything faster than that. Doing the work in software was sufficiently fast for the time, and saved money. Modem prices were coming down, but Commodore expected to be selling something bigger and better than C-64s by the time 1200 baud modems were commonplace. The 64 initially had a life expectancy of two or three years. That’s insanely short today, but in the early 1980s, they didn’t have much to go by. It was news to them that people would want backward compatibility too, which explains the Plus/4 fiasco.So if you want to hook a modem up, the easiest bet is to acquire a Commodore modem. The Commodore 1650 and 1660 (300 baud), and 1670 (1200 bps) were the most popular, or at least the most widely supported. The Aprotek Minimodem-C24, at 2400 bps, was the fastest modem that plugged straight into a Commodore without an interface.
With an interface, any Hayes-compatible modem will work just fine, keeping in mind the hardware limitations. Novaterm was the name of a C-64 program that could go to 4800 baud with an ordinary RS-232 interface. DesTerm could reach 9600 baud on a C-128, since the 128 had a faster CPU. Most software didn’t support the 6551-based cartridges, but Novaterm and DesTerm did, so you can use the same program with a 6551 to get higher speeds out of a Commodore with an RS-232 (serial) modem.