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
|
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
|
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
|
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
|
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 |
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 |
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 |
zeromus
|
52edee63d8
|
snesgfx-support mode7 direct color displays. still need an example of a mode 3 or 4 direct color usage
|
2012-09-24 07:46:54 +00:00 |
zeromus
|
4efea7605d
|
snesgfx-support mode7ExtBg tiles & BG
|
2012-09-24 06:47:34 +00:00 |
goyuken
|
7e89882d42
|
lag counter in sneshawk
c++ is dum
|
2012-09-23 15:57:01 +00:00 |
zeromus
|
03cb238ae3
|
snes-add scanline render callbacks and add scanline selector to graphics debugger
|
2012-09-22 05:03:52 +00:00 |
zeromus
|
9e1ecd02d2
|
snes-forgot to actually employ the ability to fix the random number seed which ilari's patches enabled. now the random seed is always 0.
|
2012-09-12 02:55:06 +00:00 |
zeromus
|
8e42658702
|
completing the trifecta: fix the terrible nondeterminisms that made series of snes romloads act wacky
|
2012-09-09 21:19:54 +00:00 |
zeromus
|
f3b6afa5ad
|
change libco to use an msvc-compiled dll so that it doesnt get wrecked whenever the .net GC process suspends a thread in a coroutine. cant figure out how to get that same code working compiled by mingw32.
|
2012-09-09 19:02:13 +00:00 |
zeromus
|
ad6910fd74
|
snes-some beginning steps on graphics debugging tools. nothing to see yet, move along
|
2012-09-06 08:32:25 +00:00 |
zeromus
|
ade89fe798
|
snes-fix bug where loading more than one snes rom would wreck the emulator
|
2012-09-05 23:16:08 +00:00 |
zeromus
|
b2b1c8755c
|
snes-apply lsnes patches
|
2012-09-04 20:23:18 +00:00 |
zeromus
|
4903ad240c
|
snes-change libsnes color output to 32bpp to avoid having to uncrunch 16bpp pixels, for an indeterminate speedup
|
2012-09-04 19:25:09 +00:00 |
zeromus
|
9726b75ec4
|
snes-support layer toggles (needs gui hookups)
|
2012-09-04 19:12:16 +00:00 |
zeromus
|
76cfbc47c1
|
fix loading of non-snes games, and try to make snes core reset a little more reliable by reconstructing more
|
2012-09-04 18:04:06 +00:00 |
zeromus
|
caed262122
|
snes-try and determine whether game is snes based on libsnes's internal heuristics, and use .SFC for it anyway
|
2012-09-04 06:08:46 +00:00 |
zeromus
|
37e6f68370
|
bsneshawk step 1 of N - compile libsnes, make bsneshawk core, setup interop, support frameadvance, video, gamepad. games are playable, I think.
|
2012-09-04 00:20:36 +00:00 |