void state_load_z80(FILE *fp) { u32 pc; state_load_word(&CZ80.BC.W, 1); state_load_word(&CZ80.DE.W, 1); state_load_word(&CZ80.HL.W, 1); state_load_word(&CZ80.AF.W, 1); state_load_word(&CZ80.IX.W, 1); state_load_word(&CZ80.IY.W, 1); state_load_word(&CZ80.SP.W, 1); state_load_long(&pc, 1); state_load_word(&CZ80.BC2.W, 1); state_load_word(&CZ80.DE2.W, 1); state_load_word(&CZ80.HL2.W, 1); state_load_word(&CZ80.AF2.W, 1); state_load_word(&CZ80.R.W, 1); state_load_word(&CZ80.IFF.W, 1); state_load_byte(&CZ80.I, 1); state_load_byte(&CZ80.IM, 1); state_load_byte(&CZ80.IRQState, 1); state_load_byte(&CZ80.HaltState, 1); state_load_byte(&irq_state, 1); Cz80_Set_PC(&CZ80, pc); }
void Cz80_Reset(cz80_struc *CPU) { zI = 0; zR = 0; zR2 = 0; z80_ICount = 0; z80_ExtraCycles = 0; Cz80_Set_PC(CPU, 0); }
u32 Cz80_Reset(cz80_struc *cpu) { cz80_struc *CPU = cpu; fast_memset(CPU, 0, (u32)(&(CPU->CycleSup)) - (u32)(&(CPU->BC))); Cz80_Set_PC(CPU, 0); zIX = 0xFFFF; zIY = 0xFFFF; #if CZ80_DEBUG zF = CZ80_ZF; #else zSP = 0xFFFF; zFA = 0xFFFF; #endif return CPU->Status; }