* Waterbox setup has been revamped to use the latest llvm parts (llvm 16 for compiler_rt/libunwind/libcxx/libcxxabi).
* Clang is now possible to use, and is the preferred compiler (due to superior performance).
* Supported compilers are now clang 14/15/16, and gcc 12.
* Other core updates are mixed in.
---------
Co-authored-by: Morilli <35152647+Morilli@users.noreply.github.com>
This never really worked. Besides being unusuably slow and not very accurate, there was a miscompliation problem that caused release builds to not function.
* emu83
* builds and get rid of wtf this thing is
* multidisk bundler for ti83
* release
* link src
* also put in the commit hash why not
* Nitpicks
* update ""rom"" extensions for ti83
* don't forget to set a preferred core
Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
* basics for sameboy
* lol
* bleh
* lol
* push this in
* push this in
* settings, and also update sameboy bootroms
* bleh
* build linux
* remove some debugging shiz
* fix the order of this
* debug stuff also do gpu palettes right
* use new key mask API
* push shit in
* bleh
* add in replacement impl for joypad, use until opposing directions are allowed upstream
* update
* finally get this working without needing GB_INTERNAL
* hook up acc controls
* oops
* oops x2
* oh right this doesn't use this
* finish this up
* also mark this as released
* cleanups
* Nitpicks
Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
typically changing the submodule paths wrecks repositories. you can try to repair it by deleting the directories and doing "git submodule update --init --recursive" from the bizhawk root. In my experience, git GUIs may mess something up here
Waterbox supports threads now, but they're not real threads on the host side because that's complicated and can be nondeterministic. Instead, everything is scheduled to share one host thread. This means that scheduling is actually cooperative and certain patterns of spinlocks and other nonsense can fail to work at all, but "regular" code probably will.
With this, add DobieStation PS2 core. This core was selected because it has threads and is otherwise simple to port; easy to build and a good core/frontend separation. It's not a wonderful core however, with low speed (made abysmally lower by our lack of real threads) and low compatibility, so it remains a curiosity for now.
Create an all new waterbox build environment:
WSL2 + Ubuntu 20.04 LTS (Other linuxes may work)
Musl libc with waterbox customizations
LLVM's libclang-rt, libunwind, libcxxabi, libcxx
Static linking to elf files
Compared with the old system, this is easier to set up a dev env for and easier to update in the future. The executables are larger but produce smaller savestates due to static linking. The modern toolchain means advanced library features and language features that sometimes appear in some upstream cores will be reusable.