Commit Graph

17 Commits

Author SHA1 Message Date
zeromus a60be7d2c9 avert your eyes 2017-04-05 20:03:49 -05:00
zeromus a7b6a9af4d dont look at this, it doesnt work 2017-04-05 19:46:11 -05:00
zeromus 57b1df8487 last commit freaks me out a bit. let's try something a little safer looking to fix the SA1 hanging opcodes 2017-04-05 19:14:38 -05:00
zeromus 9119e4f4ea fix bug savestating SA1 hung in STP or WAI. fixes panic bomber. 2017-04-05 17:35:24 -05:00
feos 1550860ad0 snes disasm spacing 2016-08-19 23:14:12 +03:00
feos 76eaea3619 tracer unification for cores: spacing, headers, etc 2016-08-16 01:39:26 +03:00
nattthebear eb2ec58b1b Rough in some stuff for better oninputpoll in snes. Not hooked up in looah yet. The idea is that oninputpoll will get called with a core-specific int that signifies what happened.
For snes, we're looking at:
0 = latch goes low
1 = latch goes high
2 = left port strobed
3 = right port strobed
2016-02-29 21:22:30 -05:00
zeromus f3626b9605 snes CDL 2015-11-03 23:45:57 -06: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 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 e24d1efbd4 snes: cpu tracelogging. <1% extra overhead incurred when the tracer is not active. 2012-12-03 01:48:18 +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
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
goyuken 7e89882d42 lag counter in sneshawk
c++ is dum
2012-09-23 15:57:01 +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