DNET V2.00 1 MARCH 1989 DNET (c)Copyright 1987-1989 Matthew Dillon, All Rights Reserved Matthew Dillon 891 Regal Rd Berkeley, Ca. 94708 USA ...!ihnp4!ucbvax!dillon USENET dillon@ucbvax.Berkeley.edu ARPANET ucbvax.berkeley.edu pub/amiga ARPANET-FTP This documentation was compiled by Rich Helms from the original documentation by Matthew Dillion. Rich Helms Ye Olde Helmstead Farm RR #1 Sunderland, Ontario L0C 1H0 Canada Table of Contents History 1. What is DNet 2. Installation 3. Commands Appendix A.Building a Null Modem Cable HISTORY V1.00 sometime in 1987 First release V1.20 sometime in 1988 Fixes to the first release V2.00 1 March 1989 Major fixes, additions, and other items. WHAT IS DNET DNet is a link protocol and should properly be called DLink, but the name DNet stuck and so it will stay. DNet allows one to connect two amigas together and run multiple connections between them. For example, you can open a talk window or two or three and be doing an upload and be doing a download all at the same time. Currently, DNet can be used to connect two Amiga's together or an Amiga to a 4.2BSD/4.3BSD compatible UNIX. Note: AN 8 BIT PATH MUST BE AVAILABLE TO RUN DNET. DNet must be able to send and receive all 256 character codes. This is generally not a problem between two amigas connected via modem. This can be a problem connecting to UNIX boxes over a port selector or terminal concentrator. INSTALLING DNET ON YOUR AMIGA There are a number of steps involved in the installation of DNet including hardware and software. * Hardware Connection It is first necessary to connect the Amiga with the other system. This can be done in one of two ways, either a modem or null modem cable. If the systems are to communicate over a phone line, then a modem is necessary. If the systems are in the same area, a null modem cable can be made. * How to Make a Null Modem Cable Serial communications can be done over a nonshielded cable for up to 50 feet. To exceed 50 feet, shielded cable should be used. Distance has an effect on the quality of cable needed as well as the speed you can run the serial port. My personal system has an Amiga 1000 and an Amiga 500 connected by a 60 foot shielded 4 wire cable and I run the two Amigas at 19,200 baud. Nonshielded cables or long runs may cut into the speed possible. Three types of cables can be made. The first is a "full" null modem cable. The second is a cable that puts through the minimum lines and tricks the other connections. The third is a cable with the "minimum" number of lines and no tricks to fool the system. This kind of cable requires special software support. See Appendix A for the details of how to build all three cables. * Async line drivers For distances up to a few miles, an async line driver can be used. The purpose of such a device is to amplify the signal for the longer trip down the wire. Many vendors sell such devices. One is Black Box Canada Corp (195 Riviera Dr., Markham, Ontario, Canada, L3R 5J6. They sell line drivers that look like a typical serial plug but has 4 screw terminals on the end. You connect standard phone 4 wire to each unit and you can run up to 3.2 miles of wire and run at either 9,600 baud on the SHM-NPR ($123.50 Cdn Fall) or 19,200 baud on the SHM-NPR1 ($138.00). * Performance While the Amiga can run at 19,200 baud, the effective rate is not what the serial port is configured to. There is overhead in the program. In one test, 2 Amigas were linked via a null modem cable. A 47K file was loaded in the RAM: on one system and copied to the other system by the GETFILES program. At 19,200 baud the copy took 27 seconds giving an effective thruput of 1.7 K bytes per second (about 17,800 baud). Do not try to run at 38,400 baud. It will lock up the system. SOFTWARE INSTALLATION (1) copy dres.library to libs: (2) Create a directory for the DNet programs (we will use Network_Programs for this document. (3) In s:Startup-Sequence add these lines: assign dnet: Network_Programs path dnet: add Now you can call any DNet program from the directory as dnet:. Note: You must have assigned env: for DNet to work. (4) copy the DNet binary and all client and server program to dnet: These programs include: bbsterm cliterm dbbs dnet fterm getfiles loadav putfiles quitdnet scli scopy sgcopy spasswd sprint statdnet sterm (5) copy the file dnet.servers to s: All programs in dnet.servers points to where the associated program is found. As it points to dnet: as the location, your assign done in step 3 will cause all programs to be found. The dnet.servers file looks like this: 8192 dnet:scopy ram: ;File Transfer server 8195 dnet:sterm ram: ;Terminal Window server 8196 dnet:scli ram: ;Shell Server (needs pipe:) 8197 dnet:sloadav ram: ;Load Average Server 8198 dnet:sprint ram: ;Printer Server (direct copy) 8199 dnet:spasswd ram: ;Password Server ; 8200 reserved for BBS server, handled by dbbs client&server program 8201 dnet:sgcopy ram: ;GET files server (6) copy the file dnet.config to s: You may have to modify s:dnet.config. See the chapter on the dnet command. (7) If you want to run a CLI session on system B from system A then on system B you must: Add to devs:MountList DPIPE: Handler = dnet:dpipe-handler Stacksize = 6000 Priority = 5 GlobVec = 1 # NULL: Handler = dnet:null-handler Stacksize = 500 Priority = 5 GlobVec = 1 # With these 2 entries in the MountList file, you can run a remote CLI. It is also necessary to execute MOUNT DPIPE: MOUNT NULL: on System B before running CLITERM on system A. Note: the parameters in DNET are case sensitive. The X MUST be a capital letter. IF YOU ARE USING A MODEM 1> RUN DNET -X -8 -b1200 The above line also sets the baud to 1200. The idea is you set it to what is proper for your modem. In the small window that appears, type the commands to make the call with your modem. IF YOU ARE USING A NULL MODEM CABLE 1> Set preferences on both mochines to: 19,200 or 9,600 baud (both machines MUST match) 8 bit read and write 1 stop bit no parity xON/xOFF If you are using a full null modem cable or a tricked null modem cable as described in Appendix A enter: 2> RUN DNET -X If you are using a 3 wire null modem cable with only lines 2 crossed to 3 and line 7 through, enter: 2> RUN DNET -X -h0 Note: the -h0 tells DNET to ignore the carrier detect line. WARNING: The defaults for -X (manual mode) in S:DNET.CONFIG turn off all security. Please read documentation on security for more information. SCRIPT TO STARTDNET Here is a sample script to start DNet. assign dnet: dh0:Network_Programs ;set to the directory you used path dnet: add run dnet:DNET -X ;set your parameters up mount dpipe: ;this is necessary if a remote mount null: ;CLI is to be used A small DNET window should appear from which you can dialup your friend's amiga. On a modem CONNECT, DNET should automatically adjust the baud rate. It may be necessary to modify S:DNET.CONFIG as to how your modem tells the active baud rate. After connecting, executing the START DNET menu option from either end will start the protocol. The small dnet window should go away and DNET should attempt to run the FTERM client program, which connects to an STERM server program on the other end. Your friend's amiga will do the same. Note: The return key on one system will not reset the cursor to the next line. It will do a line feed but not a carriage return. See FTERM to see how to start a window on the other Amiga with correct cursor control. If all goes ok, it should flash the window size in the title bar and you can type. If not, the window will go away and an error message will be printed out in your CLI: "unable to connect". WARNING: Even if there are no windows open (no clients active), DNet is still running!!!! us the CLI BREAK command to kill DNet and give you back the initial DNet window, from which you can hit the close-window gadget. Breaking the DNet protocol will kill any active clients. Unless specified with the -h0 option, if the modem carrier is lost DNet will kill all clients and re-open its initial window. SERVERS AND CLIENTS DNet has a notion of servers and clients. That is, you run the protocol as described above, then run other external programs that talk to the core program "DNet". These other external programs "FTerm", "GetFiles", "PutFiles", etc... obtain virtual connections to special server programs on the remote machine. Thus, when you started the protocol above DNet automatically ran the FTERM client... you can run as many FTERMs as you have memory for (well, actually, DNet is limited to 64 simultanious channels). When a client program such as FTERM is run on computer A, it causes the appropriate server program (STERM in this case) to automatically be run on computer B. The client and server need some way to rendezvous, and they do this by giving the same PORT NUMBER to the protocol driver. This is what the S:DNET.SERVERS file is ... when you run a client on computer A it asks for server # (e.g. 8195 for an FTERM) on the remote machine. Computer B (the remote machine) looks up 8195 in the S:DNET.SERVERS file, finds the path to the server in question, and runs it automatically. PORT CLIENT SERVER PURPOSE 8192 PutFiles SCopy send files to remote computer 8195 FTerm STerm open a talk window on both computers 8196 CLITerm SCli remote-CLI (actually newshell) 8197 LoadAv ------ Load-Average window (when running DNet to a UNIX machine) 8198 ------ SPrint printer server 8199 DLogin SPasswd password server. Used to gain security access for auto-answer callups 8201 GetFiles SGCopy download files from remote computer DNET OPTIONS (please refer to S:DNET.CONFIG while reading this) DNet runs in three basic modes: AutoAnswer (-a), DialOut (default), and Manual (-X). Each mode has its own default set of security parameters. The shipped defaults assume a hostile enviroment. Generally, AutoAnswer is assumed to be the most hostile since you do not know who is calling you up. DialOut is less so since you know who you are dialing, and Manual assumes a non-hostile enviroment. These three modes also cause DNet to work differently. AMIGA/DNET DialOutMode: The default mode is DialOutMode (neither -X or -a given). DNet will look for a CONNECT message on carrier detect and modify the baud rate according to the AUTA resources. DNet will set the security modes to the ENVO (originate) resources in s:dnet.config NOTE: response through the initial window will be slow due to DNet's scanning of the resource file s:dnet.config. -X Manual mode. DNet will look for a CONNECT message on carrier detect and modify the baud rate on connect appropriately. DNet will set the security modes to the ENVM resources which assumes a friendly connection. -a Auto Answer mode. DNet will send the RESM resources at the originally specified baud rate to reset the modem whenever carrier is lost. The security modes are set the the ENVA resources, which normally assume a hostile enviroment. -8 Use 8 bits no parity for the initial window rather than 7 bits even parity. NOTE! This only effects the initial login window. The Protocol, when running, always uses 8 bits no parity. -bbaud Set Initial Baud rate (otherwise uses preferences baud rate) -Bbaud Set Baud used to determine timeouts. If not set, the current baud rate, whatever that is, is used. If set, this value is used to calculate timeouts forever after no matter what the actual line baud rate is. For example, setting this value lower than whatever baud rate you normally use will allow for longer line delays (such as when dialing through networks and things) -sclient Run the specified client program on protocol start. If running a BBS you want to specify the BBS client program here. NOTE: If the DNET_NORUNCLIENT enviroment variable is set, no client program will be run even if this option is specified. This is used by DBBS to ensure that DNet does not start it several times. This enviroment variable is automatically deleted when DNET is first run. The default is to run the FTERM client. -nhostname Set the hostname (not used) -h0 Disable the auto-hangup feature. This only works when in DialOut (default) or Manual (-X) mode and causes DNet to ignore the carrier detect line. CD MUST be implemented for AutoAnswer. -U# Set the unit number for the low level serial-like device to talk over. -Ddevice Set the device name for the low level serial-like device to talk over (i.e. "serial.device"). -N# Set the network ID for local client/server rendezvous -p Packet Debug mode -d Debug mode on --------------------------------------------------- SECURITY The following enviroment variables should exist: DNET_LEVEL, DNET_READ, DNET_WRITE, DNET_GROUP, DNET_USERID These are setup automatically by the S:dnet.config file depending on the mode (Manual, DialOut (-X), AutoAnswer (-a)) and are read by local servers to determine what the remote machine is allowed to do. These variables each hold a single value, normally 0-9 (except for DNET_GROUP which can be any number 0-32767). SGCOPY (server for getfiles): This is a new server. DNET_READ and DNET_GROUP determine which files the remote machine may download (read). In order for the remote to be able to download a file,that file and all its parent directories are scanned. At least one comment field must have an AC entry (AC=n) less than or equal to the current DNET_READ enviroment variable or sgcopy will disallow the download. If NO comment fields have an AC entry the download is disallowed. If any comment field has an AC entry > DNET_READ, the download is disallowed unless a GP entry was found (GR=n). A comment field may have multiple GR entries (GR=n GR=n ...). If any matches DNET_GROUP and all (if any) AC fields are <= DNET_READ, the download is allowed. After that point a download will begin and files/dirs need not have AC entries. However, if any do, it will be checked again DNET_READ and the download (for that file or directory) disallowed. SCOPY (server for putfiles) This server allows remote machines to upload a file. That is, transfer from the remote machine to the local machine. DNET_WRITE must be 9 or higher or the upload will be disallowed. Currently, the remote machine may upload anywhere so it is suggested that you either NOT have the SCOPY server installed or do not set DNET_WRITE to 9 or beyond when talking to possibly hostile remote machines. SPRINT (printer server) This server copies a stream to PRT: DNET_WRITE must be at least 6 or the remote machine will not be allowed to use this server. SCLI (CLI server) This server is currently a big hack and requires a special pipe device to work (The 1.3 pipe: will not work). DNET_LEVEL must be at least 9 for a remote machine to be able to start a remote cli STERM (terminal window server) This server requires no permissions to operate and allows the remote machine to bring up a 'terminal window' to talk you through. AUTOMATIC ENVIROMENT VARIABLE CONFIGURATION CAN BE DONE FROM S:DNET.CONFIG --------------------------------------------------- TALKING TO A DBBS Amiga users wishing to connect to DBBS hosts should use the following command line: Run dnet -8 -sbbsterm The -8 is required only if you have a stupid 'smart' modem which figures out the parity and then stays with it forever after. Since neither -a or -X have been given, you are in the medium-security 'dial-out' mode. Then, dial up the BBS in question. If the other end is indeed a DNET-BBS running under automatic operation, the protocol should start up almost immediately. On protocol startup, your side will automatically attempt to run the BBSTERM program (which connects to the BBS server on the other end). NOTE that the BBSTERM executable and FTERM executable are one and the same. The naming 'BBSTERM' causes it to use the BBS's port (8200) instead of the STERM port (8195) Currently the BBS server will allow only one connection at a time and return other attempts with an error. However, you can still download, upload, readmail, and talk to the sysop all at the same time. Downloading files from the DBBS The getfiles client program is used to retrieve files from the DBBS. The DBBS will set security options and such to allow you to download files. Allowing the DBBS to upload files from you At least one of the directories in the path leading to the eventual file/dir that you want to upload to the BBS must have a comment field containing the string AC= (e.g. AC=1) where is at least whatever read security level you have set (the DNET_READ enviroment variable, for example: setenv DNET_READ 1), or the DBBS will be unable to retrieve the file(s)/dir(s) and will tell you so. --------------------------------------------------- EMAIL NETWORK Has not been implemented yet, but will eventually be just another server. This is one of the reasons why the connect-to-BBS is done by the caller rather than have the BBS automatically startup an STERM on protocol startup ... this way, future enhancements such as an automated email network can be added without the burden of automatically starting up a BBS everytime. I also plan to implement a CRON based auto-dialer for email transfer. ---------------------------------------------- RUNNING AS A DBBS The DBBS server program is a BBS system for the Amiga which runs under DNet. The following is an example command line for automatic operation. Your modem must implement the CD (carrier detect) line and must disconnect when DTR is dropped. Run dnet -8 -a -bmaxbaud -sdbbs (other options may apply) That is, 8 bits no parity for the initial window (doesn't matter unless you have one of those stupid-smart modems), answer mode (automatic protocol startup on carrier detect), the maximum baud rate your modem can handle, and to run the DBBS client on protocol startup. The DBBS program is the BBS program itself. It is a client in that you RUN it (or allow DNET to run it via the -s option). It is a server in that it passively waits for connections from the remote end. This program also handles disconnecting users when their time runs out or they are idle too long. Since PUTFILES is a security hole right now, rather than have users of the BBS PUTFILES to upload, they will request the BBS to GETFILES the files to upload. *NEVER SET YOUR DNET_LEVEL or DNET_WRITE TO 9 OR ABOVE! Doing so gives remote users sysop level access to DNet. NOTE: I intend to implement a mail network at some point. Remember that in the future, users will dial up and connect to your machine to do things other than just use the DBBS (i.e. they'll connect to the EMAIL server in many cases for an automated mail transfer). AMIGA/CLITERM CLITERM [-Nnet] [port#] CLITERM is used between two amigas to open a remote CLI on the remote amiga. CLITERM is a standard FTERM minus some features and plus some features. The big feature is that it line-buffers the data, allowing you to edit lines before sending them off to the remote cli. It also defaults to the SCLI server's port # (8196). WARNING: You must be at a CLI (or 1.3 NewShell shell) prompt when you exit! The remote machine must have the Amiga OS V1.3 NewShell command installed as well as DPIPE:, and the DNET_LEVEL enviroment variable must be at least 9 (accomplished by the remote user running dnet -X or modifying s:dnet.config). A shell initialization from file, s:remote-startup, is automatically executed by the shell. It is suggested that the program "noreq" be run by s:remote-startup to disable requesters (or your remote CLI will freeze when you make a mistake that brings up a DOS requester!). AMIGA/FTERM AMIGA/BBSTERM FTERM [-Nnet] [port#] [-c#] [-wcapturefile] FTERM opens a standard intuition window and connects to a CSH running on the remote UNIX machine. If the remote machine is another Amiga, it connects to the terminal-window server (STERM). To call the other Amiga with the CR LF correct use: dnet:FTerm -c7 UNIX: The csh runs on a PTY and is NOT named, which means you don't show up in WHO or FINGER, and cannot TALK other people (nor can they talk you). To get a named shell, you must 'rlogin localhost'. This adds another process to the character-loop. The default port# is 8195. You can also specify another port # to connect to. The -N option specifies the network (default = 0). This is the same network as was specified when you ran DNET (if was not specified, is 0) The -c# option (-c7 for example) sets the 'cooked' mode. Bits are defined as follows: bit 0 turn keyboard CR's into LFs when sent to remote 1 Local Echo (half duplex) 2 cause received LFs to generate a CR+LF (i.e. CSI20h) -wcapturefile Specify name of capture file, else "ram:capture". Menus: (partially implemented): Capture -capture into ram:capture Paste -pastes from ram:paste Flush -get rid of buffered data on remote end (that would otherwise take a long time to display) BBSTERM is simply FTERM renamed, and uses PORT_BBS (8200) instead of PORT_IALPHATERM (8195). RELEASE INFO: V1.10 DNET 1.10 release -Implements auto window resize and auto-remote-resize -Implements local echo (cooked mode) and buffering Remote STERM implements equivalent options and now has the same resize/echo/remote-resize capabilities as FTERM. V1.00 Initial Release AMIGA/LOADAV LOADAV [-Nnet] [updatetime] Create a load average window on your amiga. The program 'uptime' must exist on the UNIX end for this to work. The default update time is 60 seconds. The -N option specifies the network (default = 0). This is the same network as was specified when you ran DNET (if was not specified, is 0) AMIGA/FTERM Using FTERM to gain access to the SPASSWD server. FTERM 8199 (Amiga<->Amiga connection, from calling amiga) DSOC 8199 (Unix<->Amiga connection, from calling unix machine) This connects to the SPASSWD server on the Amiga which requests a login and password to gain any level of security access to the amiga. S:DNET.CONFIG may contain zero or more entries of the following form: USER example USER dillon casmtrek 9 9 9 This server is useful as it allows you to leave your Amiga unattended in auto-answer mode (with default security permissions 0 0 0). You can call up your amiga, connect to the SPASSWD server and enter your own personal user-name/password to gain full access to your amiga for the duration of the call. When you hang up, the amiga will automatically restore permissions to the default for the next caller. UNIX/GETFILES AMIGA/GETFILES GETFILES [-Nnet#] [-dlocaldir] [-c] file/dir file/dir file/dir .. GetFiles file transfer client. Download the specified files and or dirs from the remote machine into the current directory, or the directory specified if the -d option is used. Entire directory trees may be downloaded The -c "continue" option only downloads files which do not already exist. For files which do exist, if the local file size is less than the remote file size, the remainder will be downloaded and appended to the local file. SECURITY The remote host, if an amiga, will impose security restrictions on those files allowed to be downloaded according to the comment field of said files or any parent directory and the current DNET_READ accesslevel. If the remote AMIGA's DNET_READ enviroment variable is set 9 or higher, no access restrictions are imposed. If the remote AMIGA's DNET_READ enviroment variable is less than 9, the comment field of the requested file or the comment field of any parent directory to that file (checked all the way to the root directory if necessary) must contain a field: AC= where is a value less than or equal to the security level (DNET_READ enviroment variable). For example, if the remote user sets the DNET_READ enviroment variable to 5 (normally done by modifying the s:dnet.config file), and then sets the comment field for his GAMES: volume to AC=5, remote users who connect to his amiga will only be allowed to download files from that volume. The comment field will be used to house other parameters in the future. UNIX/PUTFILES AMIGA/PUTFILES PUTFILES [-Nnet#] [-dDESTDIR] file/dir file/dir file/dir .. File transfer client. Transfer the specified files and or directories to the destination directory on the remote machine. For instance: unix: putfiles -dram: charlie.txt /usr/include places the file charlie.txt as ram:charlie.txt, and places the directory structure /usr/include as ram:include/(whatever). The -N option selects the network number (see -N option for DNET). The default is 0 (AMIGA ONLY). The default destination directory depends on the remote host. If the destination is an Amiga, the default is DF0: (so you probably always want to specify a -d switch). On the UNIX end, the default is whatever is set in the file dnet.servers Currently, no file compression is done. I also hope to add semi-automatic crash recovery (continue download where you left off after a crash), though it should be noted that it is very difficult to crash DNET with random modem noise. AMIGA/QUITDNET QUITDNET [-Nnet] This program causes the remote DNET to exit (remote is UNIX) or return to the original window state (remote is an AMIGA). This is used mainly for debugging to allow one to restart a newer copy of the program. The -N option specifies the network (default = 0). This is the same network as was specified when you ran DNET (if was not specified, is 0) APPENDIX A Building a Null Modem Cable Serial Interface Connector Specification -------------------------------------------------- The 25 pin D type connector with sockets (DB25S=female) is used to interface to RS232C standard signals. Signal names correspond to those used in the appendices of the hardware manual when possible. A500 has a male DB25 socket, A1000 has a female DB25 connector. WARNING: Pins 14, 21 and 23 carry power on the A1000. On the A500 and A2000, pins 9 and 10 carry power. Do not connect to these pins inadvertantly as they can permanently damage external equipment. Also, pins 15-18, 23-25 carry non-standard signals and should not be inadvertantly connected. NEVER use a fully wired 25 line cable! Full Null Modem Cable --------------------- System A System B 1 ----------------- 1 Frame Ground 2 -----3 3----- 2 TX data Cross RX & TX 3 -----2 2----- 3 RX data 4 ---*-8 8-*--- 4 Request to Send Tie RTS & CTS cross to CD 5 ---* *--- 5 Clear to Send 6 ----20 20---- 6 Data set ready Cross DSR to DTR 7 ----------------- 7 Signal Ground 8 -----4 4----- 8 Carrier Detect Cross CD to tied RTS & CTS 20 ----6 6----- 20 Data Terminal Ready Cross DTR to DSR Tricked Null Modem Cable ------------------------ 1 ----------------- 1 Frame Ground 2 -----3 3----- 2 TX data Cross RX & TX 3 -----2 2----- 3 RX data 4 ---* *--- 4 Request to Send Tie RTS & CTS 5 ---* *--- 5 Clear to Send 6 ---* *--- 6 Data set ready Tie DSR, CD & DTR 8 ---* *--- 8 Carrier Detect 20 --* *--- 20 Data Terminal Ready 7 ----------------- 7 Signal Ground If using a long shielded cable, connect pin 1 to the shield on one end but not on the other. Minimum Null Modem Cable ------------------------ 1 ----------------- 1 Frame Ground This line is optional 2 -----3 3----- 2 TX data Cross RX & TX 3 -----2 2----- 3 RX data 7 ----------------- 7 Signal Ground Serial Interface Connector Pin Assignment (J6) 1000 (500) -------------------------------------------------- RS-232-C pin name name dir std notes 1000 500 (A500 notes) 1 FGND FGND y frame ground -- do not tie to logic ground [Common physical equipment ground] 2 TXD TXD O y transmit data [Data sent to DCE] 3 RXD RXD I y receive data [Data received from the DCE] 4 RTS RTS O y request to send [Turns on modem's transmit carrier] 5 CTS CTS I y clear to send [Indicates the modems transmit carrier is on] 6 DSR DSR I y data set ready [Indicates the modem is on] 7 GND GND y signal ground -- do not tie to frame ground [Ground for signal carrying circuit] 8 CD CD I y carrier detect [Asserted when the modem hears a carrier] 9 --- +12V (+12V on A500) 10 --- -12V (-12V on A500) 11 --- AUDO (Audio out A500) 12 --- --- 13 --- --- 14 -5V --- 50 ma maximum *** WARNING -5V *** 15 AUDO --- O audio output from left (channels 0, 3) port, intended to send audio to the modem 16 AUDI --- I audio input to right (channels 1, 2) port, intended to receive audio from the modem; this input is mixed with the analog output of the right (channels 1, 2). It is not digitized or used by the computer in any way. 17 EB --- O 716 KHz clock that supports 68000 peripheral transfers, intended for modem interface; this is the buffered version of the E clock from the 68000. 18 INT2* AUDI I asserting this OPEN COLLECTOR signal will generate a level 2 interrupt to the 68000 if it is enabled. (Audio into A500) 19 --- --- 20 DTR DTR O y data terminal ready [Asserted by terminal when ready to use modem] 21 +5V --- 100 ma maximum *** WARNING +5V *** 22 --- RI y (Ring Indicator on A500) [For electrically detecting a phone call (auto-answer modems)] 23 +12V --- 50 ma maximum *** WARNING +12V *** 24 C2* --- O 3.58 MHz intended for modems that need a colorburst clock. 25 RESB* --- O Amiga system reset Pin Layout While looking into the connector: The male RS232C is usually for the DTE (Data Terminal Equipment) The A500 and A2000 use a male plug. 1 2 3 4 5 6 7 8 9 10 11 12 13 * * * * * * * * * * * * * * * * * * * * * * * * * 14 15 16 17 18 19 20 21 22 23 24 25 The female is usually for the DCE (Data Communications Equipment - modem) The A1000 uses a female socket. 13 12 11 10 9 8 7 6 5 4 3 2 1 * * * * * * * * * * * * * * * * * * * * * * * * * 25 24 23 22 21 20 19 18 17 16 15 14