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 |
zeromus
|
db37a6f64f
|
snes-reset the libsnes core (with whatever serious re-initialization logic we've currently written in libsnes) every time loadstate occurs; and add memsetting to that re-initialization logic, under the theory that if there is a savestate nondeterminism due to fundamental serialization bugs, at least loadstates will be deterministically buggy, decreasing the odds that anyone will ever notice them. of course, i would rather increase the odds that we'll notice them to 100%, so we can fix them, instead of just masking them. but i don't make the rules, i just stfu the nags
|
2012-12-01 06:21:53 +00:00 |
zeromus
|
0c58d62762
|
snesgfxdebugger-layer toggles, more information
|
2012-11-26 06:30:30 +00:00 |
zeromus
|
608ebc4a99
|
snesgfxdebugger-display OBJ tiles
|
2012-11-23 09:10:18 +00:00 |
goyuken
|
276b00fb35
|
snes: unify color generation for debugger and core. include 3 alternate implications: r3809, r3808, and hypothetical snes9x. nothing ui hooked up yet
|
2012-11-16 21:29:23 +00:00 |
goyuken
|
b51cfbaa45
|
snes: don't round early in color conversions. affects some RGB24 values slightly
|
2012-11-16 18:43:47 +00:00 |
zeromus
|
9e50d25c16
|
snes-support user override backdrop color
|
2012-10-17 18:39:44 +00:00 |
zeromus
|
e318718a21
|
change libco_msvc_win32 to use vs2010, so as to avoid dependency on another (vc8) runtime.
|
2012-10-16 19:11:02 +00:00 |
goyuken
|
9f9aeb6609
|
move libco_msvc_win32.dll to dll subdirectory
|
2012-10-09 22:48:41 +00:00 |
goyuken
|
ca40ed07a2
|
move libsneshawk.dll to dll subdirectory
|
2012-10-09 21:07:50 +00:00 |
goyuken
|
e509b0cd9b
|
snes: Add "BUS" memory domain. Like GB, caveat that it could possibly maybe affect sync, maybe... doubly so because I can't penetrate byuu code so well.
|
2012-10-03 14:54:32 +00:00 |
zeromus
|
0597fe5793
|
at some point i accidentally removed multicore -j flag from libsnes's bizwinmake.sh
|
2012-09-30 22:27:12 +00:00 |
goyuken
|
3e139c7d7e
|
libsnes: change frame boundary timing. from the perspective of the libsnes core, this choice is mostly arbitrary. from the perspective of the frontend, it's how input frames are divided up and lag frames are determined, and so can be rather important for TASing. the original choice of frame timing is a bit strange and causes excessive input latency and lag detection issues for pal224 and ntsc modes (but not pal239 mode). this change will most likely cause "off by one" errors in TAS sync; should be mostly easily correctable.
|
2012-09-30 18:05:23 +00:00 |
goyuken
|
2a59e135ea
|
snes: add lag counter for manual 4016\4017 polling
this shouldn't break existing lag counting.
this doesn't fix the issue observed in smw2 (i have no idea what is causing that.)
|
2012-09-28 13:37:42 +00:00 |
zeromus
|
d9a55fed37
|
snes-load firmware files from a CoreInputComm path, which must be named exactly right; show the requisite filename in a messagebox if it's missing; but theres no GUI for the firmware path hooked up yet.
|
2012-09-27 07:22:31 +00:00 |
zeromus
|
6c8177a08b
|
snes-print messages from libsnes. now you can see which dsp/firmware dependency it detected for the game (it has its own heuristics, not necessarily any need for gamedb yet). still not loading the firmwares though
|
2012-09-27 01:38:27 +00:00 |