Commit Graph

512 Commits

Author SHA1 Message Date
CasualPokePlayer 8b6f1c96d6 [melonDS] don't state sound buffers too 2022-03-06 01:46:26 -08:00
CasualPokePlayer 4bfb3ba48e [melonDS] don't state these big caches 2022-03-06 01:20:15 -08:00
CasualPokePlayer 46c2d6faf1
Melon Cleanups & Updates & Prep For Multithread Rendering Support & Prep For DSi NAND bs (#3174)
* prep for handling multi-threaded renderer in melon, along with some other cleanups

* initial core side support for mt rendering, probably crashes?

* oops

* ok use ref not in

* testing

* poor man's semaphore

* clean this up, hopefully fix a deadlock?

* update submodule

* reduce submodule diff

* cleanup

* hook up thread wait cb

* maybe make shutdown not hardlock?

* oops

* oops

* testing

* testing

* a

* lol

* fuck

* a

* oops

* a

* a

* a

* a

* a

* a

* a

* a

* a

* if false this

* a

* a

* a

* bleh

* a

* update to upstream

* oh right lua
2022-03-06 00:43:30 -08:00
CasualPokePlayer 114124c82e
BSNES Region Override (#3169)
* region override for bsnes

* hook up SnesInitData right. still needs region override sync setting

* settings stuff, also need to make sure sameboy is using the right region for sgb

* and build

* clearer struct definition; move struct to header file

Co-authored-by: Morilli <35152647+Morilli@users.noreply.github.com>
2022-03-04 14:21:53 +01:00
CasualPokePlayer 8e233a0e3b alloc_invisible internal framebuffers in melon 2022-03-04 01:26:58 -08:00
CasualPokePlayer 4bac1bbf1b fix #3165 and fix the tabbing/space mixup here 2022-03-04 01:20:40 -08:00
CasualPokePlayer 112072161c windows build 2022-02-17 02:59:17 -08:00
CasualPokePlayer 406b76a023 fix mem domains 2022-02-17 02:48:40 -08:00
CasualPokePlayer 0a9200fa59
Sameboy blip buf (#3154)
* blip buf experiment

* do this without needing to modify core

* Delete blip_buf.os

* dont bother keeping a sbuf in biz_t

* darn space/tabbing
2022-02-17 00:30:38 -08:00
CasualPokePlayer e8e58f799e update sameboy to upstream fixes #3108
fix gpu viewer palettes, fixes #3150
2022-02-16 02:39:55 -08:00
CasualPokePlayer 655ed7949e
Ares64 Performance Core (#3149)
* prep for performance ares64 core, needs work unmanaged side

* get this going

* rebuild this

* apparently build didnt get cp'd? need to investigate

* fix build, other shit

* suppress these warnings

* tweaks and builds

* apparently bizinvoker doesnt like having LibAres64 class shared between non-waterbox and waterboxed, so split it.
also states for performance core

* builds

* fix this option, describe supersampling properly

* penguin64
2022-02-16 02:15:27 -08:00
ShinobiWannabe 05f11be191
Genesis GPGX SRAM support for games larger than 8MB (#3139)
* Large SRAM

Cherry pick changes in order to run games with SRAM support for games larger than 8MB based on the existing commit by ekeeke in Genesis-Plus-GX.

e6ab7563e7

* Revert "Large SRAM"

Removes changes to the cd cart files and contains the newly built  gpgx.wbx.gz.
2022-02-15 23:25:38 +03:00
CasualPokePlayer df04bf1f69 fix crashes with gambatte on linux due to bad pointer cast 2022-02-13 22:12:40 -08:00
CasualPokePlayer 7db8472092
Handy tweaks (squashed PR #3140)
resolves #2425. commits:
- build handy-linux with fvisibility=internal, make export have default visiblity
- use bizinvoker for handy
- move this to the right spot
- correct name here
2022-02-14 14:38:31 +10:00
CasualPokePlayer 1330fdeaa1 Probably a hack to make lag detection work? 2022-02-13 14:38:44 -08:00
CasualPokePlayer 28cfb1aa74 make ares64 comply with mupen's analog input scheme, allow for disabling the physical limitation / circle thingie 2022-02-13 02:45:48 -08:00
CasualPokePlayer f48f9dba9f change PI DMA to use 16 bit fetches (275ba735de) 2022-02-12 02:33:41 -08:00
CasualPokePlayer 682111f377
Ares64 (#3125)
* ares64

* build, currently cherry picking c9af34027b to build this

* some work

* commit the frontend work. crashes on some NR_SCHED_GETAFFINITY syscall

* delete this

* fix oopsie, add debugging shit

* getting closer...

* what the fuck is this mame shit doing???

* fuck

* it's one of these isn't it

* fucking hell

* at least it's not crashing on init now

* bleh

* let's see if this works?

* audio i think?

* oh right, need to disable threading here since that's not wbx supported

* testing

* testing

* testing...

* testing

* wtf?

* lol

* it's doing something now i guess?

* let's try this

* maybe this will catch this bullshit?

* lol

* the fuck?

* what

* meh

* bleh

* let's have some fun

* bleh

* bleh

* bleh

* maybe this works better

* let's try this?

* meh

* this probably will break

* lol

* meh

* a

* a

* a

* a

* a

* meh

* a

* a

* b

* alloc invisible these video buffers

* a

* actually build

* bleh

* well uhhhhhhhh let's see if this blows up for fun i guess?

* bleh

* yeah that when as well as expected

* push this

* bleh

* bleh

* bleh

* a

* dirty hackery

* fuck space/tabs

* hook up input

* hook up input frontend side

* reset/power

* going to have to commit to dumb workaround here i guess?

* fuck this bullshit crash

* cic stuff

* oops

* testing

* hook up save detection

* memory domains and saveram shit

* oops

* someday i'll get macros right

* let's get this kinda reproducable

* build

* bleh

* frontend shit

* bleh

* testing

* a

* fucking

* a

* a

* a

* workaround C# bullshit marshalling maybe?

* revert that, let's hack it on c# side instead

* disgusting hack

* fuck c#

* fix oopsies for eeprom/flash and fuck c#

* apparently explicit layout just dont work, thanks c#!

* correct orientation

* actually fix orientation

* testing

* bleh

* b

* a

* fix crash here

* rumble getter

* hook up rumble with frontend, cache readonly controller settings on core init

* remove old experiment

* make clean make install
2022-02-11 18:22:16 -08:00
CasualPokePlayer f060fdaa60
hack a peek into bsnesv115 (#3118) 2022-02-07 08:00:48 -08:00
CasualPokePlayer c8c8b1c05c oops, pretend this didn't happen 2022-02-03 19:05:27 -08:00
CasualPokePlayer dd3cf6091f add memory callbacks to melon, cleanup some code 2022-02-03 18:59:51 -08:00
CasualPokePlayer 3f7c80a950 prep for ICycleTiming for Nyma 2022-02-02 21:12:50 -08:00
CasualPokePlayer 33a4dda6b7
Melon DSi (#3114)
* update melon

* frontend work

* make this work (i think?)

* fucking merge conflicts

* bleh

* hack up DSi support, very hardcoded atm, but at least states are reasonable

* add IS_DSI load flag

* frontend work bleh

* oops forgot to push

* ok fine apparently that doesnt display right

* oops

* prevent zealous release screen calls, DSi firmware seems to not like it?

* support for loading DSiWare title

* dsiware

* oh right this bullshit

* oops

* will this work

* why the fuck was this signed

* 0 out these hashes, these are also unique per console, no hope verifying these
2022-02-01 23:40:32 -08:00
CasualPokePlayer 096f24e7c6
Reduce bsnes115 state size (#3105)
* testing...

* more testing...

* this is probably a bad idea

* well this probably fixes state size issues

* time to debug this

* oh derp it's just not enough memory in invis heap

* let's see if this works?

* apparently this breaks slow ppu?

* testing...

* testing...

* testing...

* sanity checking

* let's try again

* i do not know what the fuck is up with this emulator nor do i care enough, state size is still under a mb anyways with slow ppu

* oops forgot to commit this

* resolve some issues

* tweak memory allocation sizes

* dont save more cache stuff

* wtf was i even thinking here

* move comment back to original pos, comment on double loading
2022-01-31 19:00:04 -08:00
CasualPokePlayer 7ac2e97cb7
update melon (#3113)
* update melon

* frontend work

* make this work (i think?)

* fucking merge conflicts

* bleh
2022-01-31 17:18:42 -08:00
CasualPokePlayer d6b33fbec6
Nymashock (#3093)
* 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>
2022-01-30 08:52:49 -08:00
CasualPokePlayer dcccb4e2b6
MSXHawk Linux (#3110)
* hack up a makefile for this

* hack up a build for linux, also fuck msvc fuck msvc fuck msvc

* make this work with the so

* thanks line endings

* lol
2022-01-30 08:42:20 -08:00
CasualPokePlayer 24f946681f
Emu83 (#3086)
* 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>
2022-01-29 18:23:09 -08:00
feos ad82f4f216 test #3104 2022-01-29 11:59:53 +03:00
CasualPokePlayer 2348e2885d
Add SameBoy as a GB/C core (#3009)
* 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>
2022-01-27 13:17:52 -08:00
Moritz Bender 0d7de83d4b
BSNESv115+: Implement snes_controller_latch function, cleanup input polling behavior (#3084)
* BSNESv115+: get rid of input_state + input_poll; just poll

* call `snes_controller_latch` on latches done in the core,

- this now also actually calls the InputCallbackSystem
- needed some edits in the core to support executing the callback even when no controller is connected in port 1

* Fix and somewhat normalize the SnesCallbacks order
2022-01-22 00:29:47 +03:00
CasualPokePlayer 06d472fdc8 resolve #3058 2022-01-06 13:43:40 -08:00
CasualPokePlayer aa6f74108e resolve #3028
also fix other misc bugs
2021-12-15 17:18:00 -08:00
Morilli d24629f3ad BSNESv115+: ram and rom memory domain fixes
- saveram was not working at all on certain roms, as the "CARTRIDGE_RAM" memory domain was returning a null pointer (similar thing for "CARTRIDGE_ROM"; changed it to correctly return the current rom)
- add sa1_bwram domain for clarity and an SGB_ROM domain
2021-12-15 09:10:37 +01:00
alyosha-tas 76faa7c835 MSX: implement ascii 8kb mapper and make it the default for large games 2021-11-30 19:06:08 -05:00
Moritz Bender cc38f4bcba
Implement memory callbacks for the new bsnes core (#2797)
* Actually working callbacks
now actually work after natt's changes
* Set whether memory hooks exist every frame to prevent unnecessary function calls if not
2021-11-29 19:59:47 +03:00
CasualPokePlayer f7936a34f8 [GambatteLink] changes in link API, misc cleanup 2021-11-27 22:40:39 -08:00
alyosha-tas fd02c872a9 MSX: finish up SCC, set to released. 2021-11-25 16:34:36 -05:00
alyosha-tas 82655a759e MSX: work on SCC implementation 2021-11-25 12:22:13 -05:00
alyosha-tas f32961001e MSXHawk: Refactor and start work on SCC 2021-11-24 20:26:31 -05:00
CasualPokePlayer d5c1ebb88e update gambatte to upstream, passes more wilbertpol tests 2021-11-23 15:39:21 -08:00
nattthebear 2ea62ffea6
Handle reentrant calls in waterbox (#3007)
Fixes #2585
2021-11-23 14:20:12 -05:00
CasualPokePlayer 7c25241c4b and so 2021-11-20 23:51:23 -08:00
CasualPokePlayer 72ad5c7b0b GBC IR Emulation for GambatteLink 2021-11-20 23:51:23 -08:00
alyosha-tas de1a312262 MSX: do some work on mappers 2021-11-17 15:27:54 -05:00
CasualPokePlayer 178e57a91b update libstdc++, gambatte needs this; other cores which use this seem to still function fine 2021-11-03 19:20:09 -07:00
CasualPokePlayer 2b15fc958f build here, update libgambatte bindings with new api and use it 2021-11-03 18:53:51 -07:00
CasualPokePlayer 463f9bf920 update gambatte 2021-11-03 18:42:04 -07:00
CasualPokePlayer 600ee6c913 Squashed commit of the following:
commit af7cadfce4b750f8b1b23476c281bd2dfe027225
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Tue Nov 2 22:43:21 2021 -0700

    right, rename these too

commit e27197d18ad33af53729b1a57ee4a048189c41c4
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Tue Nov 2 22:40:42 2021 -0700

    build

commit 1af068f11f553ade70999fb2c640ee98e054aa36
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Tue Nov 2 22:37:28 2021 -0700

    new way to do mic input for melonds
2021-11-02 22:54:36 -07:00
CasualPokePlayer f5940e12e2
update octoshock to Mednafen 1.27.1 (#2989)
* update octoshock to Mednafen 1.27.1

* oh right, gotta add in video changes too
2021-11-02 20:15:54 -07:00
CasualPokePlayer 463ef90fd2 build and comment this crap out (nice build error lol) 2021-10-29 23:07:34 -07:00
CasualPokePlayer 9138859bf5 am/pm flag fix? 2021-10-26 18:04:41 -07:00
CasualPokePlayer 41128abc37
[melonDS] Redo porting, waterbox style now (#2945)
Co-authored-by: nattthebear <goyuken@gmail.com>
2021-10-24 21:40:23 +03:00
CasualPokePlayer 9a87a0f586
nuke sameboy (#2934) 2021-10-18 21:38:23 -04:00
CasualPokePlayer d0caff6cf3
Dumb (#2968)
* dumb

* dumb
2021-10-14 08:22:21 -04:00
CasualPokePlayer 4303d1c333
[mGBA] Game Override Sync Settings (#2937)
* override sync settings

* override penguin

* don't override save type when autodetecting

* insert penguin
2021-09-26 11:55:13 +03:00
CasualPokePlayer d513c5b2a0
fix #2805 for real this time (#2936)
* fix https://github.com/TASVideos/BizHawk/issues/2805

* fix https://github.com/TASVideos/BizHawk/issues/2805 for real this time

* misc

* advance penguin
2021-09-21 08:46:57 -04:00
CasualPokePlayer b5639f8834 update gambatte; update readme to account for gambatte sgb support 2021-09-21 14:01:42 +10:00
CasualPokePlayer fbab7f6291
Implement HLE SGB Emulation in Gambatte (squashed PR #2917)
* sgb meme

* various sgb fixes, add hard reset support for spc, make frontend provide spc file

* sgb border support, mostly copied from sameboy

* add support for disabling sgb border, also fix dumb when disabling border

* state work, states seem to be broken tho

* fix dumb state issue

* multiplayer

* fix dumb in spc stating

* misc

* pass SGB tests

* oh right I have to fix this too

* and this dumb too

* attempt to fix weird crashes

* or maybe this will fix it?

* wtf is spc doing?

* rebase

* misc state + debugging stuff

* finally fix weird assertion failure

* factor out loading in spc file, also factor out the ipl

* oops

* init special sgb colors for certain games

* slight sgb audio refactor

* this should work better?

* oops

* switch back to master

* super penguin
2021-09-17 23:35:00 +10:00
YoshiRulz 2d81c820b4
Add LibretroBridge binary for Linux and wire it up
build scripts to come, see PR #2895
2021-09-09 04:12:54 +10:00
mooware 55a8936a30
add options for virtualboy to only show left or right screen (#2842) 2021-09-01 20:41:02 -05:00
CasualPokePlayer b29516e864
Update Gambatte (#2909)
* update gambatte

* penguin
2021-08-15 22:28:42 -04:00
CasualPokePlayer 47a8305699
fix #2902 for real this time (#2906)
* fix Gambatte memory/trace callbacks in double speed mode

* win build

* linux build
2021-08-12 00:52:58 -04:00
CasualPokePlayer 4681805439
fix #2902 (#2904)
* fix #2902; factor out altrunfor and just use upstream's runFor, keeping a frame buffer on the c# side

* linux build
2021-08-11 02:20:53 -04:00
CasualPokePlayer d37a818f96
Update Gambatte (GB Camera Support, Misc Cleanup) (#2897)
* update gambatte (camera support, misc cleanup)

* linux build

* misc

* [Gambatte] fix resets (oops)

* this didn't complain on my side but w/e ig
2021-08-07 17:50:16 -04:00
YoshiRulz 8adb911623
Pull Gambatte submodule, rename Linux binary to .so 2021-08-02 20:54:06 +10:00
CasualPokePlayer ee1dc3dba7 [Gambatte] add linux build 2021-08-02 16:23:38 +10:00
CasualPokePlayer 87f0fd78fc [Gambatte] sync to upstream 2021-08-02 16:23:38 +10:00
CasualPokePlayer 036e349337
[BSNESv115+] Fix Lag Frames For SGB (#2886)
* better lag detection for sgb. todo: might want to toggle this?

* correct logic and don't fail build this time
2021-08-01 09:54:59 -04:00
CasualPokePlayer 7518ce962b
[Gambatte] Many Updates (#2823)
* [Gambatte] Port setregs from upstream, implement SetCpuRegister, misc cleanup/fixes elsewhere

* [Gambatte] Add more proper uninitalized AGB WRAM, based of a GBP dump

* cleanup Gambatte's CpuSetRegister (credits to stringflow)

* additional Gambatte code cleanup

* [Gambatte] cleanup tracelogger code readability

* fix

* Initalize VideoBuffer with a white screen instead of a black screen, misc video fixes

* misc cleanup

* [Gambatte] hdma work

* [Gambatte] add warning for recording a movie without a bios enabled. doing this as I am annoyed enough from disabled bios being the default and you cannot say anything about the profile system since recent submissions have shown that ineffective

* misc cleanup

* [Gambatte] init state tweaks

* [Gambatte] add setting for patching similar bioses

* fix this

Co-authored-by: TiKevin83 <travismcgeehan@gmail.com>
Co-authored-by: alyosha-tas <alexei.f.k@gmail.com>
2021-08-01 09:54:19 -04:00
feos 11b1e328a6 rebuild gliden64 2021-07-21 16:20:28 +03:00
Meerkov 664ab7fab6
Wire up haptics in Mupen core (squashed PR #2683)
* Wire up host haptics, but only for OpenTK which doesn't support it

and I'm hijacking the Fast Forward hotkey too

* Fix Mupen 64 Vibration DLL

* Enable Mupen 64 Vibration for DirectInput

* Remove unused SDL dep from Mupen input-bkm plugin

this allows it to be built without checking out the deps submodule, I guess

* Fix <OutDir/> in Mupen lib projects

* Remove "Debug" haptic channel and debug hotkey, prepare Mupen

* Fix remaining merge conflicts

* ...with the correct channel name

and hopefully no dangling whitespace changes

* Fix typo from resolving merge conflict, and off-by-one error

Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
2021-07-21 10:06:16 +10:00
Moritz Bender 2ff7e4d39b
Add sa1_iram memory domain for new bsnes (#2803) 2021-07-16 18:41:53 -05:00
Zach 58293dde9f
Support null (any) address for N64 breakpoints. (#2833)
* Support null (any) address for N64 breakpoints.

Fixes #2808

* Move null check for better readability.

* Replace debugger mutex with semaphore that counts debug steps.

This is taken directly from upstream m64p. If breakpoints are being hit fast enough and in large enough quantity, m64p always ends up getting into a deadlock. The semaphore seems to resist this problem.

* Remove tabs
2021-07-14 20:49:31 +03:00
CasualPokePlayer 488fd2c6af
Add support for more SGB firmware + Use homebrew bootroms instead of bsnes' illegally provided official ones (#2837)
* add support for more SGB firmware

* replace illegally provided bootroms with legal homebrew bootroms

* let's swap these with homebrew bootroms too

* add builds

* this should probably be preferred

* Fix incorrect assignment

* Fix whitespace changes to Designer files

Co-authored-by: Morilli <35152647+Morilli@users.noreply.github.com>
Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
2021-07-14 12:48:02 -05:00
nattthebear 9488e19d38
Update mednafen cores to 1.27.1 (#2831) 2021-07-03 10:01:04 -04:00
nattthebear 90a12a8e73 Update virtual boy core with a mednafen 1.27.1 fix. 2021-06-19 08:32:50 -04:00
CasualPokePlayer 8ab4dd245b
[Gambatte] Account for lastCartBusUpdate_ during resetCounters (#2800)
* [Gambatte] Account for lastCartBusUpdate_ during resetCounters

* need DLL too
2021-06-18 10:07:49 -04:00
CasualPokePlayer ea369408fb
[Gambatte] Open Bus Emulation (#2798)
* [Gambatte] Open Bus Emulation

* Fix regressions

* a
2021-06-14 18:50:43 -04:00
CasualPokePlayer dd12d27149
[Gambatte] Misc Tracelogger Fixes (#2765)
* add HLE CGB-DMG colors for No Bios option

* misc gambatte tracelogger fixes
2021-05-31 10:48:14 -04:00
CasualPokePlayer 6432d99feb
[Gambatte] Many Updates (#2742)
* don't put isCGBMode for movies where CgbDmg mode is being used

* various Gambatte accuracy improvements + proper no BIOS support + tracelogger fixes
2021-05-27 08:56:13 -04:00
nattthebear 2c0c6aa0bb rename a bunch of shit because someone has a fetish for RFCs
rust maintains its reputation as a less annoying language to write systems code in than C, but only just barely.

yeets #2750
2021-05-26 16:07:07 -04:00
Morilli 38bc953e22 Add a designated payload controller based on the multitapcontroller in the new bsnes core
- also patched out the left/right and up/down handling in the core, where it didn't belong
- also fixed the existing payloadcontroller because it wasn't working at all lol
2021-05-26 02:27:54 +02:00
Morilli 24c74c0e36 Implement IDebuggable for the new bsnes core 2021-05-23 05:02:05 +02:00
Morilli e2b38732dd Fix bsnes memory domains and add bsnes.wbx.gz 2021-05-15 19:36:08 +02:00
YoshiRulz 07f637fef0
Remove garbage from misbehaving Gambatte build 2021-05-13 13:35:57 +10:00
TiKevin83 3dcc487df2
Fix Gambatte RTC on Hard Reset (#2739) 2021-05-12 23:25:28 -04:00
YoshiRulz f7e38d499d
Update mGBA binary for Linux
https://gitlab.com/TASVideos/BizHawk-ports-CI/-/jobs/1254060848
2021-05-12 03:12:44 +10:00
feos 8cc5488de3 update mgba to release 0.9.1 2021-05-11 19:17:46 +03:00
CasualPokePlayer 3372556ef0
[Gambatte] MBC3 RTC Refactor (And add a way to set initial RTC state) (#2724)
* slightly fix gambatte peeking
* fix gambatte layer masking, move layer masking to sync settings (these settings affect sync, they shouldn't be normal settings)
* block toggle layer hotkeys when movie recording
* refactor Gambatte's RTC
* add a way to set an inital RTC state during a movie recording
* prevent Gambatte from saving RTC data when recording a movie, needed to create save-anchored movies
2021-05-05 21:40:36 -04:00
YoshiRulz 7c1b40df1f Revert "The next time I look at this I want to see waterbox builds actually fucking working again. This means copying to dll as they are now, and not silently being overridden by stale files stored in another folder. This is not my problem to fix because I did not fucking break it."
This reverts commit d8d42b9f81.
2021-04-28 15:35:11 +10:00
nattthebear d8d42b9f81 The next time I look at this I want to see waterbox builds actually fucking working again. This means copying to dll as they are now, and not silently being overridden by stale files stored in another folder. This is not my problem to fix because I did not fucking break it. 2021-04-27 19:37:53 -04:00
zeromus f7fb2ad76f psx - fix oopsies in shock_destroy 2021-04-27 14:56:41 -04:00
CasualPokePlayer b9123453aa
[Gambatte] Slightly fix peeking & fix layer masking (#2712)
* slightly fix gambatte peeking

* fix gambatte layer masking, move layer masking to sync settings (these settings affect sync, they shouldn't be normal settings)

* block toggle layer hotkeys when movie recording
2021-04-18 10:03:44 -05:00
TiKevin83 90a67b9e22 update libgambatte to fix RTC subsecond tests 2021-04-05 02:53:04 -04:00
TiKevin83 585ed99cdd update gambatte-speedrun GBA modeswitch timing and testROM accuracy 2021-03-18 19:31:06 -04:00
TiKevin83 b2893d24c6 Update Gambatte to fix RTC issues and output location of the DLL in the assets folder 2021-03-04 02:04:45 -05:00
TiKevin83 9ca1b86316 Update gambatte to support the wisdom tree mapper and fix upstream reference and links 2021-03-04 02:04:45 -05:00
YoshiRulz 05676234ed
Move remaining assets from /output to /Assets 2021-02-12 14:08:17 +10:00
YoshiRulz dbe2cd4cde
Cleanup <Reference/>s of NLua (and System.Data.SQLite) 2021-02-12 13:59:40 +10:00
YoshiRulz 28ff2231f2
Update mGBA Linux binary
Windows binary rebuilt in 78931e025
taken from https://gitlab.com/TASVideos/BizHawk-ports-CI/-/jobs/968003727
2021-01-17 23:31:12 +10:00
nattthebear 72ea5ce866
Waterbox: Allow SEH unwinding through guest calls. (#2519)
The goal of the separate stacks was to allow this, but I never quite finished the job.  Now, when a SEH exception (generally a Rust panic in a guest syscall handler, or a C# Exception in a callback) tries to unwind through guest code, it works.  Note that we don't actually unwind the guest stack, as there's nothing useful to be gained from that;  When an emulator core throws an exception like this, it should be considered completely hosed.  Throw it out and get a new one.

There were two bugs stopping this from working.

First of all, we had custom thunks that lacked sufficient unwind information for RtlUnwind to get through.  For the sysv <-> msabi adapter, this was fixed by making it regular Rust code instead of hand assembled junkus.  So the compiler generates valid unwind information for all of that.  Then we just JIT a small stub on top in the MsHostSysVGuest code, which needs no unwind information because it won't throw an exception itself and transparently passes execution to something with valid unwind information without invalidating that information.  (NB:  Clr JIT stubs use the same strategy.)  For the host <-> guest stack transition code, a small hand generated unwind stub was added to interop.s that is registered with `RtlAddFunctionTable`.  I've seen the unwind work successfully without this second set of unwind information, but better safe than sorry.

Secondly, our misuse of SubSystemTib caught up with us.  It's an old field, allegedly from OS/2, that we repurposed to hold TLS information needed for the waterbox stack transitions.  Most people think nothing uses it any more, but in fact if it's set to a non-NULL value, but doesn't contain valid information, `KERNELBASE!GetModuleFileNameW` will crash when it tries to get a module name from there.  The fix here was to simply tighten up our usage of SubSystemTib:  We were already nulling it out when returning from guest code, but not when calling back to host code in guest code.

Fixes #2487.  Unwinding of this sort has never worked well in waterbox; the reason why that issue is more recent is that the particular reproducing case of firmware didn't cause an exception in a callback in older code; the exception happened in pure managed code.
2020-12-13 19:12:16 -05:00
nattthebear 98ad14ff47 Fix two semi-related savestate bugs in waterbox.
We had two instances where the act of sealing could lose snapshots that were never recovered.  It's oof.
2020-10-13 09:10:46 -04:00
YoshiRulz c0b755a33b
Recompile Cygne, Handy, mGBA, and QuickNes for Linux 2020-09-26 22:19:02 +10:00
YoshiRulz 5ae13a2309
Change build path of executables to output/dll
* post-build step moves .exes up a level, to output
* also fixed OpenTK.dll.config location
* also removed redundant step from packaging scripts
* future executables need to be capable of resolving assemblies in dll
2020-09-22 09:39:53 +10:00
YoshiRulz fb5a5ed78c
Add libdarm.so, migrate Darm class to BizInvoker
`Tools` > `Debugger` no longer crashes immediately on Linux with mGBA core
2020-09-21 01:38:09 +10:00
James Groom a5d166cf71
Partial fix for #2353 (files in dev builds) (#2410)
* Move .so libraries to dll dir, update some build scripts

* Move OpenTK.dll.config with OpenTK.dll

* Keep EmuHawkMono.sh in Windows-built artifacts

* Add Package.sh to match QuickTestBuildAndPackage.bat

used as `Dist/BuildRelease.sh && Dist/Package.sh`

* Update GitLab CI to use Package.sh
2020-09-18 20:08:34 -05:00
zeromus d4cb18aff8 actual remove CGC.exe, that was the whole point wasnt it 2020-06-20 00:48:42 -04:00
YoshiRulz 8c7862aa8a
Fix .so versioning 2019-10-25 21:33:05 +10:00
zeromus 6ced541abe ok, it's over. exe packing is for the birds 2016-03-24 19:10:08 -05:00
zeromus d7cd62c4d6 compress cgc.exe differently (cexe, doesn't really trip virus scanners) since upx can't handle it; add Firmware directory to dist script 2016-03-24 16:42:33 -05:00
nattthebear 76ccefb3c6 Properly move cgc to the Assets/dll folder 2016-03-01 22:12:36 -05:00