[HN Gopher] The "35-cent" Commodore 64 softmodem
       ___________________________________________________________________
        
       The "35-cent" Commodore 64 softmodem
        
       Author : todsacerdoti
       Score  : 106 points
       Date   : 2025-01-19 05:42 UTC (17 hours ago)
        
 (HTM) web link (oldvcr.blogspot.com)
 (TXT) w3m dump (oldvcr.blogspot.com)
        
       | johnklos wrote:
       | This is brilliant and elegant. It's quite satisfying to have ways
       | to have older computers communicate with the rest of the world.
       | Thanks, Cameron, for preserving and extending this work from and
       | history of John Iannetta.
        
         | classichasclass wrote:
         | Thanks, John! It was one of my favourite posts he made. It
         | deserved a second life, and usefully, too.
        
       | rzzzt wrote:
       | Wow, the "POKE i,." notation does work. Are there any advantages
       | to doing so instead of typing zero for the value?
        
         | weinzierl wrote:
         | For a moment I saw
         | 
         | POKE 1,.
         | 
         | and thought _" Oh, Noooo"_;-)
        
           | rbanffy wrote:
           | This is why Edsger Dijkstra hated BASIC so much...
        
             | weinzierl wrote:
             | Maybe, but it is not known that he did for that particular
             | reason. The sales assistants in department stores on the
             | other hand... different story.
             | 
             | In the 80s stores often had home computers for display and
             | for customers to try them out. Much like they have tablets
             | and phones on display now. Kids being kids used to play
             | pranks with these machines and one way to hang a Commodore
             | 64 was POKE 1,0 (or POKE 1,.). The store employees hated it
             | because they had to come and reset the machines all the
             | time.
             | 
             | For me POKE 1,0 will always be burned into my mind as a
             | dangerous frightening command, hence the _" Oh, nooo "_. I
             | do not have any information if Edsger Dijstra held similar
             | feelings and whether they contributed to his hate for
             | BASIC.
        
               | rbanffy wrote:
               | Sorry. I was joking. Dijkstra's criticism wasn't as much
               | for the syntax.
               | 
               | I would, however, prefer "POKE X" as a shorthand for
               | "POKE X, 0", but this might as well be a bug of the
               | parser rather than an intended feature. Code had to be
               | very compact back then.
        
             | glimshe wrote:
             | Dijkstra did much for computing, but an entire generation
             | of developers inspired by and initially taught by BASIC did
             | a LOT more.
        
               | rbanffy wrote:
               | Me included, BTW. BASIC was the first language I learned
               | (second if we count programming a TI-55 calculator as
               | first).
        
         | the-rc wrote:
         | The BASIC interpreter parses numerical values from text each
         | time a token gets executed. It converts that into a float and,
         | in the case of POKE, then into an integer. Using the dot
         | without the implicit leading zero, there's no need to convert a
         | "0" (48 in decimal) into a zero and, possibly, a multiplication
         | by 10 of previously parsed digits, in this case the starting
         | zero value.
        
       | rbanffy wrote:
       | If it's one-way, it's just a "mo". The "dem" part will only be on
       | the other side.
        
       | ajb wrote:
       | One thing to bear in mind, if anyone feels like trying out this
       | old stuff, is that modems relied on the latency being absolutely
       | fixed; as was guaranteed in the POTS network - and of course an
       | analogue connection. Modern VoIP calling does not guarantee this
       | at all, and even if you have a landline it will almost certainly
       | have been converted to run on VoIP by now. There were
       | compatibility fixes (such as V.150.1) but given the limited usage
       | it would not be surprising if they have bitrotted at this point.
        
       | OhMeadhbh wrote:
       | Heck. I've been wondering what to do with the WorkSlate in my
       | closet.
        
         | classichasclass wrote:
         | Hopefully the cassette drive still works. That would be a rare
         | bird - the three I have, even one minimally used one with the
         | film still on the LCD, the tape drive is already dead. It seems
         | to be a mechanical problem, not (just?) caps.
        
           | OhMeadhbh wrote:
           | Alas. The cassette drive is borked. Every couple months I
           | think about trying to fix it, but then some other shiny
           | object gets my attention. I've not even tried to figure out
           | what's wrong with it.
        
       | leptons wrote:
       | >An important warning before we continue: from the telephone
       | company side the line pair carries voltage used to power the
       | phone and ringer, so never plug this cable into a wall jack --
       | doing so could potentially send up to 48 volts to the computer,
       | with likely undesirable and even fiery results. A cable like this
       | should only ever be directly connected to another modem.
       | 
       | I tried this exact thing way back in 1985 or 1986. I wanted to
       | use the C64's sound chip as a modem. I also had a PLL chip to
       | decode received tones.
       | 
       | I was a teenager at the time and I didn't realize the voltage on
       | the phone line was so high, so yeah, I fried my C64 pretty
       | quickly. That was the end of that experiment.
       | 
       | I did eventually make a 300 baud modem using speaker coupling to
       | a telephone handset, but I had to save up to buy a new C64 first.
        
       ___________________________________________________________________
       (page generated 2025-01-19 23:01 UTC)