Commit Graph

66 Commits

Author SHA1 Message Date
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