You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
MEGA65 has the "HWERRATA" (hardware errata) register which tries to provide bug-to-bug compatibility for older software when something in mega65-core is changed meanwhile which found problematic for older software. As far as I can tell, currently there is three different hardware errata levels (every next level also carries the fixes from the previous levels!):
Level
Meaning
Xemu status
0
Most compatible with C65 and with older mega65-core versions, no fixes
OK
1
$D016 bug in H640mode is fixed at this level, ie already on C65 value of "2" meant zero, now zero is zero VHDL designation: bug_compat_vic_iii_d016_delta
HWERRATA register is at $D08F. Writing any value greater than the max supported will cause the max supported value is used. The used value can be read back in the same register. However there is also an older way for this errata story, VIC-IV register $D07A.5, a single bit, though this is a deprecated feature. When it is changed, the "real" HWERRATA register is set to the max supported value (bit is set) or zero (bit is cleared). It seems there is no feedback from $D08F to this bit though, only setting that, won't effect this bit when read back.
The text was updated successfully, but these errors were encountered:
* Basic HWERRATA and VIC BUGCOMPAT bit support
* Rudimentary X scroll register offset fix support from level 1 and up
* But NO support yet for char attribute fix at level 2
sync with next:
dae4fa2
Author: LGB (Gabor Lenart) <[email protected]>
Date: Fri Sep 20 23:19:17 2024 +0200
MEGA65: hwerrata register initial support #414
* Basic HWERRATA and VIC BUGCOMPAT bit support
* Rudimentary X scroll register offset fix support from level 1 and up
* But NO support yet for char attribute fix at level 2
MEGA65 has the "HWERRATA" (hardware errata) register which tries to provide bug-to-bug compatibility for older software when something in mega65-core is changed meanwhile which found problematic for older software. As far as I can tell, currently there is three different hardware errata levels (every next level also carries the fixes from the previous levels!):
$D016
bug inH640
mode is fixed at this level, ie already on C65 value of "2" meant zero, now zero is zeroVHDL designation:
bug_compat_vic_iii_d016_delta
VHDL designation:
bug_compat_char_attr
HWERRATA register is at
$D08F
. Writing any value greater than the max supported will cause the max supported value is used. The used value can be read back in the same register. However there is also an older way for this errata story, VIC-IV register$D07A.5
, a single bit, though this is a deprecated feature. When it is changed, the "real" HWERRATA register is set to the max supported value (bit is set) or zero (bit is cleared). It seems there is no feedback from$D08F
to this bit though, only setting that, won't effect this bit when read back.The text was updated successfully, but these errors were encountered: