The position of this restart is dangerous as it may pass in a Dispose()'d core. This is pointless too as later on the Tool Manager handles restarting all tools.
Similarly, remove the explicit restart of the Debugger, no point in doing this as the Tool Manager will restart the debugger just fine anyways (the restart removes breakpoints from the debugger's internal list but doesn't remove them core side, which they should have been removed anyways from being Dispose()'d)
* structurize NumericStringExtensions better, allow negative fixedpoint numbers
* Tune MaxLength values to make more sense
* Use Invariant culture to prevent ","<->"." issue in decimal recognition for some locales
* Cleanup more watch stuff
- simplify Poke functions by removing redundant text checking
- make fixed-point constants const
- remove OnKeyPress overload; let the user type whatever and check it later, similarly in OnTextChanged
- more invariant NumberFormatInfo use for ","<->"." issues, also do a basic fixup on OnKeyDown
- cleanup ToRawInt and SetFromRawInt, there are likely still issues remaining but I have no idea whether they realistically affect anything with the way those functions are used
- remove now unused functions in NumericStringExtensions
Squashed commit of the following:
commit 1f6cdb99a8486b3f89395b2bd3f13f730e21f743
Merge: bcef146d7 ecd428898
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Mon Mar 21 03:05:12 2022 -0700
Merge branch 'transfer_pak_ares' of https://github.com/CasualPokePlayer/BizHawk into transfer_pak_ares
commit bcef146d7d62e5ce435ae3fc4d585d71d98bec52
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Mon Mar 21 03:05:05 2022 -0700
a
commit ecd4288980f7311eba3bdd0a9d1a3fca02e42e43
Merge: 86a7e3e85 ccb24cc79
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Mon Mar 21 02:57:00 2022 -0700
Merge branch 'transfer_pak_ares' of https://github.com/CasualPokePlayer/BizHawk into transfer_pak_ares
commit 86a7e3e85bc1b3cb979671edcbfca66e69d5212b
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Mon Mar 21 02:56:50 2022 -0700
a
commit ccb24cc79fd922b1e3e3b80d660c7b7696f0cf84
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Mon Mar 21 02:51:36 2022 -0700
a
commit 285fd66f9240dfa502a269adb19cc1f3d11236c5
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Mon Mar 21 02:02:31 2022 -0700
misc
commit 9fb76345e4507cbd53ab5e4c2c61a5cb992b7241
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Mon Mar 21 01:50:46 2022 -0700
frontend hookup
commit dabee3a4d63c5801e3147dd758e3c187be0ab8bd
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Mon Mar 21 01:26:48 2022 -0700
actually hook other shit up also delete some shit
commit df632d6ddf6eaeb61ad3ad640851709c2614bfbd
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Sun Mar 20 21:37:18 2022 -0700
a
commit 143c4039453290ef1e8a4cf53ddea534efa0cea3
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Sun Mar 20 21:28:07 2022 -0700
a
commit fd75dcc5150860171e3d96fd0bcb4749eeb99378
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Sun Mar 20 21:03:51 2022 -0700
a
commit ea039643e9a093f63f8dc8c7446e9e70f7f965f0
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Sun Mar 20 19:56:46 2022 -0700
a
commit 8b373d2ba547cd1ab61360e8129f31452014c728
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Sun Mar 20 19:33:47 2022 -0700
a
commit dc18a90bebcae013aca4494c1e0a83603dbdbea6
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Sun Mar 20 19:18:34 2022 -0700
a
commit 3d0eba5f57d95f7cfd74b662f70a40cac5638539
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Sun Mar 20 19:16:56 2022 -0700
a
commit d97ea34753c007663ea0e629df8830e6aae98e91
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Sun Mar 20 18:28:01 2022 -0700
a
commit 7a1fe0442c7dd6425048207a19b1b18f9dc3e344
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Sun Mar 20 17:22:10 2022 -0700
a
commit 421de8ebb8c02736e65f28a88a17cabf297c6e10
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Sun Mar 20 16:57:47 2022 -0700
is this right?
commit 9fcaa1905b6e3b6bc73c8e8c15c55cab06ddb7f4
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Sun Mar 20 15:57:32 2022 -0700
rework audio
commit 602577ded89f2fd7d4514792e4f9f485235ce2f1
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Sun Mar 20 14:54:29 2022 -0700
doh
commit 5521dab709551d9f02bd0cf0d979d8a3860541c6
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Sun Mar 20 14:42:50 2022 -0700
a
commit bc10461eb9d47bea5acc7cc22963b8e7025b9a31
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Sun Mar 20 14:41:17 2022 -0700
a
commit d088719299bc0946962bba9404469fe9628633c6
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Sun Mar 20 14:25:07 2022 -0700
a
commit d425c49bc2ea7925f485379dad33326fa8566754
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Sun Mar 20 14:18:33 2022 -0700
a
commit ea7c69a512ce84977ad92be0c3f97f396dcf13a7
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Sun Mar 20 14:13:41 2022 -0700
a
commit b350580b5c8ce455d6ffa41237c2564e8fa76a58
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Sun Mar 20 14:05:46 2022 -0700
a
commit 5983b23e760e5ca8a3c8141075f383275da570b4
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Sun Mar 20 13:57:25 2022 -0700
a
commit 12de82e8841284cb70ec02765d86e3729661dcb4
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Sun Mar 20 13:46:58 2022 -0700
a
commit 992bdf114c24a8a3d37c110629f9a66bfaf21cf8
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Sun Mar 20 13:05:28 2022 -0700
a
commit 3637649dde95ff4fb24474ee0d1dde795cbc5fe3
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Sun Mar 20 12:49:52 2022 -0700
o
commit 7d7264b92822ce34ba5412f4cf869c6a4e6fb9b9
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Sun Mar 20 12:41:55 2022 -0700
testing time
commit bb3a2f89861cdf429091d8253a656e782b68e33b
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Sun Mar 20 12:14:30 2022 -0700
bleh
commit df46cc34d6edc312b519c98b6c7be3ac6ab89bd2
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Sun Mar 20 06:18:28 2022 -0700
bleh
commit 21c28a81726ab9a9f206a58424e5434cd0bac1a8
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Sun Mar 20 05:43:39 2022 -0700
hack test time
commit 3d9e462addc20d6b6d8ffc41595c4751d6fc2975
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Sun Mar 20 05:36:51 2022 -0700
oh right need to build it
commit a970194f64ac0652f97236debd39e142b01d4dcf
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Sun Mar 20 05:32:07 2022 -0700
guessing not endianess, maybe need more reset state work?
commit 5d4c11dbf2f767e63d505da22d6bbdef76a4e28b
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Sun Mar 20 05:23:52 2022 -0700
is this a endianess issue?
commit c5fcd687f5e2c62b1f0f065a3b9c9ffa30867eeb
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Sun Mar 20 05:11:43 2022 -0700
debug time
commit 437071710ea040a466dd25d7fe691fcdbdb95030
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Sun Mar 20 05:03:58 2022 -0700
better emulate reset thingie
commit e02503c3f74aa89784b5cc43d1fe5daa6fedf5d3
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Sun Mar 20 04:31:42 2022 -0700
initial mouse and transfer pak support
* 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
* 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>
* 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
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
* 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
-The UI was not updated.
-TasSession.UpdateValues was not called. So saving the movie and then re-loading it would result in the previous frame being loaded/seeked to.
This commit addresses the regression mentioned in commit 319455c.
* 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
* 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
* 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>
* 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>
* 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>
* 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
-The UI was not updated.
-TasSession.UpdateValues was not called. So saving the movie and then re-loading it would result in the previous frame being loaded/seeked to.
Previously, TAStudio's ZwinderStateManager had to handle this, which made the code somewhat confusing. (Especially when I was looking at ZwinderBuffer and forgetting about the default rewinder.)
Disabled `Emulation` > `Pause` menu item when this feature is enabled. It would
be possible, though annoying, to have it affect `_wasPaused` instead of the main
`EmulatorPaused` while this feature is enabled.
- 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
TODOs excepted, this brings the Nix build to feature-parity with "portable"/AUR
builds... if it runs at all (i.e. for the distros in `wrapper-scripts.nix`)
* Actually working callbacks
now actually work after natt's changes
* Set whether memory hooks exist every frame to prevent unnecessary function calls if not
* Maze/Hangman mappers working (SRAM2102)
* Fixed console buttons ones-compliment bug
* LagFrame detection
* NTSC/PAL SyncSetting
* Started adding mappers for all games
Should allow for any key to be used as a modifier (see #2981), simply by
populating `Config.ModifierKeys`. Flip the assignment on `Input.cs:45` to try
out this change specifically.
effectively:
- show 32X in all builds (was never shown)
- show GGL and PS2 in dev builds (was never shown)
- show GB4x and O2 in non-dev builds (was shown only in dev builds)
- hide MSX in non-dev builds (was always shown)
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
* fix date time display
* Use ISO8601, fix nullability, improve validation
* Should probably override all of them to be consistent
* use local time format here
Co-authored-by: James Groom <OSSYoshiRulz+GitHub@gmail.com>
* wip consistent rewind intervals.
In Bizhawk 2.3, rewinds were always made in fixed intervals.
With the new rewinder, the rewind intervals vary depending on the
save state size. (This is especially pronounced with delta compression.)
While this is good for TAStudio, it is awful for regular playing / TASing.
* clean up rewind config gui a bit.
Use radio buttons to make it clear that only the numeric input field of the selected option is being used.
* use more precise variable names.
* minor whitespace cleanup
* don't use fixed rewind intervals by default.
This avoid suddenly changing the rewind behaviour when updating from previous recent versions of Bizhawk.
* 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
* [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>
(or `Console.WriteLine` if it's in `#if DEBUG`)
bonus wtf: 2 calls in Database were to `WriteLine(string, string)` overload, not
the intended `WriteLine(string, params object[])` overload
* Add new GLideN64 settings
- BackgroundsMode: Set the rendering of large background images, like the JFIF backgrounds of Ocarina of Time. Defaults to stripped as it is more accurate. A user may want to change this to one piece mainly for texture pack usage or performance.
- txEnhancedTextureFileStorage: Use HTS cache instead of HTC for enhanced (upscaled) textures. Defaults to HTC.
- txHiresTextureFileStorage: Use HTS cache instead of HTC for HD textures. Textures are streamed from disk, eliminating the need to prefetch the textures at load. Boots the game near instantly and decreases RAM usage. Defaults to HTC.
* Fix BackgroundsMode type
* 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>
* 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
* 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>
- 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
If set, only the first preference core (whether it be through gamedb or preferredcore or priority or whatever) will be tried, and a failure for it will immediately fail the entire thing. This is mostly a developer feature to aid in debugging.
Could be useful if you need a struct type on the C# side for perf reasons, maybe to avoid allocations. Like with passing classes, this is just a pointer conversion: BizInvoker's design philisophy explicitly leaves out any sort of recursive field conversion that would necessitate making new objects.
Fix reliance on GetFields() ordering which, per MDN, is unspecified.
CallingConventionAdapters.MakeWaterbox(...) doesn't care what order they're in, but snes_set_callbacks(...) does.
Was going to Close() the instances made by ToolBox.SetTools, which is probably a
good idea still, but it didn't cause my overridden LogWindow.OnClosing to run so
I gave up. The Tool Box is dumb anyway.
* Slam all this shit in here i don't care
* no lzma pls
* un-hack things that i hacked earlier (closer to bsnes source now)
* remove more unused files
* remove more files
* get some stuff working on this weird ass branch
* do this to get actual video (holy shit it works) while palette is incorrect
* make video look correct and hopefully fix stack waterbox allocation size uh ?
* Move the new bsnes core to its own dir as a new core and get input working
* remove leftover files from old bsnes
* fix some shit for now
* make lag frame detection work
* Improve cartridge loading to hopefully make sgb work (haven't tested)
- also changes some audio buffer stuff, might be better or worse than before idk
- need to figure out the saveram stuff
- path requests might actually completely fail atm, no idea how to verify that
* refactor to use a switch instead of some weird array with function pointers
- and implement snes_get_mapper, might be helpful or smth idk
* implement entropy c++-side and delete all this useless code holy
* delete dumb unnecessary code
* implement snes_peek_logical_register c++-side
* normalize all indentation
* attempt to properly support sharprtc and epsonrtc data loading and writing
* Duplicate winforms code to add entropy support c#-side and implement layer_enable functionality
The duplicated code is just so i can have a proper window for the new bsnes core. I do not like duplicating code like this, so this should be improved if possible
* Checkpoint for the start of getting rid of the ugly api wrapper stuff
* Next checkpoint for a full api refactor
* bullshit denied
just no.
every file is either copied or manually edited or written from scratch etc.
do not. force. one indent_style on every single file.
It just does not work.
* remove the entire eMessage_CMD handling and convert to native function calls
* general improvements regarding functionality
- adds hotfixes and fast_ppu core options
- add back the alwaysDoubleSize setting
- use bsnes's own serialize function for savestating now
- generate and use the color palette only in c# cause it doesn't need to be on the c++-side
- and more cleanup like always
* somewhat implement IMemoryDomains
* Implement trace logger and cleanup more unused stuff
* Implement ISaveRam, fix controller mapping for TAStudio and remove the pwrap stuff
* Fix ISaveRam, add a controller configuration box for the new core, (hopefully) fix controller inputs
- also differentiates BG prio0 and prio1 now (with options for it)
- some minor irrelevant edits in bsnes source
* Cleanup some more and optimize a bit
* Support firmware loading and make sgb work (hopefully)
* Remove all unused files
* Add back CropSGBFrame option and cleanup snes_video_refresh logic
* Some hopefully sensible changes
* One more cleanup pass
* Change to new PortedCore attribute
necessary after the changes in 98b07c42d5
Co-authored-by: nattthebear <goyuken@gmail.com>
note: in principle
1. _lines and the VirtualListSize are meant to be updated atomically
2. these can be written to from a different thread while the gui thread reads them
this necessitates a high degree of caution around how those variables are accessed, which is made complicated because VirtualListSize isn't a variable but rather done as a win32 call on the gui thread only
Good size reduction for some cores, less useful for others. Typically moderately slower. Has some threading built in (cannot be disabled).
Example speeds with PSX core:
104 fps with delta rewinder
112 fps normal rewinder (no compression)
124 fps without rewinder
* replace current GB/C syntax with rgbds syntax
* make rgbds syntax an option, only works for Gambatte tracelogger
* fix add sp/ld hl,sp+
These opcodes aren't disassembled correctly at all; they seem to just use the exact same logic as jr, which doesn't really work here since these are explicit adds, and these opcodes use sp, not the pc. This is probably the most logical approach to this opcode.
Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
* 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
speed is 4 times faster than ffv1, size it twice as big (tested on SM64 running at 4K internal res). avisynth is more happy with ut than with ffv1, because for the latter you have to tell it the actual pixel format. great option overall.
See eafa39456f and 307d85cee0.
This will add extra keys that do nothing on certain non-menacer light guns, but that never seemed to bother anyone in 1.x.
* Remove links between PathsConfig and FirmwaresConfig
in the label in FirmwaresConfig, I left the search path and how to change it
* Clean up hacks only needed for FirmwaresConfig<=>PathsConfig links
* removed CoreAttribute.DisplayName (using IEmulator.SystemId instead)
* fixed ToolManager checking for "(Experimental) " prefix on names of unreleased
cores in ToolAttribute.UnsupportedCores
* corrected display name of UZE sysID to "Uzebox" (was "uzem")
* disabled auto-generated accelerators (&A -> Alt+A) on "current system" menu in
MainForm menubar because they could conflict with hardcoded ones
also I widened them all to the relevant interface
this was done with a naive regex replace, followed by reverting lines until all
the build errors were gone; the regex was something like
s@(public|internal|protected|private) ((?:List|Dictionary)<[^=\n{]+= )@$1
readonly I$2@g
We were using some sort of special malformed non-path seperator character to stand in for the path seperator character in in the lump names, and then compensating for that brokenness when loading lumps.
On save, we were relying in our zip library compensating for the brokenness.
* Fix exception, scroll to branch on updating branch and fix#2645
* Make loadbranch hotkey deselect all but one branch
matches updatebranch behavior and fixes part of #2645
still no cores which support it, "Debug" is still hardcoded, still uses holding
Fast Forward hotkey to trigger
no idea how OverrideAdapter, or the IInputAdapters, or the Bk2/BkmController
will work, I've just thrown NotImplementedException from those
Open `Config` > `Controllers...` with any rom loaded and go to the last tab.
A "Debug" virtual channel is hardcoded, and will be present on every core.
As with the previous commit, holding Fast Forward causes this channel to fire
and it will be passed through to a bound host gamepad.
The prescale slider works. Virtual channels with a player number prefix also
work, but the single "Debug" channel without a prefix is hardcoded.
Caveats: Reopening the config dialog doesn't load the host channel back into the
combobox. It will save to config correctly.