[Coco] GIME behavior

Mark Marlette mmarlette at frontiernet.net
Wed Apr 13 17:53:12 EDT 2011


Darren,

This behavior is correct.

Remap your status register to your IO space.

As far as RAM/ROM, depending on the size of each, your can assign these blocks internal to your CPLD.

Using Altera and Quartus? MaxII series is quite verse.

Regards,

Mark


----- Original Message -----
From: "Darren A" <mechacoco at gmail.com>
To: "CoCoList for Color Computer Enthusiasts" <coco at maltedmedia.com>
Sent: Wednesday, April 13, 2011 4:42:43 PM
Subject: Re: [Coco] GIME behavior

On 4/13/11, Mark Marlette wrote:
> Darren,
>
> As you are finding out all CoCos are not created equally.
> Can you talk about your project a bit more? If not I understand.
> I have some guesses as to why one would be tracking $ff90. :)
>
> Regards,
> Mark
> Cloud-9
>

---

The project is a cartridge which containins a CPLD and some memory
(RAM and ROM).

The cartridge can interrupt software via NMI and execute "supervisor"
code located in the external RAM/ROM. On a CoCo 3, the MMU must be
disabled when the supervisor code executes to gaurantee that the
$8000-FEFF address range can be mapped to the external memory.  Of
course it also needs to be restored to its previous state before
returning control back to the "user" code. This is why I need to track
the state of $FF90.

The tests I've done seem to suggest that the GIME enables its data
outputs whenever the CPU reads from $FF80-FFDF, even though it only
produces meaningful data for a small subset of that range.  I will
need to allocate some other address to use for reading back the
tracked state.

Darren

--
Coco mailing list
Coco at maltedmedia.com
http://five.pairlist.net/mailman/listinfo/coco



More information about the Coco mailing list