Commit Graph

385 Commits

Author SHA1 Message Date
alyosha-tas 39bbe30b8e O2: fix sprite shifting and add some homebrew to DB 2020-07-11 08:29:11 -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
alyosha-tas fee733480f O2Hawk: change PAL timing 2020-07-06 09:38:24 -04:00
zeromus ae763f2eef fix hq2x in glsl (fixes #2196) 2020-07-05 18:15:05 -04:00
alyosha-tas fa7ac3d4c1 A7800Hawk: Fix pokey 0x450 detection 2020-07-05 15:45:08 -04:00
alyosha-tas e4e078a1c9 DS: Fix default binding for stat key 2020-07-04 19:53:54 -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
alyosha-tas 32031d0f67 Atari 7800: support serpentine 2020-07-03 16:07:26 -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
YoshiRulz 314dc391ae
Fix typo
these are backwards; fixes 73a905214
2020-06-28 19:45:39 +10:00
YoshiRulz 73a905214e
Fix possible bug when symlinking EmuHawkMono.sh 2020-06-28 19:42:49 +10:00
adelikat c13430896f remove empty controller mappings from defctrl, also remove duplicates that caused it to be invalid json (.net happily was deserilizing it anyway), don't save empty mappings when saving from the ui 2020-06-22 19:54:36 -05:00
zeromus e3dd8870c6 fix hq2x shader (fixes #2160) 2020-06-21 21:52:49 -04:00
adelikat b9f59337dd fix Saturn and NGP default controls 2020-06-21 17:31:28 -05:00
adelikat 123f1b3c99 default controls for Nyma PCE cores 2020-06-21 16:27:06 -05:00
zeromus 703a51be09 fix retroizer 2020-06-20 22:25:41 -04:00
zeromus 1b4a6f6415 get gl display method working, at least, minimally, with the scanlines shader. someone else can fix up the others if they need to or make me a bug. at least the hard part is past 2020-06-20 00:48:42 -04:00
zeromus d4cb18aff8 actual remove CGC.exe, that was the whole point wasnt it 2020-06-20 00:48:42 -04:00
zeromus 00e546a537 keep working on CGC-removal 2020-06-20 00:48:42 -04:00
zeromus b842f3ed16 remove cgc (step 1) 2020-06-20 00:48:42 -04:00
alyosha-tas 0d9f0d2af1 A2600: update gamedb for quad run fixes #2127 2020-06-15 14:08:45 -04:00
nattthebear abc1f502b9 remove no longer used vbanext file 2020-06-14 19:42:32 -04:00
nattthebear ec3a288377 my bad 2020-06-07 09:26:56 -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
YoshiRulz 0714376afe
Let EmuHawk pick up the shipped libblip_buf; packaging it is too hard 2020-05-15 17:05:12 +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
adelikat e76c89ce7a add some genesis games to the gamedb that weren't there, most don't work however 2020-05-09 13:17:01 -05: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
alyosha-tas 0e7e93b205 O2Hawk: various bug fixes 2020-04-17 18:38:44 -04:00
alyosha-tas 535a586422 O2hawk: add console version of happy bird 2020-04-10 15:19:16 -04:00
YoshiRulz cc4b12b0ae
Fix remaining "Nintento 64" typo
see eb1d87933
2020-04-10 09:58:59 +10:00
zeromus 8084fce648 rename 2020-04-01 18:00:57 -04:00
zeromus d60b83791c fix StyleusInputDisplay 2020-04-01 18:00:42 -04:00
adelikat 2fbbe01347 DS - fix sylus lua script to use client.transformPoint, still doesn't work since it scales down to 1x 2020-04-01 11:55:23 -05:00
adelikat cea0e80637 DS cross hair display script - account for movie playback 2020-03-28 17:27:51 -05:00
adelikat d1032f38f8 DS - add a DS lua library with a touchScreenStart() method, add a cross hair stylus input display script 2020-03-28 15:43:31 -05:00
SuuperW c59d8130bb
DS Hawk (#1884)
* Add MelonDS.cs, support opening (but not really) .nds files.

* init MelonDS

* MelonDS: Load selected ROM.

* MelonDS: FrameAdvance and frame counter.

* MelonDS: IVideoProvider

* MelonDS: Add DLL files.

* MelonDS: IInputPollable

* MelonDS: IStatable (and add forgotten file MelonDS_InputPollable.cs)

* update libmelonDS.dll

* MelonDS: ISoundProvider

* Add NDS to Global.SystemInfo, and convert screen coords when running NDS.

* set up default NDS controller

* MelonDS: ISaveRam

* MelonDS: remove romlist.bin

* MelonDS: ISettable

* Create firmware folder if it doesn't exist on Windows; otherwise, an exception is thrown.

* Add database entries for NDS bios/firmware files.

* MelonDS: Use the bios/firmware files selected in BizHawk's "Firmwares" dialog.

* MelonDS: Re-work sync settings a bit.

* NDS's firmware file contains user settings; these are over-written by sync settings, so we shouldn't allow them to impact the hash

* MelonDS: Add (currently unused) bootToFirmware sync setting, and NDSSettings dialog.

* Update NDS firmware hash; it seems I had somehow corrupted mine.

* MelonDS: Use boot to firmware sync setting.

* MelonDS: Allow user to set some firmware user settings via the NDS settings dialog.

* MelonDS: Add singleInstance attribute to core.

* MelonDS: IMemoryDomains

* update libmelonDS.dll

* MelonDS: Set up default sync settings if none are provided.

* MelonDS: Allow user to reset settings to default.

* MelonDS: bios+firmware files are recommended

* libmelonDS.dll

* MelonDS: Don't use real time.

* MelonDS: Update to reflect new way of handling RTC in MelonDS.

* MelonDS: Notify if savestate load failed.

* update MelonDS.dll

* MelonDS: Allow user to set startup date/time in settings dialog.

* MelonDS: Create melon directory if it doesn't already exist.

* Don't include Designer's "fixes" in PR (partially reverts 56b474c00)

* Don't show a broken console window; alert user of need to restart instead.
This fixes an error related to MelonDS trying to use the broken stdout stream.

* update default NDS controls to match other updated controls

* Implement a system bus, using ARM9 read/writes.

* MelonDS: Allow BizHawk to change the contents of the frame buffer.

* update libmelonDS.dll

* fix stuff that was merged incorrectly, or was broken by merge

* update libmelonDS.dll
(includes memory leak fix)

* update libmelonDS.dll
(fixes memory leak and an occasional savestate crash)

* fix stuff that broke with the merge

* cleanups, remove stuff that is no longer needed by service interaces

* simplify DS MemoryDomains

* DS - fix order of controller buttons to be consistent with other consoles.  This probably breaks any existing movies made on this core, but those would have been experiments, right?

* NDSSettings - make min value for day and month 0, whiel those aren't "valid" values they are the default values in the core for whatever reason, better to not crash on load and not show a value that isn't actually the setting.  This can easily be reverted if the core changes to default to 1

Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
Co-authored-by: adelikat <adelikat@tasvideos.org>
2020-03-21 10:53:30 -05:00
alyosha-tas aa165f36d2 O2Hawk: add PAL mode 2020-03-20 16:39:14 -04:00
Asnivor 75188e1c85 O2Hawk: Add homebrew rom status identifier to gamedb manual entries 2020-02-21 09:47:26 +00:00
alyosha-tas 585ebd50e5 O2Hawk: uncomment some homebrew 2020-02-20 17:34:43 -05:00
Asnivor b75b41ad64 Odyssey2: gamedb file generated from tosec 2020-02-20 11:07:48 +00:00
adelikat 7cc4e3db7d add some default controls for odyssey 2, don't know how much of the keyboard is needed for typical games, but the numbers seem to be needed to start a game 2020-02-18 18:28:30 -06:00
alyosha-tas b3fac6ba12 O2Hawk: fix color output 2020-02-16 21:04:28 -05:00
alyosha-tas eb03f28e99 O2Hawk: fix noise bit 2020-02-15 21:38:57 -05:00
Asnivor 0b6210efb3 MSXHawk: Add gamedb files parsed from TOSEC 2020-02-07 11:24:14 +00:00
Asnivor 09dc6ad7eb VectrexHawk: Update GameDB with everything from NOINTRO and TOSEC (including region and rom status) 2020-01-27 14:07:56 +00:00
alyosha-tas 551a7e2893 MSXHawk: cleanup and bug fixes 2020-01-25 19:10:48 -05:00
adelikat cce1fb6123 add default controls for vectrex 2020-01-25 15:47:29 -06:00
YoshiRulz fe0ff1d983
Update default keybinds (incl. X* for controllers) to OpenTK values
Fixes N64 keybinds being blank since eb1d87933; does not remove DirectInput J*
controllers
2020-01-15 09:49:42 +10:00
alyosha-tas f76db6202a O2Hawk: a few more bug fixes 2020-01-02 20:13:11 -05:00
alyosha-tas 8b29df987c GG: Fix Pro yakyuu, needed EEPROM 2020-01-02 17:13:54 -05:00
alyosha-tas 2d8d8cc1cd O2Hawk: debuggable stuff 2019-12-29 09:06:39 -05:00
YoshiRulz 3d0ccdac45
Add --mono-no-redirect to run script, disables writing stdout to file
must be first flag, will not be passed to EmuHawk
2019-12-28 02:15:51 +10:00
YoshiRulz 2e8e2bfab4
Pass arguments through to EmuHawk 2019-12-26 16:57:21 +10:00
alyosha-tas cba08040f7 O2Hawk: color and display work 2019-12-22 11:18:38 -05:00
alyosha-tas b5090b5a63 O2Hawk: bug fixes
and a2600 db update
2019-12-21 12:49:28 -05:00
alyosha-tas 859ff267a6 A2600 gamedb: add princess resuce. 2019-12-17 23:04:19 -05:00
alyosha-tas 4619e7a862 O2Hawk: cleanup and bug fixes 2019-12-17 17:40:57 -05:00
alyosha-tas 89c87b0581 O2Hawk: More display work 2019-12-16 11:50:00 -05:00
alyosha-tas bd7233f2cd O2Hawk: start displaying stuff and making sound 2019-12-13 20:43:33 -05:00
feos 5ca08b6c29
Camhack support (#1725)
for the camhack to work we have to save a state, hack memory, advance twice to see the changes, then load the state to prevent desync. since we can omit the framebuffer in savestates, loading them can happen without updating the screen, so the hacked camera remains visible.

advancing 2 frames automatically is done like tastudio does it when it seeks to a frame, only from lua now.

and the most questionable part is "invisible emulation", which is how Gens calls this IIRC, when everything that can distract or slow us down is skipped: sound, video, tools updates.

new lua functions:
- client.invisibleemulation()
- client.seekframe()

* for a test, mGBA core uses fake video and audio buffers and renders to them when we want to "skip" rendering. proper setup would involve actually skipping rendering those inside the core.
* allow disabling video and audio updates for gpgx too (proper approach, no fake buffers involved)
* add the script for Sonic Advance
2019-11-23 12:27:14 +03:00
alyosha-tas 61038a13ae O2Hawk: Expose Core and start running code 2019-11-18 17:33:55 -05:00
alyosha-tas 2750a420ef A2600: audio bug fix (Space Jockey) 2019-11-03 20:21:25 -05:00
adelikat 6c7653e158 Merge branch 'master' into MoreUnixMonoCompatWork
This doesn't compile because of Input.cs, didn't know what to do. Also search for Merge TODO for some commenting things that probably need to be deleted
# Conflicts:
#	BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj
#	BizHawk.Client.EmuHawk/CustomControls/InputRoll.Drawing.cs
#	BizHawk.Client.EmuHawk/CustomControls/InputRoll/InputRoll.cs
#	BizHawk.Client.EmuHawk/Program.cs
#	BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs
#	BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs
#	BizHawk.Client.EmuHawk/tools/ToolHelpers.cs
#	BizHawk.Client.EmuHawk/tools/ToolManager.cs
#	BizHawk.Client.EmuHawk/tools/TraceLogger.Designer.cs
#	BizHawk.Client.EmuHawk/tools/TraceLogger.cs
#	BizHawk.Client.EmuHawk/tools/Watch/RamSearch.Designer.cs
#	BizHawk.Client.EmuHawk/tools/Watch/RamSearch.cs
#	BizHawk.Common/BizInvoke/DynamicLibraryImportResolver.cs
2019-10-31 17:01:19 -05:00
alyosha-tas 520ba97caa O2Hawk start 2019-10-31 09:43:25 -04:00
YoshiRulz 41caf0e616
Reduce "pause lag" on Paper Mario (#558) by using CopyColorToRDRAM = 1 2019-10-31 03:32:29 +10:00
YoshiRulz ada256b0f1
Port Gambatte 2019-10-25 22:07:14 +10:00
YoshiRulz 0f687ff84e
Port Cygne (Wonderswan core)
also updates blup_buf headers? blame @Asnivor
2019-10-25 21:46:17 +10:00
YoshiRulz d963f91707
Port VBA-Next 2019-10-25 21:39:46 +10:00
YoshiRulz 12e83ac257
Port Handy (Lynx core) 2019-10-25 21:36:18 +10:00
YoshiRulz 8c7862aa8a
Fix .so versioning 2019-10-25 21:33:05 +10:00
Loren b1554be720 Use WebUtility.HtmlDecode() to decode game names (#1698)
Change '&amp;' to '&' in gamedb_goodnes.txt. Fixes #1667.
2019-10-20 22:35:31 -04:00
YoshiRulz 1992856655
Export env var so the command string is shorter 2019-08-12 20:16:35 +10:00
alyosha-tas 7f29c4173b A2600: Fix a test rom mapper 2019-07-14 17:06:50 -04:00
alyosha-tas 90436811b9 GG: Fix World Derby 2019-07-12 15:07:58 -04:00
YoshiRulz 4842442ef7
Set MONO_WINFORMS_XIM_STYLE=disabled on all Debian-based distros 2019-07-02 16:34:37 +10:00
feos dfd80d23fc update gargoyles script (with a 2yo version) 2019-06-15 19:06:49 +03:00
alyosha-tas c48d5be02a Merge branch 'master' of https://github.com/TASVideos/BizHawk 2019-06-01 12:25:57 -04:00
alyosha-tas dd0d34593e Vectrex: More bug fixes 2019-06-01 12:25:30 -04:00
YoshiRulz e8f66570ad
Update EmuHawkMono.sh 2019-05-18 14:09:50 +10:00
alyosha-tas c036e670be A2600: another DB update 2019-05-06 06:24:56 -04:00
alyosha-tas 86461b0692 A2600: gamedb update 2019-05-05 08:03:43 -04:00
Asnivor f0384b7e83 ChannelF: Extreme WIP! I promise nothing... 2019-04-16 16:10:56 +01:00
alyosha-tas 9296092b84 Vectrex: Start running the cpu and fixing bugs 2019-04-08 18:57:21 -05:00
alyosha-tas ec333fe1b8 A2600: Bang! Demo ccorrect mapper 2019-02-02 09:10:37 -06:00
Asnivor d7caf48a70 EmuHawkMono.sh 'I suck at shell scripts' fix 2019-01-09 17:50:57 +00:00
Asnivor c2bc9893e5 Add Debian as option in EmuHawkMono.sh runscript 2019-01-09 14:37:11 +00:00
James Groom 42764f0019 Add preliminary Unix compatibility (using Mono; resolves #1384) (#1380)
* Move PlatformSpecificLinkedLibs and implementations to common and rename
* Specify file ext. at LoadPlatformSpecific call site
* Move Client.Common.Global.RunningOnUnix to PlatformLinkedLibSingleton
* Inline var Resolver
* Use PlatformLinkedLibManager internally
* Move plugin load check to LinkedLibManager, use LinkedLibManager
* Interpolate
* Return exit code from dlclose/FreeLibrary
* Skip all calls to externs in BlipBufDll when using mono
* Use PlatformLinkedLibManager in SevenZipLibraryManager
* Add expected return value to workaround (from testing on Win32)
* Remove ".dll" from DllImport attr, remove temporary workaround, see desc.
The library can be built by changing the output file name in
`.../blip_buf/Makefile` to `libblip_buf.so`, and running `make`. It will be
loaded if placed in the `.../output` folder.
* Remove unused code, add TODO (this class is req. for Waterbox.PeWrapper)
The TODO is to [rewrite with
C#](https://docs.microsoft.com/en-us/dotnet/standard/io/memory-mapped-files)
instead of importing from `kernel32.dll`.
* Update OpenTK again but better (for #1384)
* Add Mono run script
* Add libblip_buf.so (temporary)
Temporary because it should be a separate package which BizHawk depends on.
* Add distro detection, add "already running" and "unknown distro" messages
* Gray-out Lua Console on Unix
* Extract superclass from EmuLuaLibrary, add shell implementation for Unix
* Specify libdl version, Fedora doesn't have the versionless symlink
* Remove empty `ToolStripMenuItem`, null `Text` caused crash on Unix
* Transform OpenTK keyboard input into a `List<KeyEvent>` and read that
Also fixes crash on rebind
* Remove debug `using ...;`
2019-01-04 01:50:55 +03:00
alyosha-tas 62c178ff2e GBHawk: add default bindings 2018-12-24 12:33:09 -06:00
alyosha-tas 69fe1bdf97 NESHawk: VRAM write timing glitch 2018-12-16 13:10:04 -06:00
adelikat 76bfd7c355
Merge pull request #1355 from Gikkman/lua-joypad-intersection
Create JoypadIntersection.lua
2018-11-25 08:02:28 -06:00
alyosha-tas 2891f501df zx-spectrum: clean up multiple DB entries 2018-11-22 12:00:09 -06:00
zeromus 9d6997692f Merge remote-tracking branch 'remotes/peeweek/retroizer' 2018-11-18 11:09:53 -05:00
alyosha-tas 4c5723b95e A7800: pokey version of pacman collection 2018-11-17 14:54:13 -06:00
alyosha-tas c8bb21ab38 A7800: more pokey work, starting to sound correct 2018-11-17 10:18:11 -06:00
alyosha-tas ca52715673 A7800: Audio Overhaul 2018-11-12 09:29:11 -06:00
alyosha-tas 3eefa19d68 A2600: MegaBoy special frame setting 2018-11-04 14:04:08 -06:00
alyosha-tas 2dc13967ce A7800: Add db entry and fix mirroring 2018-10-27 19:51:18 -05:00
alyosha-tas 738ffe596d A7800: DB update and bug fix 2018-10-25 19:28:21 -05:00