X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=pico%2Fmemory.c;h=6bb79d5a4f9e9f425aeb9bb69d21467caa2cf45c;hb=bdd6a009be599f5e49ac97b34ed93d0bb7af137d;hp=da73961cc352595c4f333ed87a92728ef3937729;hpb=000f53350cb0d6540310d8c4b02eb034c9662f0d;p=picodrive.git diff --git a/pico/memory.c b/pico/memory.c index da73961..6bb79d5 100644 --- a/pico/memory.c +++ b/pico/memory.c @@ -501,6 +501,11 @@ u32 PicoRead8_io(u32 a) goto end; } + if (!(PicoOpt & POPT_DIS_32X)) { + d = PicoRead8_32x(a); + goto end; + } + d = m68k_unmapped_read8(a); end: return d; @@ -512,6 +517,7 @@ u32 PicoRead16_io(u32 a) if ((a & 0xffe0) == 0x0000) { // I/O ports d = io_ports_read(a); + d |= d << 8; goto end; } @@ -529,6 +535,11 @@ u32 PicoRead16_io(u32 a) goto end; } + if (!(PicoOpt & POPT_DIS_32X)) { + d = PicoRead16_32x(a); + goto end; + } + d = m68k_unmapped_read16(a); end: return d; @@ -554,6 +565,11 @@ void PicoWrite8_io(u32 a, u32 d) Pico.m.sram_reg |= (u8)(d & 3); return; } + if (!(PicoOpt & POPT_DIS_32X)) { + PicoWrite8_32x(a, d); + return; + } + m68k_unmapped_write8(a, d); } @@ -577,6 +593,10 @@ void PicoWrite16_io(u32 a, u32 d) Pico.m.sram_reg |= (u8)(d & 3); return; } + if (!(PicoOpt & POPT_DIS_32X)) { + PicoWrite16_32x(a, d); + return; + } m68k_unmapped_write16(a, d); } @@ -1063,7 +1083,6 @@ static unsigned char MEMH_FUNC z80_md_vdp_read(unsigned short a) static unsigned char MEMH_FUNC z80_md_bank_read(unsigned short a) { - extern unsigned int PicoReadM68k8(unsigned int a); unsigned int addr68k; unsigned char ret; @@ -1105,7 +1124,6 @@ static void MEMH_FUNC z80_md_vdp_br_write(unsigned int a, unsigned char data) static void MEMH_FUNC z80_md_bank_write(unsigned int a, unsigned char data) { - extern void PicoWriteM68k8(unsigned int a, unsigned char d); unsigned int addr68k; addr68k = Pico.m.z80_bank68k << 15;