Commit Graph

17878 Commits

Author SHA1 Message Date
nattthebear 7adeebb59a
TurboNyma/HyperNyma - make SystemId = "PCECD" when in cd mode 2020-08-15 12:20:26 -05:00
nattthebear 77057d4b16 minor cleanup 2020-08-15 12:53:04 -04:00
adelikat 353ec518c7 update GB/GBC profile settings:
longplays - gambatte, require bios (per longplays request)
tas - gambatte, require bios, CGB in GBA (per tasvideos request)
2020-08-15 11:23:34 -05:00
RetroEdit 1f5128bf6b
zwinder: Make GetStateClosestToFrame actually get closest state. ()
* zwinder: Make GetStateClosestToFrame actually get closest state.

* Clarify docs
2020-08-14 11:00:56 -05:00
RetroEdit e89449ed27
Input display: At movie end, show both last movie inputs and current inputs; fixes () 2020-08-14 10:49:06 -05:00
nattthebear 5ea32b875b rewinder UI - limit target frame length to 500000
I guess the 16383 came from looking at the code, but 16383 is a limit on the number of states (which also needs to be increased, TODO) not how many frames back those states go.  There is effectively no limit except numerical calculation limits on the target frame length; if you had room for only 10 savestates, but wanted to cover a 10 million frame range, we'd just save once every million frames
2020-08-14 10:20:02 -04:00
zeromus 1d87bcd29c Dispose MemoryBlock in zwinderbuffer (fixes ) 2020-08-14 08:12:44 -04:00
nattthebear 356dfcebdb Change the designer for rewinder to allow up to 32GB of rayums used
Since the rewinder scales in powers of two, we might want to reconsider how this control works
2020-08-13 21:14:34 -04:00
nattthebear 4062584719 zwinderbuffer: use memoryblock instead of junko .net arrays. This bad boy can hold more than 1GB of shite now 2020-08-13 21:08:48 -04:00
nattthebear 5d3b85ab9f Clean up and remove a lot of no longer used memory block stuff
All of the cool and quirky stuff it did was solely to support waterbox, which has its own native impl of this now.  So now it just lets you allocate memory and change protection on it.  Boring.  Note that the slot based callback system in waterbox gives constant function pointer addresses inside the box, so it doesn't matter where exactly CallingConventionAdapter is allocated.
2020-08-13 19:41:52 -04:00
RetroEdit ad07eb8574
Clean up truncate behavior and docs. Fixes ()
* Clean up truncate behavior and docs. Fixes 

To start with, 770ddc26db (6 years ago, prior to 1.7.0) made the documentation of how truncate is supposed to work. However, judging by my testing of 1.9.0 and 2.4.2, it probably hasn't ever worked that way in practice. It seems justified to change the documentation to match the behavior that the user is familiar with, and what I see as the commonsense behavior anyway (I can justify this further if anyone is curious).

Note this is not changing the behavior of truncate itself; it is simply documenting what the behavior has always been.

Secondly, Invalidate was modified to become InvalidateAfter. This modifies how it gets called, but otherwise remains mostly identical internal to the Zwinder. This was done to make it easier to reason about relative to the input log, which should be the foundation for an understanding of related components.

* zwinder: "frame after" interpretation in all Invalidate methods
2020-08-11 17:53:27 +00:00
YoshiRulz 953a14016f
Fix phantom NRE from ProcessInput during some crashes on Mono
Pretty sure this only affected Mono. The infinite loop in ProgramRunLoop
continued even after the form was disposed (in the testing I did, this was
always during the call to CheckMessages). However, DisplayManager (actually
GlobalWin.DisplayManager) was cleared during disposal, so the call to
DisplayManager.UntransformPoint rightly threw an NRE. After this change, the
"real" stacktrace is still printed as always.
2020-08-11 16:11:28 +10:00
YoshiRulz 6f5028bfcf
Fix line breaks in label
see 
2020-08-11 13:41:45 +10:00
YoshiRulz ecfeecdb70
Make Bk2Movie type and ctor public 2020-08-11 12:36:14 +10:00
SuuperW 07d0688f45
Merge pull request from TASVideos/FixLuaMemoryReadWrite
Lua 16/32-bit read/write
2020-08-10 17:23:30 -05:00
zeromus aa49ac5cf2 change IRewindSettings to use a 'long' for buffer size, for the future. this makes math using it automatically be long. 2020-08-10 16:07:57 -04:00
zeromus 6b57c1e504 cap rewinder buffer size at 1024MiB 2020-08-10 16:07:20 -04:00
nattthebear 2feece847f
I don't understand why we're clearing the rewind buffer, but if we want to do that, just do it, and don't deallocate + reallocate many megs of ram on every loadstate () 2020-08-10 09:59:23 -05:00
alyosha-tas f08ab6dda8 GBHawk: disassemble second byte of STOP 2020-08-10 10:40:44 -04:00
zeromus 8fbd45b03f rewinder was being disabled as an approximation for clearing it when loading state while in a movie session. change it to actually just clear it (by recreating it). I decided this was safer than making the rewinder learn how to clear itself. Should fix 2020-08-10 03:46:48 -04:00
nattthebear 337f71357e PCE cores - rework loading
The gods have decreed that PCECD will be PCE, so they all have to come in through the same constructor.  Fixes 
2020-08-09 18:00:43 -04:00
nattthebear 56e3642d5c Refactor how movie loading handles preferredCores
First of all, use a try..finally pair around the mutating calls to make it clear that Config.PreferredCores will always be rolled back, and to the correct value, after the operation is done.
Then, assume that when Movie.Core is set, we always want to prefer that core... no matter what system comes up.  Seems to fix 
2020-08-09 17:11:31 -04:00
nattthebear 5a0b49726e Revert "hack rom loader to keep doing the bullshit we've been doing for 8 years now, where Game.System == "GBC" results in an Emulator with a SystemID. Don't revert without volunteering to fix tasvideos"
This reverts commit 31bf9b9147.
2020-08-09 16:31:49 -04:00
adelikat 31bf9b9147 hack rom loader to keep doing the bullshit we've been doing for 8 years now, where Game.System == "GBC" results in an Emulator with a SystemID. Don't revert without volunteering to fix tasvideos 2020-08-09 15:29:41 -05:00
adelikat c844af3bbb RomLoader - remove an unused parameter in LoadOther 2020-08-09 15:15:26 -05:00
adelikat 729934aa42 unknown PCE-CD games should have PCE as the Game.System, to be consistent with the discs that can be properly identified 2020-08-09 15:11:35 -05:00
adelikat 3eca5286b5 DS - avoid allocating a byte buffer everytime a savestate is made 2020-08-09 11:47:52 -05:00
adelikat a2414f2b4e Tastudio - branches - enable multi-select and implement ability to remove multiple branches 2020-08-08 16:24:07 -05:00
nattthebear 5cbd1ed385 zwinder buffer - when saving to disk, only save what has actually been put in the buffer 2020-08-08 13:11:19 -04:00
adelikat 78b03cbdec remember to set pauseInterrupted = false, when responding to said flag. Use TasView mouse leave instead of form leave for leave logic, since form leave doesn't fire if you move your mouse too fast because winforms is bad. This fixes and 2020-08-08 10:49:12 -05:00
adelikat b101df8235 Allow multiple marker selection, and multiple marker deletion, also dejunkify some hack workarounds that aren't needed anymore, and fix focus issues on input roll 2020-08-07 21:03:04 -05:00
Paul Kratt 05c5148610
Merge pull request from Sappharad/gpgx_ssfmapper
Migrate to latest MD cart mappers from GPGX upstream
2020-08-07 20:48:36 -05:00
adelikat 0818e40149 misc cleanups in client.common 2020-08-07 16:19:54 -05:00
nattthebear 25bdeb7f69 Use alloc_plain to allocate the md_cart space so it will be writable if needed
This lets us support mapper32k_w without needing extra hacks.  Because of lazystates, this doesn't hurt us on state size either (lazystates did not exists when we did 722358c1b1
2020-08-07 07:17:14 -04:00
YoshiRulz 476295ccec
Remove unused HawkFile static helpers 2020-08-07 16:30:17 +10:00
YoshiRulz e02a3d3baf
Fix double HawkFile construction 2020-08-07 16:29:09 +10:00
YoshiRulz 74bfac2359
Add missing imports to tests
fixes c4202fea2
2020-08-07 12:59:39 +10:00
YoshiRulz c4202fea2e
Fix namespaces in test project 2020-08-07 12:46:40 +10:00
Sappharad c3c9a4c81f New GPGX build 2020-08-06 21:44:15 -05:00
Sappharad db0f2a65a1 Migrate to latest GPGX MD Cart mapper support 2020-08-06 21:40:43 -05:00
adelikat 84df4141ea tastudio - bump up the default statemanager buffer settings 2020-08-06 19:25:24 -05:00
zeromus 7799abc8a0 change git@ submodule urls (llvm-project and dobiestation) to https, like all the other existing submodules. one still has the nuisance of placating git when pushing, but at least one can CLONE without needing credentials setup.
typically changing the submodule paths wrecks repositories. you can try to repair it by deleting the directories and doing "git submodule update --init --recursive" from the bizhawk root. In my experience, git GUIs may mess something up here
2020-08-06 16:05:34 -04:00
zeromus eee7d52c80 add waterbox readme notes concerning autocrlf and submodules 2020-08-06 15:56:05 -04:00
adelikat 491c5c20b6 Tastudio - fix NRE when input editing after importing a bk2 2020-08-06 13:22:11 -05:00
adelikat f2dba97197 Tasproj versioning - use constant in unit test so it doesn't fail on next version bump, when converting bk2, slap the current tasproj verison on it, converting to bk2, remove tasproj version 2020-08-06 13:15:29 -05:00
adelikat af5acb457d a few pointless refactors 2020-08-06 13:15:29 -05:00
nattthebear c32ca26790 saturnus - default ss.correct_aspect to off 2020-08-06 13:13:11 -04:00
nattthebear 9600bc2ce0 ps2 - add fenv support and recompile dobie with it
This isn't so great, and could lead to nondeterminism or abi violations depending on how things use fenv.  For now it's just a dobie experiment
2020-08-06 07:28:24 -04:00
nattthebear 3db2818eb2 Rework a waterbox script slightly 2020-08-05 22:33:23 -04:00
adelikat ac139eabf2 remove byte[] SavestateBinary() from IStatable, consolidate IBinaryStatable into IStatable now that they are the same 2020-08-05 21:07:30 -05:00