[Coco] Re: 64K Mode
jdaggett at gate.net
jdaggett at gate.net
Tue Jan 13 20:39:26 EST 2004
Brad
The Sam Chip in the Sam Chip of the CoCo 1/2 hasa two memeory map types
Type 0 is ram from $0000 to $7FFF and Rom from $8000 to $FDFF and from
$FFF2 to $FFFF. $FF00 to $FFDF is I/O and $FFE0 to $FFF1 unused.
Type 1 is all ram $0000 to $FDFF. $FF00 to $FFDF is I/O and $FFE0 to $FFF1
unused. $FFF2 to $FFFF is ROM and vector location.
In memeory map 0 the page register bit is contrroled by writing to adress $FFD4
and $FFD5. Writing to the even address clears the page bit and writng to the odd
address sets the page bit.
The page bit allows two 32K pages of RAM mapped from $0000 to $7FFF in both
cases. The page bit is not active in memory Map Type 1.
In the Coco3 this mapping option is not compatible to the old SAM chip. I am not
really sure what the GIME chip will do by changing maps on the fly.
james
On 13 Jan 2004 at 19:10, Brad Grier wrote:
To: coco at maltedmedia.com
From: Brad Grier <bradgrier at cox.net>
Date sent: Tue, 13 Jan 2004 19:10:13 -0600
Subject: [Coco] Re: 64K Mode
Send reply to: CoCoList for Color Computer Enthusiasts
<coco at maltedmedia.com>
<mailto:coco-
request at maltedmedia.com?subject=unsubscribe>
<mailto:coco-
request at maltedmedia.com?subject=subscribe>
> jdaggett at gate.net wrote:
> > Brad
> >
> > In the SAM chip if you switch from memory map type 1 to type 0, by a
> > write to $FFDE. you will now map the roms into memeory map. What
> > info you have in the upper 32K can only be accessed in map type 0 by
> > setting the page # byte, $FFD4 to clear the page register and $FFD5
> > to set the page register.. That will switch the 64K ram in two 32K
> > pages. You code should be position independant. When in map type 1,
> > all ram the page byte does nothing and the roms are not mapped.
> >
> > If you want to switch pages of graphics then you need to have you
> > code running in rom at $C000 and use the lower 32K for grahics
> > storage and program storage. You will have to switch the lower 32K
> > bytes of ram in two pages. You now effectively have 96K machine.
> >
> > james
>
> Hi James,
>
> I'm confused by this. Are you saying the P1 register at 0xffd4 and
> 0xffd5 allows two banks of lower 32k ram? None of the 64k programs I
> have write to this register. Are there any programs that do this?
>
> According to my color computer reference manual, "Register P1 controls
> a feature which is not used in the Color Computer. Therefore it should
> be cleared at all times." Is that pre-64k?
>
> By the way, thanks to everybody for all the input. I was able to get
> Mocha to handle graphics beyond 0x8000 in 64k mode (Gold Runner and
> CyberTank) with your help.
>
> Brad
>
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco
More information about the Coco
mailing list