* Adding initial version of the core
* Adding base files
* Trying to load waterbox now
* Adding stella
* Adding bk class
* Compiling bk interface to stella core
* Now compiling against Stella + SDL2-based BK backend
* Progress
* More progress
* Frame advancing (no render)
* Calling video update but crashing on zero div
* Now rendering to screen with correct palette
* Now rendering appropriately and with correct palette based on region
* Now reading controls
* Trying to capture audio
* Now adding audio
* Now polling inputs
* Now polling inputs
* Now reporting memory regions
* Added memory regions
* Removing debug prints
* Fixing indent
* Adding stella core
* Updating readme and make all cores
* Recovering ending comma
* Using heap alloc for sound buffer
* Removing unnecessary files
* Update src/BizHawk.Emulation.Cores/Consoles/Atari/Stella/Stella.IMemoryDomains.cs
Co-authored-by: James Groom <OSSYoshiRulz+GitHub@gmail.com>
* Update src/BizHawk.Emulation.Cores/Consoles/Atari/Stella/Stella.IMemoryDomains.cs
Co-authored-by: James Groom <OSSYoshiRulz+GitHub@gmail.com>
* Fix
* Restoring vscode
* Removing warning
* Update waterbox readme
* Fix Stella's `[Core]` attr
* Increased sound buffer size to 1Mb, as some games need more than 4K
---------
Co-authored-by: James Groom <OSSYoshiRulz+GitHub@gmail.com>
Co-authored-by: Morilli <35152647+Morilli@users.noreply.github.com>
Co-authored-by: YoshiRulz <OSSYoshiRulz+git@gmail.com>
This does not remove the llvm dependency for waterbox, just the submodule. The script pulling and checking out llvm kind of conflicts with the submodule, and having it be a submodule is not necessary here anyways.
* 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>
Deflate compression in rewinder is now zstd compression
Binary blobs in zip files are zstd compressed (text is uncompresed for user ease).
All wbx cores and resources are re-compressed with zstd, wbx build scripts are changed to account for this. Shaves off a bit with download size and it's faster to decompress to.
* nymashock wbx
* shit
* lagflag stuff
* saveram stuff
* debugging how this works
* lets see if this works better
* fuck strings
* ok let's do this right i think
* probably have this all working
* get repo in
* add nymashock to build scripts
* also update this readme
* get rid of this default, seems to break internally anyways?
* ""fix"" dualshock (wtf to do with rumble???), make override defaults actually default, add hack to allow for overriding default controllers
* hide useless rtc settings
* hack fix override defaults for controllers, get something going for nyma psx schema
* oops dont forget this
* make fucking default controllers hack work (what the fuck is this code???) also complete schema and mnemonics
* FUCKING FIX THIS BULLSHIT DEFAULT
* let's make this a little nicer
* add mnemonics for □/△/○, fixes weirdness with input display
* fix weird overscan issues when multiwidth + no-interlacing happens at the same time
* do this "properly"
* analog mnemonics
* default controls for dualshock/gamepad filled
* set nymashock as preferred core
* apparently this didnt get committed?
* update README too
* control name fix
* Revert "control name fix"
This reverts commit a3cae89b18.
Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
For the external cores, I simply listed whatever the release build we have right now built them with. There are other makefiles and such hanging around...
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.