From 56dc6ecb70e6fc76d32d6a7194acb273b76bfe0e Mon Sep 17 00:00:00 2001 From: David Guillen Fandos Date: Mon, 8 Mar 2021 18:44:03 +0100 Subject: Remove libco This removes libco and all the usages of it (+pthreads). Rewired all dynarecs and interpreter to return after every frame so that libretro can process events. This required to make dynarec re-entrant. Dynarecs were updated to check for new frame on every update (IRQ, cycle exhaustion, I/O write, etc). The performance impact of doing so should be minimal (and definitely outweight the libco gains). While at it, fixed small issues to get a bit more perf: arm dynarec was not idling correctly, mips was using stack when not needed, etc. Tested on PSP (mips), OGA (armv7), Linux (x86 and interpreter). Not tested on Android though. --- gba_memory.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gba_memory.h') diff --git a/gba_memory.h b/gba_memory.h index 946ef37..a37de47 100644 --- a/gba_memory.h +++ b/gba_memory.h @@ -208,9 +208,10 @@ extern u8 ewram[1024 * 256 * 2]; extern u8 iwram[1024 * 32 * 2]; extern u8 *memory_map_read[8 * 1024]; -extern u32 *reg; extern u8 *memory_map_write[8 * 1024]; +extern u32 reg[64]; + extern flash_device_id_type flash_device_id; extern const u8 *state_mem_read_ptr; -- cgit v1.2.3