nattthebear
d57e3d768a
commit new builds of all the nyma cores because of something i changed with faust
...
fixes #2083 (presumably? the user didn't provide any description so i'm not sure)
2020-06-01 12:18:15 -04:00
nattthebear
474d41bd8a
add mednafen's pce fast core
...
~1.6x the speed of the mednafen pce core, or something
Supports all of the same features except ADPCM ram view
TODO: romloader hookups
2020-06-01 11:23:18 -04:00
nattthebear
6c9b42a526
faust: Support MT renderer
...
and who said waterbox can't thread. well, it sort of can't. but it sort of can.
the speedup isn't that great, but speed is now pretty close (5%?) to snes9x in the only game that matters (final fantasy 5)
2020-05-31 11:53:15 -04:00
nattthebear
a87fc36e39
Update some docs
...
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...
2020-05-30 19:13:27 -04:00
nattthebear
6938c07708
nyma - enable inline avx, and recompile cores that used it
...
allegedly worth a speedup on faust and pce. didn't notice any change, but it's not slower
2020-05-30 19:13:27 -04:00
nattthebear
1711914488
snes faust: enable SA1 IRAM as a memory domain
2020-05-30 17:05:55 -04:00
nattthebear
0085fee935
faust - memory domains, input callbacks, lag flags
2020-05-30 11:09:26 -04:00
nattthebear
5e3971a87b
Add mednafen snes "faust" core
...
Speed somewhere between shizzlenineizzle and byuugan. Some things not hooked up yet.
2020-05-29 20:04:39 -04:00
nattthebear
de25b53fe2
Use google flatbuffers for some waterbox core communication
...
Nyma cores have to move some big complex structs on init and it's annoying and error prone. This solution is not fast, but these are one time transfers anyway, and it does keep code size and saved size down. Architecture yay.
2020-05-29 18:03:01 -04:00
nattthebear
978b2dd247
Remove all files for the old unmanaged ngp waterbox core
...
It's been fully integrated into nyma now
2020-05-27 19:43:35 -04:00
nattthebear
2afe356fc9
Move ngp over to nyma core and update to latest mednafen
...
It's seen some upstream updates recently, so that's cool
2020-05-27 19:33:31 -04:00
nattthebear
287e78a5a9
pce - add input callback
...
forgot this
2020-05-27 16:01:53 -04:00
nattthebear
0295f7472b
PCE enhancements
...
Moderate savestate size reduction. Build system changes.
2020-05-27 15:23:40 -04:00
nattthebear
b0620ca79d
PCE tweaks
...
finish up memory domains
make bram behave like pcehawk, instead of giving it to every game, only give it to games that had it
finish up ppu view
2020-05-27 07:35:51 -04:00
nattthebear
0891e448d7
mednapce - lag flag, some more memory domains, some ppu view work
2020-05-26 21:23:52 -04:00
nattthebear
6da864f4f7
waterbox: fix linker script putting __eh_frame_hdr_start in the wrong place
...
This was benign, because libunwind will ignore a frame header it doesn't understand (__eh_frame was still fine). But now there's no spew in the console. And over the next 50 years it will save a combined 0.3 seconds of cpu time
2020-05-25 21:02:01 -04:00
nattthebear
f9b5b9e374
pce - implement most memory domains our existing core does
...
The mednafen debugger system makes this easy, unfortunately that has a lot of other baggage, so do it this way
2020-05-25 12:49:36 -04:00
nattthebear
bc8d298a88
support pce-cd and sgx in nyma
2020-05-25 12:49:34 -04:00
nattthebear
8c9f4e24d8
settings infra
2020-05-25 12:49:34 -04:00
nattthebear
0caa087684
recompile all remaining existing cores that weren't compiled since the linkscript change
2020-05-25 12:49:33 -04:00
nattthebear
69d3dbc35f
pce: basic rom loading and playing works
2020-05-25 12:49:33 -04:00
nattthebear
257aa991fd
progress, or regress, or somegress
2020-05-25 12:49:33 -04:00
nattthebear
24286be735
Linking and unwinds
...
The goal here is to provide an unwind implementation that works. We (probably) don't have a working ldso, so reconfigure libunwind to work without that. To do that, it needs __eh_frame_* variables which it can addressof to find the locations of .eh_frame and .eh_frame_hdr. There is no way I could get gold to add these at all, so switch back to ld and add a custom linkscript. The custom linkscript gives us the opportunity to simplify the savestate memory mapping stuff inside ElfLoader, which should knock a bit of time off of state loads -- those VirtualProtect calls are not cheap. This also removes a potential source of nondeterminism with certain clever out of range pointers.
Any waterbox core that I didn't recompile for this commit will assert now until it is recompiled, because .wbxsyscall is in the wrong palace.
2020-05-25 12:49:32 -04:00
nattthebear
a213423efd
recompile libcxx and friends with nopic nopie, and recompile libsnes to test it out
...
once again, roughly 10% filesize savings. seems to be about 3% faster too
2020-05-25 12:49:32 -04:00
nattthebear
c8d558a275
fix set_thread_area + get_thread_area, recompile libc nopic nopie
...
So far I've only recompiled gpgx against the new libc, but I get a 10% smaller wbx file, which is cool
2020-05-25 12:49:32 -04:00
nattthebear
0f65351e13
Marching onward
2020-05-25 12:49:31 -04:00
nattthebear
2de9c1d117
Teach yourself C++ in 5000 easy crashes
2020-05-25 12:49:31 -04:00
nattthebear
39c0402bd8
Starting to work on some api stuff
...
ngp only for now
2020-05-25 12:49:31 -04:00
nattthebear
9f358bc8cc
pcfx compiles
2020-05-25 12:49:31 -04:00
nattthebear
9fe80952ff
zlib blah blah
2020-05-25 12:49:30 -04:00
nattthebear
fa139cbcf8
lynx and wonderswan compile
...
At least one of these is in need of upstream updates, so maybe we waterbox them, maybe we don't
2020-05-25 12:49:30 -04:00
nattthebear
e892dcef82
milestone: vb and ngp compile
2020-05-25 12:49:30 -04:00
nattthebear
311b549b6f
Add mednafen sobmodule
2020-05-25 12:44:22 -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
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
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
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
c2c526e84b
CDL: fix bsnes SGB cdl totally not working ( fixes #1344 )
2020-01-19 18:43:54 -05:00
zeromus
fd960e03fe
CDL: add CARTROM logging for many more cases, including superfx (should fix #1597 )
2020-01-19 18:43:54 -05:00
zeromus
c7dbed306a
add build.sh
2020-01-19 18:43:54 -05:00
zeromus
a5e8ae88ed
add cpu X and M flags to CDL for ExecFirst ( fixes #1410 , I hope)
2020-01-19 18:43:54 -05:00
zeromus
6577c7b71a
makefile to build all waterbox cores
2019-12-24 14:29:28 -05:00
alyosha-tas
c6c5217c97
O2Hawk: initial functionality, also remove O2EM
2019-12-17 12:09:58 -05:00
feos
20f10b9311
bsnes: remove embarrassing leftover empty space from trace log
...
requires rebuilding
2018-05-21 22:25:34 +03:00
nattthebear
ebd6408315
add h, v regs to snes regs list
2018-05-18 17:35:28 -04:00
nattthebear
fe85175619
Fix Issue #1048 : Flags on memory domain in picodrive
2017-11-13 21:12:27 -05:00
adelikat
635c1cdd05
Merge branch 'domainedmemoryhooks' of https://github.com/TASVideos/BizHawk into domainedmemoryhooks
2017-10-29 12:40:52 -05:00
nattthebear
148cadda72
Fix issue #1009 : sameboy: stack pointer saved in init state
2017-09-29 18:07:50 -04:00
nattthebear
148e40b504
Fix stack overflow in printer callback
2017-08-29 18:16:02 -04:00
nattthebear
0c3e18efb1
Could you use these things to print like, boobs?
2017-08-29 18:16:02 -04:00
nattthebear
d990226a26
human build bot has completed!
2017-08-24 21:10:32 -04:00
zeromus
b868c07a10
blind commit: add SMP hooks to bsnes to test hook scoping system (need to build a waterbox to proceed)
2017-08-23 10:08:43 -04:00
nattthebear
c001a1add5
saturnus - Port fix from Mednafen Team to fix super tempo
2017-08-20 20:42:07 -04:00
nattthebear
36a84bd0dd
Fix savestate hash match issue with Saturnus
2017-08-13 17:21:00 -04:00
nattthebear
da88560815
sameboy: Fix some sgb audio issues in donkey kongs. Two problems: One, due to the HLE startup, DK starts writing audio data too early and sticks the SPC in a bad state. Two, the full transfer format for SOU_TRN doesn't seem to be documented anywhere; it's acutally a 0-terminated list of regions to upload; not just a single region.
2017-07-22 14:22:46 -04:00
nattthebear
569730a61b
picodrive: region select. closes #929
2017-07-22 10:55:17 -04:00
nattthebear
fcfe2b23c9
Pizza Boy makes some interesting attempts, but doesn't stack up against the serious GB cores
2017-07-21 18:23:14 -04:00
nattthebear
38ff289990
Sameboy: Add copyright notices from original repo back. They were inadvertently left out because I copied a subdirectory and not the root directory
2017-07-21 16:44:12 -04:00
nattthebear
d640c16cff
sameboi: fix lag flag and input callback on non-sgb mode
2017-07-20 18:39:51 -04:00
nattthebear
7880cbabb3
I thought there was more to this vb settings thing. I guess not.
2017-07-20 17:22:40 -04:00
nattthebear
491dc9c1fb
sameboy: wbx file
2017-07-19 20:43:44 -04:00
nattthebear
0d6bdc200b
sameboy: a bit of savestate optimization
2017-07-19 20:38:19 -04:00
nattthebear
a640c53e52
Sameboy: RTC
2017-07-19 20:18:13 -04:00
nattthebear
57ca86710b
sameboy: SAVERAMS
2017-07-19 19:49:23 -04:00
nattthebear
cf8013af4a
sameboy: Add more features for the merciless slave driver
2017-07-19 18:48:11 -04:00
nattthebear
7d2ee60ade
sameboy: lag flag / inputcallback
2017-07-19 17:08:48 -04:00
nattthebear
09672a6bf9
SGB: fix bugs in attr chr. Fixes some graphical glitches in Daffy Duck Marvin Missions
2017-07-18 20:45:06 -04:00
nattthebear
bfd7337a32
sameboy: SGB support. Mostly accomplished through the power of copy+paste, since we plan on dropping pizza boy
2017-07-18 19:57:53 -04:00
nattthebear
1f89158179
sameboy: input
2017-07-18 18:19:51 -04:00
nattthebear
721a6c0470
sameboy: brip bruffer
2017-07-18 17:46:21 -04:00
nattthebear
f7bb894753
sameboy: it's alive!
2017-07-18 16:48:49 -04:00
nattthebear
34e68c589f
Sameboy progress
2017-07-18 16:48:49 -04:00
nattthebear
87f7183a27
sameboy: initial commit
2017-07-18 16:48:49 -04:00
nattthebear
c31ebe176d
gpgx: multidisk? dunno
2017-07-17 18:49:16 -04:00
nattthebear
0389b346f3
pcfx: fuck you mode
2017-07-16 10:01:31 -04:00
nattthebear
05299c618f
picodrive: Only honor reset and power buttons on leading edge. Works around bug where resetting every frame broke the emu
2017-07-13 18:06:35 -04:00
nattthebear
d305c873bf
Gpgx: Backport some changes that were supposed to fix something
2017-07-11 20:52:08 -04:00
nattthebear
ab4d81788e
TSTHawk: Potentially release ready?
2017-07-11 20:35:01 -04:00
nattthebear
9ab8b50c82
waterbox: Allow special section attributes to put variables directly in sealed or invisible. This can be easier to use than the heaps for adapting some existing code
2017-07-11 18:46:25 -04:00
nattthebear
ff58de56a1
TSTHawk: Settings?
2017-07-11 18:12:03 -04:00
nattthebear
b7d743e280
TSTHawk: Lag flag detection and InputCallbacks
2017-07-10 20:35:51 -04:00
nattthebear
a1bcb90ee6
TSTHawk: Fix interlaced display so it doesn't crash because crashing is bad
2017-07-10 19:12:44 -04:00
nattthebear
a9ba725cb3
TSTHawk: Fix less than ideal video output. Whoops!
2017-07-09 14:16:15 -04:00
nattthebear
110d741cb3
TSTHawk: controller stuff
2017-07-09 13:40:52 -04:00
nattthebear
dd7389f848
PicoDrive: Add core query whether 32X hardware is currently active. Remove code that assumed that the emulator would always activate 32X hardware when _32xPreinit was true, or that it would never activate 32X hardware when _32xPreinit was false. Both assumptions are false.
2017-07-09 12:14:27 -04:00
nattthebear
d1ff443540
PicoDrive: Add the rest of the games to the DB. Expose IRegionable information and use it to inform FPS rate
2017-07-09 11:59:54 -04:00
nattthebear
0ee1832d57
Adult Video Games
2017-07-09 11:18:03 -04:00
nattthebear
ee0ae25d3e
uzem: Fix some controller stuff: clock activates on rising edge, latch is continuously active whenever high... fixes the detect controllers routine in the official kernel
2017-07-04 09:11:31 -04:00
nattthebear
bd57871171
New! With more games than the 32X! And better sounding ones too!
2017-07-03 21:29:34 -04:00
nattthebear
ea02e62d05
PicoDrive: Add memory domains, including ISaveRammable support. In order to get memory domains for 32x, "32X" needs to be on the gamedb entry.
2017-07-03 11:43:03 -04:00
nattthebear
5e54b896b7
PicoDrive: Disable idle loop detection. Move rom to alloc_sealed. Set heap sizes.
2017-07-03 10:50:24 -04:00
nattthebear
d1a9c41466
PicoDrive: Fail fast when trying to run any hardware that calls PicoCartResize (SVP, Pier Solar, and others). Bizhawk won't be using this, so no reason to think about it.
2017-07-03 10:24:26 -04:00
nattthebear
b6d2f38899
remove stray printf
2017-07-03 09:09:00 -04:00
nattthebear
bc55597e90
PicoDrive: CD Audio support. GPGX and PicoDrive both share the same MCD emulation core, which has significant accuracy difficulties with CD audio...
2017-07-03 08:16:34 -04:00
nattthebear
24cd317a1c
PicoDrive: Mega CD. No CD audio yet.
2017-07-02 20:46:01 -04:00