diff zruntime.S @ 253:3b34deba4ca0

Squashing some bugs introduced when I switched the register assignments for z80_write_byte around.
author Mike Pavone <pavone@retrodev.com>
date Mon, 29 Apr 2013 22:32:21 -0700
parents 63b9a500a00b
children d9417261366f
line wrap: on
line diff
--- a/zruntime.S	Mon Apr 29 21:46:48 2013 -0700
+++ b/zruntime.S	Mon Apr 29 22:32:21 2013 -0700
@@ -88,42 +88,42 @@
 z80_write_byte:
 	call z_inccycles
 z80_write_byte_noinc:
-	cmp $0x4000, %r13w
+	cmp $0x4000, %r14w
 	jb z80_write_ram
-	cmp $0x8000, %r13w
+	cmp $0x8000, %r14w
 	jae z80_write_bank
-	cmp $0x6000, %r13w
+	cmp $0x6000, %r14w
 	je z80_write_bank_reg
 	/* TODO: YM-2612, PSG/VDP */
 	ret
 z80_write_ram:
-	and $0x1FFF, %r13
-	mov %r14b, (%r11, %r13)
-	mov %r13d, %r14d
-	shr $7, %r14d
-	bt %r14d, 152(%rsi)
+	and $0x1FFF, %r14
+	mov %r13b, (%r11, %r14)
+	mov %r14d, %r13d
+	shr $7, %r13d
+	bt %r13d, 152(%rsi)
 	jnc not_code
 	call z80_save_context
-	mov %r13d, %edi
+	mov %r14d, %edi
 	call z80_handle_code_write
 	mov %rax, %rsi
 not_code:
 	ret
 z80_write_bank:
-	and $0x7FFF, %r13
+	and $0x7FFF, %r14
 	cmp $0, %r12
 	je slow_bank_write
 	/* 68K memory is byte swapped */
-	xor $1, %r13
-	mov %r14b, (%r12, %r13)
+	xor $1, %r14
+	mov %r13b, (%r12, %r14)
 	ret
 slow_bank_write:
 	/* TODO: Call into C to implement this */
 	ret
 z80_write_bank_reg:
-	and $1, %r14w
+	and $1, %r13w
 	shl %r15w
-	or %r14w, %r15w
+	or %r13w, %r15w
 	and $0x1FF, %r15w
 	xor %r12, %r12
 	cmp $0x80, %r15w
@@ -154,8 +154,8 @@
 	call z_inccycles
 	push %r14
 	push %r13
-	add $1, %r13w
-	shr $8, %r14w
+	add $1, %r14w
+	shr $8, %r13w
 	call z80_write_byte_noinc
 	pop %r13
 	pop %r14
@@ -171,8 +171,8 @@
 	call z80_write_byte_noinc
 	pop %r13
 	pop %r14
-	add $1, %r13w
-	shr $8, %r14w
+	add $1, %r14w
+	shr $8, %r13w
 	call z_inccycles
 	call z80_write_byte_noinc
 	ret