changeset 2719:f817aedf5e53

Fix base address mode calculation
author Michael Pavone <pavone@retrodev.com>
date Wed, 16 Jul 2025 18:01:21 -0700
parents 8ce5d1a7ef54
children 7dcc84cb14ee
files upd78k2.cpu
diffstat 1 files changed, 4 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/upd78k2.cpu	Wed Jul 16 12:32:28 2025 -0700
+++ b/upd78k2.cpu	Wed Jul 16 18:01:21 2025 -0700
@@ -559,20 +559,21 @@
 	arg regpair 8
 	local tmp 16
 	upd78k2_op_fetch
+	adst = scratch1 & 0xFF
 	switch regpair
 	case 0
 		#[de+byte]
 		tmp = d << 8
 		tmp |= e
-		adst += tmp
+		add tmp adst adst 1
 	case 1
 		#[sp+byte]
-		adst += sp
+		add sp adst adst 1
 	case 2
 		#[hl+byte]
 		tmp = h << 8
 		tmp |= l
-		adst += tmp
+		add tmp adst adst 1
 	end
 
 read_base_mode