X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=fceu.git;a=blobdiff_plain;f=memory.c;h=0194a83f7dca5020881cc00008fdbbbf49aaf02d;hp=8fb701d1a9a093b9a4ab36c13989f73b2521129b;hb=0d6a66c2a80f50ae51327cd406f9df14d99ad02e;hpb=5232c20c0fa2c80964fe1d3f597c239bcf93d6fc diff --git a/memory.c b/memory.c index 8fb701d..0194a83 100644 --- a/memory.c +++ b/memory.c @@ -1,7 +1,7 @@ /* FCE Ultra - NES/Famicom Emulator * * Copyright notice for this file: - * Copyright (C) 2002 Ben Parnell + * Copyright (C) 2002 Xodnizel * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -21,51 +21,69 @@ #include #include "types.h" -#include "version.h" +#include "fce.h" #include "memory.h" #include "general.h" #include "svga.h" +void *FCEU_gmalloc(uint32 size) +{ + void *ret; + ret=malloc(size); + if(!ret) + { + FCEU_PrintError("Error allocating memory! Doing a hard exit."); + exit(1); + } + return ret; +} + void *FCEU_malloc(uint32 size) { void *ret; ret=malloc(size); if(!ret) - FCEU_PrintError(MSG_ERRAM); + { + FCEU_PrintError("Error allocating memory!"); + return(0); + } return ret; } -void FCEU_free(void *ptr) // Might do something with this and FCEU_malloc later... +void FCEU_free(void *ptr) // Might do something with this and FCEU_malloc later... { free(ptr); } - +void FCEU_gfree(void *ptr) +{ + free(ptr); +} void FASTAPASS(3) FCEU_memmove(void *d, void *s, uint32 l) { uint32 x; - int t; + long t; /* Type really doesn't matter. */ - t=(int)d; - t|=(int)s; - t|=(int)l; + t=(long)d; + t|=(long)s; + t|=(long)l; - if(t&3) // Not 4-byte aligned and/or length is not a multiple of 4. + if(t&3) // Not 4-byte aligned and/or length is not a multiple of 4. { - uint8 *tmpd, *tmps; + uint8 *tmpd, *tmps; tmpd = d; tmps = s; - for(x=l;x;x--) // This could be optimized further, though(more tests could be performed). + for(x=l;x;x--) // This could be optimized further, though(more tests could be performed). { *tmpd=*tmps; tmpd++; tmps++; } - } + } else { uint32 *tmpd, *tmps; @@ -79,6 +97,5 @@ void FASTAPASS(3) FCEU_memmove(void *d, void *s, uint32 l) tmpd++; tmps++; } + } } -} -