changeset 57:bc3bc7a60c4e

Code in runtime for checking for VDP reads was using the wrong register. This is now fixed.
author Mike Pavone <pavone@retrodev.com>
date Tue, 18 Dec 2012 22:19:52 -0800
parents a28b1dfe1af2
children a6a19c45d358
files runtime.S
diffstat 1 files changed, 5 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/runtime.S	Tue Dec 18 19:51:33 2012 -0800
+++ b/runtime.S	Tue Dec 18 22:19:52 2012 -0800
@@ -17,6 +17,7 @@
 	ret
 
 do_vdp_port_read:
+	mov %ecx, %edi
 	call m68k_save_context
 	call vdp_port_read
 	mov %rax, %rsi
@@ -28,7 +29,7 @@
 	.asciz "Program tried to access illegal 68K address %X\n"
 	
 	.global m68k_write_word
-	.global vdp_psg_w
+	.global try_fifo_write
 m68k_write_word:
 	and $0xFFFFFF, %rdi
 	cmp $0x400000, %edi
@@ -133,7 +134,7 @@
 	jle cart
 	cmp $0xE00000, %ecx
 	jge workram
-	cmp $0xC00000, %edi
+	cmp $0xC00000, %ecx
 	jge vdp_psg
 	xor %cx, %cx
 	dec %cx
@@ -143,9 +144,9 @@
 	mov (%r9, %rcx), %cx
 	jmp inccycles
 vdp_psg:
-	test $0x2700E0, %edi
+	test $0x2700E0, %ecx
 	jnz crash
-	and $0x1F, %edi
+	and $0x1F, %ecx
 	jmp do_vdp_port_read
 cart:
 	mov (%r8, %rcx), %cx