[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Apple II VGA video card and the IIgs
"Jorge Chamorro Bieling" <bieling@terra.es> wrote in message
1hbn9qu.174z4ykfxigtoN%bieling@terra.es">news:1hbn9qu.174z4ykfxigtoN%bieling@terra.es...
> Then you have to set some softwitch to enable bank $xx before writing to
> the pixel map ?
>
> Does the IIgs use the same mechanism as the IIe to access the memory in
> banks beyond the first 64k "bank 0"?
If you are running in 8-bit mode I believe the IIgs lets you access the aux
memory bank in the same way as the IIe though I'm not 100% sure. When you
are in the 16-bit mode the 65816 processor has registers that set the bank
for program execution and data (you can have the program running in one bank
and the data in another).
> Or, given that it has a 24 bit address space there are not "64 banks" to
> shuffle in and out but a contiguous memory map instead and no
> softswitches to set ?
There are multiple 64K banks (depending on how much RAM you have) but the
program bank register (and data bank register) acts like the most
significant byte of the 24 bit address when writing 16-bit code. It is
trivial to have your program read/write data anywhere in memory. A program
can easily jump to code in another bank. I seem to remember that you can't
have your program cross a bank boundary, though.
In other words when programming it seems almost like contiguous memory.
> Another way of making the same question is: The IIgs specific video
> modes are accesible while the IIgs is in Apple II compatible mode of
> operation (if such a mode exists, I think it does) ?
Yes, you can use Super Hires modes (320x200 and 640x200) by writing to them
as you would on a IIe and you can turn on the SHR graphics with a softswitch
at $C029. If bit 7=1 then SHR is on. The pixel data is linear and
therefore much easier to handle than the older graphics modes.
> And if the memory map is not fragmented in banks, is there any chance
> for a card sitting in a slot to guess somehow about the missing a17..a23
> address lines ?
Well as mentioned above, the memory map is technically fragmented into 64K
banks but I don't know enough about the slots to know whether there is any
way for them to detect which bank is being used other than as mentioned by
David Wilson the /M2SEL signal which indicates that bank $E0 or $E1
addresses are on the address bus. Remember that banks $00 and $01 are
"shadowed" onto $E0 and $E1 which run at 1MHz.
Charlie