Commit Graph

85 Commits

Author SHA1 Message Date
adelikat 9584ff1f53 use switch expressions in some various places in EmuHawk, and some other simplifications 2020-03-04 20:18:43 -06:00
adelikat 4bfb4ab00d
Gameshark refactor (#1867)
* first round of GameShark.cs cleanups, redundant code and stylecop cleanup

* simplify how gba readonly values are set

* a few more cleanups

* GameShark - use NESGameGenieDecoder for nes logic

* remove now unused NESGameGeneie tool

* Client.Common - move nes encode/decoder to a cheats folder

* GameShark - move genesis game genie coding logic to its own class

* remove NesGameGenieEncoder that i snow unused

* fix naming

* remove GenGameGenie in favor of using the unified Cheat Code decoder

* move Gameboy/GameGear decoding logic from GameShark to its own class, cleanup

* remove GBGameGenie, was only exposed via the toolbox, GameShark tool does all of this logic

* GameShark - move snes game genie decoding logic to its own class

* cleanup

* remove unused snes GameGenie tool

* move Gb GameShark decoding to its own class

* cleanup

* move Genesis action replay decoding logic to its own class

* cleanup

* cleanup

* cleanup

* cleanup

* move Sms ActionReplay decoding to its own class, cleanlup

* cleanup

* move snes action replay decoding to its own class

* cleanup with a helper method

* cleanup

* more cleanup

* cleanup

* cleanup

* cleanup

* cleanup

* cleanup

* move Psx GameShark decoding to its own class

* Move saturn gameshark parsing to its own class

* cleanup

* cleanup

* move N64 decoder logic to its own class

* remove GBA cheat code that hasn't been ready for 5 years, easier to try to implement this in the re-architected code, so delete for now at least

* start to detangle GBA gameshark mess

* Gameshark - remove most gba cheat code functionality for now, easier to rebuild it later

* Gameshark - cleanup

* cleanup

* cleanup

* cleanup

* redesign nes decoder to simpler design

* simplify more

* convert psx and saturn decoders and simplify

* convert more decoders

* convert more decoders

* convert more decoders

* convert more decoders

* convert gba decoder

* convert more decoders

* convert and simplify N64 decoder

* GameShark - simplify more
2020-02-29 15:18:40 -06:00
adelikat 402acad0f6 cleanup NESMusicRipper.cs 2020-02-28 12:11:51 -06:00
adelikat 4bf463a2fc use object initializers in Client.EmuHawk 2020-02-28 11:15:06 -06:00
YoshiRulz 9829fd699b Unify helpers for generating file extension lists (for open/save) 2020-02-20 21:59:20 +00:00
adelikat 626efe8caf put control extension methods into the EmuHawk names space isntead of a custom one. We want these to be found and used, and most dialogs use them 2020-02-03 12:54:32 -06:00
YoshiRulz a8170ca183
Fix mismatching namespaces 2020-01-13 07:19:06 +10:00
YoshiRulz dd4f9aaf64
Use ranges 2020-01-13 06:59:40 +10:00
adelikat 64ea9afee5 cleanups 2019-12-31 10:17:55 -06:00
adelikat 5eee9a6004 misc tool cleanups 2019-12-22 16:42:56 -06:00
adelikat 1a88bfa93d cleanup Nametable and PPU viewer code 2019-12-07 13:23:55 -06:00
YoshiRulz 7f07949816
Migrate serialised images to separate files, removing duplicates 2019-12-07 05:24:24 +10:00
J.D. Purcell 39b54f7202 Fix missing UI usings. 2019-11-02 00:38:50 -04:00
adelikat d65092e967 Misc cleanups in tool dialogs - mostly the use of expression body (C#6/C#7isms) 2019-10-29 09:27:56 -05:00
YoshiRulz a2a5ec7566 Replace $"{a}{b}" and similar with concatenation 2019-06-14 15:54:17 +00:00
YoshiRulz e6374ef477
Use string interpolation 2019-03-19 00:06:37 +10:00
adelikat 6e06947a33 rename ToolAttributes 2017-07-12 14:44:14 -05:00
nattthebear ebe789eed2 heh 2017-05-10 07:45:23 -04:00
J.D. Purcell b53502eed8 Spaces -> tabs. 2017-04-15 16:37:30 -04:00
zeromus a7d2b8d7f7 * add a new IToolForm update mechanism which has extensible update points (so a tool can both pre- and post- update)
* make trace logging "core-pushes" model, to a sink installed by the frontend. This sink can go straight to the disk without wasting memory if that's what the Trace Logger tool has selected; or the Trace Logger will buffer it if it needs to.  Formerly, we had a "core-pushes-to-buffer" and "client-pulls-once-per-frame" which necessarily caused huge buffers no matter what was going on.
2016-08-13 15:31:26 -05:00
alyosha-tas 2eda1450bf fix bounds of sprite and palette boxes
hopefully fixes the out of range errors
2016-06-25 20:51:13 -04:00
adelikat 6f75ef6dba Move another function to ToolFormBase 2016-01-30 21:07:03 -05:00
adelikat 752235b848 NES Music ripper tool - clean it up slightly to be more presentable 2015-12-20 12:51:05 -05:00
adelikat 223295cd87 Make platform specific game genie tools not released, so they don't show up in the toolbox 2015-12-20 12:49:14 -05:00
Hathor86 1e2f4e12be Watch refactoring
Some improvement when you get Available types. Used to return a new
array each time you call the function. It has been transformed into an
IEnumrable and yield return.
DisplayType, PreviousType and Watchsize have been moved outside the
Watch Class
2015-11-28 22:52:00 +01:00
scrimpeh 9b6ff71cac Enably NES Music Ripper only with NESHawk, also throw out vestigial method in HotkeyConfig. 2015-07-24 18:26:14 +02:00
zeromus 6833a24638 add NES music ripper tool prototype 2015-05-08 00:56:46 +00:00
adelikat fbdb29b64c refactor IMemorydomains to be a domain list instead of having a domain property, refactor cores to register an IMemoryDomains instead of being one 2015-01-14 21:55:48 +00:00
adelikat d62ba4e2b4 Change IMemoryDomains to have an IMemoryDomainList instead of a MemoryDomainList, this is an incremental step into eventually having IMemoryDomains take over the properties of IMemoryDomainList, still todo: reduce the amount of needed functionality in IMemoryDomainList from old and not good code 2015-01-13 22:18:07 +00:00
adelikat e54693fedb clean up NES tool icons and titles 2015-01-02 18:26:42 +00:00
adelikat 93fe387311 NES Game Genie - convert to IToolFormAutoConfig, also fix a bug that would have made it never show up as available 2015-01-01 18:51:24 +00:00
goyuken bdf6a58e2c fix NES NT\PPU view for previous revision 2014-12-31 17:43:40 +00:00
goyuken 66b557ce93 update some pce tools to use autoconfig/configpersist 2014-12-21 16:59:36 +00:00
goyuken ed6082cab3 NES: set NT and PPU viewers to use the new settings stuff 2014-12-21 08:17:56 +00:00
goyuken ecf8728de6 factor out serviceinjector to emulation.common 2014-12-17 18:17:16 +00:00
goyuken 02b799b491 cleanup NES ppu\nt stuff 2014-12-17 17:26:47 +00:00
goyuken 1504f8d441 itoolform remove spurious restart calls 2014-12-17 03:35:57 +00:00
goyuken d305b2f538 partially functional ppu viewing tools for quicknes 2014-12-17 03:27:44 +00:00
goyuken eb4aa94546 stuff 2014-12-17 02:33:05 +00:00
goyuken 50704247fa NES: ppu view internal infrastructure 2014-12-17 02:01:48 +00:00
goyuken 665ead318b nes ppu view infrastructure changes, not complete 2014-12-17 00:35:59 +00:00
goyuken 7b580e7dca tim the tool form taylor 2014-12-15 03:19:23 +00:00
adelikat 8648e6ba0a Remove the nes debugger tool 2014-12-14 14:56:16 +00:00
adelikat 1a1116c651 NES - make DatachBarcode an emulator service, convert BarcodeEntry to EmulatorService 2014-12-14 02:01:38 +00:00
adelikat c1767a6fe7 convert some nes tools to EmulatorServices, currently they simply require a NES instance, eventually need to use an actual service, that all nes cores could implement 2014-12-14 00:25:50 +00:00
scepheo 769cbeb1a0 - IToolForm: Added RequiredServices attribute to define dependencies, and added EmulatorServices for ToolManager to supply them.
- IServiceProvider, BasicServiceProvider: Added compile-time unknown type versions of GetService and HasService.
- ToolManager: Added IsAvailable to test whether all dependencies for a tool are available.
2014-12-13 21:54:59 +00:00
adelikat 04f9081943 in IEmulator extensions add methods such as AsMemoryDomains(), AsStatable() that do the service calling magic. In the client code replace appplicable casts of IMemoryDomains with AsMemoryDomains(), more commits of this nature for the other IEmulatorServices soon to follow 2014-12-05 00:32:29 +00:00
goyuken 81fc95ab43 NES: add UI support for datach barcode reader 2014-10-29 22:28:14 +00:00
adelikat d003be9cda remove some todos, I decided not to do any of them, it is too pedantic to do them 2014-09-01 19:07:05 +00:00
adelikat 5ba74c631c Remove MemoryDomains from IEmulator into a new Interface, IMemoryDomains, Add this interface to existing cores, except null emulator (and removed memory domain related code from it). Refactored EmuHawk for ram tools to use an instance of IMemoryDomains rather than IEmulator, don't expose ram tools unless the core implements IMemoryDomains. Still a few misc todos, and probably some cleanup 2014-09-01 18:43:41 +00:00