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

Re: IIGS 115,200 Baud Serial Port - How?



OK, here's a little update on my attempts to patch ProTERM 3.1 to use the
IIGS's built in serial ports (Zilog SCC 8530 chip) at 115,200 baud.

After instructing the SCC _not_ to use the Baud Rate Generator (WR11) and
setting the clock factor to 32X (WR4), I attempted to make connection with
an OS X G3 PowerMac with built-in serial ports via a Unix getty.

The IIGS has a 9/32 Zip in it, FWIW.

BTW, this connection works flawlessly with an unpatched ProTERM 3.1 at
57,600 baud. Standard parameters are 8N1 (8 data bits, no parity, and 1 stop
bit).

I was _not_ able to connect after patching ProTERM. Frustrated, I decided to
switch ProTERM into 7O1 mode (7 data bits, odd parity, 1 stop bit) while
keeping the PowerMac at 8N1.

Strangely, the connection sprang to life, with all data transmitted _to_ the
IIGS coming through fine.

Unfortunately, with ProTERM obeying 7O1, any character transmitted _from_
the IIGS which had an even number of '1' bits had the parity bit set (e.g.
the lowercase letter 'l' [01101100] ), so these characters were not
transmitted as they should have been. Conversely, letters such as the
lowercase 'm' [01101101] went through just fine.

I am at a loss as to why I introduced a parity/framing error when none of
the SCC parameters dealing with these issues were patched.

So, I suppose I've got some additional work ahead. I'll do some more
disassembly and see what ProTERM is doing with WR3 and WR5.

For you energetic types (or those simply lonely or bored during the
holidays), the file in ProTERM 3.1 is 'PT3.CODE0', and the relevant portions
start around block 19. Just do a disassembly, and when you see references to
$C038 (modem port) and $ $C039 (printer port), you're there.

Finally, thanks to David Wilson pointing out my math error (my exponential
notation skills were way off that day), I recalculated the time constants
for a _1X_ clock factor (please disregard my previous post showing my
calculated time constants -- way off) , patched those in, re-enabled the
Baud Rate Generator, set the clock factor to 1X, and tried again.

Again, I was not able to connect, although by setting ProTERM to _7E1_, I
made connection, but it had plenty of errors in it. Not pretty.

Oh well. Thanks to the guys who helped me out on this. Monday I go back to
earning a living and will probably be scarce again for another 50 weeks.

Hugh Hood...