Commit Graph

257 Commits

Author SHA1 Message Date
goyuken 6bc604e5a5 clean up comments on IEmulator slightly to explain the Settings\SyncSettings contract better 2014-08-20 18:08:22 +00:00
goyuken a25c6b4665 TextState (common to GB, WS, etc): clean up JSON formatting slightly. not a breaking change. 2014-08-18 18:00:22 +00:00
goyuken 8c4696609d vba next: memory domains 2014-08-16 05:45:31 +00:00
goyuken ceae8d71b5 memory domain: minor refactor and cleanup 2014-08-15 21:21:17 +00:00
goyuken 29f34ed79a clearsaveram() internal infrastructure changes 2014-08-13 19:16:48 +00:00
goyuken f0c8bd3842 IEmulator: clarify naming and implementations so it's clear that CloneSaveRam() always returns a clone that you can do whatever you want with (but won't modify the underlying) 2014-08-13 17:52:13 +00:00
adelikat 647adabea3 Simplify even more! 2014-08-13 01:44:22 +00:00
adelikat e9110be6ff simplify the InputCallbackSystem object 2014-08-13 01:43:28 +00:00
goyuken 28b26fadcc add a "defaults" button to the generic core config dialog, used by wonderswan, genesis, saturn, and 2600 2014-08-10 22:01:17 +00:00
goyuken 56467334b3 gambatte: throw unsupportedmapperexception when appropriate. libsnes: throw cgbexception when trying to load cgb only game in sgb 2014-08-01 14:56:23 +00:00
adelikat ad5b60f137 Create a MissingFirmwareException in Emulation.Common, and catch this in the Rom loading logic, on the client side, respond to this type of error with a nice message and an option to configure their firmware. Have NesHawk throw this exception when there is a missing FDS Bios. Other cores will need to be implemented this way too at some point 2014-07-31 21:15:07 +00:00
adelikat 240264c3c5 Since Global.Game is never null now, add a IsNullInstance property to check against instead, and refactor code that checks for null 2014-07-21 22:21:52 +00:00
goyuken 2383cc3963 make r7219 consistent across different audio throttle settings 2014-07-13 17:12:26 +00:00
zeromus dc6daddff7 add option to disable fullscreen hacks (may increase latency) and snowy null emulator (may increase seizure rate) 2014-07-12 20:42:44 +00:00
adelikat fd80c62cdb More Util methods -> extension methods 2014-07-03 19:20:34 +00:00
adelikat bf88be8c72 Convert some more util methods to extension methods 2014-07-03 19:05:56 +00:00
adelikat 6cba3568ef More extension reorg 2014-07-03 17:23:03 +00:00
adelikat f546a8080c Move some extension methods from the generic extensions file to NumberExtensions and fix up namespaces 2014-07-03 15:35:50 +00:00
zeromus 42ee461b2c fix an error in PSX firmware database 2014-06-29 22:04:25 +00:00
adelikat 676d1ecd0f Virtualpad - add a PlayerCount property to ControllerDefinition with a rather crude but effective implementation for now, and use it when populating PCE virtualpads, so it will dynamically generate the correct values should PCE's number of controllers ever become configurable 2014-06-28 15:56:20 +00:00
adelikat 0b21085a98 Bk2 - Rework how input logs are generated and read 2014-06-21 11:56:30 +00:00
zeromus f43859f421 give firmware database and UI ability to track ok/notok/bad state of an option/firmwarefile. apply tons of research to study PSX bios files situation 2014-06-21 06:40:07 +00:00
zeromus fb985579c7 add PSX firmwares to firmwares DB 2014-06-21 00:33:35 +00:00
goyuken 90f627d883 wonderswan: debugging callbacks 2014-06-19 15:57:07 +00:00
zeromus 1edd4edb49 add a crappy little PCE sound debugger and individual channel muting 2014-06-09 08:10:20 +00:00
zeromus 3ea6495031 give yabause its own GL context. gets gl+yabause minimally working. maybe still loadstate-related crashes. 2014-06-08 23:30:34 +00:00
goyuken e3cb22889a add some extra error checking to the text savestate system used by gameboy and wonderswan. does not change the actual savestate format at all 2014-06-04 18:53:57 +00:00
adelikat 3917e7c528 Automate the about box 2014-06-01 01:57:22 +00:00
adelikat 51660dd023 Add SetCpuRegister() to IEmulator. Implemented it in Atari 2600, 7800, C64, Neshawk, and technically dual gameboy (passes it to L and R where it will fail). The rest throw NotImplementedExceptions. Lua - add emu.setregister(), catches NotImplementedExceptions and informs the user. 2014-05-31 17:03:21 +00:00
goyuken 58efa286df move stuff 2014-05-31 16:12:59 +00:00
adelikat 9a24539c10 Lua - catch NotImplementedException on emu.getregister(s) and warn the user that this particular core doesn't implement this feature yet. Also, put IEmulator extensions in their own namespace 2014-05-31 14:29:27 +00:00
goyuken c306e61d5b mednafen 0.9.34.1 "cygne" (wonderswan) 2014-05-30 05:09:54 +00:00
goyuken 2f7ad6a676 2600: more stuff towards PAL support 2014-05-23 15:47:48 +00:00
adelikat 0588c3d7ea Check in patch from zeromus that provides back end support for custom Axis constraints for analog input 2014-05-17 19:35:47 +00:00
goyuken b0970451aa internal infrastructure for video presentation changes (aspect ratio, apparent size, etc) 2014-04-30 23:48:37 +00:00
goyuken fd5b7263ea NES - MMC5 - head off some possible peek nondeterminism problems before they occur 2014-04-30 20:32:13 +00:00
adelikat de1cb218a6 Add more info to IEmulator CoreAttributes, add status bar icon that gives the name of the current core with a tooltip with additional info, put bizhawk icon on "in house" cores, and the icon of the ported emulator on ported cores. Still todo: icons for ported cores other than quicknes 2014-04-25 01:19:57 +00:00
adelikat c74019a54d Add a CoreAttributes class with a CoreName field, and apply it to all cores, when recording a new movie, add a core header line that captures this name 2014-04-22 00:38:59 +00:00
adelikat a61ff53d9c Change IEmulator.GetCpuFlagsAndRegisters() to a Dictionary, fix a warning, throw NotImplemented exceptions in cores that don't implement this method rather than returning an empty list. Start Debugger UI User Controls 2014-04-19 22:23:13 +00:00
adelikat 285a7241b9 On the Rom Details dialog, if the Rom is unknown and the Core supports a GenerateGameDbEntry() method, show the button. When clicked it will add the Game Db entry to gamedb_user.txt, from which point it will be a known rom to the user. Implement this method on Atari 2600. Still TODO: allow them to pick the status instead of assuming "Good" 2014-04-15 22:10:39 +00:00
adelikat 54949127ee some nitpicky cleanup of the Database.cs file 2014-04-14 23:14:39 +00:00
adelikat 449d3fa2e2 Platform Chooser - show rom information, only invoke dialog on a list of generic rom extensions (currently that is .bin and .rom), remove .rom from the list of intellivision extensions 2014-04-14 12:25:57 +00:00
adelikat 32b4f940a9 Add a Platform Chooser that activates when the user attempts to load a .bin file that is not in the game database. Still todo: more platforms, and interim flag logic on some unreleased cores 2014-04-14 01:59:57 +00:00
adelikat 3e2a1e9835 Database.cs - make the big ol switch more readable by grouping some things and using sane spacing 2014-04-14 00:55:10 +00:00
beirich 8363d66f25 PCE: convert states to Serializer implementation 2014-04-07 04:53:18 +00:00
beirich 6ca5768a31 SMS/Coleco, refactor to remove PostLoadState() calls 2014-04-07 03:09:44 +00:00
beirich 77857f0e51 Convert SMS, Coleco, and TI83 to zeromus Serializer-class savestates 2014-03-22 04:46:01 +00:00
beirich c6a5c9b295 Add Region to GameInfo 2014-03-18 03:28:25 +00:00
beirich c179fd5fd6 Add OSD message notifier to CoreComm 2014-03-18 03:03:53 +00:00
beirich b1a37724a1 SMS: hook up Export/Japan, NTSC/PAL, BIOS Enable, and US/JP Bios selection 2014-03-13 04:49:39 +00:00
beirich 9a59155177 SMS: initial support for SMS BIOSes. Some future work is pending regarding when to use what bios or no bios. (hooray regions) 2014-03-05 05:09:20 +00:00
goyuken b2eef124e2 nes: controller infrastructure 2014-03-05 04:08:24 +00:00
beirich 197ca96630 preliminary add SMS bios to firmwares db and UI. not hooked up to core yet. nor all bioses added 2014-03-04 02:33:39 +00:00
goyuken 17d6e866a0 pce: refactor CD loading to move bios determination out of RomLoader 2014-02-10 15:26:18 +00:00
goyuken 62c90d576e improve pal gens sound quality in clot throttle modfe 2014-02-09 03:05:04 +00:00
adelikat 7393f132ab Move CPUs from Emulation.Common to Emulation.Cores 2014-01-22 01:14:36 +00:00
adelikat e3d26fc2e7 MOvie LibRetro files from Emulation.Common to Emulation.Cores in preparation for moving some other things too. In RomLoader don't do HardReset() on the C64 core 2014-01-21 23:54:30 +00:00
goyuken 54b9c826cf nothing to see here for now 2014-01-05 05:23:44 +00:00
goyuken 4ccc31da44 cleanup of removed items in config, corecomm 2013-12-27 22:26:59 +00:00
goyuken 75d39ac60f SNES: connect to new settings system.. everything should work? 2013-12-27 17:59:19 +00:00
goyuken a005767463 random cleanup 2013-12-27 04:41:50 +00:00
goyuken 82c82b681a connect a26 to the new settings setup. unlike all those before it, the menus have changed a bit, but all of the functionality is still there. in movie 2.0, a26 will store the two difficulty switches and the bw\color switch as syncsettings 2013-12-24 20:50:53 +00:00
goyuken bdfbafdfca SMS: support new settings infrastructure. this adds enableFM and allowOverclock as sync relevant settings for movie files (but of course, they won't end up in Movie 1.0 files) 2013-12-24 01:06:17 +00:00
goyuken 2558e76b5d fix rewind on N64, gpgx.debug 2013-12-23 20:34:02 +00:00
goyuken bf20188462 add winform edit for dual gameboy settings 2013-12-23 16:58:20 +00:00
goyuken d37796ab1c more new core config framework; this time GAEMBOY 2013-12-23 02:51:41 +00:00
goyuken a5cdee3780 pce: connect to new settings system 2013-12-22 05:58:24 +00:00
goyuken bd205f47dc update our newtonsoft json.net to version 5.0 release 8. this fixes up abstract class handling so that the CoreSettings can work correctly.
tweak Binding, RecentFiles, and PathEntry to work with the new serializer.  on updating to this revision, you should be able to keep all config.ini settings except for hotkey bindings, path layouts, and recent files list.
start implementation of new CoreSettings and CoreSyncSettings.  at the moment, it's only partially done for NES.
2013-12-22 00:44:39 +00:00
goyuken 3c95174e8c remove obselete PSX_FirmwaresPath corecomm ref 2013-12-21 18:00:38 +00:00
goyuken 09d515682b add release envelope to super secret tone generator. make NullEmulator date aware 2013-12-18 20:37:32 +00:00
goyuken 24ef496737 CHRISTMASHAWK 2013-12-18 19:36:17 +00:00
goyuken 85be43dfb8 sega CD games now get as far as loading the bios 2013-12-16 19:00:05 +00:00
goyuken 61f31967b3 some sega firmwareids 2013-12-16 18:20:47 +00:00
goyuken 8b186f6fa4 a bit of cleanup in speex resampler and yabooze core 2013-12-11 04:01:33 +00:00
goyuken d12f4a10c6 a few libretro wrapper tweaks 2013-12-11 02:19:35 +00:00
goyuken 013de207d8 remove a few no longer used corecomm path hookups 2013-12-11 01:51:41 +00:00
goyuken 9ce2920d16 fix up some stuff in the libretro wrapper. still doesn't do much 2013-12-10 23:12:09 +00:00
goyuken e95d7b8cd7 fix the mess i made yesterday with IEmuLoadHelper (I did not know at the time, but it's 99% the same as the existing ICoreFileProvider) 2013-12-10 17:58:12 +00:00
goyuken 1d0db18244 update some snes core internal firmware request infrastructure to use the new firmware match system. should be no actual functionality change 2013-12-09 21:41:18 +00:00
goyuken 2a0217e06c refactor a bit of firmware loading code to get some slop out of MainForm.LoadRom() 2013-12-09 20:36:24 +00:00
goyuken a07ef9f011 some stuff. don't use 2013-12-08 18:24:34 +00:00
goyuken 315d156034 add dummy helper to MemoryDomainList 2013-12-08 17:28:43 +00:00
adelikat 0737f884bd a new style Mnemonics lookup table, and a bunch of various refactorings. 2013-12-07 16:31:04 +00:00
adelikat 50d4a3307a Rip out UpdateControls() method from IController, also some code cleanup in related files 2013-12-07 00:53:06 +00:00
adelikat 0ed9d832c7 Trace Logger - some code clean up, some tiny speedups, and implement a few small tweaks like Always on Top, and Select All 2013-11-29 00:35:05 +00:00
zeromus 4c247672fe snes hooking system and GetCpuFlagsAndRegisters now work normally 2013-11-22 09:33:56 +00:00
pjgat09 58336c45b2 Fix onmemorywrite so it can trigger on any memory address 2013-11-17 02:36:52 +00:00
adelikat e606429219 more misc cleanup and removing some usings that should have been removed when moving things from one project to another 2013-11-15 01:52:03 +00:00
adelikat d67ff542ba Move sound files to BizHawk.Emulation.Common 2013-11-14 22:09:48 +00:00
adelikat 80b48c0b08 Remove comments that MOS6502X is auto-generated, because it isn't anymore. And change spaces to tabs! 2013-11-14 22:04:32 +00:00
adelikat 715fd3a7e3 remove 6502 native files from project (couldn't figure out how to do this in the previous commit because SVN quirkiness butted heads with Visual Studio quirkiness) 2013-11-14 21:17:37 +00:00
adelikat 0338b76bb0 Move Cpus to BizHawk.Emulation.Common 2013-11-14 21:15:50 +00:00
adelikat 5d65b0ef77 implement Lua - event.onmemoryexecute(), currently only works with the NES core 2013-11-12 01:51:07 +00:00
zeromus 9fed70a49c add some ExecFetch stuff to NES/6502 cores for memorycallbacks and whatnot 2013-11-12 01:06:33 +00:00
adelikat 6b67f47335 fix sln building - apparently you need these files 2013-11-11 17:49:10 +00:00
adelikat fb78215590 Lua - Implement emu.getregister() and emu.getregisters(). Only implemented in NESHawk right now 2013-11-11 03:20:33 +00:00
adelikat 2e51e7ad4f Registered Lua Functions dialog - fix so Remove removes MemoryRead/Write events, add a Remove All button 2013-11-10 21:56:02 +00:00
adelikat e7a481e6c4 Lua - OnMemoryRead() and OnMemoryWrite() - support multiple events, hook to the registered functions system, add ability to name function, return a GUID. 2013-11-10 21:20:55 +00:00
adelikat ded77beb65 Lua - OnInputPoll() - hooked up to the registered lua functions system 2013-11-10 19:19:58 +00:00
adelikat ea24f236fb Lua - event.OnInputPoll() - allow multiple functions to be registered 2013-11-10 18:15:32 +00:00
adelikat 9e5e477467 move emuversion, releasedate, and interim constants from MainForm to VersionInfo so that they are available to all projects (we can now "interim" things in all projects) 2013-11-10 02:32:47 +00:00
adelikat 03e9381adc Clean up assembly info stuff in all projects 2013-11-08 15:56:58 +00:00
adelikat 1061add64f Refactor MemoryDomains in IEmulator, make a MemoryDomainsList object rather than IList<MemoryDomain>, remove MainMemory from IEmulator and make it a property of this new collection object, also add indexing by name. Refactor cores and tools as needed 2013-11-06 02:15:29 +00:00
adelikat 3f88ece3db Remove some files I meant to delete, and some useless code cleanups 2013-11-04 03:12:50 +00:00
adelikat be547db4a1 Move MemoryDomain to its own file, and move the Endian enum into it, also clean up the class a bit, and refactor things as necessary 2013-11-04 02:11:40 +00:00
adelikat 9751fd5a1a Move interfaces and base implemenations from emulation to emulation.common 2013-11-04 01:39:19 +00:00
adelikat 348171bdc5 start Emulation.Common project and move the Emulation/Database folder files to it 2013-11-04 01:06:36 +00:00