nattthebear
beb51ab286
Fix a linux waterbox-releated crash
...
Repro steps:
1) Load any waterbox core
2) Do anything that would trigger a NullReferenceException on C# side that you'd normally expect to be caught
2020-07-12 11:03:12 -04:00
nattthebear
d354faeec1
probably fix linux waterbox issue
2020-07-12 07:49:18 -04:00
nattthebear
4639c1f2ca
minor cleanup of calling convention adapters
...
sync the generator code with the generated code, remove useless endbr64 shit
2020-07-11 11:09:48 -04:00
nattthebear
b0e6174467
minor cleanup
2020-07-08 13:54:47 -04:00
nattthebear
a67fa70632
waterbox linux - rework to avoid possible memory leak
...
Bizhawk never would hit this because it only ever runs waterboxes in one host thread, but an application that spun up many threads and ran waterboxes in each would leak 32 bytes of heap for each native thread destroyed, which is super duper not really meaningful at all
2020-07-08 07:22:15 -04:00
nattthebear
c8985e3007
Waterbox: Stack Marshalling ( #2209 )
...
Waterbox guest code now runs on a stack inside the guest memory space. This removes some potential opportunities for nondeterminism and makes future porting of libco-enabled cores easier.
2020-07-07 17:48:12 -04:00
nattthebear
3a18f6356d
Rebuild all of waterbox as sysvabi, not msabi
...
This helps linux at the expense of windows, except it seems like windows gets a nice little speed up as well
2020-07-03 18:21:48 -04:00
nattthebear
2ee3125724
Refactor gpgx init method to use fewer arguments
...
Upcoming waterbox changes will likely limit the number of arguments a function can take to 6, which should be enough for anybody
2020-07-03 13:24:54 -04:00
nattthebear
fa5885d7a1
Rewrite WaterboxHost in rust. ( #2190 )
...
This replaces the old managed one. The only direct effect of this is to fix some hard to reproduce crashes in bsnes.
In the long run, we'll use this new code to help build more waterbox features.
2020-07-03 11:45:59 -04:00
nattthebear
c1caa3e346
More crusty progress
2020-06-28 10:21:36 -04:00
nattthebear
6ff2d801e6
memoryblock experiments continue
2020-06-23 15:01:49 -04:00
nattthebear
92525576cc
more krusty krab
2020-06-22 18:15:11 -04:00
nattthebear
b0007c83f4
more musings
2020-06-21 14:09:38 -04:00
zeromus
687704dc3c
updated waterbox docs
2020-06-20 20:13:00 -04:00
zeromus
316aafed40
ss and pcfx dirs can be whacked (they belong to numa now)
2020-06-20 20:13:00 -04:00
zeromus
2fc8b91e45
rename pce and pce-fast to turbo and hyper
2020-06-20 20:12:46 -04:00
zeromus
27f9a70085
clean nyma zlib building stuff
2020-06-20 20:12:45 -04:00
nattthebear
3f6ffeb573
krusty
2020-06-20 18:07:17 -04:00
nattthebear
440a340cb5
remove what should have been ignored
2020-06-20 13:49:58 -04:00
nattthebear
be81bc12c2
more wip
2020-06-20 10:30:41 -04:00
nattthebear
4f09ffcda9
doc cleanup
2020-06-20 05:59:43 -04:00
zeromus
b842f3ed16
remove cgc (step 1)
2020-06-20 00:48:42 -04:00
nattthebear
ffcb7cefb1
Move llvm to submodule
2020-06-19 20:56:17 -04:00
nattthebear
ee6c2ba679
Watch babby's first rust program... one commit at a time
...
Working on some ideas to potentially replace WaterboxHost
2020-06-19 20:56:16 -04:00
nattthebear
23f8c2bbe6
waterbox: move location of llvm-project
2020-06-18 14:06:23 -04:00
nattthebear
ecdfc66617
nyma big setting update
...
Moves a lot of settings around, hopefully addressing some concerns
2020-06-14 16:02:33 -04:00
nattthebear
a28f2b2a45
waterbox buildscript changes
2020-06-14 12:35:18 -04:00
nattthebear
7ba3f6db03
saturn - fix crash in dead or alive
...
It does look pretty awful with interlacing, but that's not something bizhawk is equipped to solve at present
2020-06-14 10:15:05 -04:00
nattthebear
f2b461bed1
nyma - overhaul some input stuff to support some more things
...
saturn guns and keyboards now work
2020-06-13 18:19:41 -04:00
nattthebear
f2b79bb0c1
Fix saturn compilation issue
...
fixes #2124
2020-06-12 13:20:04 -04:00
nattthebear
8c06de56c2
saturn - support lag flag again
2020-06-11 14:47:26 -04:00
nattthebear
f14dace4a0
Move saturn over to nyma, get latest version.
2020-06-11 12:17:10 -04:00
nattthebear
69e30ee33f
Decrease state size in pcfx, pce, pce-fast
2020-06-09 10:09:17 -04:00
nattthebear
9bb56f0b5c
move pcfx to nymacore
2020-06-09 08:15:06 -04:00
nattthebear
11e1019590
nyma -- support cd switching
...
motorcycle shifter, but neutral is before 1st instead of between 1st and second
Yes, I had to rebuild the non cd cores here, and I am sorry
2020-06-08 20:24:30 -04:00
nattthebear
b11b50a950
all nyma cores: support constant size framebuffer
...
this will do lossless integer scaling using mednafen provided screen geometry data
2020-06-08 13:05:31 -04:00
nattthebear
2952ac24aa
savestates on waterbox
2020-06-07 09:26:08 -04:00
nattthebear
aa48af9c94
linux: support gpgx
...
as before, do not load state even if your life depends on it
2020-06-06 18:25:59 -04:00
nattthebear
4d3ef71c8a
Remove some old junk
2020-06-06 16:18:06 -04:00
nattthebear
dcaf504202
Some progress on loonix waterbox
...
It doesn't work
2020-06-06 14:39:55 -04:00
nattthebear
b3c3a3a4bb
waterbox sgb sameboy - fix stereo audio
...
WHOOPS
2020-06-06 07:55:21 -04:00
nattthebear
7792eb2e80
Improve waterbox "lazystates"
...
Cores that used the .invisible section to store data were saving it; this was a regression from before, so PCFX states should be back down to the previous release size, or perhaps a bit smaller.
Add the ability to dirty track libco cothreads, as used in the bsnes core. This saves a lot of space in those states and they're now quite competitive in size.
2020-06-04 12:13:28 -04:00
nattthebear
3bc1ed4bbc
snes9x - take advantage of new waterbox change tracking to fix special chip games
2020-06-03 19:25:58 -04:00
nattthebear
842a7df215
waterbox: minor makefile tweak
...
allows fiddling with linkscript to be easier
2020-06-03 17:57:31 -04:00
nattthebear
6e366b7590
waterbox libsnes cothreads: set TEB/TIB stuff
...
some bsnes cothreads call callbacks that hit managed threads. We shouldn't do that, but we do, and sometimes those threads run MSVC's __stkchk which can, depending on circumstances, blow up if the thread extents aren't set.
This also means that we cannot save space on a lot of cothread stacks because __stkchck will blow up any detection guards we try
2020-06-03 15:48:06 -04:00
nattthebear
69ade58d2a
waterbox: enable -fcf-protection=none, recompile pce fast
2020-06-03 12:16:18 -04:00
nattthebear
885b86e1b2
waterbox: add the ability to compile but not assemble individual files for debugging purposes
2020-06-03 12:02:56 -04:00
nattthebear
d06ed05929
waterbox - track writes for smaller savestates
...
The waterbox system now uses host os facilities to track whether memory has been written to, to automatically choose what thing to savestate. This results in a large size decrease for some cores, like snes9x or gpgx (when running cartridge games). Doesn't do much for cores that were already memory efficient, or for bsnes because of libco compatibility issues; but those cores don't regress either.
2020-06-03 07:13:40 -04:00
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