goyuken
bc22049a19
NES Multiregion: sound frequencies supported
2012-10-31 18:35:34 +00:00
goyuken
7dc5808771
NES: preliminary support for PAL, Dendy, and RGB (part 1). at the moment, it's all determined from gamedb, and not at all saved to movies or savestates
2012-10-31 18:25:46 +00:00
goyuken
0d515dafdf
nes: add ClockCPU() to INESBoard, for boards that count M2 cycles, and changed some mappers to use it. Mappers that need more inspection: Mapper027, SxROM, VRC2_4, VRC6, VRC7
2012-10-31 14:36:43 +00:00
zeromus
59664959f1
speed up c# 6502 and enable it instead of cpp one
2012-10-31 01:55:26 +00:00
goyuken
cd2ff4ed63
Add unmanaged version of 6502X core. The core it self is nearly exactly a copy+paste job from the C# one; most things map over exactly. A strange and abusive p/invoke setup is required to realize a performance gain; see code for details. Seems to be worth a bit more than 20% overall speed for me. Core is savestate compatible with managed 6502X. slight modifications to existing API has been made to support the new cpu. also included is a test module that runs both cores together, savestating every cycle to check for sameness. Core should fit in Atari, although that hasn't been done yet. For the moment, tracelog and disassemble are broken, but they'll be back soon.
2012-10-30 23:01:54 +00:00
goyuken
e6058e6bd8
break some stuff. FDS can eject and insert disk sides now
2012-10-26 18:51:08 +00:00
goyuken
485d7c05c7
make av dumping with avi a bit more graceful error handling. NES: avoid crash when the frontend behaves in a naughty manner
2012-10-18 20:57:53 +00:00
zeromus
31c7edf8dd
nes-unif support. we will need to explicitly add every UNIF board we support to their respective mappers, because
...
[1] each unif board name carries with it its own unique assumptions about which chips are present.
[2] the unif board names may not be matching bootgod's, which we accept as canonical;
also fix a small memory leak due to nes boards not being disposed during scan process.
2012-10-16 22:27:48 +00:00
adelikat
6fedb67949
Fix the Write callback for the MemoryCallBackSystem and refactor the object more appropriately
2012-10-14 14:08:25 +00:00
adelikat
557fb150c3
Lua - implement onmemoryread and onmemorywrite for the NES and PCE cores
2012-10-13 18:59:09 +00:00
goyuken
b545d79fb6
lua: add emu.on_snoop()
2012-10-06 13:34:04 +00:00
zeromus
ddac7fcefd
nes-dont generate a framebuffer before the ppu runs. generate it after!
2012-10-04 21:51:34 +00:00
adelikat
e964dfb1df
Trace Logging hooked up for NES core, trace logger tool doesn't display rows for some reason
2012-09-30 02:37:00 +00:00
zeromus
0b03e6edc8
nes-big improvements to sound, hopefully. fix regressions from last night which killed a lot of music.
2012-09-29 22:19:49 +00:00
zeromus
3898733e8e
nes-fix dmc sfx bug in bt&dd making nonexistent sfx; add emulation of empty databus (to extra joystick bits and reads of nonexistent EXP and WRAM memory ranges.. need to scan other emulator source codes for places to check for use of empty databus); fixes freeze bug in bt&dd. also break savestates, but add a crude version system so we at least have a way to avoid it in the future.
...
bt&dd has a glitch that reads from $6000 when there is no ram installed, and crashes if something too large is returned. I think this chooses a frame for abobo, and you can actually see abobo's sprites glitch for one frame right when the wall finishes getting busted down (the same place where bizhawk was freezing)
2012-09-29 08:39:59 +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
b33fc4982c
remove derelict CoreVersion/Introspection stuff
2012-09-16 20:08:36 +00:00
zeromus
4018452f21
add CoreInputComm.CpuTraceEnable and CoreInputComm.CpuTraceStream, and use it in NES; set those appropriately from a gui component and you can effect user-controlled cpu tracing, if its been setup in the core he's interested in. CoreInputComm doesnt reconstruct between emulator instances, so this may not be the best way of hooking it up, but its serviceable.
2012-09-16 19:38:08 +00:00
adelikat
35ec42073f
NES - implement address poking on the system bus domain. Anything in the EXP, WRAM, PRG regions is done via the built in cheat system due to being handled by the mappers. This may not be the ideal way to do this but it seems to work well, and I don't know of a more logical way to handle this.
2012-09-01 18:34:31 +00:00
adelikat
9b7404b059
NES - Round 1 of Hook up NES cheats for system bus (i.e. game genie codes now work)
2012-09-01 14:13:36 +00:00
adelikat
959e56b71a
NES - small (probably unnoticeable) speedup to WriteMemory()
2012-08-19 21:09:48 +00:00
adelikat
6473321100
NES - some optimizations to ReadMemory(), ~1fps speed up
2012-08-19 20:38:20 +00:00
adelikat
70929679d5
NES - don't recalculated the framebuffer constantly, instead only do it once per frame. ~1fps speed up
2012-08-19 20:01:17 +00:00
adelikat
b10769ab4a
NES - dsiable NESWatch checks in ReadMemory since this feature is not yet used for anything
2012-08-04 01:54:19 +00:00
adelikat
fba6e64c58
NES - some small speed optimizations
2012-08-04 01:47:54 +00:00
andres.delikat
8aea375f9f
Mapper 230 - fix mirroring and some prg mapping
2012-07-17 23:05:58 +00:00
andres.delikat
d939e66867
NES - Implement a SoftReset function into the board base, Mapper 230 - implement mode switching via soft reset, implement prg mode 0, game select screen now playable, games are not
2012-07-17 15:24:36 +00:00
andres.delikat
0834c63a43
NES - sound config dialog for toggling sound channels
2012-07-12 23:13:22 +00:00
zeromus
1d254c3705
nes-fiddle around with board irq signal tracking system. break every NES savestate. fix a desync bug in a bunch of mappers
2012-06-25 06:32:54 +00:00
adelikat
836415455a
NES - start an APU softreset function, and clear sequencer_irq, and 0x4015. Still a lot of work to be done for this, but passes nes apu reset tests: 4015_cleared, irq_flag_cleared
2012-04-14 13:51:26 +00:00
zeromus
d3321f552f
nes accuracy fixes
...
- pass more apu_test 4-jitter and 6-irq_flag_timing (necessary for timing on other tests)
- pass all cpu interrupt tests
- pass all sprite hit tests
2012-03-25 09:25:27 +00:00
zeromus
0cf6b0bcb7
switch atari 2600 to new 6502 core
2012-03-24 03:45:47 +00:00
zeromus
471b3ffb98
nes-fix soft reset functionality which had got broken when i upgraded the cpu core
2012-03-18 03:46:06 +00:00
zeromus
2b21ca7127
add new, more detailed 6502X cpu core, use it in the nes core as experiment. win almost all the speed back, pass some more tests.
2012-03-15 21:28:37 +00:00
zeromus
e973533b48
nes-change oam dma cycles to 513
2012-03-08 04:49:19 +00:00
zeromus
ed9de010c0
nes-add some crappy mmc3 multicart mappers
2012-03-06 09:42:11 +00:00
andres.delikat
9dd24ebe3e
better NESHawk version number
2011-09-24 17:07:48 +00:00
zeromus
e5d46e1adc
add vrc6 and reorg sunsoft-2 stuff a bit (its too nonsensical to give name a file after)
2011-09-21 05:11:38 +00:00
andres.delikat
942a9e086a
Add a SoundOn flag to the nes core and hook to the sound on/off in sound config. the flag bypasses the apu.run function. the apu read/writes are still going, and seems to be TAS safe to do this
2011-08-27 15:49:16 +00:00
beirich
6f379cee76
remove freeze system; replacement incoming
2011-08-03 02:13:42 +00:00
zeromus
0f2b81796f
demo altered freeze system for nes
2011-08-03 01:42:51 +00:00
zeromus
f356d5b354
add core scanning system
2011-07-31 19:46:42 +00:00
zeromus
dc7f00b862
kill some warnings and add handy util methods
2011-06-20 09:07:38 +00:00
zeromus
d1212176a0
[NES] core work for player2 pad
2011-06-18 21:47:20 +00:00
zeromus
368c5266e5
[NES] add loader for FCEUX format palettes and an example of how to set it
2011-06-10 05:31:46 +00:00
zeromus
72100bd304
[NES] ELROM emulation (cv3 and laser invasion tested) and core savestate logic brought up to date. savestates for newer mappers still need reworking.
2011-06-09 19:45:07 +00:00
zeromus
0015cada91
[NES] fix bug in deemph palette that made airwolf invisible and add better tracking and reporting of bad roms (there are bad dumps of airwolf in addition to the game itself being bad)
2011-06-08 06:53:11 +00:00
zeromus
d05b81238e
[NES] general ppu timing, mmc3, and nt view fixups.
2011-06-07 07:14:34 +00:00
zeromus
e6afb2359b
[nes] timing and accuracy work.
2011-06-06 10:27:42 +00:00
zeromus
95b5a5d749
[NES] the other 50% of mmc3. now things will mostly work
2011-05-20 18:55:01 +00:00