Commit Graph

2851 Commits

Author SHA1 Message Date
adelikat 81bdacea64 O2 - implement IBoardInfo 2020-04-11 09:21:35 -05:00
adelikat 9eb63cd6c9 O2 - misc cleanups 2020-04-11 09:04:13 -05:00
alyosha-tas 2304e9dc5b O2Hawk: add vidbuffer back to state, it's needed 2020-04-10 19:51:32 -04:00
alyosha-tas 7c676ed40b O2Hawk: remove uneeded buffers from state 2020-04-10 18:06:32 -04:00
adelikat 62f3214ce2 create a memory callback based IInputCallbacks system that can be used by any core, wire it up to the mGBA core 2020-04-10 11:12:57 -05:00
adelikat 04cd7d867c mGBA - fix NRE that can happen when rebooting core, fixes #1915 2020-04-10 08:47:52 -05:00
TiKevin83 faf4b02c26
Undo Previous PR on Gambatte Colors and Implement an Option (#1918)
* Revert "New GBC LCD correction for Gambatte palette from documented shader research https://forums.libretro.com/t/real-gba-and-ds-phat-colors/1540"

This reverts commit 88cda24876.

* Implement the libretro GBC color palette as an added option instead of a change to the Gambatte option
2020-04-08 20:41:50 -04:00
alyosha-tas 1185bffe36 O2Hawk: turn sound down a bit, more in line with other cores 2020-04-08 19:40:33 -04:00
TiKevin83 0bfe178650
New GBC LCD correction for Gambatte palette from documented shader research https://forums.libretro.com/t/real-gba-and-ds-phat-colors/1540 (#1917) 2020-04-08 19:19:18 -04:00
alyosha-tas 444a8b7823 O2Hawk: small timing fix 2020-04-08 19:08:22 -04:00
alyosha-tas 99da16fa2a O2Hawk: clean up 2020-04-08 18:16:45 -04:00
adelikat 2b281116ed misc cleanups 2020-04-08 16:03:35 -05:00
alyosha-tas cb2d365284 O2Hawk: better fix for blockout 2020-04-08 12:12:32 -04:00
alyosha-tas a2ac1b89aa O2Hawk: more bug fixes but still needs work 2020-04-07 16:27:04 -04:00
alyosha-tas 7ddf2e0f3b O2Hawk: obj table fixes 2020-04-06 16:59:07 -04:00
alyosha-tas 015311087b O2Hawk: Cleanups 2020-04-06 11:51:00 -04:00
alyosha-tas 8827550a17 O2Hawk: fix Blockout and other issues 2020-04-06 11:25:02 -04:00
alyosha-tas 75beb338b9 O2Hawk: fix resets again 2020-04-04 18:14:54 -04:00
alyosha-tas 6edc1310d2 O2Hawk: fix cosmic conflict 2020-04-04 18:01:19 -04:00
adelikat 49e4d49927 quicknes - blacklist punchout (E) (VS), unfortunately a drop in the bucket but bootgod doesn't know about VS roms so we have no way to detect PAL versions of those 2020-04-04 15:07:58 -05:00
adelikat e357ed3dbc Merge branch 'mgba-hooks' 2020-04-03 18:01:25 -05:00
zeromus 6b462630e0 fix crash in MGBA memory callbacks due to GC of temporarily marshaled delegate (by keeping an instance referenced in a member, as usual) 2020-04-03 18:42:22 -04:00
alyosha-tas 216e382582 O2Hawk: reset fix 2020-04-03 17:24:20 -04:00
alyosha-tas f39319fd12 O2Hawk: bug fixes and add reset button 2020-04-03 16:56:22 -04:00
alyosha-tas 458949a2f9 GBHawk: minor bug fixes and cleanups 2020-04-03 12:16:52 -04:00
adelikat be8db22d6c mgba- throw NotImplemented on callbacks with no address, we don't support that yet (likely ever) 2020-04-02 17:40:27 -05:00
adelikat cea0762c07 cleanup a few things in MGBAMemoryCallbackSystem 2020-04-02 17:40:27 -05:00
adelikat f97ef09c41 mgba - pass in mgba class instead of core pointer to MGBAMemoryCallbackSystem, seems cleaner either way. Still crash 2020-04-02 17:40:27 -05:00
feos fc5d8b2de6 add some stuff 2020-04-02 17:40:27 -05:00
feos 4597e8b334 tweaks 2020-04-02 17:40:27 -05:00
adelikat e44aa5d94a mGBA - pass core pointer to memory callback system 2020-04-02 17:40:27 -05:00
adelikat 75a991a36d bad attempt at wiring up mGBA memory hooks 2020-04-02 17:40:27 -05:00
adelikat 0422b9b1de nitpick cleanup 2020-04-02 17:36:08 -05:00
alyosha-tas ced37c45c3 GBHawk: memory ap optimizations 2020-04-02 15:41:03 -04:00
alyosha-tas 7d293bdb1a GBHawk: fix speed mode switch timing 2020-04-01 22:46:48 -04:00
adelikat 2401c37a7f delete ScreenArranger and move the relevant logic to MelonDS, and simplify, also use a pre-allocated buffer instead of making a new one every time 2020-04-01 18:58:08 -05:00
alyosha-tas 07e7a83243 GBHawk: optimizations 2020-04-01 09:44:43 -04:00
alyosha-tas e6e70b6e35 GBHawk: remove C++ core, not worth it, need to rethink design 2020-03-31 23:14:33 -04:00
alyosha-tas 0e0b94cd0c GBhawk: some C# optimizations 2020-03-31 23:03:40 -04:00
zeromus 667a218c58 hook up melonds screen control stuff to settings 2020-03-31 18:30:08 -04:00
alyosha-tas 5f24392b41 GBHawk; more minor cleanups 2020-03-31 17:58:25 -04:00
alyosha-tas ea085255c1 GBHawk: minor optimizatiosn 2020-03-31 17:20:27 -04:00
YoshiRulz 0ba7a5a7df
Rename axis-related types, members, and locals
I left a few methods where they had an equivalent *Bool*() for buttons, and also
left some in TAStudio that get serialised.
2020-03-31 17:29:55 +10:00
alyosha-tas 19b1d0fa18 GBHawk: bug fixes and ppu viewer working 2020-03-30 22:59:50 -04:00
alyosha-tas 68e69ff85b GBHawk: more bug fixes and loading games 2020-03-30 18:01:36 -04:00
alyosha-tas 69409ff729 GBHawk: bug fixes 2020-03-29 22:30:19 -04:00
adelikat a58e7a17a6 DS - bottom screen only option (useful for games like NSMB where pipes can send you to the other screen) 2020-03-29 14:37:59 -05:00
YoshiRulz e0e90a5f33
Reimplement ScreenArranger, refactor MelonDS.GetVideoBuffer 2020-03-30 03:50:49 +10:00
alyosha-tas b039b1f823 GBHawk: start cleaning up errors 2020-03-29 12:15:08 -04:00
adelikat b9f6432ddf DS - wire up rotate options, screen logic doens't work yet 2020-03-29 11:07:18 -05:00
alyosha-tas 29fded3025 GBHawk: add testing framework 2020-03-29 10:21:34 -04:00
alyosha-tas 73afca9c67 GBHawk: finish intergration functions 2020-03-29 10:10:13 -04:00
alyosha-tas 47704b94fd GBHawk: more integration work 2020-03-28 20:21:43 -04:00
adelikat c008b57324 DS - some cleanup 2020-03-28 15:15:45 -05:00
adelikat 5f889e2568 DS - add screen gap option 2020-03-28 15:12:47 -05:00
adelikat a541b45231 DS - refactoring 2020-03-28 15:05:13 -05:00
adelikat 0aaf2b4151 DS - rethink ScreenArranger, fix side by side options 2020-03-28 14:48:24 -05:00
adelikat 730156b5db DS - wire up some screen setting options, the side by side ones don't work because screen arranger has a bug, and it is flawed, going to refactor all of this 2020-03-28 12:03:26 -05:00
adelikat 3e89a7f201 DS - refactor settings so that it is an enum that then translates to ScreenArranger settings 2020-03-28 11:21:39 -05:00
adelikat e2ac7d7a8f cleanup ds video options code 2020-03-28 10:31:25 -05:00
alyosha-tas 98265cd066 GBHawk: Clean up files and definitions 2020-03-27 20:16:24 -04:00
SuuperW 7aec03d788 Merge branch 'master' of https://github.com/TASVideos/BizHawk 2020-03-25 14:11:16 -05:00
SuuperW 1b419c7cfc fix an audio issue 2020-03-25 13:52:50 -05:00
SuuperW 34bfa46673 new Lid handling strategy 2020-03-25 13:50:21 -05:00
SuuperW cb73761ff6 fix for when screen layout options somehow get messed up 2020-03-25 13:45:18 -05:00
alyosha-tas 26619d367b O2Hawk: remove some unused code 2020-03-23 21:30:06 -04:00
alyosha-tas c5043d2ec3 O2Hawk: fix PAl timing a bit 2020-03-23 21:21:42 -04:00
adelikat f50b4e4c54 Odyssey2 - fix joypad.get(), apparently lua tables do not like keys that are just "." 2020-03-23 09:27:11 -05:00
YoshiRulz 16ed9e7bc9
Reorder modifiers (rule SA1206) 2020-03-23 20:03:51 +10:00
SuuperW 88904e6b44 support custom screen layouts in MelonDS core (no UI yet) 2020-03-22 18:40:52 -05:00
YoshiRulz cccf2c1920
Add port info and labels to MelonDS [Core] attr 2020-03-22 12:07:20 +10:00
alyosha-tas 5ea379c95d GBHawk: improve scanline zero emulation, still needs a little work. 2020-03-21 18:06:22 -04:00
adelikat 7a558f1951 cleanup NDS settings code 2020-03-21 13:38:42 -05:00
adelikat 85fcb99717 cleanup NDS Settings dialog code 2020-03-21 13:25:39 -05:00
adelikat d9d5658a7b add melonDS icon 2020-03-21 12:54:59 -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 04a33600da O2Hawk: fix the keyboard 2020-03-21 08:43:56 -04:00
adelikat 5c84c94a12 fix compile error in debug mode, oops 2020-03-20 21:05:44 -05:00
alyosha-tas 7e00b7892f gameboy memory domains: make consistent between gambatte and GBhawk 2020-03-20 20:04:58 -04:00
alyosha-tas aa165f36d2 O2Hawk: add PAL mode 2020-03-20 16:39:14 -04:00
adelikat 7fb89aed18 NesHawk - move BootGodDb to its own file 2020-03-19 21:35:36 -05:00
adelikat 01584431c4 NesHawk - cleanup Unif.cs 2020-03-19 21:28:32 -05:00
adelikat 22f6df3a70 NesHawk - CartInfo - turn into properties 2020-03-19 21:20:53 -05:00
adelikat daab35fc39 NesHawk- move CartInfo into its own file 2020-03-19 21:15:07 -05:00
adelikat dc56dd87e8 simplify MapperPropAttribute 2020-03-19 21:12:23 -05:00
adelikat 291275fe8c NesHawk - move MapperPropAttribute to its own file 2020-03-19 21:11:01 -05:00
adelikat f8acb61136 NesHawk - make boards and related classes internal, and sealed where possible 2020-03-19 21:06:54 -05:00
adelikat 620c38af73 NesHawk - move some enums out of NesBoardBase, simplifies a lot of usages 2020-03-19 20:29:15 -05:00
adelikat 720a2dce02 NesHawk - move NesBoardImpl attributes to their own file 2020-03-19 20:21:29 -05:00
adelikat 0d4dd3855b NesHawk - more missing variables in savestates 2020-03-19 20:02:22 -05:00
adelikat 659831c534 fix missing savestate data in some NESHawk mappers, note this is a breaking savestate change for these boards, but they were broken anyway, these were critical fields to savestate 2020-03-19 19:51:59 -05:00
adelikat 8bcab5af79 NESHawk - break off INesBoard and NesBoardBase into separate files 2020-03-19 19:06:03 -05:00
adelikat 9b68246b19 remove an unused varaible in VDC.Render.cs, fixes a warning 2020-03-19 10:18:35 -05:00
adelikat d60a00d682 NES mappers - remove documentation comments in favor of the nesdev wiki link 2020-03-19 08:24:05 -05:00
adelikat efb34f74e1 a2600 refactor - make mapper classes internal and sealed 2020-03-18 21:46:51 -05:00
adelikat f10b51558b Atari 2600 - make MapperBase abstract and make HardReset() abstract since we need implementations to properly reset variables (we can't get rid of hard reset so easily, since HardReset is the mechanism that multi-cart roms use 2020-03-18 15:58:53 -05:00
adelikat db6bbe22bb A2600 - expose CartRam memory domain for mCM and mFA 2020-03-18 15:48:32 -05:00
adelikat 8f860adf51 cleanup Atari2600 mapper code 2020-03-18 15:46:17 -05:00
adelikat a61230e4ab Atari2600 - refactor mapper creation logic to be a separate method with declared dependencies, remove an unused method 2020-03-18 10:52:53 -05:00
adelikat 8c10ca3e14 Atari2600 cleanup - pass Atari2600 core into constructor instead of setting after, use switch expression for mapper instantiation logic 2020-03-18 10:37:53 -05:00