summaryrefslogtreecommitdiff
path: root/main.c
AgeCommit message (Collapse)Author
2021-06-27Enable big-endian devices: gc/wiiDavid Guillen Fandos
This patch adds big-endian compatibility in gpsp (in general but only for the interpreter). There's no performance hit for little-endian platforms (should be a no-op) and only add a small overhead in memory accesses for big-endian platforms. Most memory accesses are wrapped with a byteswap instruction and I/O reg accesses are also rewired for proper access (using macros). Video rendering has been fixed to also do byteswaps but there's a couple of games and rendering modes that still seem broken (but they amount to less than 20 games in my tests with 1K ROMs). This also adds build rules and CI for NGC/WII/WIIU (untested)
2021-05-05Adding Code Breaker cheat supportDavid Guillen Fandos
This works on both interpreter and dynarec. Tested in MIPS, ARM and x86, still needs some more testing, some edge cases can be buggy.
2021-03-30Improve indirect jumps in ARMDavid Guillen Fandos
Handle already translated blocks in the ARM asm to speed up indirect branches (affect some games more than others)
2021-03-26Move OAM update flag to a registerDavid Guillen Fandos
Fix a small bug in MIPS dynarec that affects non -G0 targets
2021-03-17Enable runtime dynarec enable/disableDavid Guillen Fandos
Added a more thorough cache cleanup for reset/mode-change too. Fixed the mmap initialization that ends up leaking memory. Minor x86 asm fixes for Android.
2021-03-17Remove BIOS reserved translation areaDavid Guillen Fandos
This is not really necessary since it can share area with ROM. Performance impact should be very minimal (haven't noticed it myself) and could be compensated (even by a positive offset) if we bump the ROM cache area size. Tested with several dynarecs.
2021-03-16Rewrite of the MIPS dynarec stubsDavid Guillen Fandos
This allows us to emit the handlers directly in a more efficient manner. At the same time it allows for an easy fix to emit PIC code, which is necessary for libretro. This also enables more platform specific optimizations and variations, perhaps even run-time multiplatform support.
2021-03-10Remove PSP-specific stuff from MIPS backendDavid Guillen Fandos
This is unnecessary since newlib supports all file I/O. This is needed for other mips ports
2021-03-08Remove libcoDavid Guillen Fandos
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.
2019-10-03Reenable native file IO on PSPbmaupin
2014-12-11Provide two commentstwinaphex
2014-12-11Demacro-ize main.ctwinaphex
2014-12-10Add HAVE_DYNAREC ifdeftwinaphex
2014-12-10Style nitstwinaphex
2014-12-10cleanupsaliaspider
2014-12-10cleanupsaliaspider
2014-12-10use correct save directory.aliaspider
2014-12-10implement retro_serialize/unserializealiaspider
2014-12-09Cleanups - main.ctwinaphex
2014-12-09Clean up some unused stufftwinaphex
2014-12-09Remove unused clock_speed variabletwinaphex
2014-12-09Remove set_clock_speedtwinaphex
2014-12-09Assume PC_BUILDtwinaphex
2014-12-09Remove useless GUI font codetwinaphex
2014-12-09Remove gui.ctwinaphex
2014-12-09Remove zip.c/zip.htwinaphex
2014-12-09video output now works in statically linked builds.aliaspider
core can't be used as a shared library yet due to the dynarec not working when compiled with -fPIC
2014-12-09hide some warningsaliaspider
2014-12-09fix undefined referances.aliaspider
2014-12-09can compilealiaspider
2014-07-14Take out Windows CE codetwinaphex
2014-07-14Get rid of PND_BUILD/RPI_BUILD/POLLUX_BUILD/GIZ_BUILDtwinaphex
2013-03-07raspberry pi portDave
2012-10-06initial Caanoo portnotaz
plus some random tweaks
2012-10-05make sound reinitablenotaz
this will be used for Caanoo overclocking workaround
2011-09-08u7/pandora releasenotaz
2011-09-08make romdir saving not GP2X specificnotaz
not using config as it's binary, this is intended to be user editable.
2011-09-08store saves and configs in gpsp dirnotaz
Don't like ROM dir littering. Still looking there for .sav and .cht files though.
2011-09-06enable -Wall and fix warnings reported by itnotaz
2011-09-06initial pandora port, with hardware scaling and stuffnotaz
2011-09-04refactor GP2X stuff for pandora reusenotaz
2011-09-04unify non-psp synchronize(), fix a few sound issuesnotaz
..like ignoring real buffer size and not stopping sound thread on exit
2011-09-03get rid of GP2X_BUILD checks where they are not really needednotaz
2009-06-21fixed clock and scaling config saving handlingnotaz
2009-06-13u5 releasenotaz
2009-06-06cpu clock setup, save rom dir, cleanupsnotaz
2009-05-31working tripple bufferingnotaz
2009-05-30wiz port wipnotaz
2009-05-21tweaks from 2008 (gpsp09-2xb_3)notaz
2009-05-21original source from gpsp09-2xb_src.tar.bz2notaz