Originally Posted by Schoenfeld
Thanks. Just a few questions to make the comparison fair: Can you run Geos with these optimizations enabled? And can you display gfx in any of the video banks (which one?) with these optimizations enabled? Are there any restrictions on sprites?
The answer for Chameleon is easy: No restrictions at all. I'd like to know if this is true for these optimizations with the SCPU before we add this to the Wiki. After all, we're just having this conversation because we wanted to create a fair comparison, right?
The BASIC setting is for programs using the default screen setup (like most programs written in BASIC). For GEOS (VIC bank 2), you enable the GEOS setting, for programs using VIC bank 1 you enable that setting. That is, you tell the SCPU which memory areas needs to be mirrored to C64 memory so the VIC can see it. No sprite restrictions that I know of, the SCPU isn't in any way affected by VIC DMA cycles, bad-lines and such, unless you atempt to write to mirrored memory, in which case the SCPU need to wait until the C64 is ready to accept the write.
The Chameleon also needs to mirror writes to C64 memory in order to allow the VIC to see it, unless you settled with using the emulated VIC only, but that's cheating to say the least. Judging by the Wiki results, the Chameleon either doesn't mirror memory at all, or only mirrors the required memory, just as the SCPU did when I ran the test.
The same goes for the ZP results, if all memory indeed is mirrored to the C64 memory, one can never achieve a 20x speedup. That issues is shared between the SCPU and Chameleon. With the SCPU it's easy to set it to mirror ZP (and Stack area) as well. I assume you can do something similar with the Chameleon, but I don't have one so don't know how that's done.