X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=fceu.git;a=blobdiff_plain;f=memory.c;h=de10c11fb3b88f6ce75882b8db9dadeabddba03c;hp=8fb701d1a9a093b9a4ab36c13989f73b2521129b;hb=92764e6252a3691033d6044b466bf716c96b62d5;hpb=ea80a45b1dbd9f2c46567e18a2e18fcbb6e55c8d diff --git a/memory.c b/memory.c index 8fb701d..de10c11 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,26 +21,44 @@ #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) { @@ -52,20 +70,20 @@ void FASTAPASS(3) FCEU_memmove(void *d, void *s, uint32 l) t|=(int)s; t|=(int)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++; } + } } -} -