[Coco] CoCo Questions

Phill Harvey-Smith afra at aurigae.demon.co.uk
Sun Oct 29 06:21:53 EST 2006


Robert Gault wrote:

> Phill Harvey-Smith wrote:

>> <snip>

>>

>> Well You could have a small copying routine in ram that would

>> disable interrupts, and then switch to map type 1 whilst copying,

>> as then the other 32K would appear in the 32K-64K region, and could

>> therefore be accessed at the same time, I would not have thought

>> that this would have been too hard to arrange.

>>

>

> That won't work if you are using page swapping because the only RAM

> available is the lower 32K and your ml program will get swapped out

> along with any data it stored.


Humm, that's not how I read the SAM data sheet, the way I read it in map
type 0 the page switch register controls which block of 32K will appear
in the 0-32K region, so setting it to 0 maps in the bottom 32K, setting
it to 1 maps in the top. However in map type 1, this is disabled and we
have a linear 64K. So to swap data between pages you would need a small
ml program in each page to actually do the page flipping, but once in
map type 1 you would have access to both pages, though your second page
would of course be at 32K-64K, so your code would have to be position
independent....but I never said it would be trivial :)


> In my opinion, programs of this type only became practical on the

> Coco3 where the swapping routines could be in constant DRAM and there

> was 512K RAM to play with.


Yes having paged RAM cirtainly would make things easier :)

Phill.

--
Phill Harvey-Smith, Programmer, Hardware hacker, and general eccentric !

"You can twist perceptions, but reality won't budge" -- Rush.



More information about the Coco mailing list