YoshiRulz
b2982825d8
Make DiscJob abstract
2020-05-21 04:45:01 +00:00
YoshiRulz
6f813edbdb
Move some private helper methods to local methods in DiscSystem
2020-05-21 04:45:01 +00:00
YoshiRulz
d436b9b9aa
Fix colection/LINQ usage in DiscSystem
...
except the garbage that is byte[].Skip().Take(), I CBB fixing that
2020-05-21 04:45:01 +00:00
YoshiRulz
0ccf30396d
Use modern `??=`, `is`, casts, etc. in DiscSystem
2020-05-21 04:45:01 +00:00
YoshiRulz
ae22cd9f1b
Use explicit visibility modifiers in DiscSystem
2020-05-21 04:45:01 +00:00
YoshiRulz
0706b96afe
Fix encapsulation of IN_*/OUT_* in DiscSystem
...
these properties imply builder semantics but the classes aren't builders
2020-05-21 04:45:01 +00: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
alyosha-tas
acf7926629
Add iscgb flag for subgbhawk
2020-05-20 15:04:05 -04:00
alyosha-tas
8ef5c18fcb
GBHawk: bug fix and start wok on audio
2020-05-20 11:32:03 -04:00
adelikat
b5ad1e636e
add .uze (uzbox) to the Load Rom dialog filter
2020-05-19 20:48:53 -05:00
adelikat
123dbcc46d
make uzebox and pcfx games not throw an exception on load, fixes #2022
2020-05-19 20:46:07 -05:00
adelikat
0a12f9e742
more tests for Bk2LogEntryGenerator
2020-05-19 20:29:55 -05:00
adelikat
0b5047b64a
fix test namings, make Client.Common internals visible to tests, add a Bk2LogGenerator tests (more to come)
2020-05-19 20:05:12 -05:00
adelikat
1bfaaab872
https://www.youtube.com/watch?v=Ya2xifdO_l0
2020-05-19 19:55:08 -05:00
adelikat
21e4d30f98
remove another string extension method that was unused, and consolidate classes
2020-05-19 19:37:52 -05:00
adelikat
6d7d36c1d0
delete HowMany() extension method and just use .Count() instead, the one value add of null/empty checking was never utilized anyway
2020-05-19 19:30:24 -05:00
adelikat
96b0b37673
consolidate and rename tests project into a single project, delete commented out tests, add a unit tests that tests a thing
2020-05-19 19:24:53 -05:00
YoshiRulz
d91c477e5a
Add test projects and solution using MSTest, add scripts, upgrade CI
2020-05-19 23:54:14 +00:00
adelikat
0f1f463bcb
I nitpick interface refactor
2020-05-19 18:01:09 -05:00
YoshiRulz
74a6da509a
Add NumLock and PrintScreen to OpenTK and to DirectInput->OpenTK map
2020-05-19 23:47:54 +10:00
YoshiRulz
2c817e3057
Use Range.Count extensions
2020-05-19 23:37:59 +10:00
YoshiRulz
7613748390
Fix some code flagged by StyleCop
...
SA1106 x4, SA1113 x2, SA1142 x2, SA1206
2020-05-19 23:33:16 +10:00
alyosha-tas
c96a233d5d
GBHawk: Speed switch timing fix.
2020-05-18 15:43:51 -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
RetroEdit
4555be85bc
tastudio: fix Changes wrongly being set false ( #2018 )
...
tastudio: fix Changes wrongly being set false
2020-05-18 12:29:23 -05:00
adelikat
28d859e2d8
SavestateManager - make a public method private
2020-05-18 11:59:25 -05:00
RetroEdit
88b038f24e
Improve frame insertion/deletion efficiency, particularly for undos ( #2017 )
...
* Replace unnecessary fromHistory parameters
* Improve frame insert efficiency, particularly for undos
* Improve frame delete efficiency, particularly for undos
2020-05-18 10:58:29 -05:00
adelikat
4b6e6d996a
Simplify some Bkm code
2020-05-17 15:34:47 -05:00
adelikat
100fc2bad5
Rewinder - remove message callback, I dont' think this message is worth the code, especially since mainform always adds a message
2020-05-17 15:14:40 -05:00
adelikat
78c1482720
Rewinder - remove Movie active check when deciding about keeping the last frame of a rewind. It seems to work without it, but more significantly, rewind is not MOVIE SAFE, it used to be disabled while recording, and somehow got enabled, I guess someone wanted their desyncs
2020-05-17 15:06:23 -05:00
adelikat
1e0ae62041
Rewinder - pass stuff in, instead of using globals
2020-05-17 15:01:44 -05:00
adelikat
b140143791
Watch classes - remove "LIAR logic"
2020-05-17 13:35:49 -05:00
adelikat
b2d482ea66
Hex editor - cleanup a bit
2020-05-17 12:26:53 -05:00
adelikat
07225c06de
oops - fix multi-byte views in hex editor
2020-05-17 12:25:04 -05:00
adelikat
5ffc26b5e9
AutoFireStickyXorAdapter - pass in on/off instead of getting them directly from Global.Config
2020-05-17 11:59:24 -05:00
adelikat
c91b17877d
Simplify MovieSession a bit
2020-05-17 11:23:52 -05:00
adelikat
3e354ed230
Simplify Movie extensions ToBk2()
2020-05-17 11:22:22 -05:00
adelikat
42356dd32b
roll back RomLoader cleanups from e4563570f9
, ref implicit tuples and todos don't make the situation better
2020-05-17 11:05:44 -05:00
adelikat
604f4ce833
TasStateManager - simplify MaxState logic and actually fix the math so it isn't 2x of what is intended
2020-05-17 10:41:39 -05:00
adelikat
45fd7ee81e
nuke most of SubstringExtensions, and make it where i can at least read it
2020-05-17 10:39:24 -05:00
adelikat
04aab3c41b
add an IStatable extension method that will return a byte array that's safe to hold on to, but isn't optimized for speed, to be used in basic situations where we are making movies from savestate or getting a savestate length
2020-05-17 10:08:00 -05:00
adelikat
0154222737
a bit of reorg - put Emulation.Common sound files in the sound folder not unecessarily nested
2020-05-17 09:50:05 -05:00
YoshiRulz
0632560899
Split StringExtensions, fix and add to substring extensions
2020-05-17 23:02:30 +10:00
YoshiRulz
e4563570f9
Cleanup RomLoader
...
splitting methods from LoadRom makes it ~150 LoC instead of ~850
2020-05-17 19:41:30 +10:00
YoshiRulz
01460cec1b
Re-add docs for MemoryBlockBase, rename End to EndExclusive
...
see 4a5ece207
, 4abe3f793
2020-05-17 15:07:41 +10:00
alyosha-tas
4ac3cb861d
GBHawk: timing and access fixes
2020-05-16 19:57:53 -04:00
zeromus
ad26b09717
change dll check descriptions to match prereq installer (and be more googlable); also remove vcruntime140.dll since I think vcruntime140_1.dll obsoletes it. I could be wrong, though. We'll readd it if its proven so.
2020-05-16 19:52:23 -04:00
adelikat
513e2287c4
Hex Editor - bulk read the char viewer as well, fixes #2012
2020-05-16 18:51:52 -05:00
adelikat
a0769d4bd9
Lua - fix client.getavailabletools()
2020-05-16 15:30:04 -05:00
adelikat
de97abf6e5
convert some more core name strings to constants
2020-05-16 14:51:47 -05:00
adelikat
3808a6d88f
RomLoader - simplify
2020-05-16 14:43:50 -05:00
adelikat
8da52d985b
more RomLoader cleanup
2020-05-16 14:21:44 -05:00
adelikat
a77988e9be
RomLoader - remove redundant if check
2020-05-16 14:13:49 -05:00
adelikat
b4b0debd59
RomLoader - remove no longer accurate comment
2020-05-16 14:09:27 -05:00
adelikat
71698d5571
fix A7800 rom loading - remove unused and legacy .csv gamedb path, and convert to use CoreInventory
2020-05-16 14:04:11 -05:00
adelikat
c830452775
move a bit more logic from RomLoader to Disc
2020-05-16 13:51:58 -05:00
adelikat
32aa623eff
RomLoader consolidate some Disc creation logic between xml and m3u code paths and abstact some of it out to the DiscSystem project
2020-05-16 13:46:48 -05:00
adelikat
8269b7dec4
RomLoader - remove some redundant cases, if all you need need to do is run CoreInventory.Instance() then the default case handles that
2020-05-16 13:12:36 -05:00
adelikat
14c117e92e
RomLoader - GPGX - support rom + cd .xml files
2020-05-16 11:54:36 -05:00
adelikat
e547a0eb6f
add GEN to multidisk bundler dropdown
2020-05-16 11:38:37 -05:00
YoshiRulz
c248ee495a
Replace ILinkedLibManager.LoadOrNull w/ LoadOrZero
...
see aa8fe56ef
and 4baefd874
2020-05-16 11:41:58 +00:00
YoshiRulz
7afa4a2f98
Replace GetProcAddrOrNull with GetProcAddrOrZero
...
both in ILinkedLibManager and its inheritors, and in IImportResolver and its
inheritors; see aa8fe56ef
2020-05-16 11:41:58 +00:00
YoshiRulz
3e51bbe5c2
Revert "Fix up Nullable<IntPtr> brain damage"
...
This reverts commit aa8fe56ef9
.
2020-05-16 11:41:58 +00:00
nattthebear
9944c9d989
add check for another dll file that we now require
2020-05-16 07:19:24 -04:00
alyosha-tas
11806fa178
GBHawk: timing and DMA work
2020-05-15 21:47:41 -04:00
nattthebear
61f269f097
maybe fix a maybe bug in maybe code that maybe will ever be run
2020-05-15 19:44:28 -04:00
nattthebear
de6208d264
fix a warning in pce
...
looks like something was swept under the rug with the PutSettingsDirtyLikeYourMomBits refactor
2020-05-15 19:01:40 -04:00
nattthebear
aa8fe56ef9
Fix up Nullable<IntPtr> brain damage
...
It'd be one thing if we needed a sentinel value distinct from IntPtr.Zero but we don't. It's a pointer, and 0 is globally understood to be The Bad Value.
Some brain damage remains:
* LoadLibrary abstraction also returns Nullable<IntPtr>
* I named it `Resolve` and not `GetProcAddr` because I didn't want to see win32 everywhere I went :(
2020-05-15 18:56:34 -04:00
adelikat
63ef4125dc
lua - fix client library being null on null emulator
2020-05-15 10:43:30 -05:00
nattthebear
4abe3f7932
Revert 4a5ece2076
( #2007 )
...
Because of intervening commits, there may be some other incidental changes.
While well intentioned, the refactoring was just a mess when it came to actually groking this low level memory block shuffling code.
2020-05-15 07:40:28 -04:00
YoshiRulz
1ee38dcac2
Fix IList<T>.ToLuaTable() extension ( resolves #2004 )
2020-05-15 18:07:37 +10:00
YoshiRulz
7725d59636
Enable SA1124 "Do not use regions" and fix compliance
2020-05-15 17:00:53 +10:00
YoshiRulz
87ec2618a1
Revert "delete all regions"
...
This reverts commit e566d8e258
.
2020-05-15 17:00:49 +10:00
YoshiRulz
a1b501fe5a
Fix OpenAL sound on Unix
...
TODO copy this file from NuGet cache w/ MSBuild
2020-05-15 15:37:29 +10:00
YoshiRulz
fd9da66a85
Revert "Force DummySoundOutput on Mono for now"
...
This reverts commit aaa75a19aa
.
2020-05-15 15:37:23 +10: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
68dc12dab7
Prohibit U+D/L+R at the core level in SGB
...
fixes #1308
2020-05-14 19:51:19 -04:00
nattthebear
5892059fc3
Add bulk peek byte for waterbox cores
...
This should speed up the hex editor significantly in one byte mode, but it doesn't because the hex editor is buggy
2020-05-14 18:40:56 -04:00
nattthebear
a49a372410
add bulk read of intptr memory domains.
...
speeds up ram search in quicknes
2020-05-14 18:10:16 -04:00
nattthebear
e566d8e258
delete all regions
2020-05-14 17:33:40 -04:00
upthorn
01089645cc
Merge branch 'master' of https://github.com/TASVideos/BizHawk
2020-05-13 09:25:35 -07:00
upthorn
d48651e668
Prevent crashes on Set*ExtraPadding
...
Prevent crashes when needing to invoke private methods from MainForm.
2020-05-13 08:57:12 -07:00
zeromus
8d1a1e4c92
Properly skip presentation and user prescale steps when taking "raw" screenshot. About a 10% chance of other regressions. fixes #1997 .
2020-05-12 22:39:41 -04:00
alyosha-tas
f089fe5fcd
O2Hawk: Fix Catch the Ball collision detection (timer and counter can't be enabled at the same time.)
2020-05-11 16:30:09 -04:00
zeromus
453baebdcc
neshawk - fix poking wram (fixes ancillary unrelated issue in #1994 )
2020-05-10 20:59:40 -04:00
adelikat
cb55cdd0dd
delete a bit more PCE menu stuff
2020-05-09 19:11:52 -05:00
adelikat
35bed42042
PCE - remove menu items and config dialogs in favor of simply having a GenericCoreConfig dialog
2020-05-09 19:10:54 -05:00
alyosha-tas
e7f603c396
GBHawk: optimizations and serial port cleanup
2020-05-09 18:59:52 -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
adelikat
976ea4967b
cleanup IAsyncSoundProvider hacks and consolidate code that is only used for PCE
2020-05-09 11:01:02 -05:00
adelikat
b16684b4c7
YM2413 - don't implement IMixedSoundProvider, it isn't used
2020-05-08 18:04:04 -05:00
adelikat
05cffd887a
SMS - cleanups
2020-05-08 17:31:20 -05:00
adelikat
099e2f4f97
remove unused YM2612.cs
2020-05-08 16:29:32 -05:00
adelikat
0a512dac4a
SoundMixer - remove an unused and uneeded method, I think it is a reasonable contract that you have to pass in all sound sources during construction
2020-05-08 09:05:32 -05:00
adelikat
3c76e6014a
HuC6280PSG - make some public things private or internal
2020-05-07 20:52:27 -05:00
adelikat
3ae16c4248
Ram search - reduce some unnecessary recreating of the entire ram search list during load. Also remove some Reboot() logic that happens right before a NewSearch that immediately negates it
2020-05-07 17:51:40 -05:00
adelikat
1c51d5b012
Multidisk Bundler - add logic to properly restart when the Rom changes
2020-05-07 15:41:48 -05:00
alyosha-tas
227084c2dd
GBHawk: better emulate unmapped memory
2020-05-07 15:27:07 -04:00
alyosha-tas
8bd739a4c8
GBHawk: ppu cleanup and more aaccuracy edge case work
2020-05-07 11:24:08 -04:00
feos
697bb84808
tweak
2020-05-07 18:12:44 +03:00
adelikat
c50c38d88b
GPGX - keep a savestate buffer for SaveStateBinary, yeah maybe it shoudln't be every cores responsibility, but until it doesn't, this greatly improves rewind and tastudio performance
2020-05-06 20:22:23 -05:00
adelikat
a118763409
a few worthless nitpicks
2020-05-06 20:22:23 -05: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
974792cdfe
Make waterbox consistency check ui option only skip the memory check, not the core check ( #1979 )
2020-05-06 07:46:40 -04:00
adelikat
a0d825084a
virtual pad support for GB 3x and 4x
2020-05-05 16:44:09 -05:00
zeromus
ca24b31640
waterbox - skip only memory consistency check
2020-05-05 17:29:12 -04:00
zeromus
74ba281463
readd opentk/dinput options to gui
2020-05-05 17:26:13 -04:00
adelikat
53c1f5f784
BasicBot - fix Load event not being called on load
2020-05-05 13:06:33 -05:00
adelikat
22ee71b0cf
refactor lua shenanigans in mainform, instead move frame based logic to lua console update hooks, control SupressScripts in lua itself not in mainform. Also, this breaks the logic that automatically stop countihng rerecords if loadstate happens from script, the logic appeared to be broken and can/should be managed by the script itself
2020-05-05 12:40:57 -05:00
alyosha-tas
4391c97a8e
GBHawk; VRAM access cleanup
2020-05-05 09:03:22 -04:00
YoshiRulz
8c005e6ffa
Add assembly list to ext. tool Attribute, allows shipping dependencies
...
DBMan works again
2020-05-05 09:26:37 +10:00
YoshiRulz
aaa75a19aa
Force DummySoundOutput on Mono for now
2020-05-05 08:54:21 +10:00
feos
4e60e164be
mame: deconstruct Update()
2020-05-04 16:48:26 +03:00
feos
ae448f3cb2
minor tweaks
2020-05-04 15:48:44 +03:00
feos
e836ce343e
mame: let non-fatal "NOT FOUND" problems slide
2020-05-04 13:17:28 +03:00
feos
8e5e1929b2
mame: reduce copypaste
2020-05-04 12:49:25 +03:00
feos
82dcccf6cd
allow exit too
2020-05-04 11:58:27 +03:00
feos
6f72012d6a
move launchers around
2020-05-04 11:27:35 +03:00
feos
7370b4e949
explanations
2020-05-04 11:25:23 +03:00
feos
5c2e6d35c3
mame: finally make mem reading work with frame advance
...
proof that it's a good idea to go to bed with a problem, because your brain keeps solving it while you're sleeping. so when you wake up, it presents you the solution that actually works.
2020-05-04 10:53:29 +03:00
zeromus
7ce9a56dda
fix display manager custom AR/size. broken by 45e0abe39d
. fixes #1975
2020-05-04 00:37:12 -04:00
zeromus
4c7ade126c
disable architecture mistmatch warning on emuhawk
2020-05-04 00:33:20 -04:00
adelikat
cfdb5ffeb6
remove unsupressing too
2020-05-03 20:34:35 -05:00
adelikat
e906f41dc7
TAStudio - don't disable lua scripts while seekinng, even the comment suggests this is a sloppy copy/paste from lua code that definitely would want to disable things
2020-05-03 20:33:39 -05:00
YoshiRulz
1b17cb4297
Replace batch/shell script with MSBuild
2020-05-04 09:41:30 +10:00
YoshiRulz
31d4662ab6
Change executables' build paths and names
2020-05-04 07:22:48 +10:00
YoshiRulz
245cbfbcea
This is dumb
...
This reverts commit d694213000
.
2020-05-04 07:22:26 +10:00
zeromus
d694213000
Revert "Revert "fixes" to EmuHawk.csproj"
...
This reverts commit cf252b7ba0
.
2020-05-03 17:04:44 -04:00
YoshiRulz
bdd622681d
Remove explicit parenting on Properties/Resources.cs
2020-05-04 06:21:14 +10:00
YoshiRulz
b3b5dcf64d
Add SharpCompress <PackageReference/> to EmuHawk
2020-05-04 05:41:36 +10:00
YoshiRulz
73231a59a9
Use batch/shell script to copy DiscoHawk to output as well
2020-05-04 05:24:35 +10:00
YoshiRulz
50461f17ee
Move copy-to-output scripts to Build/ and make them work
2020-05-04 05:24:32 +10:00
YoshiRulz
cf252b7ba0
Revert "fixes" to EmuHawk.csproj
...
This reverts the 5 commits ddddb309f
through 664fb5cb3
.
2020-05-04 03:55:47 +10:00
adelikat
588eeeca27
remove core specific game genie menu items that now simply load the Cheat converter tool
2020-05-03 12:38:12 -05:00
adelikat
158bff1c08
fix MainForm designer
2020-05-03 12:30:04 -05:00
adelikat
ea634daa7c
Convert Tools to use NewUpdate and remove legacy methods ( #1976 )
...
* ToolForm - add General type, remove UpdateValues from IToolForm and start refactoring to NewUpdate, a lot of things are broken
* remove boilerplate Update methods from tool dialogs that do not need them
* convert more tools
* update more tools to use NewUpdate
* update more tools
* update more tools
* convert more tools to use ToolFormBase, remove UpdateBefore property
* set up fast update in some tools
* more fixes to fast update
* Ram Watch/Search - fix fast update
* rename stuff
* rename NewUpdate() to UpdateValues()
* ToolManager - remove unused Cheats convenience property
* cleanup
2020-05-03 12:22:02 -05:00
adelikat
da5ddf3217
put a virtual AskSaveChanges method in ToolFormBase, and only override it when needed, reduces a lot of boilerplate
2020-05-03 09:52:41 -05:00
zeromus
664fb5cb31
properly fix that net48 directory business
2020-05-03 00:59:09 -04:00
zeromus
399a50ab17
put an extra .. on asset copy to keep it from getting put in net48 dir
2020-05-03 00:34:27 -04:00
zeromus
0bda6ac71e
fix asset copying... mostly... but it's copied into a "net48" subdirectory. in another commit i will fix that (because we will need to undo it when we fix this to stop building multiply)
2020-05-03 00:33:03 -04:00
zeromus
d9cba0b156
fix loading emuhawk csproj
2020-05-03 00:24:03 -04:00
zeromus
ddddb309fc
Revert "Migrate EmuHawk's post-build targets to shell scripts"
...
This reverts commit 0ff90bf131
.
2020-05-03 00:03:32 -04:00
YoshiRulz
0ff90bf131
Migrate EmuHawk's post-build targets to shell scripts
...
(because MSBuild's <Copy/> doesn't want to co-operate)
fixes 2bf1dfbd0
, but the batch script is empty so build is still technically
broken on Windows
2020-05-03 13:45:30 +10:00
YoshiRulz
2bf1dfbd09
Migrate EmuHawk to new .csproj format
2020-05-03 11:52:49 +10:00
YoshiRulz
178c491a9f
Migrate DiscoHawk to new .csproj format
2020-05-03 11:52:40 +10:00
zeromus
84c4310120
support skip option on everything else
2020-05-02 21:10:53 -04:00
zeromus
f00320b90c
support skip option on bsnes
2020-05-02 21:10:52 -04:00
zeromus
4cd6e6fe8a
support skip option in waterbox
2020-05-02 21:10:51 -04:00
zeromus
6fc522072b
plumbing for that skip option. do not look at this commit, it will displease you.
2020-05-02 21:10:50 -04:00
zeromus
a59b6c29b5
revert EmuHawkOptions to pre-layoutpanel state, so that I can actually edit it without it turning into crap. probably fix a label concerning the waterbox skip stuff that I messed up in the last commit because I was so confused
2020-05-02 21:10:48 -04:00
adelikat
388e18a8f5
consistently use ToolFormBase on tools
2020-05-02 20:09:01 -05:00
YoshiRulz
1bded467b3
Replace $(SolutionDir) with $(ProjectDir) in src/
2020-05-03 11:05:26 +10:00
YoshiRulz
5a8349b5a5
Update paths in projects (fixes build)
2020-05-03 10:58:35 +10:00
YoshiRulz
3a3b22c03b
Move projects to src subdir (breaks build)
2020-05-03 10:57:38 +10:00