A7800Hawk: FINALLY fix Scrapyard Dog

-Also fix a typo in memory domains
This commit is contained in:
alyosha-tas 2017-07-29 18:05:23 -04:00 committed by GitHub
parent d96f26452c
commit bba8cc3202
2 changed files with 18 additions and 16 deletions

View File

@ -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(

View File

@ -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
{