# HG changeset patch # User Mike Pavone # Date 1356573024 28800 # Node ID 1db2a0b655d15406140e3f0581fa3fe834a29066 # Parent 2d1ae596db7a8e4ebb21f28a18a8950bdac0d945 Fix Z80 BUSREQ/RESET implementation. diff -r 2d1ae596db7a -r 1db2a0b655d1 runtime.S --- a/runtime.S Wed Dec 26 17:34:59 2012 -0800 +++ b/runtime.S Wed Dec 26 17:50:24 2012 -0800 @@ -123,7 +123,7 @@ 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 @@ 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_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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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: