dirkwhoffmann / virtualc64

VirtualC64 is a cycle-accurate C64 emulator for macOS
https://dirkwhoffmann.github.io/virtualc64
Other
356 stars 33 forks source link

EasyFlash test fails #448

Closed Alessandro1970 closed 5 years ago

Alessandro1970 commented 5 years ago

Hi, I noticed that VirtualC64 does not pass the EasyFlash test (press "spacebar" too): EasyFlash_Test.crt.zip

schermata 2018-10-30 alle 23 47 13 schermata 2018-10-30 alle 23 50 51
dirkwhoffmann commented 5 years ago

Seems to be a more general issue, related to Ultimax mode. In mode 00 and 01, range $A000 - $BFFF is mapped to RAM, but the RAM is not visible in Ultimax mode.

bildschirmfoto 2018-11-01 um 13 30 00

Need to find out which value is returned if RAM is "BLANK".

dirkwhoffmann commented 5 years ago

If RAM is unmapped, one gets the most recent phi1 value (in clock phase phi1, VICII owns the bus).

Hence, the old code

case M_NONE:
    // what happens if RAM is unmapped?
    return ram[addr];

needs to be replaced by:

 case M_NONE:
    return c64->vic.getDataBusPhi1();
bildschirmfoto 2018-11-01 um 14 05 05
Alessandro1970 commented 5 years ago

Now it works, this issue can be closed.