[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