Commit Graph

121 Commits

Author SHA1 Message Date
zeromus 0c1dedbe75 psx - hook up non-dualshock pad types 2015-02-01 07:45:41 +00:00
zeromus 91c130a07a psx - straighten out setting of discs when loading savestates, and avoid doing likely desyncing operations in CDC module when loading savestates and setting the appropriate disc. fixes #381 2015-02-01 04:55:09 +00:00
adelikat 8c10f401e2 Octoshock - add controller type to ControllerSetting, with the options of GamePad, DualAnalog, Dualshock, still todo: wire it up to the UI, wire it up to the core 2015-02-01 01:24:41 +00:00
adelikat 4b6ce6450e PSX - disable controller config settings because something stupid is causing a stupid crash 2015-01-31 21:00:30 +00:00
adelikat 9ea78adfdc PSX - get started on ability to configure controllers, right now the choices are 0-2 DualShock controllers, 1 by default. No ui yet to configure this 2015-01-31 19:37:26 +00:00
adelikat ac442130ae Refactor IMemoryDomains and MemoryDomains to have setters for MainMemory and SystemBus, so a core can customize instead of using a one size fits all assumption. Remove constructor that sets main memory and refactor accordingly 2015-01-24 16:02:28 +00:00
goyuken 82fcd0bc5e refactor IVideoProvider into a service. uses in mainform and friends are still hacky 2015-01-14 22:37:37 +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
zeromus 9b5a5e69d4 psx - improve behaviour of initial disc state at frame=0 2015-01-12 07:32:52 +00:00
zeromus b129eab0f9 psx - lag logic 2015-01-06 03:40:01 +00:00
adelikat 0f2197cec1 Break off ITracer from IDebuggable, rename to ITraceable and make it an IEmulatorService, refactor things accordingly 2014-12-23 01:58:12 +00:00
adelikat ffdeb618f7 IDebugable - add a CanStep() method, and implement it in all IDebuggable implementations 2014-12-20 13:29:57 +00:00
adelikat a8116297a0 Rename Register to RegisterValue 2014-12-20 13:16:15 +00:00
adelikat 7bebb66589 IDebuggable - refactor GetCpuFlagsAndRegisters to be IDictionary<string, Register> where Register is a value and a bitsize 2014-12-20 03:19:33 +00:00
zeromus 4dc4745122 psx - revise disc swapping method. way cooler now, you get a list of discs in the virtualpad box, and changing between them maps to physical operations more logically. 2014-12-19 03:24:48 +00:00
zeromus aaf3d0a559 psx - dehihihihihihihihi 2014-12-18 11:30:06 +00:00
zeromus 877e2dde81 psx - rework disassembler and add trace logger 2014-12-18 08:35:56 +00:00
zeromus f8b0262742 psx - add some forgotten registers 2014-12-18 08:21:48 +00:00
zeromus 4569a3697b psx - tidy and comments 2014-12-17 10:50:20 +00:00
zeromus efbc4980fc psx - 2 dual shock pads 2014-12-17 04:01:26 +00:00
zeromus 8d0205f962 psx - fix some small bugs in PAL support and make psx options dialog update labels with calculated resolutions so you can better understand what the options do 2014-12-17 02:54:43 +00:00
zeromus 3f15ae4e91 psx - PAL mode now works (required fixing resolution tweaks and firmware setup). also hook up scanline and overscan control options 2014-12-17 01:23:24 +00:00
adelikat 84f1ba2dd4 PSX - enable 2nd dualshock controller, add 2nd controller to virtualpad 2014-12-16 23:44:23 +00:00
zeromus f6fd73fe1c psx - disc swapping tiny fixes 2014-12-16 10:59:39 +00:00
zeromus 7f44621f97 psx - disc swapping 2014-12-16 10:47:50 +00:00
zeromus 98cf92a665 psx - fix input 2014-12-16 04:02:55 +00:00
zeromus c43dd9fc34 psx - revise disc switch schema stuff; add MinValue support to analog button and tweak the pip positioning 2014-12-16 03:15:27 +00:00
adelikat d08fb39cb8 Refactor IDebuggable StepInto/Over/Out methods into void Step(StepType type); 2014-12-15 22:19:10 +00:00
xmikecampx7 00cd8573da Added Draft PSX Schema 2014-12-15 21:54:51 +00:00
zeromus ee1e99fc49 psx - add cpu registers get/set 2014-12-15 05:28:06 +00:00
zeromus 2d56514fde load m3u files. still no disc switching 2014-12-14 10:36:03 +00:00
zeromus ede9620446 psx - settings framework and implement mednafen-compatible display mode 2014-12-14 08:48:23 +00:00
adelikat 9ce5d1bf37 PSX - add the IInputPollable service so that the lag information actually gets used by the client 2014-12-13 13:50:36 +00:00
zeromus ecb94a1ce9 psx - add lag frame boilerplate junk from wonderswan, should fix movie states and stuff 2014-12-13 08:44:39 +00:00
zeromus 2cd1ef1c63 psx - savestates 2014-12-12 11:07:47 +00:00
adelikat 08fb509a1a Add an IDriveLight Emulator service, and remove the CoreComm properties, and refactor accordingly 2014-12-12 01:49:54 +00:00
zeromus b1fa5b64fd psx - setup a default framebuffer before emulating a frame, so the frontend doesnt freak out 2014-12-12 00:40:15 +00:00
zeromus 326a865c01 psx - framework for savestates, but syncers not implemented yet 2014-12-12 00:25:46 +00:00
zeromus f5dabcdbf5 psx - add a PSX options menu 2014-12-11 20:31:55 +00:00
zeromus 2a3a8a3124 psx - support loading exes 2014-12-11 08:30:37 +00:00
zeromus 3b1ff2df66 psx - substantially revise original 'frontio' peripheral management code to reduce mednafenisms and support future flexibility. but for now: memory card is automatically mounted on slot 1 and tied to game name, same type of sram as other platforms. 2014-12-11 07:27:21 +00:00
zeromus 78c873982d psx - memory domains 2014-12-11 01:56:21 +00:00
zeromus a488114832 psx - add sound. im not sure its perfect, but its good enough for now 2014-12-11 00:57:47 +00:00
zeromus 95a43aa888 psx - fix dual shock, fix crash in 400x? resolution 2014-12-11 00:18:54 +00:00
zeromus abaa52d6e4 psc - disc led 2014-12-10 23:48:47 +00:00
zeromus 1dc8a00771 psx - hook up a hardcoded dualshock input.. maybe some things are mismapped, dont know yet 2014-12-10 23:43:11 +00:00
zeromus 542675def4 psx - implement framebuffer 'normalizing' for consistent 700x480 output, at the cost of slightly warped AR in some resolutions. Ideal for debugging, but not for gaming just yet. 2014-12-10 21:56:12 +00:00
zeromus 5f6bb8d8fd octoshock! 2014-12-10 19:41:13 +00:00
adelikat d8a204572d Add an IServiceProvider interface and make it a property of IEmulator, the purpose of this provider is to provide IEmulatorServices upon request. Make BasicServiceProvider and have all cores use it for now. BasicServiceProvider will return the core itself if the core itself is the requested type. He will also be able to return nested types (code not finished). Wired this up to the HasSavestates extension method (a method that has minimal value now) as a proof of concept. 2014-12-04 03:38:30 +00:00
adelikat a83d714c42 Break off IsLagFrame and LagCount from IEmulator and put into its own interface IInputPollable, and refactor cores as necessary. EmuHawk - account for the possibility that a core is not an IInputPollable, and do things like disable the lag counter menu item. Still some front end todos. Also still todo, move the InputCallbackSystem from CoreComm to IInputPollable 2014-11-30 20:29:30 +00:00
adelikat 76148ae111 Break off savestate functionality from IEmulator into IStatable and refactor things accordingly. Still todo (a big todo): EmuHawk should gracefully handle a core that is not an IStatable by disabling functionality dependent upon it (Savestates, Rewind, Tastudio, etc) 2014-11-30 16:42:58 +00:00
adelikat 135752a215 remove not implemented IMemoryDomains implemented from PSP, and just not implement the interface instead 2014-11-30 15:46:55 +00:00
adelikat 865795049b Break off saveram methods from IEmulator into a separate ISaveRam interface. Remove the setter for SaveRamModified (every single core was throwing an error on this, and no client code was using it). Remove these methods from cores that don't actually implement this interface 2014-11-30 15:22:08 +00:00
adelikat 0e82fff3ff Clean out ClearSaveRam() calls since they are no longer used 2014-11-24 15:00:54 +00:00
adelikat 9c285e3e3a Put NotImplemented attribute on a bunch of things, and remove IMemoryDomains from a few cores that were implementing it but throwing a NotImplementedException 2014-11-24 01:17:05 +00:00
jlennox a64017366c Create ISettable<T,T2>/ISettable interfaces. This checkin has not been extensively tested. 2014-10-19 01:22:47 +00:00
jlennox 10b6bed056 Add IDebuggable to relevant cores and remove non-implementations of GetCpuFlagsAndRegisters/SetCpuRegister 2014-10-18 22:30:06 +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
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 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 b0970451aa internal infrastructure for video presentation changes (aspect ratio, apparent size, etc) 2014-04-30 23:48:37 +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
goyuken d37796ab1c more new core config framework; this time GAEMBOY 2013-12-23 02:51:41 +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
adelikat 6a4d180fd1 Make warning go away 2013-12-21 18:46:43 +00:00
goyuken 3c95174e8c remove obselete PSX_FirmwaresPath corecomm ref 2013-12-21 18:00:38 +00:00
goyuken 95be616079 comments on previous commit 2013-12-11 01:53:40 +00:00
adelikat 7e45f13282 Change project name BizHawk.Emulation to BizHawk.Emulation.Cores 2013-11-15 14:05:47 +00:00