[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How do you invoke Terminal mode with the serial ports on a IIGS?



(my apologies if this is a repost; my connection died and rtin went nuts 
the last time I tried...)

SlickRCBD <yourIP@127.0.0.1> wrote:
: I remember reading in a book at one time that there was a way use an
: extremly dumb termial mode on the Apple IIGS. It was some escape or
: control command in conjunction with the PR# or IN# commands, but I
: completely forgot how to invoke it.
: 
: Could somebody please refresh me on the serial port commands for the IIGS
: or point me to a file for this?
: 
: I'm looking for the dumb terminal built into the ROM as I just discovered
: something that has need of one one a serial connection.

Well, I'm not certain if this works right on a IIgs or not, as I haven't 
tried it, and at the moment there is some unexpected fragility in my 
serial port configuration as I'm trying to keep a LocalTalk network alive...

But here are the terminal mode details from the Super Serial Card.  The 
IIgs serial port firmware is similar to the Super Serial Card, but 
presumably not identical:

I.  Make sure that the card is set for communications mode.
For the SSC this means the arrow on the jumper block is set to make the 
card look like whatever kind of device you need it to look like 
(MODEM=DTE, TERMINAL=DCE), and DIP switches 1-5 and 1-6 are set to ON.  
In the IIgs, this means you have the right kind of cable connected (or 
you have a null-modem at the end of the wrong kind of cable) and the 
'device connected' is set to MODEM.

II.  From BASIC, connect KSW and CSW through the card firmware.  Caution: 
Do this with a 40-column screen!
]IN#s : REM where S is the port slot.  On a IIgs, use 1 for the printer 
port, 2 for the modem port

(cursor changes to a ][+-style flashing square)
]PR#s : REM see note above

At this point, all input from the keyboard will be sent to the serial 
port, and all input from the serial port will be echoed to the screen.  
If you have a comm program running on the far end, you can actually use 
it to remote-control your Apple at this point!

Note that you MUST issue the I/O commands in the order listed above if 
you want things to happen in a predictable way!  Do the IN#s first, as 
that will redirect system input through the serial card, then reconnect 
the keyboard...THEN to the PR#s which will redirect output through the 
card.  If you do the PR#s first, depending on how the card is configured, 
you may not be able to issue the IN#s command!  At the very least you 
won't be able to see what you are doing.

To send commands to the SSC, you use ^A as the attention command; in fact 
once you type a ^A, the SSC will respond with:
APPLE SSC:
The command to enter terminal mode is "T".  To exit terminal mode, send ^AQ.
Terminal mode commands all begin with a ^A and are...
T         Enter terminal mode
B         Send BREAK signal
E D       Echo disable (full duplex)
E E       EEcchhoo  eennaabbllee  ((hhaallff  dduupplleexx)) 88--))
S D       Disable special characters (ESC sends ESC)
S E       Enable special characters (ESC becomes a shift key)
0T        Change lowercase to uppercase
1T        Pass characters unchanged
2T        Display lowercase as uppercase inverse
3T        Pass lowercase, but display as inverse
X E       Enable XON/XOFF via ^R and ^T but not ^S
X D       Disable XON/XOF
Q         Quit terminal mode

Again, this is all based on the *old* Super Serial Card manual (the 
yellow one with the source code listings in the back).  The IIgs serial 
port firmware is definitely different, but some or all of the commands 
may be supported; quite frankly I don't have the ability to check for 
that right now.  But this ought to get you started, anyway!

--Dave Althoff, ][.
    /-\        _       _          *** Thanks for a great season!! ***
   /XXX\      /X\     /X\_      _     /X\__      _     _        _____
  /XXXXX\    /XXX\   /XXXX\    /X\   /XXXXX\    /X\   /X\      /XXXXX
_/XXXXXXX\__/XXXXX\/XXXXXXXX\_/XXX\_/XXXXXXX\__/XXX\_/XXX\_/\_/XXXXXX