[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Memory Map for IIe (64K & 128K versions?)
David Empson writes ...
....
> >
> > KEYBOARD = $C000 ;keyboard data (latched) (RD-only)
>
> Bit 7 is set to indicate a keypress is waiting, with the ASCII code in
> bits 6-0.
And, Bit 7= 1 means only that "a character key-press has been recognized
by the KB (keyboard) since the last time Bit 7 was cleared to 0 via an
access to $C010". That is, Bit 7 of $C000 is a flag which only the KB
can set and only the System can clear. Also, the status of Bit 7 has no
effect upon Bits 0-6 of $C000.
>
> > CLR80COL = $C000 ;use 80-column memory mapping (WR-only)
> > SET80COL = $C001
....
>
> Note that all the $C000-$C00F mode switches are write-only.
>
Yes; that info should be included to avoid confusion.
> > STROBE = $C010 ;strobe (unlatch) keyboard data
>
> This can be read or written for the unlatch function.
>
> If read, it also provides an "any key down" flag in bit 7, with the
> keycode in the remaining bits. (These features only apply to the IIe
> and later machines.)
That's a nice feature. It's too bad it was not included in the II and
II+.
....
> > CLRC8ROM = $CFFF ;switch out slot C8 ROM
>
> Reading any location from $Cn00-$CnFF (where n is the slot) will enable
> the $C800-$CFFF area for that card, if the card supports this feature.
> Reading $CFFF disables this area for all cards.
>
> The $C800 space is a further 2K area normally used for firmware
> expansion by cards that can't fit their code in 256 bytes (most of
> them). Some cards have RAM and/or I/O in this area, and some use
> internal bank switching to get even more space.
>
Yes; we did this with our II+ Monitor expansion placed on a card in Slot
7. It gave us 4kB of space to add bunches of neat features.
....
> > $8000 --- (Approximately)--- This is the typical 'safe' upper limit
> > for the BASIC program area (i.e. for Program + variables) when
> > DOS or ProDOS are also present. DOS 3.3 usually allows going a
> > bit higher.
>
> The upper limit is actually $9600 for both operating systems, unless you
> need to open files under ProDOS. ProDOS automatically manages the HIMEM
> limit as required (moving variables out of the way), so the usable upper
> limit will vary depending on your file access requirements.
>
> With DOS 3.3 you have to explicitly set the maximum number of open
> files, and memory availability is adjusted accordingly.
DOS 3.3 MAXFILES does have a built-in default, though-- 3 files.
....
Thanks for the corrections and additional info!
Rubywand