PicoDrive: Disable idle loop detection. Move rom to alloc_sealed. Set heap sizes.

This commit is contained in:
nattthebear 2017-07-03 10:50:24 -04:00
parent d1a9c41466
commit 5e54b896b7
4 changed files with 11 additions and 10 deletions

View File

@ -51,11 +51,11 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.PicoDrive
_core = PreInit<LibPicoDrive>(new PeRunnerOptions
{
Filename = "picodrive.wbx",
SbrkHeapSizeKB = 4096,
SealedHeapSizeKB = 4096,
InvisibleHeapSizeKB = 4096,
MmapHeapSizeKB = 65536,
PlainHeapSizeKB = 4096,
SbrkHeapSizeKB = 64,
SealedHeapSizeKB = 18 * 1024,
InvisibleHeapSizeKB = 1024,
MmapHeapSizeKB = 4096,
PlainHeapSizeKB = 64,
});
if (has32xBios)

View File

@ -6,7 +6,7 @@ CCFLAGS:=-I. \
-std=c99 -fomit-frame-pointer -fvisibility=hidden \
-falign-functions=16 \
-DLSB_FIRST -DNDEBUG -DEMU_F68K -D_USE_CZ80 \
-O0 -g
-O3 -flto
TARGET = picodrive.wbx
@ -31,8 +31,8 @@ $(TARGET).in: $(OBJS)
@$(CC) -o $@ $(LDFLAGS) $(CCFLAGS) $(OBJS) ../emulibc/libemuhost.so
$(TARGET): $(TARGET).in
# strip $< -o $@ -R /4 -R /14 -R /29 -R /41 -R /55 -R /67 -R /78 -R /89 -R /104
cp $< $@
strip $< -o $@ -R /4 -R /14 -R /29 -R /41 -R /55 -R /67 -R /78 -R /89 -R /104
# cp $< $@
clean:
rm -rf $(OBJ_DIR)

View File

@ -143,7 +143,7 @@ ECL_EXPORT int Init(int cd)
p32x_bios_m = TryLoadBios("32x.m");
p32x_bios_s = TryLoadBios("32x.s");
PicoOpt = POPT_EN_FM | POPT_EN_PSG | POPT_EN_Z80 | POPT_EN_STEREO | POPT_ACC_SPRITES | POPT_DIS_32C_BORDER | POPT_EN_MCD_PCM | POPT_EN_MCD_CDDA | POPT_EN_MCD_GFX | POPT_EN_32X | POPT_EN_PWM;
PicoOpt = POPT_EN_FM | POPT_EN_PSG | POPT_EN_Z80 | POPT_EN_STEREO | POPT_ACC_SPRITES | POPT_DIS_32C_BORDER | POPT_EN_MCD_PCM | POPT_EN_MCD_CDDA | POPT_EN_MCD_GFX | POPT_EN_32X | POPT_EN_PWM | POPT_DIS_IDLE_DET;
PicoInit();
if (cd)

View File

@ -9,6 +9,7 @@
#include "pico_int.h"
#include <stdint.h>
#include <emulibc.h>
static const uint32_t crc32tab[256] = {
0x00000000, 0x77073096, 0xee0e612c, 0x990951ba,
@ -188,7 +189,7 @@ static unsigned char *PicoCartAlloc(int filesize, int is_sms)
rom_alloc_size += 4; // padding for out-of-bound exec protection
// Allocate space for the rom plus padding
rom = malloc(rom_alloc_size);
rom = alloc_sealed(rom_alloc_size);
return rom;
}