Commit Graph

884 Commits

Author SHA1 Message Date
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 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 7b03fc0bc0 Move Buffer.cs and Util.cs from BizHawk.Emulation to BizHawk.Common, and add 1234832983 usings 2013-11-04 00:36:15 +00:00
zeromus 7a260abb54 update libsnes building for new output directory, and add support for exec/read/write/nmi/irq hooks 2013-11-03 22:44:49 +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
adelikat 73b6791f63 NESHawk - put sealed on some classes I missed sometime back when I did that 2013-11-02 23:14:58 +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
adelikat 3f410a771c small code cleanups and deal with some warnings 2013-10-27 17:07:37 +00:00
adelikat e265e00ca1 ack! whoops! 2013-10-27 16:23:48 +00:00
adelikat 9218e298dd more mainform code cleanup 2013-10-27 13:53:28 +00:00
zeromus 78603f1237 continuing... 2013-10-25 01:00:31 +00:00
zeromus 249ddea268 revert to pre-refactor state. its a WIP, dont judge 2013-10-25 00:34:01 +00:00
goyuken 5afcb1b168 gameboy - use blip_buf for audio resampling, like NES. this is also something that dual GB does, but i never got around to porting it back to single GB before. the speexresampler is very good for some things, like snes, but isn't appropriate for multi-megahertz audio downsampling.
big speedup.
2013-10-21 17:19:37 +00:00
zeromus 954935466d add note about time lord 2013-10-18 06:11:36 +00:00
goyuken e33396a548 GBA -add new "Combined WRAM" memory domain, which is the 256KB EWRAM immediately followed by the 32KB IWRAM 2013-09-29 15:43:49 +00:00
adelikat 7a08cb1075 Fix some annoying warnings and some misc code cleanup 2013-09-14 19:34:14 +00:00
adelikat b18d50791e Mapper stuff 2013-09-02 23:54:32 +00:00
zeromus 513ceba3d2 fix up SGB memorydomains 2013-08-26 07:17:47 +00:00
adelikat 61236bf763 NES - make mappers and whatnot sealed classes, since it may theoretically be a tiny speedup, and if nothing else, it is more conceptually correct 2013-08-25 01:08:17 +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
zeromus 226622e339 renovate the firmware system. cores now have the ability to get firmware themselves, without needing to have files loaded or pass paths from the multiclient. users can select whatever firmware they want from the firmwares config dialog. 2013-08-10 01:17:06 +00:00
pjgat09 b5dd64ad3b N64: Pass the Glide64mk2 settings to the core 2013-08-09 02:32:49 +00:00
zeromus 5030f6e328 n64-dont churn through buffers while loadstating 2013-08-07 23:09:10 +00:00
pjgat09 77b249f68e N64: Allow you to enable the Glide64mk2 plugin 2013-08-06 02:27:20 +00:00
adelikat 21552eaeec Use fast version of reading/writing hex on snes savestates too, they could use the speed 2013-08-05 12:57:08 +00:00
goyuken bfcc1a6684 NES: support HVC-SJROM for Zombie Hunter(J), which is a bad game, like most NES games 2013-07-31 20:15:02 +00:00
zeromus c0453ae2e8 snes-fix SGB 2013-07-30 02:51:40 +00:00
goyuken f3eb9e7fc7 N64: a quick hack greatly reduces memory thrashing (on my machine, varied usage of 300-800MB with default rewind settings replaced with a rather steady 300-350MB 2013-07-30 00:12:24 +00:00
goyuken 3b7f2a65a6 N64: reuse a particular buffer instead of recreating it on every rewind state capture. this change by itself does not seem to be sufficient to avoid outofmemory exceptions 2013-07-30 00:01:32 +00:00
adelikat 7ac1da8c96 Set the right order of buttons, and good defaults for controllers and joypads for all consoles 2013-07-29 02:11:00 +00:00
zeromus 4b5d967ed4 nes-support SMB3(j) and fix likely new bugs in MMC1??? 2013-07-28 21:03:28 +00:00
zeromus cf655f3f54 nes-make MMC1 work like the other mappers, instead of the very first mapper i made, which is to say, stupidly. TL;DR, speed it up 50% 2013-07-27 23:31:29 +00:00
adelikat 8a9373126f N64 - add analog UDLR boolean buttons for mapping, if set and pressed they will override the analog axis 2013-07-25 00:51:56 +00:00
goyuken 58359d5ac9 NES: ExROM: fix crash in CV3 2013-07-20 05:27:39 +00:00
goyuken 3169968858 analog input support. this is bad code and should all be reverted as soon as possible.
binds (along with sensitivity, deadzone, flip customization) are not supported yet.  to test out, try using the first two axes of dinput joystick #5 on N64 player #1
2013-07-18 16:18:17 +00:00
goyuken e88691152d NES: remove vs system cruft that never worked and i never followed up on 2013-07-18 14:15:46 +00:00
goyuken aa6b743b86 snes: fix a bug which caused false positives in lagframe detection (frames marked as lag where input was actually used). this is purely a display issue and did not affect emulation at all. the bug was not caused by r4206, but r4206 causes it to occur more often. 2013-06-29 23:32:41 +00:00
goyuken 1073e184d3 re-un-break TGROM problem caused by r4524 2013-06-14 15:07:55 +00:00
pjgat09 6ab3f6a463 N64: Added SaveType to the gamedb, but only for 16K EEPROM since all the other options are ignored. This fixes a "no controller" issue with Banjo Tooie 2013-06-08 03:36:57 +00:00
goyuken 7b6492c0e2 n64: use the "fast" savestate text processing primitives. overall speedup: savestate: 21x loadstate: 10x 2013-06-06 00:59:09 +00:00
goyuken 56d7b299de NES: MMC3: fix some worthless mario hack. i don't like this particularly 2013-05-28 20:01:09 +00:00
goyuken ea7dd85451 NES: TxROM: add 256K chr option to ACCLAIM-MC-ACC. fixes crash dummies, amongst others 2013-05-20 13:41:21 +00:00
pjgat09 ac9d053895 N64: Actually use the input for the other three controllers 2013-05-20 00:03:08 +00:00
pjgat09 9cc5a00076 N64: Dirty hack to allow savestates to be loaded during the first or second frame of emulation. 2013-05-19 23:38:34 +00:00
pjgat09 82a5989f28 N64: Refactored the memory domains 2013-05-19 20:14:34 +00:00
goyuken 0818526b3d snes: fix wrong default memory domain in ramsearch 2013-05-14 21:33:36 +00:00
goyuken 05a525d2c4 dual gameboy: on_snoop support. you get a callback per sub-core, as would be expected. 2013-05-11 23:46:23 +00:00
pjgat09 7da2ede59d N64: Refactor some input code to use callbacks and (hopefully) be compatible with on_snoop 2013-05-11 23:44:20 +00:00