changeset 1731:366b65d91614

Implemented DD/FD prefixes for EX in new Z80 core
author Michael Pavone <pavone@retrodev.com>
date Sat, 02 Feb 2019 20:43:20 -0800
parents 71f7827ff30a
children 3b286be82ea5
files z80.cpu
diffstat 1 files changed, 40 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/z80.cpu	Sat Feb 02 16:16:25 2019 -0800
+++ b/z80.cpu	Sat Feb 02 20:43:20 2019 -0800
@@ -666,13 +666,50 @@
 	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