diff --git a/BizHawk.Emulation.Cores/Consoles/Atari/A7800Hawk/A7800Hawk.IMemoryDomains.cs b/BizHawk.Emulation.Cores/Consoles/Atari/A7800Hawk/A7800Hawk.IMemoryDomains.cs index 551b4d5be1..5235459107 100644 --- a/BizHawk.Emulation.Cores/Consoles/Atari/A7800Hawk/A7800Hawk.IMemoryDomains.cs +++ b/BizHawk.Emulation.Cores/Consoles/Atari/A7800Hawk/A7800Hawk.IMemoryDomains.cs @@ -44,18 +44,18 @@ namespace BizHawk.Emulation.Cores.Atari.A7800Hawk 1), new MemoryDomainDelegate( "Ram Block 0", - 0xB0, + 0xC0, MemoryDomain.Endian.Little, addr => RAM[addr+0x840], - (addr, value) => RAM[addr+0x840] = value, + (addr, value) => RAM[addr+0x800] = value, 1 ), new MemoryDomainDelegate( "Ram Block 1", - 0xB0, + 0xC0, MemoryDomain.Endian.Little, addr => RAM[addr+0x940], - (addr, value) => RAM[addr+0x940] = value, + (addr, value) => RAM[addr+0x900] = value, 1 ), new MemoryDomainDelegate( diff --git a/BizHawk.Emulation.Cores/Consoles/Atari/A7800Hawk/Maria.cs b/BizHawk.Emulation.Cores/Consoles/Atari/A7800Hawk/Maria.cs index 7872b81538..b0bda9ad97 100644 --- a/BizHawk.Emulation.Cores/Consoles/Atari/A7800Hawk/Maria.cs +++ b/BizHawk.Emulation.Cores/Consoles/Atari/A7800Hawk/Maria.cs @@ -301,6 +301,7 @@ namespace BizHawk.Emulation.Cores.Atari.A7800Hawk if (cycle == 454) { scanline++; + cycle = 0; Core.tia._hsyncCnt = 0; Core.cpu.RDY = true; @@ -482,13 +483,16 @@ namespace BizHawk.Emulation.Cores.Atari.A7800Hawk { GFX_Objects[header_counter].obj[i * ch_size + 1] = 0; } - if (ch_size == 1) + if (i != 0) { - graphics_read_time -= 6; - } - else - { - graphics_read_time -= 9; + if (ch_size == 1) + { + graphics_read_time -= 6; + } + else + { + graphics_read_time -= 9; + } } } @@ -506,11 +510,6 @@ namespace BizHawk.Emulation.Cores.Atari.A7800Hawk } } } - if (graphics_read_time == 0) - { - graphics_read_time = 3; - } - } else { @@ -523,7 +522,10 @@ namespace BizHawk.Emulation.Cores.Atari.A7800Hawk if (((current_DLL_H16 && addr_t.Bit(12)) || (current_DLL_H8 && addr_t.Bit(11))) && (addr_t >= 0x8000)) { GFX_Objects[header_counter].obj[i] = 0; - graphics_read_time -= 3; + if (i != 0) + { + graphics_read_time -= 3; + } } else {