Commit Graph

50 Commits

Author SHA1 Message Date
adelikat 6fedb67949 Fix the Write callback for the MemoryCallBackSystem and refactor the object more appropriately 2012-10-14 14:08:25 +00:00
adelikat 98ae0abe28 Lua - Implement onmemoryread() and onmemorywrite() to the remaining C# cores except Genesis 2012-10-13 20:15:28 +00:00
goyuken b40897bb77 sound api changes. added a new ISyncSoundProvider, which works similarly to ISoundProvider except the source (not the sink) determines the number of samples to process. Added facilities to metaspu, dcfilter, speexresampler to work with ISyncSoundProvider. Add ISyncSoundProvider to IEmulator. All IEmulators must provide sync sound, but they need not provide async sound. When async is needed and an IEmulator doesn't provide it, the frontend will wrap it in a vecna metaspu. SNES, GB changed to provide sync sound only. All other emulator cores mostly unchanged; they just provide stub fakesync alongside async, for now. For the moment, the only use of the sync sound is for realtime audio throttling, where it works and sounds quite nice. In the future, sync sound will be supported for AV dumping as well. 2012-10-11 00:44:59 +00:00
goyuken b545d79fb6 lua: add emu.on_snoop() 2012-10-06 13:34:04 +00:00
goyuken 98d9f13600 change IEmulator.DeterministicEmulation to get-only; the old interface implies that a core should be able to take a change to the property at any time, which isn't feasable. most existing cores changed to return true all the time. SNES now takes determinism parameter in Load() 2012-10-03 15:31:04 +00:00
goyuken 51fc8e695c add 'bool rendersound' to IEmualtor.FrameAdvance()
if false, the emulator is free to gain whatever speedup it can by not doing audio processing (shouldn't change anything sync related, though)
the core should still always call SoundProvider.GetSamples() after each FrameAdvance(), else DRAGONS
at the moment, only test-implemented in gambattehawk
2012-09-20 19:52:47 +00:00
zeromus b33fc4982c remove derelict CoreVersion/Introspection stuff 2012-09-16 20:08:36 +00:00
goyuken 83e145c36f change the IEmulator saveram interface.
i don't like doing this, but there were already two emus with special bandaid logic in MainForm.cs
i hope this doesn't break something, but if it does i'll fix it
2012-09-14 22:28:38 +00:00
zeromus f5c0965045 snes-support save ram 2012-09-04 07:09:00 +00:00
andres.delikat a34bf45610 Add islag to savestates (now lagframe alert status updates when loading a state) 2012-07-30 14:42:52 +00:00
beirich b599c69c18 Add VirtualWidth to IVideoProvider and the (numerous) implementations. This is just phase 1, client needs to be updated to utilize this information, and some cores (especially PCE) should be updated in a more involved way to provide better TV emulation. 2012-06-25 02:50:34 +00:00
zeromus fd6ac896fc general cleanup.. remove a bunch of warnings.. improve log console system a bit.. add new icons for log console window.. remove old demo psx interop system and add new, simpler one, which isnt really tested yet but is way less annoying. 2012-02-24 20:38:35 +00:00
brandman211 a92865a13d -Removed the redundancy from TI-83 as well. The whole revamping is a net loss of 292 lines of code.
--Note that I don't think that the calculator pad simulator is registering when I click 0, and that this doesn't seem to be related to any changes I made.
2012-02-21 00:40:44 +00:00
beirich 7a272192fb Add version IDs to the other working cores
Add toggle for saving screenshot with savestate. Update loadstate code to not die when encountering a state without a screenshot
2011-09-15 23:32:21 +00:00
beirich b27673f26c M-M-M-MONSTER COMMIT! change Game-load api stuff 2011-08-04 03:20:54 +00:00
beirich 6f379cee76 remove freeze system; replacement incoming 2011-08-03 02:13:42 +00:00
andres.delikat 183ef7f14c Cheats implemented in the TI83 core, show messagebox on Cheat enable failure 2011-08-02 22:41:47 +00:00
andres.delikat 2e68314e01 Movies that start from savestate now supported. Record Movie dialog "Record from Now" option implemented. ResetFrameCounter() added to IEmulator and implemented in all existing cores 2011-07-30 20:49:36 +00:00
zeromus 4b892cdfea ti83: savestate vram 2011-07-14 01:18:04 +00:00
andres.delikat de1a3fdc50 Fix TI83 screenshots. Fix screenshot naming code to use the filesystemsafe name, fix bug in screenshotas function 2011-07-10 01:55:37 +00:00
zeromus c0988feaa3 add CoreInputComm/CoreOutputComm, remove Query system, hook up nes video config options 2011-06-11 22:15:08 +00:00
beirich 9283a9f37d IEmulator now implements IDisposable; client now disposes cores 2011-06-02 02:59:18 +00:00
andres.delikat 99babf743f Movie class has a GetSeconds() function that returns the number of seconds based on frames / fps. It is loaded with lots of fps formulas for various consoles. 2011-05-14 12:46:41 +00:00
beirich 33c300ff7b good news: movies work! bad news: 1) movies don't work for TI83 yet 2) I broke some NES things, to be fixed in a later commit 2011-05-08 00:06:43 +00:00
andres.delikat f440f843dd Add IsLagFrame bool to IEmulator and implement in all platforms. Make an alert font in Render panel and make input display use it when a frame is a lag frame 2011-05-01 16:04:53 +00:00
andres.delikat 8a924c5bd0 TI83/NES - add lag counter to savestates 2011-05-01 13:54:11 +00:00
andres.delikat fa4889bc9f Implement lag counter for TI83 2011-05-01 13:42:33 +00:00
andres.delikat bf93a936df Change unimplemented lag counters to return -1 instead of 0 since that is more obviously not implemented. Make null emulator return 0 since by definition it would never lag. 2011-05-01 13:05:16 +00:00
andres.delikat 6732cd50ff Make LagCount get/set in IEmulator and refactored emulators. Implemented the Lag counter in the NES core. 2011-05-01 12:59:26 +00:00
andres.delikat 2fa3561c45 Add LagCounter int to IEmulator, returns 0 on every emulator at the moment. Hook up RenderPanel's LagCounter display 2011-05-01 00:20:39 +00:00
andres.delikat 0927af96f5 TI83 Keypad - a few minor changes 2011-04-29 16:55:50 +00:00
andres.delikat 6c20940033 TI83 - oops Frame++ was being called twice in FrameAdvance() 2011-04-29 12:19:32 +00:00
andres.delikat 2a54d8a8cd TI83 Keypad - fixed forcebutton issue, all buttons now implemented 2011-04-27 17:29:09 +00:00
andres.delikat c9bca52ccb Fix up more TI83 buttons stuff, input display no longer crashes when navigating away from the TI83 section. 2011-04-25 00:45:22 +00:00
andres.delikat 09162b5367 TI83 - implement mnemonic functions, finish hooking up buttons to main form 2011-04-24 19:01:12 +00:00
andres.delikat b52ab78e16 TI83 - remaining keys implemented into core. Most hardcoded to no mapping, or bad key choices. Not yet integrated into the remappable system. 2011-04-24 04:46:07 +00:00
andres.delikat 026fabe26e TI83 - implement mnemonic functions (input display and input logging now working 2011-04-24 02:19:37 +00:00
andres.delikat df1e1a1930 TI83 - finish putting hardware variables into savestates 2011-04-21 19:53:22 +00:00
andres.delikat a93051cf27 TI83 - mostly implement savestates (text) 2011-04-21 01:57:06 +00:00
andres.delikat 9cede4cc2a TI83 - implement hawkfile stuff so that it does proper paths & names for things like savestates & screenshots, implement frame counter, start text savestates (only holds frame count atm) 2011-04-21 01:41:37 +00:00
andres.delikat d03f3d3b60 TI-83 - Implement memory domains, tool dialogs can now run with a TI-83 rom loaded 2011-04-21 00:57:55 +00:00
andres.delikat 423e9c8783 Add SetControllersAsMnemonic() to IEmulator and implement it in the SMS core. Very crude playback now works. 2011-02-27 22:33:25 +00:00
andres.delikat 04b6b2baa0 Fix typo! 2011-02-26 22:08:55 +00:00
andres.delikat 0ed57b443b Add GetControllerAsMneumonic() to IEmulator that returns a formatted string of controller inputs. Implemented this function in SMS input.cs and hooked up Movie recording. 2011-02-26 21:36:46 +00:00
zeromus bc74d6c575 complete speed/skip/non60-throttle functionality and controllable vsync. maybe a bit rough, but i'll continue to support it. 2011-02-21 09:48:53 +00:00
beirich 577f249905 Misc code cleanup 2011-02-16 04:45:59 +00:00
andres.delikat 48bb648ff9 IEmulator now has a string type so that emulators can return a string representing the platform they emulate 2011-02-16 02:42:58 +00:00
beirich e62c1bc673 add memory API, remove HardReset from IEmulator 2011-01-21 03:59:50 +00:00
zeromus 8f59b1f582 restore gb core to some semblance of working order, and hook up its debugger; and add the newer, improved Z80A (but not the Z80GB, ironically) disassembler 2011-01-20 06:24:31 +00:00
zeromus 3c7534e92a TI-83 emulator lol 2011-01-18 10:28:10 +00:00