Commit Graph

804 Commits

Author SHA1 Message Date
goyuken 714292c77c gambatte: change memory domain check to mod instead of and (because domains can be not power of 2 sizes) 2012-12-27 22:50:34 +00:00
adelikat 06bd1b979a GB - mask peek and poke memory functions, fixes potential exceptions when calling on bogus addresses for that domain 2012-12-27 18:48:12 +00:00
zeromus 2988217d77 snes-fix SGB core which had got a little broken while trying to setup memory domains 2012-12-27 18:47:15 +00:00
zeromus 213f12b5a2 snes-actually turn on that thing i did last night, to see if anyone thinks it improves performance 2012-12-27 18:11:44 +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 42e473b7a8 snes-fix dll deps in 64bit bsnes 2012-12-26 21:25:39 +00:00
zeromus 0545cb64fa snes-make hex editor faster 2012-12-26 18:25:45 +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 717ec931f1 snes: disable tracelogger. i'll figure out what i broke after the snes pwrap is done 2012-12-23 18:05:48 +00:00
goyuken 3cc475a64f reverse merge r4180, r4181, r4189 2012-12-23 16:30:00 +00:00
goyuken b7b8a81627 nes: JALECO_JF_19: change behavior so that "Moero!! Pro Yakyuu '88: Kettei Ban" now runs. strangely, this doesn't affect "Moero!! Pro Soccer", which already ran and still does. i'll try not to think about it too hard. 2012-12-21 16:14:38 +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
zeromus eec37da5b4 nes-fix MMC1 to use less bizarre techniques (it was my first mapper, after all) and magically fix bases loaded II graphics at the same time. check other MMC1 games to see if I broke anything, but it is a pretty trivial mapper. 2012-12-21 07:12:01 +00:00
goyuken 79f5a344e1 nes: axrom: support "ACCLAIM-AOROM" wizards and warriors 3 2012-12-20 01:27:13 +00:00
goyuken 70cc20175c NES: Test out some savestates, and get more crashes... the problem is that a number of mappers use some state variable names that are identical to APU variable names. Fixed by enclosing entire mapper in a section every time. This particular discovery though, suggests to me that 1.3.0 release NES savestates are possibly much more broken than originally suspected, if mapper IRQ information is being stomped out by APU IRQ information. 2012-12-19 15:46:37 +00:00
goyuken 3a9fa9abb1 nes: vrc7: support ines without crc. in case someone ever makes a vrc7 homebrew. which they won't. 2012-12-18 23:09:33 +00:00
goyuken ff6539d268 nes: related to the last commit, fix mapper 116, mmc5, vrc6 2012-12-18 03:17:10 +00:00
goyuken d479e5661a The robustness update to the Serializer caused a problem when multiple variables with the same string name are saved\loaded in text form. The old system would just read\write them in order; the new one would silently discard all but the last occurrence. The Serializer now throws an exception in these circumstances. To fix individual cores, duplicate usage of variables needs to be enclosed in separate sections. Fixed an occurrence of this in the NES APU, where the two Pulse channels were being confused; fixes sound bugs on loadstate in some games. 2012-12-18 03:03:11 +00:00
goyuken 26abfe4574 nes: apu: add some pulse channel variables to the savestate that weren't in it before. maybe this fixes something? maybe it doesn't. it certainly doesn't fix my problem in driar... 2012-12-18 02:22:40 +00:00
goyuken 0aa5e2a512 NES: try implementing SEEPROM for BANDAI-FGC boards. Seems to work reading, but I can't get far enough into any of the games for writing. Like the rest of the mapper, only works with crc id because I don't know how to positively identify any of this from ines headers. Affected games:
24C01  http://bootgod.dyndns.org:7777/search.php?keywords=BANDAI-LZ93D50%2B24C01&kwtype=pcb
24C02  http://bootgod.dyndns.org:7777/search.php?keywords=BANDAI-LZ93D50%2B24C02&kwtype=pcb
2012-12-17 19:54:45 +00:00
goyuken 461e6c6cea yeah nah, forget that 2012-12-17 01:11:46 +00:00
goyuken 4db8ca7422 abusing public SVN as my own local store 2012-12-17 01:00:52 +00:00
goyuken 0fb5be2420 NES: FDS: audit and clean up audio module. in the process, fix a few bugs; opening to Metroid sounds correct now 2012-12-15 16:51:04 +00:00
goyuken a9bf3cf58a nes: apu: implement "better" mixing scheme (as recommended by nesdev) in the hope of passing some apu_mixer tests. no change in any of the tests, so change backed out (committed as comments only). from what i understand, it's just as likely that the tests are failing to small channel timing problems as mixer problems. 2012-12-14 22:29:27 +00:00
goyuken bab873fa13 mmc5: fix bug in pcm audio that i didn't even know about because nothing ever uses it at all. sunsoft 5b: implement audio. affects Gimmick(J). note that the audio emulation is rather incomplete. 2012-12-14 21:06:58 +00:00
goyuken c90d2dcd56 nes: MMC5: change prg ram behavior to mask out of range banks. seems to fix Shin 4 Nin Uchi Mahjong: Yakuman Tengoku (新4人打ちマージャン 役満天国). i have no idea what's actually going on 2012-12-14 19:46:01 +00:00
goyuken a4f3c2a7de NES: ExROM: Support "HVC-EKROM". Fixes good dumps of:
Just Breed (ジャストブリード)
Royal Blood (ロイヤルブラッド)
Shin 4 Nin Uchi Mahjong: Yakuman Tengoku (新4人打ちマージャン 役満天国)
2012-12-14 19:35:43 +00:00
goyuken 6ca1886933 MMC5: audio. PCM is untested because i don't know of anything at all that actually uses it. 2012-12-14 18:41:16 +00:00
goyuken 37e2dfbc9a nes: namco 163: make audio somewhat louder, based on listening to a few cart recordings. still softer than fceux 2012-12-14 18:38:13 +00:00
goyuken 4e0796814d VRC6 audio: restructure to send deltas directly to the NES apu, simplifying some things. This would be pointless masturbation by itself, but this method will also lead to easier emulation of MMC5 audio. 2012-12-14 15:17:14 +00:00
goyuken 43396d4b39 garbodev disconnected and moved to attic/ 2012-12-10 20:24:21 +00:00
goyuken 4784ab2006 garbodev: fix up all problems in the IEmulator sound binding. what you hear now, is what garbodev ACTUALLY SOUNDS LIKE. wow. 2012-12-10 20:11:10 +00:00
goyuken 4834f40f6c play around with garbodev core. probably worse than meteor, in general. managed. small compile-time change in MainForm.cs is needed to switch between the two. garbodev source files don't have any license on them at all, so 99.99% chance that this will be axed. why did i do it? 2012-12-10 19:32:18 +00:00
goyuken c3a74edd7f VRC6 sound: cleanup, implement $9003 2012-12-10 16:09:49 +00:00
goyuken 5590898c46 VRC6: fish crash bug on loading non-VRC6 games in some cases (caused by recent commit) 2012-12-10 02:41:54 +00:00
goyuken fd304e6cb4 fix regression in gameboy from corecomm merge 2012-12-10 01:33:09 +00:00
goyuken 49f16bcb20 nes: vrc6: new audio implementation. sounds awesome 2012-12-10 01:13:12 +00:00
zeromus a4b442abda unify coreinputcomm and coreoutputcomm. there is a slight chance your console will be messed up until i fix a teeny tiny something, since i didnt test them all, since with more recent cores i dunno what roms are working anyway. let me know if i broke anything. 2012-12-10 00:43:43 +00:00
goyuken 6ef2913ed8 WHAT
no, it doesn't fix anything
2012-12-09 23:05:31 +00:00
goyuken 4a673e614b nes: apu: remove unbiasing from apu core. blip_buf already handles a dc bias removal internally, and keeping all of the values to the mixer in their original forms is simpler code and probably reflects the underlying hardware more accurately. should sound about the same as before. 2012-12-09 20:39:29 +00:00
goyuken b9f37d7ed8 dcfilter: more correct algorithm. doesn't sound any different. speed unchanged. 2012-12-09 20:02:43 +00:00
goyuken 34a6248606 nes: FDS: use blargg's blip_buf. there are still problems with the audio channel though... 2012-12-09 17:07:34 +00:00
goyuken cb4288ada4 rearrange the api of DCFilter a bit to make it less dumb. nothing of real importance 2012-12-09 15:58:55 +00:00
goyuken 210d415e3d Add Blargg's "blip_buf" as an unmanaged dll. license is LGPL; if I like the way it works, I'll rewrite it with MIT code. Implement it as the new resampling output track for NES. Small (~3%)? speedup. Should sound better, especially when the emulator can't quite keep speed. 2012-12-09 03:13:47 +00:00
goyuken 9b40792553 nes apu: add PAL numbers for NoiseUnit 2012-12-03 19:55:14 +00:00
goyuken e513eb7cf7 nes: implement NROM-368. doesn't implement any of the other variants like CNROM-368. supports both 48k and 64k modes 2012-12-03 19:05:24 +00:00
zeromus aaf06d76d3 snesgfxdebugger-add BG scroll regs 2012-12-03 18:59:08 +00:00
zeromus 3398aefc7a snesgfxdebugger-add in-place sprite viewing mode 2012-12-03 17:57:19 +00:00
goyuken 8de879f132 nes: boring stuff 2012-12-03 15:40:20 +00:00
goyuken ae963b5443 nes: fix PAL DMC frequencies 2012-12-03 15:01:04 +00:00
zeromus 522bcd844c snesgfxdebugger-obj properties display 2012-12-03 07:50:23 +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 3dd1c5c493 snesgfxdebugger-fix a bunch of bugs and half-baked things. no new features. (part 3 of N) 2012-12-02 23:58:20 +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 e960989034 snesgfxdebugger-fix a bunch of bugs and half-baked things. no new features. (part 2 of N) 2012-12-02 08:00:59 +00:00
zeromus 8834d3dd5c snesgfxdebugger-fix a bunch of bugs and half-baked things. no new features. 2012-12-02 02:51:30 +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
goyuken 6412d6d93e gb gpu view: fix bug due to scroll bar hilarity. gba gpu view: implement scanline callbacks 2012-11-30 05:16:37 +00:00
goyuken 32a1ac645e fix controller bug? more information about electrical configuration of $4016/$4017 is needed. this is not a good commit. 2012-11-28 21:34:29 +00:00
goyuken 2803190666 nes: mmc3: add 256K prg option for ACCLAIM-MC-ACC. fixes "Simpsons, The: Bart vs. The World" and "Simpsons, The: Bartman Meets Radioactive Man" 2012-11-28 21:16:35 +00:00
goyuken 965c6d8700 gba: add the beginnings of a GPU view. much work is needed, but i like the idea of a single panel with movable widgets (and config-saveable layout, of course), as there is too much information in the case of a GBA to reasonably show it all on a screen. this way the user can set up a "workspace" appropriate for whatever dumping/debugging project is being done. 2012-11-27 19:21:46 +00:00
goyuken 175caf3a53 gba: add under-the-hood support for direct MMIO reading, to be used for something at some point, maybe 2012-11-27 16:44:50 +00:00
zeromus efbdd58839 nes-fix mapper027 based on new understandings from fceumm; fix world hero 2012-11-26 22:08:25 +00:00
goyuken 91a71febe5 FDS: connect drive LED front end feature. also fix a bitsy savestate&saveram issue 2012-11-26 21:27:54 +00:00
zeromus 7e9d487580 nes-fix m074 and m192 and add You Ling Xing Dong to gamedb to correct mapper from m074->m192. p.s. you ling mi long dong 2012-11-26 21:08:46 +00:00
zeromus 0c58d62762 snesgfxdebugger-layer toggles, more information 2012-11-26 06:30:30 +00:00
goyuken 07ae382ac4 add a\v dump resize hints to gb, gba. other cores should probably get this treatment as well 2012-11-26 02:30:07 +00:00
zeromus 57e9619ff6 snes-hookup ui for color palette selection 2012-11-25 20:06:31 +00:00
goyuken d77efde5fc gba: add system bus memory domain 2012-11-25 19:03:13 +00:00
goyuken 0094562d2a per previous discussion, IEmulator.ResetFrameCounter() should reset lag frame related stuff as well 2012-11-25 15:41:40 +00:00
goyuken 366370301f gba: enable savestates. in the process find and fix an absolutely retarded bug with core savestate loading and bios. fuck #define forever. 2012-11-24 21:23:50 +00:00
goyuken 235d7a9a03 gba: saveram support. not tested too much because controller isn't hooked up yet. (and path config appears to be dumping them in the wrong place). also remove the silly system where the core tracks timing on when to write the saveram file to disk. 2012-11-24 02:25:47 +00:00
goyuken d20970afa7 gba: correct tracelogger address for PC pipelining. note that the disassembly for some branch instructions shows up wrong, making this seem "wrong". but it's right, and the disassembly will be fixed...
core: tracelogger can now show a custom column header.  GBA uses it; all other traceloggers untouched
2012-11-24 00:45:25 +00:00
zeromus 7ff342f907 snesgfxdebugger-preliminary sprite visualizing 2012-11-23 23:44:45 +00:00
goyuken 6d7ae2574d gba: implement tracelogging. also disable _ITERATOR_DEBUG_LEVEL even in debug builds as the disassembler blows it up >< 2012-11-23 16:55:37 +00:00
zeromus 608ebc4a99 snesgfxdebugger-display OBJ tiles 2012-11-23 09:10:18 +00:00
goyuken 32d0b546e0 gba: support hard reset. doesn't work right with saveram because saveram isn't all hooked up anyway yet 2012-11-23 04:28:38 +00:00
zeromus e70a387ffb snesgfxdebugger-add ctrl+c to clipboard capability, and reflect user choice of backdrop color in debugger window 2012-11-22 06:57:01 +00:00
goyuken e69307276c gb: implement new CGB color preset "GBA" 2012-11-21 21:09:01 +00:00
goyuken 4ccf2412b4 GB: gambatte saved a thumbnail of the framebuffer to savestates internally, which was only used with some core-internal "UI" stuff that we don't bother with. disable that feature. does not break old savestates. 2012-11-21 13:43:58 +00:00
goyuken 5b3de57fca gba: make core go into zombie mode if libmeteor aborts, instead of crashing. this makes it easy to pick apart failures using the in-program debugging tools (memory view, tracelog once i add it) 2012-11-21 01:21:50 +00:00
goyuken ee9e67d023 gba: some memory domains 2012-11-20 20:22:10 +00:00
goyuken 83f74f1290 gba: handle libmeteor aborts. Final Fantasy 5 (J) now crashes instead of drifting off into the sunset 2012-11-20 15:52:36 +00:00
goyuken db8590e55b add some GBA related path config stuff. gbabios.rom will now attempt to load from GBA firmwares directory. 2012-11-20 03:17:53 +00:00
goyuken 28b1766ac8 GBA: core input stuff, including basic lag frame detection 2012-11-20 02:58:39 +00:00
goyuken 8a4393cd56 gba: add some console debugging stuff 2012-11-20 01:28:31 +00:00
goyuken 93ad387db8 stuff, don't use 2012-11-19 22:43:34 +00:00
goyuken 5fc4b3f6c6 minor GB cleanup 2012-11-19 17:59:57 +00:00
goyuken 8d20c2e351 gambatte: fully implement cgb palette selection 2012-11-18 18:46:57 +00:00
goyuken 12844bbd7f GB: gbc color change infrastructure. not hooked up to UI yet 2012-11-18 17:02:55 +00:00
zeromus 7339615890 nes-change memory initialization pattern; fixes Huang Di. Doesnt seem to break any of the other known memory-initialization-dependent cases 2012-11-17 08:16:02 +00:00
zeromus e48f24d266 quick fix for 6502 trace log 2012-11-17 01:31:34 +00:00
goyuken c41d7f2388 oops 2012-11-16 22:05:59 +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
goyuken 1d3de04364 nes: PAL mode functions properly with audio throttle. a proper SyncSoundProvider for NES is still todo 2012-11-16 17:15:55 +00:00
goyuken 631212ca4f nes: implement mapper249: mmc3 plus "security features"
San Shi Liu Ji,
Shui Hu Zhuan,
Myth Struggle,
Duo Bao Xiao Ying Hao - Guang Ming yu An Hei Chuan Shuo
2012-11-14 16:41:33 +00:00
goyuken 86baf94dd4 nes: fix board hard reset. oops! 2012-11-11 17:23:05 +00:00
goyuken 35e0b61ac3 NES: VRC6: support ines roms without hash id 2012-11-10 01:59:13 +00:00