[Coco] GIME Question

Robert Gault robert.gault at worldnet.att.net
Sun Jun 10 23:53:06 EDT 2007


Darren A. wrote:
> The SAM in the CoCo 1/2 maps addresses $FFF0 - $FFFF (interrupt/reset 
> vectors) to $BFF0 - $BFFF (End of Color Basic ROM). Does the GIME not 
> mimic this behavior? On a CoCo 3, PEEKing at &HFFF0 returns a different 
> value than a PEEK at &HBFF0.
> 
> I wanted to burn an EPROM with a new address for the 6309 illegal 
> instruction vector, but my initial tests under MESS didn't work when I 
> only changed the address at $BFF0.
> 
> Does anyone know of a simpler way to change the COCO 3 ROM without 
> having to completely desolder the original? I'm kind of afraid to 
> undertake such a project. The CoCo 1's socketed boards are so much 
> easier to tinker with.
> 
> Darren
> 
> _________________________________________________________________

The data at $BFF0 is not mapped to $FFF0 with a Coco3. If you want to 
install a 6309 trap vector, you would need to store an address at $FFF0 
yourself but that may not be possible. So the obvious alternative is to 
use as the address the word value already at $FFF0. On my system that is 
$0000.

The address $0000 is used by Basic so it can't be used as part of a 6309 
error trap. However, any ml program you write can place code there to 
vector to the location of your actual trap code. Basic will restore 
itself when you exit your code.

One of my programs installs a 6309 trap, as follows:
	org	$0
	jmp	trap

The actual code for the trap routine resides at address 'trap'.



More information about the Coco mailing list