ccastmr@pyr.gatech.EDU (Mark Reed) (10/02/88)
I have written several telecommunications programs for my C-128 (in BASIC and machine language). The problem is that 1200 baud does not function properly. Random characters show up on an otherwise clear line... other programs work fine at 1200 baud. Are the values given in the Programmer's Reference Guide incorrect? If so, what are the correct settings? If not, any other ideas? Thanks in advance, Mark Reed ccastmr@pyr.gatech.edu
Geoffrey.Welsh@isishq.FIDONET.ORG (Geoffrey Welsh) (10/04/88)
> From: ccastmr@pyr.gatech.EDU (Mark Reed) > Date: 2 Oct 88 06:29:33 GMT > Message-ID: <6487@pyr.gatech.EDU> > > I have written several telecommunications programs for > my C-128 (in BASIC and > machine language). The problem is that 1200 baud does > not function properly. > Random characters show up on an otherwise clear line... > other programs > machine language). The problem is that 1200 baud does > not function properly. > Random characters show up on an otherwise clear line... > other programs > work fine at 1200 baud. Are the values given in the Programmer's > Reference > Guide incorrect? If so, what are the correct settings? > If not, any other > ideas? It's not so much that the numbers given are wrong... they're on the nose (theoretically). The problem is that the drivers Commodore uses are simply too inefficient to function properly at that speed (this is the result of Commodore having to duck a bug in the 6526 CIA; still, it could have been done better). Steve Punter (author of WordPro, BBS64, and the "Punter" protocols) released a kludge years back that consisted of tuning the send & receive timer values separately. He found that adjusting the receive timer by a factor of .966 at 1200 bps (about .90 at 2400) helped clear things up - as long as you weren't sending & receiving at the same time. About a year and a half ago, I published (in the Toronto BBS community) a completely new driver for the C64 that handles 4800 bps half duplex (only 3600 full duplex). The design was similar to the drivers used in PaperClip II and III's telecom overlay, and the code was adapted by Chris Smeets for use in his 9600 bps terminal for the C128. So the solution lies, not in using the correct divisor numbers, but in either kludging or (preferrably) re-writing the drivers. If there is any interest, I will post to this newsgroup the original document by Steve Punter outlining his approach. Geoff ( watmath!isishq!izot ) { -- Geoffrey Welsh - via FidoNet node 1:221/162 UUCP: ...!watmath!isishq!Geoffrey.Welsh Internet: Geoffrey.Welsh@isishq.FIDONET.ORG