Commit Graph

587 Commits

Author SHA1 Message Date
TiKevin83 9768abbb35 This seems to make the VRAM access quirk work in Wario Land II as well as the testROMs 2020-05-22 09:43:37 -04:00
TiKevin83 5a7c198d46 cleanup 2020-05-22 09:28:36 -04:00
TiKevin83 2eb321a495 Fix a testROM that avoids the quirk when in double speed mode 2020-05-22 09:16:51 -04:00
TiKevin83 9e33f5f6db Fix VRAM end of line testROM and a desync in GB Wario Land II 2020-05-21 11:41:37 -04:00
nattthebear 7bda234fe1 Port upstream gpgx commit
56f3d64265

Theoretically fixes https://github.com/TASVideos/BizHawk/issues/1390 but I haven't tested it
2020-05-21 10:39:59 -04:00
nattthebear 3b207f54ce 32x - fix crash, fixes #1826
Trigger condition:  Any 32x rom smaller than 4MB in total size that tries to read out of bounds between its actual end and the 4MB limit

I've fixed the emulator crash, but I do not know if such roms are actually mirroring correctly - they probably aren't
2020-05-21 10:04:12 -04:00
nattthebear 21cdf5120b
Revamp waterbox build environment and runtime. (#2027)
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.
2020-05-20 15:34:24 -04:00
feos e075012b70
Rundum (#2019)
fix #1701
fix #1285

Co-authored-by: nattthebear <goyuken@gmail.com>
2020-05-18 21:11:18 +03:00
nattthebear 00aebc110c
Fix 3 band equalizer in Genesis (#2008)
If you tried setting your gains to 100 in the previous patch, it worked sort of, but I decided to incorporate ekeeke/Genesis-Plus-GX@f6f4556 as well to actually fix it completely, and rescale the setting properly so that 1.0 really is neutral gain.

Fixes #1319
2020-05-14 20:29:02 -04:00
nattthebear a040e67c95
Add option to force sram in genesis core (#1991)
gpgx upstream automatically gives 64KiB sram to every game of size 2MB or lower, unless specifically overrided.  That sucks and we don't do it.  But some games do need it; there's not enough information to autodetect otherwise.  So add a flag that we can set in gameDB for it, and set it true for two known games that have problems otherwise.
2020-05-09 13:48:46 -04:00
feos d37de2e524 mgba got lost in the forest 2020-05-07 18:12:44 +03:00
nattthebear 722358c1b1
Fix pokeymans pirate roms on gpgx (#1986)
mapper_32k_w expects to be able to write to rom area, so those roms now need larger savestate space
We could be extra clever and alloc_invisible the space and then restore after loadstate, but this pokeymans garbage doesn't deserve that work
2020-05-06 09:39:51 -04:00
adelikat 8c17ac8da9
Remove vba-next (#1969)
* remove vba-next c code

* decouple mgba code from vbanext stuff

* delete vbanext C# core

* rip out gba core picker

* remove reference to VBANext from .csproj file

* consolidate
2020-05-02 15:30:58 -05:00
nattthebear 061410a097
Pull in some GPGX fixes from upstream (#1971)
Fixes #1916
Fixes #1968

Pulls in 4017d379e6
Pulls in 147ad71a3c
Pulls in (more or less) a modified form of 200f9a7349
2020-05-02 10:57:42 -04:00
SuuperW ac2d5d7aac update libmelonDS.dll with a few fixes 2020-05-02 08:47:37 -05:00
zeromus 9b19da24a0 update octoshock.dll to match mednafen latest. (very tiny changes only in spu, shouldnt invalidate any prior testing) 2020-05-01 17:18:56 -04:00
TiKevin83 99d06d8479 GBA as GBC mode is only relevant on GBC 2020-04-27 15:35:09 -04:00
feos da584d1a6e update mgba to latest master (past 0.8.1) 2020-04-25 10:43:00 +03:00
SuuperW ebc49db08f update libmelonDS.dll 2020-04-23 13:12:22 -05:00
SuuperW a57d09fe99 add some setters for MelonDS 2020-04-13 12:26:42 -05:00
SuuperW c958afceb0 update libmelonDS.dll with hi-res support, and allow changing that setting
does not display properly yet
2020-04-13 12:07:05 -05:00
adelikat 7c79cfab67 mGBA - implement IDebuggable.SetCpuRegister() 2020-04-11 12:57:47 -05:00
zeromus 46c58c2172 update octoshock dll 2020-04-09 16:13:41 -04:00
zeromus 48a62943f1 new dll 2020-04-07 23:53:40 -04:00
zeromus b53eec452a update octoshock dll 2020-04-06 03:40:17 -04:00
SuuperW ca9e12a929 update libmelonDS.dll 2020-03-25 14:10:24 -05:00
SuuperW bcc4fb0bab update libmelonDS.dll to work with previous commit 2020-03-22 18:43:42 -05:00
SuuperW c59d8130bb
DS Hawk (#1884)
* Add MelonDS.cs, support opening (but not really) .nds files.

* init MelonDS

* MelonDS: Load selected ROM.

* MelonDS: FrameAdvance and frame counter.

* MelonDS: IVideoProvider

* MelonDS: Add DLL files.

* MelonDS: IInputPollable

* MelonDS: IStatable (and add forgotten file MelonDS_InputPollable.cs)

* update libmelonDS.dll

* MelonDS: ISoundProvider

* Add NDS to Global.SystemInfo, and convert screen coords when running NDS.

* set up default NDS controller

* MelonDS: ISaveRam

* MelonDS: remove romlist.bin

* MelonDS: ISettable

* Create firmware folder if it doesn't exist on Windows; otherwise, an exception is thrown.

* Add database entries for NDS bios/firmware files.

* MelonDS: Use the bios/firmware files selected in BizHawk's "Firmwares" dialog.

* MelonDS: Re-work sync settings a bit.

* NDS's firmware file contains user settings; these are over-written by sync settings, so we shouldn't allow them to impact the hash

* MelonDS: Add (currently unused) bootToFirmware sync setting, and NDSSettings dialog.

* Update NDS firmware hash; it seems I had somehow corrupted mine.

* MelonDS: Use boot to firmware sync setting.

* MelonDS: Allow user to set some firmware user settings via the NDS settings dialog.

* MelonDS: Add singleInstance attribute to core.

* MelonDS: IMemoryDomains

* update libmelonDS.dll

* MelonDS: Set up default sync settings if none are provided.

* MelonDS: Allow user to reset settings to default.

* MelonDS: bios+firmware files are recommended

* libmelonDS.dll

* MelonDS: Don't use real time.

* MelonDS: Update to reflect new way of handling RTC in MelonDS.

* MelonDS: Notify if savestate load failed.

* update MelonDS.dll

* MelonDS: Allow user to set startup date/time in settings dialog.

* MelonDS: Create melon directory if it doesn't already exist.

* Don't include Designer's "fixes" in PR (partially reverts 56b474c00)

* Don't show a broken console window; alert user of need to restart instead.
This fixes an error related to MelonDS trying to use the broken stdout stream.

* update default NDS controls to match other updated controls

* Implement a system bus, using ARM9 read/writes.

* MelonDS: Allow BizHawk to change the contents of the frame buffer.

* update libmelonDS.dll

* fix stuff that was merged incorrectly, or was broken by merge

* update libmelonDS.dll
(includes memory leak fix)

* update libmelonDS.dll
(fixes memory leak and an occasional savestate crash)

* fix stuff that broke with the merge

* cleanups, remove stuff that is no longer needed by service interaces

* simplify DS MemoryDomains

* DS - fix order of controller buttons to be consistent with other consoles.  This probably breaks any existing movies made on this core, but those would have been experiments, right?

* NDSSettings - make min value for day and month 0, whiel those aren't "valid" values they are the default values in the core for whatever reason, better to not crash on load and not show a value that isn't actually the setting.  This can easily be reverted if the core changes to default to 1

Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
Co-authored-by: adelikat <adelikat@tasvideos.org>
2020-03-21 10:53:30 -05:00
TiKevin83 7e37fb2540 fix MBC1 games like Pinocchio that need adjustedRombank 2020-03-13 00:39:39 -04:00
feos b07f8db8c9 update mgba to fix desyncs 2020-02-27 21:44:28 +03:00
feos 0a81dac965 add mem watchpoints to mgba 2020-02-22 14:28:45 +03:00
TiKevin83 dc143c3d96 fix Pokemon Crystal (JP) 2020-02-18 17:34:49 -05:00
TiKevin83 9d0cd2bbf4 clean up some stray fields missing from the savestate system 2020-02-17 21:09:16 -05:00
TiKevin83 612e1ef800 temp fix for traceback PC__READ_FIRST() calls conflicting with the prefetch fixes from upstream 2020-02-17 14:52:41 -05:00
TiKevin83 3b804b789a Update libgambatte platform target for building on windows 10 2020-02-17 14:49:49 -05:00
zeromus 758a3e0f15 new octoshock dll 2020-02-09 23:50:45 -05:00
feos ca33a0ac9d it actually makes sense to commit things you wanna test 2020-02-04 11:09:57 +03:00
feos 8ff2ca2cd1 update gliden
bugs I saw in perfect dark seem to be present in the previous update too, so ugh
2020-02-04 10:27:10 +03:00
feos 277b302437 tweak mgba hooking 2020-02-04 10:27:09 +03:00
alyosha-tas ec3506ab29
Add MSXHawk DLL 2020-02-03 17:27:44 -05:00
feos 16045e35fc add EXP void BizSetExecCallback(void(*callback)(uint32_t pc)) to mGBA 2020-02-03 22:51:34 +03:00
feos 335a55306f mGBA trace logging 2020-02-03 12:50:41 +03:00
feos e83f3717ad rebuild mgba without mgba-util/dllexports.h dep 2020-02-01 11:48:18 +03:00
zeromus e7a1638e00 SNES CDL - set DMAData flag for dma reading rather than leaving nonsense flags (fixes #1409) 2020-01-22 22:01:04 -05:00
zeromus 7a903f15df update mupen dlls to remove msvcr 2013 dep.
note, I did a sloppy job here.
1. The mupen projects werent upgraded
2. I didn't commit the libs from the upstream mupen deps repo
3. I renamed some of the dlls from the upstream mupen deps repo to match what we expected on account of using the old libs
4. zlib is here twice because the new libpng16.dll depends on zlib.dll and our mupen parts depend on zlib1.dll/freetype26.dll

but this will do the job until the great mupen update probably
2020-01-20 17:26:30 -05:00
zeromus 03b6f6cb21 new bsnes wbx.gz 2020-01-19 18:43:54 -05:00
feos ca3d784f9c update mGBA to upstream master 2020-01-12 11:27:38 +03:00
MrCheeze b90f72c34d Implemented the remaining N64 R4300 trap instructions besides TEQ 2019-12-16 21:22:34 -05:00
MrCheeze 3f26d14eaa added SRAM and FlashRAM memory domain support for N64 2019-09-08 23:20:35 -04:00
feos 6742978e0b update gliden to release 4.0 2019-06-16 12:20:59 +03:00