Mercurial > repos > blastem
changeset 85:1db2a0b655d1
Fix Z80 BUSREQ/RESET implementation.
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Wed, 26 Dec 2012 17:50:24 -0800 |
parents | 2d1ae596db7a |
children | 3d3966c254b2 |
files | runtime.S |
diffstat | 1 files changed, 13 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- 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: