diff options
author | Mike Pavone <pavone@retrodev.com> | 2012-12-26 17:50:24 -0800 |
---|---|---|
committer | Mike Pavone <pavone@retrodev.com> | 2012-12-26 17:50:24 -0800 |
commit | 448658907c7a8f6caa8ea785d2eae8ea24471b30 (patch) | |
tree | 80f32b55fb84b46ab779a321b87f3814c89fa92b | |
parent | cce801dfb2df84293b42c2a73ef1e894ac437333 (diff) |
Fix Z80 BUSREQ/RESET implementation.
-rw-r--r-- | runtime.S | 20 |
1 files changed, 13 insertions, 7 deletions
@@ -123,7 +123,7 @@ do_vdp_port_read: do_io_write: call m68k_save_context - and $0x3FF, %edi + and $0x1FFF, %edi mov %ecx, %edx call io_write mov %rax, %rsi @@ -131,7 +131,7 @@ do_io_write: ret do_io_read: mov %ecx, %edi - and $0x3FF, %edi + and $0x1FFF, %edi call m68k_save_context call io_read mov %rax, %rsi @@ -141,7 +141,7 @@ do_io_read: do_io_write_w: call m68k_save_context - and $0x3FF, %edi + and $0x1FFF, %edi mov %ecx, %edx call io_write_w mov %rax, %rsi @@ -149,7 +149,7 @@ do_io_write_w: ret do_io_read_w: mov %ecx, %edi - and $0x3FF, %edi + and $0x1FFF, %edi call m68k_save_context call io_read_w mov %rax, %rsi @@ -171,6 +171,12 @@ m68k_write_word: jge workram_w cmp $0xC00000, %edi jge vdp_psg_w + cmp $0xA10000, %edi + jl not_io_w + cmp $0xA12000, %edi + jge not_io_w + jmp do_io_write_w +not_io_w: ret workram_w: and $0xFFFF, %rdi @@ -234,7 +240,7 @@ m68k_write_byte: jge vdp_psg_wb cmp $0xA10000, %edi jl not_io_wb - cmp $0xA10300, %edi + cmp $0xA12000, %edi jge not_io_wb jmp do_io_write not_io_wb: @@ -305,7 +311,7 @@ m68k_read_word_scratch1: jge vdp_psg cmp $0xA10000, %ecx jl not_io - cmp $0xA10300, %ecx + cmp $0xA12000, %ecx jge not_io call do_io_read_w ret @@ -351,7 +357,7 @@ m68k_read_byte_scratch1: jge workram_b cmp $0xA10000, %ecx jl not_io_b - cmp $0xA10300, %ecx + cmp $0xA12000, %ecx jge not_io_b jmp do_io_read not_io_b: |