Thank you, Lawrence. I believe this will get me where I need to go. Your help is very much appreciated, and have a merry Christmas. Mark ----- Original Message ----- From: "Lawrence Glaister" To: Sent: Friday, December 21, 2001 7:34 PM Subject: Re: [EE]: getting files off an old Intel "Blue Box" (actually white) > 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 > > -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu