3 ms·
I spent a lot of time in the mid-80s on local BBS’s and my first paid work was helping a local sysop upgrade his software to make 1200 baud modems worth it. Th
by sokoloff 3y ago
I spent a lot of time in the mid-80s on local BBS’s and my first paid work was helping a local sysop upgrade his software to make 1200 baud modems worth it.
The BBS itself worked out of the box with 1200baud modems, but calculating the XModem block checksum in Atari BASIC was so slow that 1200 baud downloads were nowhere near 4x as fast as 300.
So I ported the (very simple) algorithm to 6502 assembly and worked out the USR($) calling conventions from BASIC*, which gave the expected increase, slightly improved 300 baud transfers, and got me $20 to spend.
* You had to make the 6502 code relocatable, encode it into a BASIC string, and then call USR() on that string. At the time, I could only do all of those tasks mechanically without really understanding why I had to do what I had to do.
More on USR: https://www.page6.org/archive/issue_11/page_24.htm https://www.page6.org/archive/issue_11/page_24.htm