From 7b52486266a9eb523e699831c6f721d1da365d03 Mon Sep 17 00:00:00 2001 From: Michael Pavone Date: Sat, 2 Feb 2019 20:43:20 -0800 Subject: Implemented DD/FD prefixes for EX in new Z80 core --- z80.cpu | 43 ++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 40 insertions(+), 3 deletions(-) diff --git a/z80.cpu b/z80.cpu index 0c86d08..8b589ce 100644 --- a/z80.cpu +++ b/z80.cpu @@ -666,13 +666,50 @@ fd 11100001 pop_iy cycles 1 mov sp scratch2 ocall write_8 - add 1 sp wz - mov wz scratch1 + add 1 sp scratch1 ocall read_8 xchg h scratch1 cycles 2 - mov wz scratch2 + add 1 sp scratch2 + ocall write_8 + lsl h 8 wz + or l wz wz + +dd 11100011 ex_sp_ix + mov sp scratch1 + ocall read_8 + mov scratch1 wz + mov ix scratch1 + cycles 1 + mov sp scratch2 + ocall write_8 + add 1 sp scratch1 + ocall read_8 + lsl scratch1 8 scratch1 + or scratch1 wz wz + lsr ix 8 scratch1 + cycles 2 + add 1 sp scratch2 + ocall write_8 + mov wz ix + +fd 11100011 ex_sp_iy + mov sp scratch1 + ocall read_8 + mov scratch1 wz + mov iy scratch1 + cycles 1 + mov sp scratch2 + ocall write_8 + add 1 sp scratch1 + ocall read_8 + lsl scratch1 8 scratch1 + or scratch1 wz wz + lsr iy 8 scratch1 + cycles 2 + add 1 sp scratch2 ocall write_8 + mov wz iy 10000RRR add_reg add a main.R a -- cgit v1.2.3