[Coco] CoCo 3 RAM mapping question.

Walter Zambotti zambotti at iinet.net.au
Sun Apr 26 10:15:33 EDT 2020


So the memory map is type RomMap

32K RAM 0000-7FFF

16K Internal ROM 8000-BFFF

16K External (ROM C000-DFFF RAM E000-FFFF)

You are iterating each 8K ram page into slot 3 of the MMU at 4000-5FFF.

And you get the page you request until page 3C where you end up getting
the ECB ROM.

That doesn't seem to make sense.

Are you writing the required page to both MMU register banks or at least
ensuring the task no is not changing?

Or could the ECB ROM already have been copied to ram page 3C by that stage?

Walter

On 2020-04-26 21:09, Phill Harvey-Smith wrote:
> Hi All,
>
> I'm currently working on getting the Dragon and CoCo Diag cart working
> with the CoCo3.
>
> This has mainly consisted of making sure the appropreate GIME
> registers are programmed correctly at startup. Note this cart pulls
> SLENB / DSD so that it's ROM can take over straight away at reset
> time, so that the tests can still be run if for example the internal
> ROM is dead / corrupt.
>
> I'm currently working on the RAM test, to do this I am sequentially
> paging in the 8K block under test at $4000-$5FFF, first checking for
> mirrors so that I start at block $30 on a 128K machine, block $00 on a
> 512K. This seems to work without problems until I page in block $3C,
> at which point the test fails! Tracing in MAME it seems that this has
> paged in the ECB ROM,  not what I want or expected, I had assumed that
> the DAT registers only applied to the RAM?
>
> The tests are currently operating in 32K RAM, 16K internal rom, 16K
> external ROM (though the external is actually 8K ROM, 8K RAM but my
> card handles that). The Init1 register contans $C4, so CoCo 1/2
> compatible mode, MMU enabled and standard SCS.
>
> Anyone know how to resolve this?
>
> Cheers.
>
> Phill.
>



More information about the Coco mailing list