Commit Graph

81 Commits

Author SHA1 Message Date
zeromus b7bf0b38cc bsnes - vs2015 can now be used to build 2015-06-18 03:09:08 +00:00
zeromus 2f21d4e506 bsnes - use msvc struct packing in one place where needed 2015-06-18 03:08:34 +00:00
zeromus 401aeda91c bsnes - fix a boatload of general portability problems 2015-06-18 03:07:00 +00:00
zeromus 3cf7041e68 bsnes/nall - fix bug in serializer copy constructor 2015-06-18 03:06:02 +00:00
zeromus 95a7062fad bsnes/nall - fix dangling references bug in stringify 2015-06-18 03:05:39 +00:00
zeromus 0d2830f616 bsnes - fix inexplicable errors with non-void functions returning nothing on some codepaths 2015-06-18 03:05:16 +00:00
zeromus 23dc607a1a bsnes/nall - nothing to see here 2015-06-18 03:02:48 +00:00
zeromus 4aa0813795 bsnes/nall - fix mysterious compile error 2015-06-18 03:02:36 +00:00
zeromus 0fcfcf3379 bsnes/nall - change some non-standard dynamic local arrays to slightly less non-standard alloca calls 2015-06-18 03:00:27 +00:00
zeromus 55549f7ae1 bsnes/nall - change some non-standard dynamic local arrays to slightly less non-standard alloca calls 2015-06-18 02:59:41 +00:00
zeromus e60cde3314 bsnes/nall - revise some constexpr to be more legal+portable 2015-06-18 02:58:59 +00:00
zeromus 5f5fcc4812 fix big memory leak in bsnes performance core loadstates 2015-06-15 13:18:46 +00:00
zeromus a06b7318c0 add vcxproj and patch for libsnes vs2015 support, for later use 2015-06-10 02:43:06 +00:00
jdpurcell a13d74af14 Flip around one of the 'if' statements. Changes the output enough to avoid false positives with some virus scanners. 2015-03-08 18:56:14 +00:00
jdpurcell 2f5a7543ca Add Yield/SwitchToThread in SNES IPCRingBuffer. Improves performance on Core 2 Duo, about the same on i5, and will prevent it from going < 1 fps on a single core machine :). 2015-02-04 04:31:41 +00:00
zeromus 5d0cfcac52 fix bsnes performance core lag counter; fixes issue #180 2014-09-14 01:33:09 +00:00
zeromus 5d754cf507 change how snes firmware chips survive loadstating, so that loadstate/rewind matches performance from builds earlier in 2014. still kind of slow, but basically OK. 2014-09-02 05:01:51 +00:00
zeromus 237045fde2 add watchdog timer to bsnes process to make sure they dont accumulate when the frontend terminates oddly 2014-06-17 22:03:08 +00:00
zeromus 52bceeeee5 update libsnes exes 2014-05-23 19:27:27 +00:00
zeromus e9522af326 preliminary work on accuracy core in sneshawk. it's building and usable, but savestates are utterly trashed. 2014-05-18 05:13:54 +00:00
zeromus 8193e0b281 snes-repair BG layer toggling 2014-02-09 22:52:09 +00:00
zeromus cc73af76bd snes-make CARTROM memorydomain actually edit bsnes's sense of the cartrom, instead of the rom[] array that the core now pointlessly holds onto 2014-01-29 21:59:06 +00:00
zeromus 50ef1b19f5 snes-fix bugs caused by breakpoints leaving emulator state unstable (most noticeable when taking savestates) 2013-12-29 02:20:13 +00:00
zeromus 492a99694f fix snes savestates? 2013-11-25 20:51:26 +00:00
zeromus 4c247672fe snes hooking system and GetCpuFlagsAndRegisters now work normally 2013-11-22 09:33:56 +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
zeromus 513ceba3d2 fix up SGB memorydomains 2013-08-26 07:17:47 +00:00
zeromus df99f36464 support bsnes xml files and super road blaster MSU-1 game 2013-04-24 22:09:11 +00:00
goyuken b2c0910376 zero - try this? 2013-04-21 19:00:22 +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 8a74e08dfa snes-fix savestate bug in performance core 2012-12-26 22:27:26 +00:00
zeromus 42e473b7a8 snes-fix dll deps in 64bit bsnes 2012-12-26 21:25:39 +00:00
zeromus b070984379 snes-add readme with 64bit build notes 2012-12-26 21:04:04 +00:00
zeromus c9b662d7ea snes-support 64bit bsnes builds. this isnt tested yet since i dont have a 64bit system atm, but most of the infrastructure is there 2012-12-26 20:25:06 +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 587270cad2 snes: Fix rewind issue with tales of phantasia. Full details are as follows: Synchronize events occur right BEFORE the original thread tries to modify the data. That means that if, for instance, the SMP thread switches off to the CPU thread for a synchronize, but then the CPU switches to the PPU, commits a frame, and then in runtosave, finalizes, without having ever advanced past the SMP, when the SMP runs to save, it will do a data modify without being properly synced. The solution is for the CPU to not stop in runtosave until there's enough time for both the PPU and SMP to finish. Because of our stateful design, there's at most one event pending, so that simplifies to (smp.clock < 0 && ppu.clock < 0). This is unfortunately never guaranteed to finish, but with short timing segments on stateful PPU and SMP, and special guards in the PPU and SMP to switch back to the CPU as quickly as possible when in runtosave, it seems to work out. 2012-12-24 21:14:29 +00:00
goyuken 74c26d9b11 snes: ppu: state out similarly to apu. this was a very simple project; unlike the apu, there aren't many sync points. like the apu, a message is dumped to the console if runtosave causes determinism problems. like the apu, there's no speed hit, but tales of phantasia is still broken. breaks savesates. 2012-12-24 19:49:23 +00:00
goyuken fb2a80b7d9 commit the "code generator" that was used to assist in creating r4203. it's not much, and is probably quite useless. but if you must pry, try readme.txt 2012-12-24 18:20:30 +00:00
goyuken 5e3d6555b0 libsnes: implement "stateful" smp that can restore its state at more points, theoretically eliminating incorrectness from smp misbehavior. no real speed loss. doesn't fix anything at the moment; i might back out the change if it turns out to never fix anything. breaks savestates. 2012-12-24 18:07:13 +00:00
goyuken 3cc475a64f reverse merge r4180, r4181, r4189 2012-12-23 16:30:00 +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
goyuken 1d7d40f7c9 add simple makefile for previous commit 2012-12-19 23:02:58 +00:00
goyuken 55399917ac libco implemented with win32 threads and semaphores. about a 25% slowdown. very useful for debugging with gdb. .dll not committed, as this is a debugging-only thing, of course 2012-12-19 22:35:30 +00:00
zeromus aaf06d76d3 snesgfxdebugger-add BG scroll regs 2012-12-03 18:59:08 +00:00
goyuken e24d1efbd4 snes: cpu tracelogging. <1% extra overhead incurred when the tracer is not active. 2012-12-03 01:48:18 +00:00
goyuken 451f786660 snes: fix crash with rewind enabled in tales of phantasia. the problem seems to be that during runtosave(), the smp hits a wait opcode (0xff), which it can't get out of. with this fix, the emulator no longer crashes, but the emulated game does crash. more research is needed. 2012-12-02 18:32:33 +00:00
zeromus 2c3a6e7818 libsnes-as if the previous commits problems werent terrible enough, I had forgotten to memzero the ppu/cpu/dsp/smp components. at least tonights exercise vindicated the necessity of those memzeroings, which is not a concept bsnes ever had. 2012-12-01 08:32:50 +00:00
zeromus 093eda8cdd libsnes-add missing variable initializations for ppu/cpu/dsp/smp components. every one of them was fundamentally untasworthy. 2012-12-01 08:29:47 +00:00
zeromus 7722344e55 libsnes-gain the ability to serialize const arrays: useful for emitting comments in savestates, which is helpful for debugging. note to self: add a serializer for bools which transforms to 0 or 1 2012-12-01 08:28:46 +00:00