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
adelikat
4f5d8b89c9
move Log.cs from BizHawk.Emulation to BizHawk.Common
2013-11-04 00:45:23 +00:00
adelikat
bbc12256b2
Rename IEmulator.ResetFrameCounter() to ResetCounts() as that is a more precise term since it resets frame and lag counter variables (and theoretically any other similar counters that could get implemented)
2013-11-03 16:29:51 +00:00
zeromus
0acbb11e97
move HawkFile to BizHawk.Common along with a small web of dependencies and then add "using BizHawk.Common" to 100 files
2013-10-27 22:07:40 +00:00
goyuken
0803adc32a
add a "BoardName" to IEmulator that an emulation core can use to return useful information about how the rom is being emulated. meant to be mostly for informative purposes; shouldn't rely on it for too much. implemented in GB and NES cores
2013-08-24 16:54:22 +00:00
goyuken
7b7b95e95d
add a new field to IEmulator: bool BinarySaveStatesPreferred { get; }. a core should set it to true to indicate that it would prefer to save and load binary savestates (but both types must be supported). set to true on 7800, gb, dgb, gba, n64, snes, saturn cores, as they all create text savestates that are simply dumps of the binary savestate. for the moment, frontend does nothing with this new information.
2013-05-06 20:51:28 +00:00
adelikat
be2937fdec
Code refactoring of Tools files - no functional changes other than some very tiny speedups and null checks
2013-04-14 23:56:45 +00:00
adelikat
cff1ff2940
Removing unused directives from a bunch of files because I was playing around with resharper, but that got boring so not every file
2013-04-14 20:39:19 +00:00
zeromus
a4b442abda
unify coreinputcomm and coreoutputcomm. there is a slight chance your console will be messed up until i fix a teeny tiny something, since i didnt test them all, since with more recent cores i dunno what roms are working anyway. let me know if i broke anything.
2012-12-10 00:43:43 +00:00
goyuken
0094562d2a
per previous discussion, IEmulator.ResetFrameCounter() should reset lag frame related stuff as well
2012-11-25 15:41:40 +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
beirich
64a04fd672
gen: two-cell vertical scroll mode
2012-09-22 04:46:44 +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
beirich
18f3da0f55
gen: add missing savestate vars. rewind seems stable now from the games I've tested.
2012-09-18 11:09:05 +00:00
beirich
b2e48d8749
gen: savestates work, though they're nes-style brittle savestates for now
2012-09-17 23:28:22 +00:00
beirich
b04189b6b1
gen: rewind is working, savestates are not working [yet]. will fix more tomorrow
2012-09-17 05:48:24 +00:00
zeromus
b33fc4982c
remove derelict CoreVersion/Introspection stuff
2012-09-16 20:08:36 +00:00
beirich
eea2160df2
didnt meant to commit last time, but guess I should check this in so I dont break the build
2012-09-16 19:06:50 +00:00
beirich
5742d69f6a
2012-09-16 19:03:44 +00:00
beirich
e208b147ae
gen: support save-ram. but not eeprom, yet.
2012-09-16 04:42:14 +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
beirich
2d2af1d143
oops
2012-09-13 04:15:25 +00:00
beirich
adee5befa5
Genesis ROM header parsing
...
and other stuff thats only committed because svn isn't decentralized!
2012-09-13 04:13:49 +00:00
beirich
bf504d1220
gen: work on sprite masking/overflow code. substantially improved. Fixes Sonic 1 title screen, Galaxy Force 2 level select, Landstalker sprite masking, and improved nemesis' test rom. Still something amiss in Sonic 2 title screen.
2012-09-11 05:00:45 +00:00
beirich
90d1d12086
gen: fix some vram corruption issues
...
general: fix some build warnings
2012-09-09 21:15:20 +00:00
beirich
a4f8ecc2e0
gen: fix render scroll plane size / window calculation bug. fixes gfx glitches in several games.
2012-09-09 04:22:44 +00:00
beirich
4dbab90b87
gen: remove old, unneeded hack. Fixes Quackshot.
2012-09-09 03:29:40 +00:00
zeromus
f5c0965045
snes-support save ram
2012-09-04 07:09:00 +00:00
beirich
2ef33fbfec
gen: fix dumb bug with sprite masking... fixes sprites showing up in WINDOW in many games where theyre not supposed to
2012-09-04 02:56:53 +00:00
beirich
ff8a58a9b7
gen: Implement CRAM read, VSRAM read. Correct sprite coordinate masking, fixing games several games where sprites were missing.
2012-09-04 01:07:03 +00:00
beirich
0a60a37705
gen: fix Flavio's DMA test rom. and hopefully something else too.
2012-09-03 22:26:33 +00:00
beirich
c9b3f7bedf
gen fixes: HINTs shouldnt fire during vblank, some DMA fixes, fix a render priority issue (albeit not the ideal fix), substantial rom compatibility testing
2012-09-03 16:01:56 +00:00
adelikat
1f128aeda4
Ram Search - small speedup on UpdateValues
2012-09-02 01:52:16 +00:00
adelikat
8c5d8741cb
Genesis - add Rom data memory domain
2012-09-02 01:33:12 +00:00
beirich
c91c001093
gen: Fix bug with word-reading Z80 bus status; fixes music in Monster World IV, Thunder Force 3 still boots
2012-09-01 21:04:40 +00:00
adelikat
2af24ba9fd
Genesis - add system bus memory domain
2012-09-01 19:49:40 +00:00
beirich
d586876f40
gen: implement H-ints
...
gen: implement Vram/Vram DMA copy (badly)
gen: fix dumb sprite rendering bug
gen: fix crash bug with certain WINDOW settings
2012-09-01 18:40:52 +00:00
beirich
f21429b996
gen: implement WINDOW rendering
...
gen: initialize VDP registers to power-on values
2012-09-01 05:02:27 +00:00
beirich
e24f0962fc
gen: fix dumb tile priority bug (primarily affects Ghouls n Ghosts, which use the layers backwards from normal)
2012-08-30 04:29:33 +00:00
beirich
c4afd9f393
gen: allow word-reads to query Z80 bus status. now thunder force 3 boots.
2012-08-27 02:59:26 +00:00
beirich
8ad3e72ffa
Allow easy swapping of active 68000 core the C# core, or Musashi... As we are likely to be swapping between versions rapidly for some period of time.
2012-08-26 14:39:06 +00:00
beirich
2f73408029
gen: improved memory map and VDP I/O
2012-08-26 03:43:35 +00:00
beirich
58780191de
gen: implement raster effects
2012-08-24 04:45:09 +00:00
beirich
9545475455
gen: render priority improved somewhat... still some issues
2012-08-24 02:30:20 +00:00
beirich
575ceb3966
gen: Fix tile VFLIP bug, correcting the most obnoxious of the graphical glitches
2012-08-24 00:37:54 +00:00
beirich
40a427e68f
md: correct hscroll offset calculation. genesis core 10% less embarassing.
2012-08-22 04:54:36 +00:00