summaryrefslogtreecommitdiff
path: root/z80.cpu
diff options
context:
space:
mode:
authorMichael Pavone <pavone@retrodev.com>2019-02-02 23:02:19 -0800
committerMichael Pavone <pavone@retrodev.com>2019-02-02 23:02:19 -0800
commit1f7eb1afff1a9b13cde11a786145ba313df3334a (patch)
tree37fc18407ddc2af346237577c157500ce099374f /z80.cpu
parent0d51635f43fe9a94ca1568a972c7ef6bf7afe552 (diff)
Implemented LDI in new Z80 core
Diffstat (limited to 'z80.cpu')
-rw-r--r--z80.cpu44
1 files changed, 43 insertions, 1 deletions
diff --git a/z80.cpu b/z80.cpu
index 1db3630..4a615fa 100644
--- a/z80.cpu
+++ b/z80.cpu
@@ -2015,4 +2015,46 @@ fdcb 11BBB110 set_iyd
z80_set_index B tmp
fdcb 11BBBRRR set_iyd_reg
- z80_set_index B main.R \ No newline at end of file
+ z80_set_index B main.R
+
+ed 10100000 ldi
+ local tmp 16
+ local tmp8 8
+ lsl h 8 tmp
+ or l tmp tmp
+ mov tmp scratch1
+ add 1 tmp tmp
+ mov tmp l
+ lsr tmp 8 h
+ ocall read_8
+ cycles 1
+
+ add a scratch1 tmp8
+ update_flags H0XN0
+
+ and 0x2 tmp8 tmp8
+ lsl 4 tmp8 tmp8
+ and 0x88 last_flag_result last_flag_result
+ or tmp8 last_flag_result last_flag_result
+
+ lsl d 8 tmp
+ or e tmp tmp
+ mov tmp scratch2
+ add 1 tmp tmp
+ mov tmp e
+ lsr tmp 8 d
+ ocall write_8
+
+ lsl b 8 tmp
+ or c tmp tmp
+ sub 1 tmp tmp
+
+ mov tmp c
+ lsr tmp 8 b
+ mov c pvflag
+ or b pvflag pvflag
+
+
+
+ cycles 5
+ \ No newline at end of file