[Coco] Strange results reading the palette registers on Coco3

Robert Gault robert.gault at att.net
Mon Dec 5 16:54:48 EST 2011


Art, that's a very interesting explanation but testing indicates additional 
results with different code. One critical section of code, is that which runs 
during LOADM. I've a CER-COMP program which sets the palette registers during 
the LOADM process and part of the Disk ROM checks to see if the process was 
successful.

Disk 1.1
$D004	sta	,x
	cmpa	,x+
	beq	$D00D
	jmp	I/O error on bad store

When regX=$FFBn, the result becomes contentX&$3F. That is bits 6&7 are ignored 
and effective values range from 0-$3F.
This is somewhat different from the result quoted in your message.

Anyway, the main point is that recent changes to the MESS source code had an 
effect on how the palette registers were read. Programs like my CER-COMP program 
stopped loading with an I/O error because the comparison above failed.

Looks like there is no practical way to fully emulate the Coco3 hardware in 
emulators regards un-mapped bits or bytes.



More information about the Coco mailing list