Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!unmvax!pprg.unm.edu!hc!lll-winken!uunet!portal!cup.portal.com!Chris_F_Chiesa From: Chris_F_Chiesa@cup.portal.com Newsgroups: comp.sys.atari.8bit Subject: Re: 850 Interface Handler Code - attn Jean Goulet Message-ID: <16951@cup.portal.com> Date: 10 Apr 89 00:18:31 GMT References: <8903310230.AA08623@maxwell> <16552@cup.portal.com> <746@sunkisd.CS.Concordia.CA> Organization: The Portal System (TM) Lines: 99 In another article whose header Portal doesn't pull into the reply, Jean Goulet writes: > Luckily if you use FTP and OPEN 36.8.0.46, and go to the 8-bit directory, Ah, it must be nice to be able to do FTP... never had that luxury ... :-) > This leads me to ask, if you open up the R-verter, what hardware do you see? > My guess is that it's got chips for converting RS-232 signals to TTL signals I believe there'd have to be more to it than that; more below, in the section on pin-to-pin SIO/RS232C correspondence. > Now I have a few questions regarding the 850: > - which serial port on the 850 do you connect a modem to? (1-4) Almost ALWAYS port 1. On the real, true, 850 (and most other terminal- driver boards in existence, for this and other computers, apparently!), the different ports are electrically a little different, e.g. not all "control" signals (DTR, CTS, RTS, etc.) are available/present on all ports. Port 1 is the ONLY one on which ALL signals are present, as I recall. > - which pins are used on the atari SIO cable, and which RS232 signal does > each pin correspond to? The table below is waiting for the answer. Alas, there IS NO direct pin-to-pin correspondence; the information is passed in totally different ways, over the CIO connection, than over the RS232 serial port(s). For what it's worth, the SIO pinout looks like this: Each digit represents the "pin number" of the pin at that position: 2 4 6 8 10 12 1 3 5 7 9 11 13 1 - clock input 8 - motor control 2 - clock output 9 - proceed 3 - data input 10 - +5 / Ready 4 - Ground 11 - Audio Input 5 - Data Output 12 - +12 V 6 - Ground 13 - Interrupt 7 - Command Notes: 1) Pins 7, 9, and 13 are "active low." 2) This obviously has little of anything to do with RS232; the cir- cuitry in the 850 interface builds those signals for the ports, the CPU has nothing to do with them. 3) I call your attention to the presence of 12V on pin 12 -- surprise! > (I added a column for the R-verter in case it's different) Alas, I have no information for you about the Rverter... > That is, the modem will connect to my RS-232-to-TTL > converter, and that will be connected to the 400's joystick port, and the > 400's SIO port will be connected to the XE's SIO port. You're going to have to do more than just convert signal levels, from the look of it. (Accidentally deleted the part about needing to know the difference between "sending data" and "sending commands" to the 850... That, I believe, is referred to in the official literature as "data frames" and "command frames" sent over the SIO bus.) This stuff comes from Section 9 of the Atari OS User's Manual... This is the section describing the SIO Serialk I/O Handler... "... All bus transactions are expected to conform to a universal protocol. The protocol includes three forms, stated below (as seen from the computer): Send command frame. Send command frame and send data frame. Send command frame and receive data frame. The values of the W and R bits in the status byte select the command form." (The "status byte" referred to, is that at DSTATS (hex 0303) when an SIO call is made. The W bit is bit 7 (high end), and the R bit is bit 6. W,R = 0,0 means "no data transfer associated with operation" 0,1 means "data frame is expected from the device" 1,0 means "data frame is to be sent to the device" 1,1 is invalid) There's a whole flock of information on the electrical characteristics, byte and frame organization of data etc. over the SIO bus... Too much to type in here-and-now; Jean, send me some E-mail and remind me "section 9, OS Manual, page 145"!