[Coco] ML Question: MMU Block Switching
Robert Gault
robert.gault at att.net
Tue Feb 17 09:47:27 EST 2015
William Mikrut wrote:
> Ahhh.... FF9D and FF9E.
>
> I can find plenty of documentation that specifies what this offset should
> be for video ram.
> When I read several articles on these registers, I find that this is
> MSB/LSB format.
>
> The reason I was swapping in page #36 was to be able to access the Hires
> mem locations $6C000-$6DFFF through $2000-3FFF.
>
> Is there a way to set these registers to it allows me to access that Hiram
> location directly from local addressing (meaning within the 64K Address
> space) without the need to swap blocks?
>
> I can see setting $FF9D/$FF9E with $C0/$00 -- but how would it know it was
> in the $60000 range?
>
>
William,
Taking the above verbatim, it looks like you don't know the math for
$FF9D-$FF9E. These registers tell the Coco3 in Coco3 mode where to point video
memory. That memory being VMem/8=16-bit value in $FF9D-$FF9E. The MMU block
numbers are VMem/$2000.
Video Memory 16-bit $FF9D
$6C000 $D800 MMU block $FFA1 normal value $36 default
$72000 $E400 MMU block $FFA1 normal value $39
$74000 $E800 " $3A
etc.
This is similar to the video addressing in Coco 1or2 mode controlled by
$FFC8-$FFD3 where the VMem/$200=BIT value, even=OFF odd=ON
Video Memory bit value
$2000 %10000 ie poke $FFD2, $FFD0, $FFCF, $FFCC, $FFCA, $FFC8, $FFC6
0 0 1 0 0 0 0
$FE00 %1111111 1 1 1 1 1 1 1
Robert
More information about the Coco
mailing list