c64load: emulate C64 KERNAL GETIN better

no key is pressed
This commit is contained in:
Thomas Bernard 2019-12-31 19:16:11 +01:00
parent bf8347e4d9
commit d7451d6d6e
No known key found for this signature in database
GPG Key ID: 0FF11B67A5C0863C

View File

@ -102,13 +102,20 @@ static byte C64_mem_read(void *context, word address)
if ((c64->ram[1] & 2) && address >= 0xe000)
{
GFX2_Log(GFX2_WARNING, "** ROM ** read($%04x)\n", address);
// $FFE4 GETIN
// make it return 0 (an Z=1) like if no key is pressed
if (address == 0xffe4)
{
c64->keyjoyread++;
return 0xA9; // LDA #$xx
}
if (address == 0xffe5)
return 0x00; // 2nd byte of LDA #$00
return 0x60; // RTS
}
if ((c64->ram[1] & 4) &&
(address >= 0xd000) && (address < 0xe000))
(((address >= 0xd000) && (address < 0xd800)) || ((address >= 0xdc00) && (address < 0xe000))))
{
if ((address & 0xff00) == 0xd000)
{