Commit Graph

1724 Commits

Author SHA1 Message Date
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
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
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
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 d60a00d682 NES mappers - remove documentation comments in favor of the nesdev wiki link 2020-03-19 08:24:05 -05:00
adelikat d953318160
Remove cbuffer (#1883)
* delete unused ShortBuffer

* convert IntBuffer to int[] in the Atari2600 core

* remove IntBuffer from NES mappers, and delete class

* convert ByteBuffer to byte[] in atari 2600 mappers

* remove ByteBuffer usages in NESHawk, remove ByteBuffer class

* remove Buffer.cs

* remove IDisposable from NES.NESBoardBase

* remove Dispose from Atari2600 MapperBase, note, it wasn't event being called
2020-03-18 08:55:02 -05:00
adelikat 20b99d4ae2 fix typo in GambatteLink file 2020-03-15 18:24:42 -05:00
alyosha-tas 38e89f01ee quicknes: add jetson's to blacklist 2020-03-15 11:24:12 -04:00
adelikat f4b1d3f747 oops, meant to check this in 2020-03-15 10:15:30 -05:00
adelikat d3f37a5beb remove CoreComm.Clone(), it is now safe to pass around into subcores 2020-03-15 10:12:20 -05:00
adelikat 899f8662c0 refactor CoreComm usages in more cores 2020-03-15 09:38:54 -05:00
adelikat c532b96245 refactor CoreComm usage in nes cores 2020-03-15 09:35:12 -05:00
adelikat b5c0bfa141 remove coreComm from N64 core 2020-03-15 09:32:29 -05:00
adelikat 8973e5e521 refactor CoreComm usage in GBHawk and related cores 2020-03-15 09:31:07 -05:00
adelikat 028bc83c88 refactor CoreComm usage in some Gameboy cores 2020-03-15 09:28:27 -05:00
adelikat da95c1f56f remove RomAnnotation fields on CoreComm and use the service instead 2020-03-14 22:10:57 -05:00
adelikat a884282fa4 remove CoreComm NominalX/Y, those values never different from buffer w/h for cores that set them which were only the gb/gba platforms and the original dualGb. The result defaulted to a very random 640x480. Instead just use the buffer w/h, which is a very reasonable video default 2020-03-14 17:06:42 -05:00
adelikat dd062b3ca7 replace CoreComm screenofsets with an emulator service 2020-03-14 16:35:54 -05:00
adelikat 870d7df6f2 cleanup some unneeded code 2020-03-14 16:09:25 -05:00
adelikat 211883889b simplify CoreCom copying by implementing a Clone method, simplifies all the cores that have cores in them, this copies a lot more things than the original code had but it seems that's either fine or fixing broken stuff 2020-03-14 15:08:24 -05:00
adelikat cd7d907c0d get rid of CoreFileProvider SubFileDirectory 2020-03-14 14:02:19 -05:00
adelikat e655ad3abd remove obsolete ICoreFileProvider.PathSubfile(), and instead pass in the neccessary base path the the bsnes core that needs it 2020-03-14 13:56:20 -05:00
adelikat 6958ade3a8 nes ppu - have Reg_2000 depend on PPUREGS instead of PPU since that's all it's using 2020-03-14 10:32:59 -05:00
adelikat 4ababf383a NESHawk - PPUREGS - don't depend on PPU, move the one method that was using it out to PPU 2020-03-14 10:30:53 -05:00
YoshiRulz e12b5d8137
Refactor FloatRange creation and usage
effectively resolves #1200
* Replaced floats in FloatRange with ints (would have used shorts but
SubGBHawk/SubNesHawk use an axis to hack in cycle count or something), added
both Range<int> and Range<float> auto-properties
* Added bool field IsReversed to FloatRange
* Added enum AxisPairOrientation and factory method using it
* Cleaned up usages of FloatRange fields and properties
* Added new properties to PadSchema.ButtonSchema for type
PadInputType.AnalogStick (to hold the two FloatRanges) and used
ControllerDefinitions from cores to dedup these ranges in the schemata
* Made VirtualPadAnalogStick work properly: both the direction and bounds are
correctly set from the controller schemata, the polar conversion measures angles
consistently (though I think it might not work outside -128..127 e.g. for PSX),
and I didn't break the sensitivity override, plus negative percentages might
work now but I didn't allow those
* Renamed FloatRange to AxisRange, but did not rename related symbols
2020-03-14 20:47:45 +10:00
YoshiRulz 5196b97459
Fix resources for BizHawk.Emulation.Cores and cleanup 2020-03-07 07:45:19 +10:00
alyosha-tas 9810bd7541 GBHawk: oops missed one 2020-02-29 21:34:37 -05:00
alyosha-tas ca025488cd GBHawk 4x:linking improvements 2020-02-29 21:27:26 -05:00
alyosha-tas b1d17b0a57 GBHawk: proper bias emulation in audio, still needs some refinement but everything is in place. 2020-02-29 17:11:46 -05:00
alyosha-tas 7c32305cb4 GBHawk: fix videoplayer2 audio 2020-02-29 11:57:44 -05:00
alyosha-tas e87a0edb01 GBHawk 4x: cleaan up the 2x2 connections 2020-02-29 09:05:28 -05:00
alyosha-tas c9621eff19 GBHawk: CPU optimizations 2020-02-28 20:46:33 -05:00
adelikat 46d05de51f nothing to see here 2020-02-28 12:52:48 -06:00
alyosha-tas 5f5bf639c2 GBHawk: 4x cleanup 2020-02-27 18:15:34 -05:00
alyosha-tas 1e550e68eb GBHawk: 4x adapter functional 2020-02-27 16:37:08 -05:00
alyosha-tas 027dc6a6eb GBHawk: more 4x adapter work, pinging seems to work, need transmitting 2020-02-25 20:58:30 -05:00
adelikat 185dbda19a misc redundant code removal, empty argument in object intiializer, redundant elses 2020-02-25 15:14:13 -06:00
alyosha-tas 78454ea636 GBHawk: Start 4x adapter 2020-02-25 13:53:28 -05:00
alyosha-tas c16b47cbe4 GBHawk: rename GB compat cpu to have proper dependency 2020-02-25 08:06:43 -05:00
alyosha-tas f73c65d704 GBHawk: camera mapper 2020-02-23 17:38:56 -05:00
alyosha-tas f0692111d7 SubGBHawk: add 2020-02-23 09:54:42 -05:00
alyosha-tas e1128e4150 oops forgot a line 2020-02-23 07:37:38 -05:00
alyosha-tas 38e9dc02b7 GBHawk: camera mapper 2020-02-23 07:34:55 -05:00