Subject: Re: IIGS slot addresses From: dempson@actrix.gen.nz (David Empson) Date: Fri, Aug 07, 1998 11«26(H EDT Message-id: <1ddf9dy.1cd3l0te4mhrsN@dempson.actrix.gen.nz> Steve Mentzer wrote: > >Does anyone know the slot addresses of the IIGS? e.g slot one is 49408. I > >especially need the addresses of slots 5, 6, & 7. I need to move a stepper > >motor card from 1 to 5, 6, or 7. BEagle Bros. used to have a tips sheet > >that had the addresses, but I lost mine. Thanks for any help.Bob > > I might be totally wrong, but I dont think the slot 1 rom mapped to $BFDF > (49408). I don't think 49408 is equal to $BFDF. My calculator says $C100, which is correct. ;-) > I always thought that the slots were mapped into $Cx00 where x = slot > number. Therefore, $C600 is the equivalent of typing PR#6 from the command > prompt. Well, C600G in the monitor is approximately equivalent to typing PR#6, depending on the card in the slot (usually a disk controller, which produces this effect). Here is a complete list of the base hex, decimal and negative decimal addresses of the main slot memory areas: Slot ROM (IOSEL) I/O (DEVSEL) 0 n/a $C080 49280 -16256 1 $C100 49408 -16128 $C090 49296 -16240 2 $C200 49664 -15872 $C0A0 49312 -16224 3 $C300 49920 -15616 $C0B0 49328 -16208 4 $C400 50176 -15360 $C0C0 49344 -16192 5 $C500 50432 -15104 $C0D0 49360 -16176 6 $C600 50688 -14848 $C0E0 49376 -16160 7 $C700 50944 -14592 $C0F0 49392 -16144 Each slot (except 0) has 256 bytes available for firmware, in the $Cn00-$CnFF area. Each slot (including 0) has a further 16 bytes for I/O registers, in the $C0x8-$C0xF area, where 'x' is the slot number plus 8. In the IIe and later machines, slot 0 is not physically available, but the same memory area refers to the "bank-switched memory", which behaves like a language card installed in slot 0 of an Apple ][ or ][+. The IIe also reuses the $C100-$C7FF area for internal firmware. This is mapped in and out as required, and doesn't generally interfere with slot access. In the IIc, there are no physical slots, but built-in peripherals use the appropriate memory areas to appear as if they are cards in slots. In the IIgs, there are both internal peripherals and real slots . The Control Panel is used to select whether the appropriate internal peripheral or corresponding real slot is enabled. In a few cases, the real slot I/O area is available even if the slot is set to use the internal peripheral, but the main ROM area follows the Control Panel setting (after a reboot). The traditional ROM area ($Cn00-$CnFF) may be used for I/O locations or other purposes on some cards. In addition, some cards change the the firmware that appears here (e.g. at least one version of the Epson APL causes the code to change according to the BUSY status from the printer; Apple's final parallel card has two different firmware sets that are switch selectable). There is also the $C800-$CFFF area, which is shared between all cards. It is used for additional ROM space in most cases. Some cards have multiple ROM banks in this area, and may have additional I/O and/or RAM as well. It is not practical to access this area from BASIC. -- David Empson dempson@actrix.gen.nz Snail mail: P.O. Box 27-103, Wellington, New Zealand