Path: utzoo!mnetor!uunet!lll-winken!lll-lcc!ames!pasteur!ucbvax!WPI.BITNET!MPENDER From: MPENDER@WPI.BITNET Newsgroups: comp.sys.apple Subject: (none) Message-ID: <8803280411.AA10203@wpi.local> Date: 28 Mar 88 04:11:11 GMT Sender: usenet@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 186 23-Mar-88 13:43:32-EST,1655;000000000001 Mail-From: DEC20 Mail Filter created at 23-Mar-88 13:43:25 Return-Path: Received: from BITNET by ELWOOD with Cafard; Wed 23 Mar 88 13:42:11-EST Received: by wpi.local (4.12/Ultrix2.0-B) id AA03663; Wed, 23 Mar 88 13:28:01 est To: MPENDER@WPI20.CCNET@WPI20.CCNET Received: by husc6.harvard.edu; Wed, 23 Mar 88 11:48:40 EST Date: Wed, 23 Mar 88 07:06:51 PST Subject: (none) Message-Id: -- Begin Original Message -- >I have the 128 with rom revision 2.90. I have the full technical specs. >What information do you need? I don't have the book with me, but I'll >try to dig up what I've got and send it before tomorrow. First off how do you id the machine. The apple id is in $fbb3 & $fbc0. What does the lazer have in those bytes. The next thing is the 80 col display. On the apples i had to reproduce the first part of the rom so the 80 col display wouldnt change the window ($22 & $23). Kermit uses the pascal 80 col display routines and i assume the laser has those also. These routines are in the display rom. Then there is the serial port. Do you have the details on where the data port, status port ... is? On the //c those ports are around $c089 + slot*16 ... Listings of the display rom and the serial rom would be invaluable. Now that i think of it, first what are the symptoms when you try to run kermit on the laser. >-- End Original Message -- Fbb3 contains 06 and fbc0 contains E0. Prodos identifies the Laser 128 as a IIe with applesoft in Rom, 128K, a printer card in slot 1, an I/O card in slot 2, an 80 col card in slot 3, a mouse/joystick card in slot 4, and a disk card in slot 6. Kermit works up until the time I attempt to connect. Then, depending on the card I tell it to try I get different results. Selecting 4, the apple card gives me a stream of garbage. Selecting 1, the Super Serial card doesn't usually work. I think the routine to save to disk is messed, because every time I attempt to run it from disk after the file is damaged and the computer reports an I/O error. However it is possible to do a 1000g after instructing the computer to do the setup for a ssc. That is, the setup damages the file on disk (I don't know how), but as I understand it it would change the copy in memory first. I execute the copy in memory by typing 1000g, it works until I try to connect. Then it drops me into the monitor, pointing to 1. For port 2, the modem port: Init address = $C200 + contents of $C20D Read address = $C200 + contents of $C20E Write address = $C200 + contents of $C20F Status address = $C200 + contents of $C210 Similarly ports 1 and 3 (printer and 80 col card) can be accessed by $C100 and $C300 plus the contents of C10D and C30D, etc... C0A8 Read/Write The port2 Receive/Transmit register C0A9 Read/Write The port2 Status register C0AA Read/Write The port2 command register C0AB Read/Write The port2 control register "Port 2 can be used to receive after initializing with the routine at $FE8B or IN#2, or to send characters after initializing with the routine at $FE95 or PR#2, or both. When the computer is first turned on Port2 has these settings: Insert linefeeds after carriage return, Do not echo characters back to the video display Command character is CTRL-A Format is 8 DATA, 1 stop bit. Baud is 1200. Parity is set for no parity. These commands can be used to control the card: Ctrl-A nB: Set the baud rate: where n is: 1 50 baud 2 75 baud 3 110 baud 4 135 baud 5 150 baud 6 300 baud 8 1200 baud 9 1800 baud 10 2400 baud 11 3600 baud 12 4800 baud 13 7200 baud 14 9600 baud 15 19200 baud Ctrl-A nD: Set data format: 0 8 data bits, 1 stop bit 1 7 data bits, 1 stop bit 2 6 data bits, 1 stop bit 3 5 data bits, 1 stop bit 4 8 data bits, 2 stop bits 5 7 data bits, 2 stop bits 6 6 data bits, 2 stop bits 7 5 data bits, 2 stop bits Ctrl-A I : Echo text back to the screen Ctrl-A K : Don't automatically print a linefeed after every carriage return Ctrl-A nP : Set the parity 0 no parity 1 odd parity 3 even parity 5 mark parity 7 space parity Ctrl-A Z : don't format the text in any way, don't insert carriage returns, or linefeeds, and do not check for any more commands. Ctrl-A Control-character Change the command character from ctrl-a to the control character indicated. Control register: holds stop bits, data word length, receiver clock source, and baud rate generator. Bit 7: 0 = 1 stop bit. 1 = 2 stop bits or 1 stop bit if word length is 8 bits and parity 1 1/2 stop bits if word legth is 5 bits and no parity. Bits 6 and 5: Data word lenght: 0 0 8 bits 0 1 7 bits 1 0 6 bits 1 1 5 bits Bit 4: 0 external clock 1 baud rate generator Bits 3 to 0: 0 0 0 0 50 baud 0 0 0 1 75 baud 0 0 1 0 109.92 baud 0 0 1 1 134.58 baud 0 1 0 0 150 0 1 0 1 300 0 1 1 1 600 1 0 0 0 1200 1 0 0 1 2400 1 0 1 0 3600 1 0 1 1 4800 1 1 0 0 7200 1 1 0 1 9600 1 1 1 1 19200 Command register: etc, its a standard UM 6551 ACIA. The Laser uses bank-switched rom. To read a character from a port call $FD0C, it will jump through $38, $39. To write to a port use $FDED. The addresses I mentioned earlier ($c100 - $c3ff range) are only to be used if t he system firmware in the area $F800 to $FFFF is not used. Ports 1, 2, 3, 4 and 6 can switch in additional areas (only one at a time) at $C800 to $CFFF. Incidentally, after a file transfer kermit often drops out of 80 column mode and into 40 (on a IIe). Of course the display can be reset to 80 cols, but I figured you might be interested. The Laser Has the Pascal routines. If you really want a dump of the Laser rom routines I'll try to figure out a way to send them through bitnet. The only other program I ran into that wouldn't work was Karateka. It was a modified version that copied the disk card to another location of memory and changed certain pointers to make the game boot. Any ideas? Mike.