[Coco] Re: 64K Mode

Roger Taylor rtaylor at bayou.com
Wed Jan 14 16:03:30 EST 2004


At 12:57 PM 1/14/2004 -0500, you wrote:
><?xml version="1.0" ?>
>John
>That is what I have been saying. This is for the SAM CHIP ONLY COCO 1 and 
>2 Only
>In Memeory Map type 0 (ZERO)
>Ram is in the lower 32K and ROM and vectors in the upper 32K.
>With 64K of ram on board,  the Ram is configured as two (2) banks of 32K 
>mapped in the lower 32K of the memory map. The "P" register controls which 
>page is mapped in.
>In Memeory Map Type 1 (ONE)
>Ram is configured from address $0000 to $FEFF. The upper 256 bytes are not 
>accessable as they are I/O and vector sapce.


All CoCo models can POKE 65503,0 to disable the ROMs, leaving 64K of 
CPU-addressable RAM.


> > OK, Everyone lets get this correct.  Here are the details:
> > > The page number bit, P1 is cleared by BASIC when the computer
> > is turned on.  The effect of P1 set can only be used by a 64K CoCo. A
> > 64K RAM is considered as two 32K pages.  When the page number bit is
> > clear page 0 is the first 32K and page 1 is the upper 32K.  With TY
> > clear (ROM/RAM mode) and the page number bit clear the first 32K RAM
> > occupies addresses $0000 through $7FFF and ROM extends upward from
> > there.  Setting the page number bit results in the upper 32K of RAM,
> > which was not accessible with TY clear, being accessed by addresses
> > $0000 through $7FFF.  This allows you to have two BASIC programs in
> > RAM at the same time. One in Page 0 and the other in page 1.


It's not that easy, though.  You have to deal with masking interrupts and 
other factors if you're going to switch between two copies of a BASIC 
environment.  Both 32K banks have to be initialized in the same way that 
BASIC does when you startup.  Then, you can switch between the two, and 
each would take on their own alterations from the startup stage since you 
have created two unrelated BASIC environments.


----------
Roger Taylor






More information about the Coco mailing list