X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=pico%2Fmemory.c;h=0e4a624e28f377677fcc879fe987818c3750dbad;hb=0a91c6e9029e87029b4e7993145f4d05608be34d;hp=d0b16974bb512523c0a56b3f5796710fefe2590b;hpb=f6c49d38cbb965c502ca2af66d76e92f95acda7c;p=picodrive.git diff --git a/pico/memory.c b/pico/memory.c index d0b1697..0e4a624 100644 --- a/pico/memory.c +++ b/pico/memory.c @@ -1,11 +1,11 @@ -// This is part of Pico Library - -// (c) Copyright 2004 Dave, All rights reserved. -// (c) Copyright 2006-2009 notaz, All rights reserved. -// Free for non-commercial use. - -// For commercial use, separate licencing terms must be obtained. - +/* + * memory handling + * (c) Copyright Dave, 2004 + * (C) notaz, 2006-2010 + * + * This work is licensed under the terms of MAME license. + * See COPYING file in the top-level directory. + */ #include "pico_int.h" #include "memory.h" @@ -166,7 +166,7 @@ void log_io(unsigned int addr, int bits, int rw); #if defined(EMU_C68K) void cyclone_crashed(u32 pc, struct Cyclone *context) { - elprintf(EL_STATUS|EL_ANOMALY, "%c68k crash detected @ %06x\n", + elprintf(EL_STATUS|EL_ANOMALY, "%c68k crash detected @ %06x", context == &PicoCpuCM68k ? 'm' : 's', pc); context->membase = (u32)Pico.rom; context->pc = (u32)Pico.rom + Pico.romsize; @@ -322,7 +322,7 @@ static u32 PicoRead8_sram(u32 a) static u32 PicoRead16_sram(u32 a) { u32 d; - if (SRam.end >= a && a >= SRam.start && (Pico.m.sram_reg & SRR_MAPPED)) + if (SRam.start <= a && a <= SRam.end && (Pico.m.sram_reg & SRR_MAPPED)) { if (SRam.flags & SRF_EEPROM) d = EEPROM_read(); @@ -726,13 +726,13 @@ PICO_INTERNAL void PicoMemSetup(void) int i; // by default, point everything to first 64k of ROM for (i = 0; i < M68K_FETCHBANK1; i++) - PicoCpuFM68k.Fetch[i] = (unsigned int)Pico.rom - (i<<(24-FAMEC_FETCHBITS)); + PicoCpuFM68k.Fetch[i] = (unsigned long)Pico.rom - (i<<(24-FAMEC_FETCHBITS)); // now real ROM for (i = 0; i < M68K_FETCHBANK1 && (i<<(24-FAMEC_FETCHBITS)) < Pico.romsize; i++) - PicoCpuFM68k.Fetch[i] = (unsigned int)Pico.rom; + PicoCpuFM68k.Fetch[i] = (unsigned long)Pico.rom; // .. and RAM for (i = M68K_FETCHBANK1*14/16; i < M68K_FETCHBANK1; i++) - PicoCpuFM68k.Fetch[i] = (unsigned int)Pico.ram - (i<<(24-FAMEC_FETCHBITS)); + PicoCpuFM68k.Fetch[i] = (unsigned long)Pico.ram - (i<<(24-FAMEC_FETCHBITS)); } #endif #ifdef EMU_M68K @@ -1058,6 +1058,14 @@ void ym2612_unpack_state(void) elprintf(EL_YMTIMER, "load: %i/%i, timer_b_next_oflow %i", tbt>>16, tbc>>16, timer_b_next_oflow >> 8); } +#if defined(NO_32X) && defined(_ASM_MEMORY_C) +// referenced by asm code +u32 PicoRead8_32x(u32 a) { return 0; } +u32 PicoRead16_32x(u32 a) { return 0; } +void PicoWrite8_32x(u32 a, u32 d) {} +void PicoWrite16_32x(u32 a, u32 d) {} +#endif + // ----------------------------------------------------------------- // z80 memhandlers