This consolidates some of the work done for TARGET_NO_NVMEM and
feat/no-direct-memmap. If nvmem is disabled at compile time or alloc
fails _nvmem_enabled() will return false. Various other fixes
and cleanups all around.
- Import naomi code from nullDC, modify and cleanup
- Only unprotected dimm-board support, custom lst files
- Still a compile option
- Boots naomi bios and some games, no input yet
This adds the ability to simply close the emulator when launched
externally and prevents changes designed for linux from generating
conflicting controller configurations on Android (and may be needed for
iOS as well).
This works, but is extremelly hacky. Must be started without attached debugger, lldb doesn't want to let go of EXC_BAD_ADDRESS, but reicast really depends on it getting delivered as SIGSEGV/SIGBUS. Also xcode has a really bad day upon seeing the jit code. Oh well.
There's some dynarec bug that causes color corruption on bios logo/boot triagles, TA crash on ikaruga and infinitive loop on crazy taxi. I'd guess some fp-memory-write thingy, abi, or smth. Too bad.
- Force code to compile in arm mode (arm jit -> thumb mem functions is complicated)
- SIGILL, SIGBUS. Works w/o Mach exceptions and EXC_BAD_ADDRESS
- Code buffers move to __TEXT, munmapped && memmapped to actually work
- Primitive input. Button + start, or left (works to get out of bios date screen)
- Fixup emitter for thumb2/interworking (didn't work though, reverted to arm cc)
- Block Manager: Disable mem saving / page fault alloc-on-demand logic
- Move cycle counter to r11, r9 is not clean on iOS. Remove r11 from reg alloc list
- Cache flushes for iOS
- log to log.txt
- load game.chd
This is very simplistic, but can already boot and run many games
Known working so far
- Dead Or Alive 2 LE
- Head Hunter
- Marvel VS Capcom 2
Not working
- (Almost) all others
THIS IS A MESS. Sorry @angelXwind :p. We'll have to clean up and merge for r8, but most of the nasty work is there.
What works:
- full init, memalloc, mprotects, etc
- boot
- gles2
What doesn't:
- Exceptions for page faults
- Breaks texture cache
- Breaks dynarec because of fastpath
- segfaults don't work, needs special mach exc_server magic that still eludes me after 5 hours
- Dynarecs. RWX issues, and broken buffer mappings. Also some minnor linking stuff (most of it is taken care of)
- Audio. I just killed it off.
- All of the ui. Was getting in the way of me not knowing how to edit story boards...
- Input
Also, merged branch 'skmp/mac86-hackport' into skmp/ios-wip
Have fun~
Integrate previously locked settings with valid user warning
Put a note about the beta compile link in the README.md
Add a super fancy about that supports Github commit logs
Revise about with git log, Highlight current build in commits
Check for a null value when getting the current commit sha
Chinese Simplified Translation from @weihan1102
Rename Simplified Chinese res folder for proper complie
Add links to the website and beta compile site from about
Add option for custom mapping to set joystick to non-dpad
Fix a missing check for the user saved value of the A button
The Moga only operates one way, there is no variation test
Add region values, Set cable to match formatting of others
Reduce the number of random string array calls, jsCompat
It was unnecessary to keep getting the array, It was even less
necessary to keep getting the preference values. The port
identification letters are set multi-lingual values.
Label the about links to prevent any confusion (Not mirrors)
Missing a check on the motion events to determine compat
Add a check to verify Kitkat, Remove the standard override
The new API verification complains about the Override, so this is a
preventative step for if and when it is updated. It may also prevent
some issues with compatibility.
Run organize imports to reduce the amount of excess code
Add a controller option to go to custom layout from selection
Prevent a leak where multiple items were highlighted in list
@AndroidGX French Translation resources