Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
05135 Misc. Minor Always Feb 3, 2013, 11:49 Feb 3, 2013, 12:27
Tester Bletch View Status Public Platform MESS (Official Binary)
Assigned To Bletch Resolution Fixed OS Windows Vista/7 (32-bit)
Status [?] Resolved Driver
Version 0.148 Fixed in Version Build Normal
Fixed in Git Commit Github Pull Request #
Summary MESS-specific 05135: coco, coco3: Certain IO registers are read only when they should really read floating bus values
Description I ran into this problem because when I was first writing my system setup code, I wasn't completely sure of all of the bit values to write in the GIME initialization register 0 ($FF90). I thought that I would be safe and read the value of the register, only set/reset the bits that I needed with and/or, and then store it back to the GIME. This works under MESS because reading $FF90 will return the last value that was written there. But on a real coco 3, this register (and many others) are read-only, so I started with a bogus base value and of course my final value written to this register was incorrect and caused the bad behavior.

So I wrote a simple BASIC program to print out the values of all of the GIME registers and ran it on the real coco3 and on MESS to show the difference. The basic differences are:

1. With the exception of the IRQ/FIRQ registers $FF92/3, it looks like all of $FF90-$FF9D are write-only on the coco and always read as $7E. Under MESS they all appear to read out the last value written to them.
2. For the MMU block registers $FFA0-$FFAF, the upper 2 bits are always cleared on MESS, but bit 6 is always set on my real coco. The official documentation says that the upper 2 bits are undefined.
3. The palette registers $FFB0-$FFBF read the same in both MESS and the real coco.
4. The 8-byte area $FFD8-$FFDF (which really just contains 4 write-only flags mapped to bytes) reads as all 0 under MESS, but $7E on my coco.
Steps To Reproduce
Additional Information
Github Commit
Flags
Regression Version
Affected Sets / Systems coco, coco3
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
0
There are no notes attached to this issue.