[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