apple IIgs vs IIe an II+ [message #373418] |
Sat, 08 September 2018 23:11 |
|
Originally posted by: John Pham
on IIGS, does the card rom has to write to some address to register the slot?
I notice I can't seems to acess c800+ on IIGS, but on IIe and II+ I can do just fine
|
|
|
Re: apple IIgs vs IIe an II+ [message #373424 is a reply to message #373418] |
Sun, 09 September 2018 02:31 |
|
Originally posted by: Brian Patrie
On 2018-09-08 22:11, John Pham wrote:
> on IIGS, does the card rom has to write to some address to register the slot?
> I notice I can't seems to acess c800+ on IIGS, but on IIe and II+ I can do just fine
The C800..CFFF range is the Expansion ROM area, on all Apple IIs. There
is a convention, and a couple of associated slot signals, for allowing
any card to take control of it (one at a time). Beginning with the IIe,
the motherboard also can take control of it, for part of the machine's
firmware.
I'm not sure what you mean by not being to access it. I'm guessing that
you're trying to see a particular card's use of it. The IIgs might be
more aggressive about taking it over than the IIe, causing listings from
the System Monitor to always show the machine's firmware. Just a guess.
|
|
|
|
Re: apple IIgs vs IIe an II+ [message #373437 is a reply to message #373418] |
Sun, 09 September 2018 21:29 |
|
Originally posted by: James Davis
On Saturday, September 8, 2018 at 8:11:43 PM UTC-7, John Pham wrote:
> on IIGS, does the card rom has to write to some address to register the slot?
> I notice I can't seems to acess c800+ on IIGS, but on IIe and II+ I can do just fine
This has something to do with the Apple-IIGS extended memory page addressing, IIRC. You have to make sure you are on the right one, corresponding to the equivalent Apple-IIe 128k machine; $E0000000 page or $E1000000 page, or something like that; via soft-switches; I think (IIRC, based on things I have read here in comp.sys.apple2 & comp.sys.apple2.programmer).
|
|
|
Re: apple IIgs vs IIe an II+ [message #373441 is a reply to message #373429] |
Sun, 09 September 2018 22:46 |
dempson
Messages: 49 Registered: October 2012
Karma: 0
|
Member |
|
|
John Pham <john.pham@gmail.com> wrote:
> when I enter monitor and do c200l and c800l on iie/ii+ it would list the
> c800 rom listing jsut fine. But on IIGS, I do the same sequence and c800l
> just list a bunch of ??
That's because the IIgs doesn't really have firmware in bank $00 (or
$E0, for those reading along): there is a mirrored copy in bank $00 and
$01 which is normally mapped in there while running in emulation mode
(and the appropriate soft switches are set to select internal ROM for
that address range).
The actual firmware is at the top of the address space: banks $FE and
$FF for a ROM 00/01 IIgs (with the upper end of bank $FF being the bit
that gets mirrored down to addresses $C100-$FFFF in banks $00 and $01);
the ROM 3 IIgs also has firmware in banks $FC and $FD (which is mostly
toolbox code for native mode).
The monitor doesn't reflect the mirroring of internal firmware in banks
$00 and $01 - it shows language card RAM, slot or I/O space instead.
Some of the internal firmware is also visible in banks $E0 and $E1 (in
the $C100-$CFFF range) depending on the state of other soft switches,
but this part of the internal firmware is always visible in bank $FF.
To list the internal firmware that would be mapped into bank $00
addresses $C100-$CFFF you need to use something like this:
FF/C200L
C800L
After using the "FF/" prefix, the monitor remembers you are viewing bank
FF, so you don't need to keep typing it on subsequent commands (the
C800L above really means FF/C800L because of the preceding command). To
go back to bank zero you will need to use "0/" as a prefix on a
subsequent command.
--
David Empson
dempson@actrix.gen.nz
|
|
|