aliu@sal57.usc.edu (Alejandro Liu) (01/26/89)
This posting is because of all those messages regarding communications that I have seen here. I would like to know the following: How does the Rs-232 standard is implemented in the Commodore? What is the Rs-232 standard? What's the difference between the Standard Rs232 and Commodores Rs232 (Besides the obvious voltage levels)? Also, I while searching for information about the Commodore implementation of the Rs232, I came across a comment saying that Commodore wanted to keep the Configuration register compatible with the UART chip. What is this UART? Any help would be appreciated aliu@nunki.usc.edu (Alejandro Liu) (Simple .signature, $CHEAP$)
fred@cbmvax.UUCP (Fred Bowen) (01/27/89)
In article <2471@nunki.usc.edu> aliu@nunki.usc.edu (Lord Bane) writes: >How does the Rs-232 standard is implemented in the Commodore? >What is the Rs-232 standard? >What's the difference between the Standard Rs232 and Commodores Rs232 >(Besides the obvious voltage levels)? >Commodore wanted to keep the Configuration register compatible with >the UART chip. What is this UART? The C64/128 kernel implements the RS-232 interface via software, via the user (parallel) user port. The rest of the typical RS-232 lines (RTS, CTS, DTR, DSR) are implemented only if the channel is configured for x-line (as opposed to 3-line) mode. The C64/128 Programmer's Reference Manuals describe this in detail. The "UART" emulated is a 6551. -- -- Fred Bowen uucp: {uunet|rutgers|pyramid}!cbmvax!fred arpa: cbmvax!fred@uunet.uu.net tele: 215 431-9100 Commodore Electronics, Ltd., 1200 Wilson Drive, West Chester, PA, 19380
jgreco@csd4.milw.wisc.edu (Joe Greco) (01/27/89)
In comp.sys.cbm article <2471@nunki.usc.edu>, aliu@nunki.usc.edu (Lord Bane) wrote: >How does the Rs-232 standard is implemented in the Commodore? RS232 is marginally implemented on the 64/128(/VIC...) It was an attempt to cheaply provide a means to connect a 300 baud modem or maybe a printer, and it succeeded at that. However, it begins to fail at higher speeds, and the X-Line handshake isn't all that hot if you really want to be picky. >What is the Rs-232 standard? RS232 and standard in the same sentence. RS232 is something that computer hobbyists use in place of the Rubik's Cube (sp?).... :-) >Also, I while searching for information about the Commodore >implementation of the Rs232, I came across a comment saying that >Commodore wanted to keep the Configuration register compatible with >the UART chip. What is this UART? That would be the 6500 class UART chip, the "6551 ACIA." It's only similar.... the general layout of the command and control registers would remind one of the C64. However, all the interesting goodies on the 6551 were not implemented on the 64. -- jgreco@csd4.milw.wisc.edu Joe Greco at FidoNet 1:154/200 USnail: 9905 W Montana Ave PunterNet Node 30 or 31 West Allis, WI 53227-3329 "These aren't anybody's opinions." Voice: 414/321-6184 Data: 414/321-9287 (Happy Hacker's BBS)
izot@f171.n221.z1.FIDONET.ORG (Geoffrey Welsh) (01/28/89)
> From: aliu@sal57.usc.edu (Alejandro Liu) > Message-ID: <2471@nunki.usc.edu> > > How does the Rs-232 standard is implemented in the Commodore? Fred (Bowen) covered that well enough. > What is the Rs-232 standard? Formally known as the EIA (Electronics Industry of America) Recommended Standard (RS) number 232C, it specifies a 25-pin "D"-shaped connector and gives approximate meaning to most of its lines, and specifies signal voltages to be used on those lines. In the real world, connecting two devices via an RS-232C cable depends on how each device implements the approximate meaning implied by the names give to the lines. As Fred said, one can usually get away with three lines: transmit data, receive data, and ground (needed for electrical reference, but useful for shielding). However, modems (especially the high-speed variety) and printers need the other lines to provide control and information. > Also, I while searching for information about the Commodore > implementation of the Rs232, I came across a comment saying that > Commodore wanted to keep the Configuration register compatible with > the UART chip. What is this UART? UART = Universal Asynchronous Receiver/Transmitter. Actually, Joe Greco is correct in pointing out that the ROMs emulate the 6551 ACIA (Asynchronous Comminucations Interface Adapter - technically it's not a UART because it is NOT "universal", principally because it can work only at specific speeds while true UARTs can be set to any speed by a divider register). The 6551 emulation is close but not exact, and the code generates correct timing only at speeds under 800 bits per second (C64). Although a kludge documented by Steve Punter (I posted the article in this newsgroup a few weeks back, I think) allows passable 1200 bps and precarious 2400 bps, higher speeds and reliability require carefully written and optimized software drivers. I'm actually very saddened that Commodore decided not to include a real 6551 in the C64. Although the designers had no way of knowing how many C64s would end up connected to modems, the C64 was at the forefront of bringing modems into the home, and having a 6551 and less demanding serial disk timing would have done much to enhance the C64's position as "the communicating home computer". =========================================================================== Internet: Geoffrey.Welsh@f171.n221.z1.fidonet.org | 66 Mooregate Crescent Usenet: watmath!isishq!izot | Suite 602 FidoNet: Geoffrey Welsh on 1:221/171 | Kitchener, Ontario PunterNet: 7/Geoffrey Welsh | N2M 5E6 CANADA BBS: (519) 742-8939 24h 7d 300/1200/2400bps | (519) 741-9553 =========================================================================== | "I don't need a disclaimer. No one pays any attention to what I say." | =========================================================================== -- Geoffrey Welsh - via FidoNet node 1:221/162 UUCP: ...!watmath!isishq!171!izot Internet: izot@f171.n221.z1.FIDONET.ORG
jgreco@csd4.milw.wisc.edu (Joe Greco) (02/01/89)
In comp.sys.cbm article <1445.23E5B7E7@isishq.FIDONET.ORG>, izot@f171.n221.z1.FIDONET.ORG (Geoffrey Welsh) wrote: >under 800 bits per second (C64). Although a kludge documented by Steve Punter >(I posted the article in this newsgroup a few weeks back, I think) allows >passable 1200 bps and precarious 2400 bps, higher speeds and reliability >require carefully written and optimized software drivers. Who IS the actual author of the "1200 kludge"? According to other knowledgeable local sources, it's NOT Steve, and this is an item that I have heard repeatedly. Software stinks for higher than 1200 baud operation. Too much CPU overhead. :-) > I'm actually very saddened that Commodore decided not to include a real >6551 in the C64. Although the designers had no way of knowing how many C64s >would end up connected to modems, the C64 was at the forefront of bringing >modems into the home, and having a 6551 and less demanding serial disk timing >would have done much to enhance the C64's position as "the communicating home >computer". I'm sure YOU realize that the C64 was also intended to be "inexpensive" ... but I will include the following for everyone else's benefit. First, I have heard that there was some problem obtaining 6551's when the 64 was originally designed (they were quite expensive). Second, making the User Port an ACIA port would have lessened it's flexibility (it couldn't have been used as a parallel port). Third, nobody ever imagined that people using the 64 (/VIC/et al) would ever be rich enough to afford more than a 300 baud modem. I still remember a time when the 1600 cost as much as the VIC itself. :-) Therefore the software fudge was adequate (ROM is cheap). Fourth, nobody ever really imagined that anybody would ever CARE about telecom. (gee, a fellow student just WROTE me a nice long man entry, ah the fun of UNIX). All of which kinda make sense, unless one wants to do 9600 on the 64! :-) -- jgreco@csd4.milw.wisc.edu Joe Greco at FidoNet 1:154/200 USnail: 9905 W Montana Ave PunterNet Node 30 or 31 West Allis, WI 53227-3329 "These aren't anybody's opinions." Voice: 414/321-6184 Data: 414/321-9287 (Happy Hacker's BBS)