zeromus
df039f3b89
snesgfx-add some preliminary tile viewing support
2012-10-01 21:51:55 +00:00
goyuken
d4f5ed2f50
Movie playback and recording will now set IEmulator.DeterministicEmulation = true; only snes core actually does anything with this. It hasn't been explained before in a log; so I'll do it now: When in deterministic mode, the snes core internally does exactly one savestate each and every frame. Then, if the frontend calls savestate at all, it always gets the same internal cached savestate. If the frontend doesn't call savestate, then the internal savestate is simply discarded. This way, the exact same number of RunToSave() calls occur every time.
2012-10-01 14:39:52 +00:00
zeromus
2b1e04997c
snes-try more accuracy in the wallclock-sync to fix audio hiccups. we really, really need fancy systems to sync to audio or do proper vsync (and rewire the snes resampler to forcibly adjust to a 60hz display rate)
2012-10-01 04:15:21 +00:00
zeromus
a87a5c96b2
oops
2012-10-01 00:18:33 +00:00
goyuken
cefca2e098
libsnes: deterministic mode for savestates. not hooked up yet
2012-09-30 19:22:54 +00:00
goyuken
2b117c3955
snes: read region, so 50fps live viewing and video dumping now works (PAL).
...
pretty sure no flags are saved to movie files, though...
2012-09-30 18:21:32 +00:00
goyuken
40d86d0a8b
SNES: change the initial bootup frame size (on frame zero) to 256x224.
...
it's the most common game resolution, and also the smallest (so can avoid some instances of window size snapping down because too big)
2012-09-30 14:08:50 +00:00
zeromus
e0f506002d
snes-try to survive the display of interlaced modes. havent had an actual game test this so im not sure what it looks like
2012-09-30 05:17:08 +00:00
zeromus
1fbbbaf776
oops
2012-09-27 11:58:04 +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
goyuken
fc8087c344
preliminary SGB support.
...
1) choose your SGB rom from the path config (should probably be an .smc file of about 256KB)
2) turn on Load GB as SGB from the GB menu.
3) load rom again.
To turn off, uncheck Load GB as SGB from the SGB menu.
2012-09-26 15:59:14 +00:00
zeromus
f53aa56f1c
snes-support high-res (2x=512 width) display modes by doubling the vertical lines. maybe we'll need to do this differently if we can find a game thats controlling the interlacing options.
2012-09-24 08:00:42 +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
dab03cb034
snes: fix savestates just as in the previous commit
2012-09-23 16:59:44 +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
3c6549a7bb
snesgfx-decode mode7 graphics
2012-09-21 17:21:21 +00:00
zeromus
72d4fefbe0
snesgfxdebug-fix 8bpp tile decoding and 16x16 tilemap rendering
2012-09-21 08:10:14 +00:00
zeromus
708b98b4b8
enum.HasFlag -- too good to be true? yes. 40x slower than doing an old fashioned bitmask check.
2012-09-21 07:10:54 +00:00
zeromus
70392be4e4
snes-all memory domains were showing WRAM instead of the right thing; fixed
2012-09-21 06:03:27 +00:00
zeromus
526078f578
snes-work on graphics debugger. some relayout, plus palette viewer
2012-09-21 05:56:47 +00:00
goyuken
c026b2dc81
slightly optimize previous commit by avoiding 32k unmanaged=>managed transition calls per second when skipping audio
2012-09-20 20:36:44 +00:00
goyuken
176ecd8650
support for !rendersound in LibsnesCore
...
worth about 5-10% on my machine in secret of mana opening
2012-09-20 20:25:40 +00:00
goyuken
51fc8e695c
add 'bool rendersound' to IEmualtor.FrameAdvance()
...
if false, the emulator is free to gain whatever speedup it can by not doing audio processing (shouldn't change anything sync related, though)
the core should still always call SoundProvider.GetSamples() after each FrameAdvance(), else DRAGONS
at the moment, only test-implemented in gambattehawk
2012-09-20 19:52:47 +00:00
zeromus
c6a14d551c
snes-work on graphics tools a tiny bit
2012-09-17 00:16:19 +00:00
zeromus
8cbc3ee2af
snes-setup hard and soft resets
2012-09-16 17:15:53 +00:00
goyuken
83e145c36f
change the IEmulator saveram interface.
...
i don't like doing this, but there were already two emus with special bandaid logic in MainForm.cs
i hope this doesn't break something, but if it does i'll fix it
2012-09-14 22:28:38 +00:00
goyuken
d84f13275e
add IsLagFrame, LagCount, Frame to Snes savestates
2012-09-11 01:50:55 +00:00
goyuken
578e247524
add lag counter to LibsnesCore
...
per ilari, this should work correctly on certain games that poll the input in a particular way. however, it is completely non-functional on many other games. core digging is required for anything better.
2012-09-11 01:36:12 +00:00
andres.delikat
286e5c9b08
SNES - make controllers 2-4 work
2012-09-10 18:40:39 +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
285b9581f2
snes-work on graphics tools. can now render typical BGs for mode 1. SLOWLY!!!!! this is definitely getting turned into c++ code
2012-09-08 20:03:04 +00:00
goyuken
2a01e01e78
clean up resampler with rest of libsnes
2012-09-08 01:15:16 +00:00
andres.delikat
d56c0c354b
SNES - oops, hookup setting the frame counter as well
2012-09-07 20:31:05 +00:00
goyuken
71652b25dc
cleanup/simplify SpeexResampler
2012-09-07 20:12:47 +00:00
andres.delikat
afa27c1a26
SNES - hook up frame counter
2012-09-07 20:06:57 +00:00
goyuken
001b28c60e
replace junk and bad license resamplers with libspeexdsp (using p/invoke). MIT licensed, sounds pretty decent.
...
the p/invoke wrapper class is a hackjob i was using for testing and will be replaced.
2012-09-07 18:49:18 +00:00
zeromus
58c7966449
should probably add this file too
2012-09-06 08:35:45 +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
goyuken
a85dadcf7d
did a bunch of listening tests with libsnes and metaspu. switched to vecna metaspu
...
it seems to be the most stable when the system is fast enough to maintain approximately 100% speed.
also fixed up metaspu in dumping and switched it to vecna. i can now have clean audio while running libsnes with lua script and ffmpeg dumping.
2012-09-06 00:07:37 +00:00
goyuken
41e2e5bced
orphaned variable from r2898
2012-09-05 23:32:41 +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
goyuken
b0e3a332d8
abstract resampling functionality into IStereoResampler for testing purposes
...
add two example resamplers that implement this: LinearResampler and CubicResampler. both are very basic and sound like shit compared to libresample4j
ultimately, a single good resampler with a better license than libresample4j should be selected and used
2012-09-05 21:21:35 +00:00
goyuken
0430ec91c8
add resampler based on libresample4j (LGPL)
...
hook that up to libsnes, so libsnes audio now goes through libresample4j and then metaspu
it sounds ok
2012-09-05 18:52:17 +00:00
goyuken
fd5494a316
libsnes: dumb change to dumb code slightly lessens appearance rate of rice crispies in some situations
2012-09-05 01:30:09 +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
c8aa937f4f
snes-memorydomains (but not systembus)
2012-09-04 17:29:20 +00:00
zeromus
ea6c0b9378
snes-enable savestates. dont get your hopes up, its a bit bloated and weird, and we still need to asses the bsnesariffic savestate synchronization issues. but, it works.
2012-09-04 08:21:01 +00:00
zeromus
f5c0965045
snes-support save ram
2012-09-04 07:09:00 +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
goyuken
25e213f157
libsnes sound is functioning. very quick, very dirty
2012-09-04 01:21:14 +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