comparison runtime.S @ 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 3b79cbcf6846
children 32650c77008a
comparison
equal deleted inserted replaced
56:a28b1dfe1af2 57:bc3bc7a60c4e
15 mov %rax, %rsi 15 mov %rax, %rsi
16 call m68k_load_context 16 call m68k_load_context
17 ret 17 ret
18 18
19 do_vdp_port_read: 19 do_vdp_port_read:
20 mov %ecx, %edi
20 call m68k_save_context 21 call m68k_save_context
21 call vdp_port_read 22 call vdp_port_read
22 mov %rax, %rsi 23 mov %rax, %rsi
23 call m68k_load_context 24 call m68k_load_context
24 mov 120(%rsi), %cx 25 mov 120(%rsi), %cx
26 27
27 bad_access_msg: 28 bad_access_msg:
28 .asciz "Program tried to access illegal 68K address %X\n" 29 .asciz "Program tried to access illegal 68K address %X\n"
29 30
30 .global m68k_write_word 31 .global m68k_write_word
31 .global vdp_psg_w 32 .global try_fifo_write
32 m68k_write_word: 33 m68k_write_word:
33 and $0xFFFFFF, %rdi 34 and $0xFFFFFF, %rdi
34 cmp $0x400000, %edi 35 cmp $0x400000, %edi
35 jle cart_w 36 jle cart_w
36 cmp $0xE00000, %edi 37 cmp $0xE00000, %edi
131 and $0xFFFFFF, %rcx 132 and $0xFFFFFF, %rcx
132 cmp $0x400000, %ecx 133 cmp $0x400000, %ecx
133 jle cart 134 jle cart
134 cmp $0xE00000, %ecx 135 cmp $0xE00000, %ecx
135 jge workram 136 jge workram
136 cmp $0xC00000, %edi 137 cmp $0xC00000, %ecx
137 jge vdp_psg 138 jge vdp_psg
138 xor %cx, %cx 139 xor %cx, %cx
139 dec %cx 140 dec %cx
140 jmp inccycles 141 jmp inccycles
141 workram: 142 workram:
142 and $0xFFFF, %rcx 143 and $0xFFFF, %rcx
143 mov (%r9, %rcx), %cx 144 mov (%r9, %rcx), %cx
144 jmp inccycles 145 jmp inccycles
145 vdp_psg: 146 vdp_psg:
146 test $0x2700E0, %edi 147 test $0x2700E0, %ecx
147 jnz crash 148 jnz crash
148 and $0x1F, %edi 149 and $0x1F, %ecx
149 jmp do_vdp_port_read 150 jmp do_vdp_port_read
150 cart: 151 cart:
151 mov (%r8, %rcx), %cx 152 mov (%r8, %rcx), %cx
152 inccycles: 153 inccycles:
153 add $4, %rax 154 add $4, %rax