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

Re: IIgs question.



Dennis Jenkins <dennis@usb.com> wrote:

>       Is there a FAQ about the IIgs that can answer all of my questions
> listed below?

Yes, me.  :-)

>       I finally got an ADB cable so I can use me IIgs and Mac-LC II.

This comment suggests that you might be trying to plug both computers
into the same Apple Desktop Bus at the same time.  If so, don't!

> After paying attention (it helps sometimes) to the IIgs, I have learned
> that it is indeed a ROM01 in a 'woz' case.  Yippie for me?

Yes, that is good news.  It means you will be able to run the latest
IIgs System Software (6.0.1), given enough RAM.

> Anyway, I was playing around in the control panel and noticed that I can
> toggle slot #7 from 'user card' to 'appletalk', but only if I turn off the
> modem and/or the printer.  I've never had a IIgs before, and I have no
> books on one, so I didn't know exactly what this could do for me (I'm a unix
> guy, but I've heard of Appletalk.  It is just a network implementation
> that runs on top of IEEE 802.3, right?)

Not exactly.  AppleTalk is a protocol stack similar in principle to
TCP/IP or Netware, i.e. a suite of related protocols.

AppleTalk was originally implemented on the Mac 512 (and 128?) and early
Apple Laser printers, using serial ports running in bit-synchronous
(SDLC) mode at 230400 bps.  You can connect up to 31 devices together
using a drop box that plugs into the serial port of each device.  A
cable is then run from one drop box to the next one, forming a daisy
chain.  The network is half duplex, and transfers data about the same
speed as a floppy drive.

Some time after its original implementation, Apple introduced additional
hardware capabilities for AppleTalk, including Ethernet support.  At
this point, they coined the name "LocalTalk" for the original
implementation via the serial port, and use "EtherTalk" and "TokenTalk"
when referring to AppleTalk over Ethernet or Token Ring.

There are various bridging and routing options for connecting the
different types of networks together, forming what is confusingly called
an "AppleTalk internet".

Using current terminology, "AppleTalk" means the protocol stack, and
"LocalTalk" refers to AppleTalk running over serial ports, and to
Apple's physical cabling system.  There is also a third-party cabling
system based on telephone cable, usually called "PhoneNet"; it doesn't
require any special software, and as far as each device is concerned it
is running over standard LocalTalk cabling.

In most cases, you can connect two LocalTalk devices directly to each
other using a normal (Mac) serial cable.  You only require the drop
boxes and special cabling if you want to connect at least three devices.

The IIgs has built-in support for AppleTalk running over LocalTalk (or
PhoneNet) cabling.  The ROM contains enough code to allow the machine to
boot over the network from a Mac running AppleShare 2.0 or 3.0 with
Apple II boot support (this feature was removed in later versions of the
AppleShare server, and is not provided by the Mac's built-in File
Sharing).

GS/OS also has support for logging on to an AppleShare (or File Sharing,
or compatible) file server, and can access ImageWriter II, ImageWriter
LQ and LaserWriter printers over an AppleTalk network.  The file sharing
client support requires that the server can deliver AppleShare over the
AppleTalk protocol stack.  Apple introduced suport for AppleShare over
TCP/IP a few years ago, but this is not supported by the IIgs.

If you have booted GS/OS with the appropriate AppleTalk support code,
then you can also access file servers and network printers under
ProDOS-8.  If you boot ProDOS-8 directly, you cannot access network file
servers, but there is some software which provides network printer
support.

There is no support for using the IIgs as a server for File Sharing,
only a client.


As far as the slot settings are concerned:

On the ROM 00 or 01 IIgs, you must set slot 7 to "AppleTalk" instead of
"Your Card".  In addition, you must set either slot 1 or 2 to "Your
Card" instead of "Printer Port" or "Modem Port".

The LocalTalk network must be plugged into the port corresponding to
whichever of slots 1 or 2 are set to "Your Card".  (If both are set to
"Your Card" and slot 7 is set to "AppleTalk", then the printer port is
used for AppleTalk.)

On the ROM 3 IIgs, you can set slot 1 or 2 to "AppleTalk" directly, and
can use slot 7 for your own card.

> My linux box can do  Appletalk.

netatalk or an equivalent, I assume?  There are a couple of problems
getting the IIgs to talk to this:

- Physically, you need a LocalTalk card in the PC, or an AppleTalk
bridge/router between Ethernet and LocalTalk.

- I think some patches are required to allow netatalk to support an
Apple II client (possibly issues with the authentication method
supported for logging on to the server?)

> What OS on the IIgs do I need to accomplish this?

The best option is to run System 6.0.1 from a hard drive on the IIgs,
with the appropriate AppleTalk support code installed.  You can do it
from a floppy, but only by removing parts of the normal system software,
including the Finder.  This makes it rather difficult to use.  Booting
from a Mac running the AppleShare server is another option (albeit a
slow one).

> My IIgs has 2 5.25" floppy drives (ie, the drives that I swap back and forth
> between the IIgs and IIe).

Oh dear.  You will need a 3.5" drive (preferably an Apple 3.5 Drive) to
be able to run GS/OS.  You cannot boot GS/OS from a 5.25" drive.

Better still, get a hard drive (and appropriate controller card) as
well, since that makes the IIgs much more usable.

In addition, you will need a reasonable memory expansion card if you
don't have one.  If you aren't sure what you have right now, go into the
Control Panel and have a look at the "Largest Selectable" value for the
RAM disk.  This will tell you how much RAM is installed in your memory
expansion slot.

(For anyone else who has a ROM 3, the calculation isn't quite this
simple: subtract 896 KB to allow for the extra RAM on the motherboard.)

To be able to use GS/OS, you need a minimum of 1 MB of available RAM,
i.e. a 1 MB memory expansion card in a ROM 1 IIgs.  If you want to use
AppleTalk networking, you are likely to need a little more than this.

In any case, the best option would be a 4 MB or larger memory expansion
card, since this gives you a lot more flexibility.

>       Also, what is the 'smart-port' device on slot #5?  I have heard people
> on this group talk about it, but they already know what it is, so they
> don't bother to elaborate on it.  What can I do with this device?

"SmartPort" refers to four different things:

1. The disk port on the back of the machine, when it is being used to
communicate with 3.5" drives.

2. The slot 5 firmware in the IIgs, which controls the disk port for
3.5" drives and also provides support for the RAM disk and ROM disk.

3. The API used by this firmware and by other I/O cards (such as Apple's
SCSI cards and some standard slot memory expansion cards), which allows
up to 127 logical devices to be accessed, and provides support for large
block devices and for character devices, with the ability to identify
the types of devices connected.

4. The protocol used to communicate between an Apple II and intelligent
devices like the UniDisk 3.5 (via the disk port).


If you set slot 5 to "Smart Port", you are enabling the internal
firmware (item 2), allowing you to connect 3.5" drives to the disk port,
and use the internal RAM disk.

Slot 6 also has a "Disk Port" setting.  This enables the internal
firmware which provides support for 5.25" drives connect to the disk
port.

(If you are connecting both 5.25" and 3.5" drives to the disk port, you
must connect the 3.5" drives first, then the 5.25" drives daisy chained
to them.)

>       What does 'enable alternate video output' do.  I toggle it back and
> forth and notice nothing.  My IIgs is connected to my Apple Color
> Composite Monitor via a RCA cable.

I'm not aware of anything with this name.  Perhaps you mean "Alternate
Display Mode", which is a separate item in the Desk Accessory menu?

Alternate Display Mode lets you enable or disable support for a rarely
used video display mode on the Apple II: text page 2.

This gets a little technical, so bear with me.

The IIgs is a hybrid machine, sort of like a cross between an 8-bit
Apple II and a 16-bit computer.

There are several aspects of the 8-bit side of the machine that are
implemented by a chip called the "Mega II", which is effectively an
Apple IIe/IIc on a chip (minus CPU and memory).  The 16-bit side of the
machine is mostly implemented by a chip called the FPI ("Fast Processor
Interface"), which is replaced by a chip called the CYA (speculated to
mean "Control Your Apple") on the ROM 3 IIgs.

The most noticeable aspect of the 8-bit and 16-bit split is the way the
memory is organised.  RAM in the IIgs is divided into two areas:

- "Fast" memory starts at bank $00 and can go as far as bank $7F.  This
memory is controlled by the FPI.  On a ROM 00 or 01 IIgs, banks $00 and
$01 are on the motherboard, and the rest can be provided by the memory
expansion slot.  ROM 3 has banks $00 to $0F on the motherboard.

- "Slow" memory occupies banks $E0 and $E1.  This memory is controlled
by the Mega II.

"Fast" memory is able to run at the full speed of the IIgs, i.e. 2.8
MHz, except that the FPI must perform refresh cycles.  This slows down
the average speed to about 2.6 MHz.  In addition, if you have set the
system speed to "Normal" in the control panel (or software does this),
then "Fast" memory will be accessed at the normal speed of an Apple II,
about 1.027 MHz (with no overhead for refreshing).

"Slow" memory always runs at the original Apple II speed, about 1.027
MHz.  If the Control Panel is set to "Fast" speed, then the FPI has to
synchronize with the Mega II to allow the CPU to access the slow memory
areas.

There is also ROM, which lives in banks $FE and $FF for ROM 00/01 ($FC
to $FF for ROM 3).  This is able to run at "fast" speed, and doesn't
suffer from refreshing overhead.


The "slow" memory banks look just like a 128 KB Apple IIe: RAM from
$0000 to $BFFF, I/O space in $C000-$CFFF, and languge-card style RAM in
$D000-$FFFF, with main and auxiliary memory mirroring the RAM.

The video buffers are all in "slow" memory: $0400-$07FF is text or
lo-res graphics page 1, $0800-$0BFF is text or lo-res graphics page 2,
$2000-$3FFF is hi-res graphics page 1 and $4000-$5FFF is hi-res graphics
page 2.  Bank $E0 is main memory, which contains the 40-column video
buffers, and bank $E1 is auxiliary memory, which contains the second
half (alternating columns) of the 80-column video buffers.

In addition, the IIgs has a new graphics mode called Super hi-res.  This
is implemented by the VGC (Video Graphics Controller), and it uses the
memory area $2000-$9FFF in bank $E1 as its video buffer.  It only has a
single display page.


The "fast" memory banks are a much cleaner arrangement.  In their native
state, they are pure RAM from $0000 to $FFFF.  There are no bank
switching tricks to worry about, and the IIgs is able to treat its
"fast" memory area as a single linear address range, except for some
details of the processor that impose a 64 KB bank structure on it.

This would all be fine if the IIgs only ever ran a native operating
system, but in order to maintain compatibility with 8-bit software, it
must emulate an 8-bit Apple II to some extent.

To allow this, the IIgs has soft switches which change the layout of
banks $00 and $01 to mimic an 8-bit Apple II, i.e. $0000-$BFFF are RAM,
$C000-$CFFF are I/O and $D000-$FFFF are language card RAM or ROM, with
bank $00 being main memory and bank $01 being auxiliary memory.

This is how the IIgs normally runs - very little software ever turns off
these features to make bank $00 and $01 look like 64 KB of RAM.

Note that banks $02 through $7F are not affected - they are always
viewed as 64 KB of RAM per bank.


Now we run into the problem with the video buffers.  They are physically
located in banks $E0 and $E1, but software expects to find them in the
nominal main and auxiliary memory banks $00 and $01.  To support this,
the IIgs provides "shadowing" features, which can be enabled separately
for most of the video buffers.

When shadowing is enabled, a write to the appropriate memory area in
bank $00 or $01 will cause a simultaneous write to the actual video
buffer in bank $E0 or $E1 (and it is forced to run at "slow" speed).  A
read from the memory area in bank $00 or $01 is not affected by
shadowing (so it can run at "fast" speed).

Shadowing is almost always enabled for the text screen, and is usually
enabled for the hi-res graphics screens when running 8-bit software.
When running native IIgs software, shadowing is usually enabled for the
super hi-res graphics screen, but not for the normal hi-res and double
hi-res graphics screens.


So, what exactly is the story with Alternate Display Mode?

Text page 2 was so rarely used by software that Apple decided not to
include hardware support for shadowing of this memory area in the
original IIgs (ROM 00 and 01).  To allow for the few cases where it was
needed, they provided the Alternate Display Mode classic desk accessory,
which can be used to turn on or off a software emulation of shadowing.

If Alternate Display Mode is enabled, the IIgs has a timer interrupt
running which copies the contents of memory locations $0800-$0BFF from
bank $00 to bank $E0 several times a second.

This causes a noticeable performance hit, so you should never turn it on
unless you are running software that needs text page 2.

You can usually tell that you need to turn on Alternate Display Mode if
you see a text screeen filled with "2" characters (this is the default
contents of the real text page 2 in bank $E0 when the machine starts
up).


With the ROM 3 IIgs, Apple implemented hardware support for shadowing of
text page 2.  The ROM 3 still has an Alternate Display Mode desk
accessory, but all it does is enable or disable the hardware shadowing
feature.

Since the $0800-$0BFF area is frequently used for purposes other than a
text display, it is still a good idea to leave Alternate Display Mode
off unless you need it for a particular program, because the shadowed
copying of memory writes in this area would cause a slight performance
degredation.