lgblgblgb / xemu

Emulations (running on Linux/Unix/Windows/macOS, utilizing SDL2) of some - mainly - 8 bit machines, including the Commodore LCD, Commodore 65, and the MEGA65 as well.
https://github.com/lgblgblgb/xemu/wiki
GNU General Public License v2.0
207 stars 32 forks source link

64 mode Compatibility issue: Errata emulamer demo doesn't work #119

Closed rossimariolee closed 4 years ago

rossimariolee commented 4 years ago

64 mode Compatibility issue: Errata Emulamer demo doesn' work

Demo: EMULAMERSC65.zip

lgblgblgb commented 4 years ago

Thanks for the report, but it may never will. Simply it's not scope. If it's a C64 demo and not Commodore 65 (I'm not sure, since there the "C65" in the name!) then you should use a Commodore 64 emulator. Xemu's C65 and M65 emulation is intended for C65 and M65, its C64 compatibility is VERY limited at best, not even goal, since you can always use a C64 emulator. Please note, that even in case a real Commodore 65, it's very much not C64 compatible (yes, even after GO64 ...) since VIC-III timing, behaviour etc, is very different from C64, also there are no illegal opcodes of the NMOS 6510 CPU at all. Especially demos or any "high tech" precise timing and VIC-II behaviour dependent things won't run correctly on a real C65 either. A real Mega65 (will) has better C64 compatibility than a Commodore 65 ever had, but still, it's far from a real C64. Indeed, for strict C64 compatibility you must use a C64 implementation, real C64, C64 reimplementation (Ultimate 64, etc, which is intended for C64 in FPGA, while MEGA65 is a C65 - not C64 - in FPGA), or a C64 emulator (like which can be found in VICE maybe, Xemu/C65 and Xemu/M65 are C65 and M65 emulators, not C64 emulator ...). MEGA65 is intended to be C65 compatible, not C64, though still it made HUGE steps towards giving better C64 compatibility than C65, but even in design perspective, it's simply impossible to be 100% compatible.

Also, I'm not sure what is the target of this issue, the C65 emulator or the M65 emulator? Those are two separated entities with different maturity etc, even in C65 compatibility and some degree of some C64 compatibility as well.

Ehm, sorry for the long story, hopefully it helped to clear things here. If I misunderstand you, and this is a C65 (actual demo for the Commodore 65, not 64!) then I'm sorry, and please let me know.