Hi Mark, further to the kermit stuff, I believe the following may be useful. ftp://kermit.columbia.edu/kermit/c/mdsmit.p80 /* UART control bits */ declare port1cmd literally '0F5H'; declare port1dat literally '0F4H'; declare port1clk literally '0F0H'; declare timing1 literally '036H'; declare port2cmd literally '0F7H'; declare port2dat literally '0F6H'; declare port2clk literally '0F1H'; declare timing2 literally '076H'; declare modesel literally '0F3H'; declare reset literally '040H'; declare EnaTxRx literally '025H'; declare tx$rdy literally '01H'; declare rx$rdy literally '02H'; ... farther down the code /* IOINIT: This routine takes a port number, 0,1 or 2, and a speed in the */ /* range 0-8 and initializes the required port to work at the required */ /* speed. The routine returns no parameters. */ ioinit: procedure public; declare baud structure (code0(9) byte, code1(9) byte, mult(9) byte) /* Low-order byte of counter values */ data (0BAH, 80H, 40H, 20H, 10H, 20H, 10H, 08H, 04H, /* High-order byte of counter values */ 02H, 0H, 0H, 0H, 0H, 0H, 0H, 0H, 0H, /* 8251A command byte baud rate multiplier control bits */ 02H, 03H, 03H, 03H, 03H, 02H, 02H, 02H, 02H); /* 8251A command byte parity and length control bits */ /* (0=None, 1=Mark, 2=Space, 3=Even, 4=Odd) */ declare paritymask(5) byte data (0CH, 0CH, 0CH, 38H, 18H); /* 8251A command byte stop bits control bits */ /* (0 = 1 stop bit, 1 = 1 1/2 stop bits, 2 = 2 stop bits) */ declare stopmask(3) byte data (40H, 80H, 0C0H); /* Mask bytes for comm. input and output bytes */ declare inp$mask$and(9) byte data (0FFH, 7FH, 0FFH, 7FH, 7FH); declare out$mask$and(9) byte data (0FFH, 0FFH, 07FH, 0FFH, 0FFH); declare out$mask$or(9) byte data (0H, 80H, 0H, 0H, 0H); declare (c, status) byte; if debug then call print(.('\initializing serial port\$')); do case port; do; if debug then call print(.('port 0 initialized\$')); end; do; if debug then call print(.('port 1 initialized\$')); /* Put the USART into a known state by writing */ /* three zero command bytes to it */ output(port1cmd) = 0H; output(port1cmd) = 0H; output(port1cmd) = 0H; /* Reset the USART */ output(port1cmd) = reset; output(modesel) = timing1; output(port1clk) = baud.code0(speed); output(port1clk) = baud.code1(speed); output(port1cmd) = (stopmask(stopbits) or paritymask(parity) or baud.mult(speed)); input$and = inp$mask$and(parity); output$and = out$mask$and(parity); output$or = out$mask$or(parity); if debug then do; call print(.('Mode command: $')); call nout(stopmask(stopbits) or paritymask(parity) or baud.mult(speed)); call newline; end; output(port1cmd) = EnaTxRx; if ready(1) > 0 then c = getc(1); /* discard any char */ end; do; if debug then call print(.('port 2 initialized\$')); /* Put the USART into a known state by writing */ /* three zero command bytes to it */ output(port2cmd) = 0H; output(port2cmd) = 0H; output(port2cmd) = 0H; /* Reset the USART */ output(port2cmd) = reset; output(modesel) = timing2; output(port2clk) = baud.code0(speed); output(port2clk) = baud.code1(speed); output(port2cmd) = (stopmask(stopbits) or paritymask(parity) or baud.mult(speed)); input$and = inp$mask$and(parity); output$and = out$mask$and(parity); output$or = out$mask$or(parity); if debug then do; call print(.('Mode command: $')); call nout(stopmask(stopbits) or paritymask(parity) or baud.mult(speed)); call newline; end; output(port2cmd) = EnaTxRx; if ready(2) > 0 then c = getc(2); /* discard any char */ end; end; end ioinit; Its kind of painful, but I do remember the pain well! also ftp://kermit.columbia.edu/kermit/c/mdssnd.p80 has most of the code for sending data from the mds. files with the mds or md2 prefix look like they have the most gold. I dont think you will want to type in all the kermit source, but a small routine to open file, send a byte out the port with 1 ms delay between each character, should get most of the source files onto a more modern box. You will have to watch the floppies... they are getting very old and you may have problems trying to read some of the source files. cheers On Fri, 2001-12-21 at 12:29, Mark Skeels wrote: > Hi, List. > > I got no response to this on [OT]: so let's try on [EE]: > > I'm trying to get source code for old projects out of an old Intel MDS > system. The company that owns it lost all the manuals. I spent an hour last > night trying to remember the syntax for the copy command under ISIS. > > Does anybody remember the device name for the serial port, or the (paper > tape) punch device? > > IIRC, one can copy files directly to the device using the copy command. > > Also, anyone know where I can find, say, an ISIS manual on the net? > > Also, do you know where I can pick up a copy of a utility called HTRANS? > It's used to send stuff out of the serial ports. How about IDOS80? > > If worst comes to worst, they've got PLM-80 for the beast, but with no OS > manual, it would be next to impossible to write anything to solve the > problem. > > TIA, > Mark Skeels > Engineer > Competition Electronics > meskeels@earthlink.net > > Soli Deo Gloria! > > -- > http://www.piclist.com#nomail Going offline? Don't AutoReply us! > email listserv@mitvma.mit.edu with SET PICList DIGEST in the body > > > -- ===================================================================== Lawrence Glaister VE7IT mailto:lg@jfm.bc.ca 1462 Madrona Drive http://jfm.bc.ca/ Nanoose Bay, B.C. http://members.shaw.ca/cncstuff Canada V9P 9C9 http://gspy.sourceforge.net ===================================================================== -- http://www.piclist.com#nomail Going offline? Don't AutoReply us! email listserv@mitvma.mit.edu with SET PICList DIGEST in the body