[comp.sys.apple] IIc, IIc+ ports

GREYELF@WPI.BITNET (04/18/89)

I was asked how to permanently set the IIc ports permanently
so that the values would not be lost when the card was deactivated.
The following information describes how to calculate the
appropriate values to insert.

Okay folks, IIc information only  (I wonder if it works on Lasers too :^)
It may work on a IIc+ too, but no promises...

Information taken from InCider, July, 1985:

Baud rate:      Data Format:            Parity:
                (data/stop bits)
 1 50           0 8/1                   0,2,4,6 none
 2 75           1 7/1                   1 odd
 3 109.92       2 6/1                   3 even
 4 134.58       3 5/1                   5 mark 1
 5 150          4 8/2                   7 space 0
 6 300          5 7/2
 7 600          6 6/2
 8 1200         7 5/2
 9 1800
10 2400
11 3600
12 4800
13 7200
14 9600
15 19200

Auxiliary memory screen-hole values:

Port 1
$478 ($9E) -> $C09B     dddc bbbb       data, clock, baud
 ACIA control register
$479 ($0B) -> $C09A     pppx xxxx       parity
 ACIA command register
$47A ($40) -> $0779     elxx xxxc       echo, line feed, communications
$47B ($00) -> $057A                     line length

Port 2
As port one, except values
$47C ($16) -> $C0AB
$47D ($0B) -> $C0AA
$47E ($01) -> $077A
$47F ($00) -> $057A

Main memory screen holes:

Port 1          Port 2          Description
$479            $47A            Reserved
$4F9            $4FA            Reserved
$579            $57A            Line length
$5F9            $5FA            Temporary storage
$679            $67A            Bit 7 set while parsing command
$6F9            $6FA            Command control character ^I, ^A
$779            $77A            elxx xxxc echo, line feed, communications
$7F9            $7FA            Current column

Now then, this information on how to store the values is right from
my Laser 128 Technical Reference manual, so this message will need to await
confirmation.

To read/write  the main ram values just STA or poke to the address listed.
To read/write from the aux ram screen holes one should be able to :

STA $C001   On double
STA $C055   On DP2

To go back to main ram:
STA $C001   On double
STA $C054   off DP2

Obviously the on double call is not important for changing, but is
important overall.

So, just calculate the values, and plug those holes...

Additional infoormation and a sample program in July 1985, InCider
page 30.
--
Michael J Pender Jr  Box 1942 c/o W.P.I.        I wrote SHELL and Daemon,
greyelf@wpi.bitnet   100 Institute Rd.          send bug reports, suggestions,
greyelf@wpi.wpi.edu  Worcester, Ma 01609        checks to me.

*** Warning, I have not tried this, I do not have a IIc.