Commit Graph

884 Commits

Author SHA1 Message Date
pjgat09 6f2d75a260 N64: Save saveram as a part of a savestate 2013-05-11 03:44:01 +00:00
pjgat09 0811ff4e41 N64: Wired up the analog control in the virtual controller. I probably did the float wiring badly, but it works for now. 2013-05-10 23:29:14 +00:00
goyuken 6849f72baf NES: volume control on each channel 2013-05-10 18:38:58 +00:00
goyuken 99615d9afd GB: rtc is pegged to emulated elapsed time. maybe. don't know what to test it with. time at core restart is always 1970, or something like that, which isn't as bad as it sounds, because the GB rtc doesn't keep track of anything past days 2013-05-09 23:15:59 +00:00
goyuken 7e71898187 resolve issue 107 2013-05-09 19:57:42 +00:00
zeromus f61b85ab01 nes-boot yoshi's cookie 2013-05-09 06:47:25 +00:00
pjgat09 0a3dfa697e N64: Added a video plugin settings class, filled it with the values from the rice settings screen, and wired it up to the core 2013-05-09 02:58:35 +00:00
pjgat09 0d4ed449e1 N64: When disposing of the core repeatedly send the stop command, because for some reason sometimes sending it just once doesn't work 2013-05-09 01:05:42 +00:00
goyuken 89f61e6daa gba: throw exceptions if saveram gets accessed when disposed, while i remember about it. will actually fix it some other time, if the core actually gets used. 2013-05-09 00:58:02 +00:00
pjgat09 7becee2284 N64: Rescue save ram from the clutches of race conditions 2013-05-09 00:36:01 +00:00
pjgat09 fffc9d676e N64: Setup saveram, but it doesn't always work right yet. Sometimes switching games loses the save ram. Sometimes bizhawk crashes when saving saveram. 2013-05-07 22:37:26 +00:00
pjgat09 d9c6bb6698 N64: Added float controls for the X and Y axises. At some point they need to be converted to signed bytes to work with m64p 2013-05-07 01:42:48 +00:00
pjgat09 08f6fdaf8d N64: Implement the video plugin (rice or glide64) option 2013-05-07 01:38:12 +00:00
pjgat09 a6600a5c0a N64: Implemented the lag indicator and lag count 2013-05-06 23:50:24 +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
pjgat09 e78985244c N64: Split the m64p api into it's own class 2013-05-06 03:22:27 +00:00
pjgat09 468da23558 N64: Set RDRAM as the main memory 2013-05-06 00:08:36 +00:00
adelikat 7fb317cc37 N64 - implement ResetFrameCounter() method 2013-05-05 22:53:22 +00:00
pjgat09 8b51686944 N64: Added a very primitive memory domain for RDRAM. For some reason poking does not work yet 2013-05-05 03:39:01 +00:00
pjgat09 d0285b6965 N64: I suck at this 2013-05-05 00:12:46 +00:00
pjgat09 883fa1330e N64: Removed the debug output lines that were accidentally committed 2013-05-05 00:11:49 +00:00
pjgat09 a374641460 m64p: Changed the output formula for the framebuffer from glide64 to actually be correct. We actually don't need a formula... Changed glide64 to not force vsync. You apparently need to read the back buffer or else you get choppy video.
N64: Changed the hardcoded video plugin to use glide. Glide apparently requires you to set the video mode before initializing the plugin
2013-05-04 23:51:50 +00:00
pjgat09 55c7fc55ab m64p: Made two new functions for saving and loading states, directly based on the m64p methods but without files
N64: Copied savestating code from other cores. States take a while to save, and the audio is weird when loading.
2013-05-04 04:07:04 +00:00
pjgat09 d5966dd908 N64: Video now resizes 2013-05-04 02:46:37 +00:00
goyuken 079255b29f n64: gc issue fix????????? 2013-05-04 01:46:12 +00:00
goyuken 4a74249236 n64: remove a few minor hacks in n64.cs that were due to previous minor hacks of mine and are obselete now that the first frame problem is resolved 2013-05-04 01:32:33 +00:00
goyuken d87b5e7324 n64: turn right side up again 2013-05-04 01:30:39 +00:00
goyuken 54ff07fbfc n64: fix race bug introduced in previous revision. also turn display upside down 2013-05-04 01:16:27 +00:00
goyuken 1abb7cf91a n64: resolve the "first frame" issue 2013-05-04 00:47:36 +00:00
goyuken 1bf7280b75 n64: in the managed side, use an AutoResetEvent to wait on the core instead of spinning. saves cpu time. 2013-05-04 00:28:05 +00:00
goyuken 147c77c124 n64: screw things up some more. use a semaphore to handle stoppage in r4300 interrupt. blah. it's faster 2013-05-04 00:23:52 +00:00
pjgat09 d9f9d77712 N64: Wire up the reset and power buttons 2013-05-03 21:13:23 +00:00
goyuken 314906ce66 saturn - comment out the hacked up scsp savestate stuff and replace it with something much simpler (but more fragile). old scsp save routine has same bug as r4399 - immediate save+load+save produces different savestates. new doesn't. 2013-05-03 19:51:03 +00:00
pjgat09 7810621d6d N64: Started work on wiring the config system. The video output resolution is now (temporarily) set to 800x600 2013-05-03 02:36:46 +00:00
pjgat09 fa349542ef N64: Added exceptions in the event of a problem loaded one of the dlls 2013-05-02 22:17:36 +00:00
pjgat09 ee9584f3aa N64: Commented out, but rudimentary fake analog stick support by looking at the DPad buttons and basing the analog stick position based on those 2013-05-02 22:08:54 +00:00
pjgat09 2a0c6c4daf m64p: Configure controller 1 to be plugged in. Flesh out the plugin somewhat
N64: Pass controller 1 data to the core
2013-05-02 03:38:57 +00:00
adelikat c6634273d7 N64 - hook up input for 4 controllers and autofire, still needs to be hooked to the core, and also needs to be added to controller config dialog 2013-05-02 01:54:44 +00:00
goyuken 53f9e002f4 n64: disable certain debug messages for now as they're causing crashing problems.
fix audio, hopefully.  sounds fine on diddy kong racing.
2013-05-02 00:33:44 +00:00
pjgat09 08c41348e5 N64: Attempt to fix a threading problem 2013-05-01 22:32:31 +00:00
goyuken 6b350e58c9 n64: audio stuff, but all commented out for now 2013-05-01 22:26:08 +00:00
pjgat09 365d1f159c N64: Clean up the core on rom close 2013-05-01 22:18:53 +00:00
pjgat09 533baf9ef3 N64: Added a function to get the audio rate from the core. 2013-05-01 21:28:15 +00:00
goyuken 0a1e942dfe n64: rework audio a bit. best listened to in audio throttle mode. the problem seems to be that different games use different audio out sampling rates, and i don't know how to detect the right one. current selection (32khz) seems to be right for merio and falcon punch 2013-05-01 14:38:47 +00:00
pjgat09 7f7b9eac1f m64p: Created a new audio plugin that saves the samples in a buffer for bizhawk to retrieve. Also added some miscellaneous svn:ignores
N64: Hooked up the new audio plugin, but it doesn't sound exactly right.
2013-04-30 03:24:44 +00:00
pjgat09 160de71206 N64: Removed an unneeded dummy variable 2013-04-30 02:24:07 +00:00
pjgat09 8ec6c762bd N64: Set a variable to volatile to fix problems with bizhawk freezing during frame advance. 2013-04-30 02:22:56 +00:00
pjgat09 3bc682a411 m64p: Added VI callback functionality
N64: Made a VI callback function which declares the frame complete every VI, instead of per frame.
2013-04-30 01:50:27 +00:00
pjgat09 2598967d56 m64p: Start the emulator paused
N64: Wait for the emulator to start up before returning from the constructor.
2013-04-30 01:14:07 +00:00
pjgat09 1f7b5a5ce9 N64: Run the m64p core frame by frame. Added a frame callback function to retrieve the framebuffer from the m64p core when it's ready. Added math to convert the m64p framebuffer to bizhawk's formula. 2013-04-30 00:36:54 +00:00
pjgat09 bfc0117237 m64p: Hard coded an ini file location until I can be bothered to work out the config handling in m64p
N64: Loads roms and pops up an SDL window to display them
2013-04-30 00:08:21 +00:00
pjgat09 a4fb43185a N64: Adding a dummy emulator 2013-04-29 01:57:41 +00:00
zeromus df99f36464 support bsnes xml files and super road blaster MSU-1 game 2013-04-24 22:09:11 +00:00
zeromus b482a4af0b make note about how to get msu-1 working 2013-04-24 17:17:25 +00:00
zeromus 45a671ce73 snes-add "always doublesize framebuffer" snes option which makes the logical output of the snes core always sized appropriately for sudden hires-width or interlacing 2013-04-22 22:34:18 +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
adelikat da80b7117a Oops, Make VS2010 project compile 2013-04-14 20:04:38 +00:00
adelikat e8eeb7f4fa NESHawk - threw .net 4.5's aggressive inline attribute on some hot functions, seems to give me about a 3-5% speedup 2013-04-11 02:04:13 +00:00
adelikat 1c33b92bf1 NES - separate first/last scanline settings for NTSC vs PAL (default of 8,231 NTSC and 0,239 for PAL) 2013-03-25 01:59:34 +00:00
goyuken 8d1fcd0b8a snes: movie recording starting from now now supported 2013-03-17 18:11:30 +00:00
goyuken 7d21df6648 GB: fix movie "start from now" (it never worked before). this is a minimalist fix that's designed to not break compatibility with any existing savestates, but is kind of fragile. 2013-03-17 17:15:33 +00:00
adelikat 84bc032656 Some warning cleanup 2013-02-24 20:17:12 +00:00
adelikat 0530547f34 NESHawk - CNROM - support ROMS that use MAPPER185 as the header designation and are not in bootgod (specifically Sansuu 1,2,3), and prevent Bird Week from crashing. In all these cases the games still don't work, but at least they don't crash 2013-02-19 02:52:32 +00:00
adelikat 2c4fcd0cb3 NEShawk - Fix savestate loading on mappers 115 and 248 2013-02-19 01:58:13 +00:00
zeromus e88fb73706 nes-initial values for mmc3 registers.. not clear on whether theyre real or not, but folks seem to be depending on them, and fceux does it 2013-02-11 09:09:37 +00:00
zeromus 501c68bb9f nes-make memoryRand track fceux latest 2013-02-11 09:08:54 +00:00
zeromus 9cf0a3f30f snes-add gui option for ring buffer mode. its unclear whether it speeds things up, but its possible that it might, and it was a lot of work, so here it is as a user option. 2013-01-18 05:06:26 +00:00
zeromus 11aef10c2e snes-dont churn through memory so fast when loadstating/rewinding. i think its fragmenting the OS heap pretty badly because it kept reallocating shared memory blocks 2013-01-18 04:46:17 +00:00
zeromus 1b33d1dc9d snes-fix bug where you cant load games lacking save ram 2013-01-14 07:22:36 +00:00
goyuken a0ea09a226 nes: mapper 117: some sort of vrc7 clone. fixes "Crayon Shin-Chan" (not that one, the other one) 2013-01-09 23:22:40 +00:00
zeromus 66077951c4 snes-fix timing calculations in aviout and movieplay dialog 2013-01-09 23:03:46 +00:00
goyuken 926cf64fe7 dual GB: tweak frame timing. dual GB frame timing closely resembles that of lsnes-gambatte; with more than one console, there's no point trying to precisely sync to the v-timing of just one of them. 2012-12-30 17:38:44 +00:00
goyuken 87a36128e3 dual gb: fix edge case frame boundary timing thingy 2012-12-29 18:55:10 +00:00
goyuken 8715f2bb2a dual gb: memorydomains 2012-12-29 18:06:39 +00:00
goyuken 1cdc51f789 dual gameboy: sound 2012-12-29 17:11:19 +00:00
goyuken 166110c609 gambatte: more linkcable stuff. input isn't working, haven't figured out why yet. note: at the moment, any attempt to load a GB\GBC rom will bring up the dual core. 2012-12-29 15:48:30 +00:00
goyuken 2a7ea6bfb0 libsnes: add comments to snes_input_state() explaining the parameters as i understand them. note that we only actually have 2 controllers at the moment, not 4. 2012-12-29 02:43:00 +00:00
goyuken ab8af9f73e remove some unused junk from last commit 2012-12-29 02:07:01 +00:00
goyuken 63f9752ea2 rough in some stuff for game boy link cable recording. none of it is finished yet 2012-12-29 01:25:06 +00:00
goyuken 714292c77c gambatte: change memory domain check to mod instead of and (because domains can be not power of 2 sizes) 2012-12-27 22:50:34 +00:00
adelikat 06bd1b979a GB - mask peek and poke memory functions, fixes potential exceptions when calling on bogus addresses for that domain 2012-12-27 18:48:12 +00:00
zeromus 2988217d77 snes-fix SGB core which had got a little broken while trying to setup memory domains 2012-12-27 18:47:15 +00:00
zeromus 213f12b5a2 snes-actually turn on that thing i did last night, to see if anyone thinks it improves performance 2012-12-27 18:11:44 +00:00
zeromus 9a778a55fe snes-add a bunch of complicated libsnes communication code. not sure whether it helps. need to gather data. 2012-12-27 07:59:19 +00:00
zeromus 42e473b7a8 snes-fix dll deps in 64bit bsnes 2012-12-26 21:25:39 +00:00
zeromus 0545cb64fa snes-make hex editor faster 2012-12-26 18:25:45 +00:00
zeromus 8a69a4ebe0 switch snes core back to external process. more refined this time. support use of performance core. 2012-12-25 20:36:04 +00:00
goyuken 717ec931f1 snes: disable tracelogger. i'll figure out what i broke after the snes pwrap is done 2012-12-23 18:05:48 +00:00
goyuken 3cc475a64f reverse merge r4180, r4181, r4189 2012-12-23 16:30:00 +00:00
goyuken b7b8a81627 nes: JALECO_JF_19: change behavior so that "Moero!! Pro Yakyuu '88: Kettei Ban" now runs. strangely, this doesn't affect "Moero!! Pro Soccer", which already ran and still does. i'll try not to think about it too hard. 2012-12-21 16:14:38 +00:00
zeromus f1401a16e1 snes-fix new bugs in audio 2012-12-21 16:13:11 +00:00
zeromus 8d7da30681 snes-refactor bsnes bindings to work via external process. should solve all stability problems. there is much sloppy transitionary code still in this commit; we need to smoke out any killer issues with this approach before committing too heavily. speed is close enough to last release, and can still be improved. 2012-12-21 07:23:55 +00:00
zeromus eec37da5b4 nes-fix MMC1 to use less bizarre techniques (it was my first mapper, after all) and magically fix bases loaded II graphics at the same time. check other MMC1 games to see if I broke anything, but it is a pretty trivial mapper. 2012-12-21 07:12:01 +00:00
goyuken 79f5a344e1 nes: axrom: support "ACCLAIM-AOROM" wizards and warriors 3 2012-12-20 01:27:13 +00:00
goyuken 70cc20175c NES: Test out some savestates, and get more crashes... the problem is that a number of mappers use some state variable names that are identical to APU variable names. Fixed by enclosing entire mapper in a section every time. This particular discovery though, suggests to me that 1.3.0 release NES savestates are possibly much more broken than originally suspected, if mapper IRQ information is being stomped out by APU IRQ information. 2012-12-19 15:46:37 +00:00
goyuken 3a9fa9abb1 nes: vrc7: support ines without crc. in case someone ever makes a vrc7 homebrew. which they won't. 2012-12-18 23:09:33 +00:00
goyuken ff6539d268 nes: related to the last commit, fix mapper 116, mmc5, vrc6 2012-12-18 03:17:10 +00:00
goyuken d479e5661a The robustness update to the Serializer caused a problem when multiple variables with the same string name are saved\loaded in text form. The old system would just read\write them in order; the new one would silently discard all but the last occurrence. The Serializer now throws an exception in these circumstances. To fix individual cores, duplicate usage of variables needs to be enclosed in separate sections. Fixed an occurrence of this in the NES APU, where the two Pulse channels were being confused; fixes sound bugs on loadstate in some games. 2012-12-18 03:03:11 +00:00
goyuken 26abfe4574 nes: apu: add some pulse channel variables to the savestate that weren't in it before. maybe this fixes something? maybe it doesn't. it certainly doesn't fix my problem in driar... 2012-12-18 02:22:40 +00:00