[Coco] 16550 wasRe: RS232 paks

George Ramsower georgeramsower at gmail.com
Wed Mar 4 20:19:25 EST 2009


hmm.
I think I'll have to find some time and see how I built that 3 port com
board. It works goodly. I'm wondering if I made those changes to the
intended design.
All I know now is that it works. I ran two modems on two different
telephone exchanges and it eliminated long distance charges from one to the
other. I was lucky enough to be in the middle and didn't have to pay between
them.
This was the old way to do BBS systems to avoid long distance charges. I
didn't join a network and therefore, I was not a hub.
"Hub" was that what it was called? Dammit, I can't remember.

George

----- Original Message -----
From: "Mark Marlette"

> George,

>

> Google a bit and you will see, it is a wonderful tool.

>

> Maybe you will believe our own SockMaster on the subject.......

>

> http://www.axess.com/twilight/sock/cocofile/rs232mod.txt

>

> This is an extraction from his article from :

>

> Now for what IS in the diagram: The other problem with putting a

> high-speed

> modem on my BBS is a little less important, but fixing it makes

> everything

> much easier. With this modification the CPU gets less bogged down, the

> RS-232

> driver becomes easier to write, and the BBS *never* misses any incoming

> data.

> Normally, the 6551 simply has no way of telling my modem when it's data

> buffer

> is full. If someone called my BBS at a high baud rate and tried uploading

> a

> text file, my driver simply didn't read the data fast enough to get it all

> without missing bytes. Every time the disk drive went on, the CPU halts

> and the

> 6551 misses more data. In order not to miss data, the RS-232 driver would

> have

> to immediately read data from the 6551 every time a byte came in. The

> solution? I made a little circuit that sits on top of the 6551 chip (a

> 74ls32

> and 74ls00) that generates a new RTS control signal. Since modern modems

> have

> a data buffer, it would be really neat to unload a lot of work from the

> CoCo

> and leave it for the modem to do. This hardware circuit simply creates a

> new

> RTS line for the 6551. Every time the 6551 receives data, the circuit

> raises

> the RTS line (which tells the modem to stop sending to the CoCo) until

> that

> data is read by the software. If the driver reads the data at the full

> incoming speed, there is no slowdown in throughput. If the driver goes on

> a

> break, or the disk drive comes into use... whatever, the modem is told not

> to

> send any more data to the 6551 until the 6551 is ready to recieve it!

> Effectively, the circuit disallows the 6551 from missing any data. It

> also

> places the job of buffering incoming data on the modem, and not the CoCo.

> The CoCo doesn't have to keep reading the 6551 every time a byte comes in,

> since it won't lose the data if it lets it wait. Now it can read the data

> when it actually wants it. This speeds up my BBS quite a bit, I only

> read

> from the 6551 when the BBS wants input from the user. If the user

> transmits

> stuff while the BBS is calculating, loading, thinking, etc... the modem

> will

> buffer it for me.

>

>

> Regards,

>

> Mark

> Cloud-9

> ----- Original Message -----

> From: "George Ramsower"

> ----- Original Message -----

> From: "Roger Taylor"

>> At 09:40 AM 3/4/2009, you wrote:

>>>Willard,

>>>

>>>The NitrOS-9/Driver is already written for a 16550 device. I have had a

>>>homebrew card running for almost 10yrs based upon that chipset.

>>>

>>>Yes, it would break all the old term programs. A caveat of adding new

>>>technology to an old machine. Not a problem in NitrOS-9 as the driver/dd

>>>is not part of the actual program, when properly written.

>>>

>>>The SuperBoard has a multi-function chip on it that has the 16550 in it.

>>>Anyone that has done high speed serial testing in a system will design it

>>>with hardware handshaking. It is no secret that the ACIA(6551) has issues

>>>with this, plus almost no buffer space. Not a good choice for new

>>>designs,

>>>IMHO. 16xxx series offers GREAT buffers, programmable interrupt

>>>thresholds

>>>etc..... I guess that is why they are so common, oh they work too! :)

>>>

>>>Regards,

>>>

>>>Mark

>>>Cloud-9

>>

>>

>> Mark,

>>

>> Exactly what problems have you yourself had with the 6551 so that I may

>> try to offer a software solution? I'm not claiming to have all the

>> answers, but I've done a serious amount of 6551 coding in the past, and I

>> can assure you that the chip itself is not always the problem. The

>> programmer is 90% of the problem. The OS is 90% of the problem. If

>> there's some little bug or dislike about a certain chip, I guarantee that

>> there's the same number or more in the 16550. I've read about that chip

>> and based on how many variants are floating around, how can anyone ever

>> agree on a right way to code the routines? It appears to be a mess, no

>> less than what you claim about the 6551. I'm not saying any certain chip

>> is BETTER than the other.. I'm saying that TOO many programmers and

>> nonprogrammers have clashed about these chips and in the end, they're all

>> still being used today. You can always tell when the programmer took

>> shortcuts or just didn't know what he was doing.

>>

>> When you say the 6551 is not a wise choice for any new designs, your

>> intent is clear but the statement is not true. Someone who's put out a

>> new wireless RS-232 pak didn't just wake up yesterday and discover the

>> 6551. People who know how to write good software aren't afraid of the

>> 6551.

>>

>> My wireless RS-232 pak has been connected to 7 CoCo units (2 CoCo 1's, 1

>> CoCo 3, 4 CoCo 2's) and to 2 PCs @ 115200 bps running lengthy looping

>> tests (1-2 days sometimes), and I haven't seen it bomb out yet. Can you

>> please tell me what circumstances I need in order to break my protocol ?

>

> I'm not a guru on all this but, it seems to me that if there was a bug in

> the original 6551, over the years it's been produced and cloned that

> somewhere, someone would have fixed it.

> I think Roger may be correct inasmuch that programming may have been the

> problem... although I don't know. It just seems that way because the

> darned

> chip would have been fixed by now.

> I'm happy with my 6551 chips in my (OS9) coco. I'm not using Nitros9 so it

> would naturally be a little slower but, I've done megs of transfers

> without

> incident..... I think.






More information about the Coco mailing list