z80: clean up

This commit is contained in:
alyosha-tas 2018-03-16 17:50:51 -04:00
parent e198e7b8a6
commit dbb90a996d
4 changed files with 8 additions and 16 deletions

View File

@ -83,8 +83,7 @@ namespace BizHawk.Emulation.Cores.Components.Z80A
}
// Interrupt mode 2 uses the I vector combined with a byte on the data bus
// Again for now we assume only a 0 on the data bus and jump to (0xI00)
private void INTERRUPT_2(ushort src)
private void INTERRUPT_2()
{
cur_instr = new ushort[]
{IDLE,

View File

@ -438,7 +438,7 @@ namespace BizHawk.Emulation.Cores.Components.Z80A
// handle case of addr wrapping around at 16 bit boundary
if (addr < start_addr)
{
size = addr + 1;
size = (0x10000 + addr) - start_addr;
}
return temp;

View File

@ -1,8 +1,7 @@
TODO:
Mode 0 and 2 interrupts
Mode 0
Check T-cycle level memory access timing
Check R register
new tests for WZ Registers
Memory refresh - IR is pushed onto the address bus at instruction start, does anything need this?
Data Bus - For mode zero and 2 interrupts, need a system that uses it to test

View File

@ -107,7 +107,7 @@ namespace BizHawk.Emulation.Cores.Components.Z80A
public Func<ushort, byte> ReadHardware;
public Action<ushort, byte> WriteHardware;
// Data BUs
// Data Bus
// Interrupting Devices are responsible for putting a value onto the data bus
// for as long as the interrupt is valid
public Func<byte> FetchDB;
@ -196,9 +196,7 @@ namespace BizHawk.Emulation.Cores.Components.Z80A
INTERRUPT_1();
break;
case 2:
// Low byte of interrupt vector comes from data bus
// We'll assume it's zero for now
INTERRUPT_2(0);
INTERRUPT_2();
break;
}
IRQCallback();
@ -321,9 +319,7 @@ namespace BizHawk.Emulation.Cores.Components.Z80A
INTERRUPT_1();
break;
case 2:
// Low byte of interrupt vector comes from data bus
// We'll assume it's zero for now
INTERRUPT_2(0);
INTERRUPT_2();
break;
}
IRQCallback();
@ -391,9 +387,7 @@ namespace BizHawk.Emulation.Cores.Components.Z80A
INTERRUPT_1();
break;
case 2:
// Low byte of interrupt vector comes from data bus
// We'll assume it's zero for now
INTERRUPT_2(0);
INTERRUPT_2();
break;
}
IRQCallback();
@ -663,8 +657,8 @@ namespace BizHawk.Emulation.Cores.Components.Z80A
FlagI ? "E" : "e")
};
}
// State Save/Load
// State Save/Load
public void SyncState(Serializer ser)
{
ser.BeginSection("Z80A");