Commit Graph

4196 Commits

Author SHA1 Message Date
zeromus 259364bb33 upx some of our dlls 2012-12-25 19:07:54 +00:00
zeromus 7381855385 2012-12-24 21:34:22 +00:00
zeromus 89b89fd6bb 2012-12-24 21:33:11 +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 fb2a80b7d9 commit the "code generator" that was used to assist in creating r4203. it's not much, and is probably quite useless. but if you must pry, try readme.txt 2012-12-24 18:20:30 +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 5f854466ab sound: fudge up some parameters of BufferedAsync. the most noticeable difference is that PAL NES with clock throttle no longer sounds horrible 2012-12-23 20:26:43 +00:00
adelikat cc05370809 oops, add Atari 7800 to the Open ROM file dialog in non-interim builds 2012-12-23 18:55:05 +00:00
adelikat 3d5b429789 update release info, this is a dummy commit mostly, that marks the end of the 1.4.0 release and the beginning of 1.4.1 2012-12-23 18:40:16 +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
adelikat 3f3afd253c de-interim A7800 in the Path Config dialog 2012-12-23 16:36:46 +00:00
goyuken 3cc475a64f reverse merge r4180, r4181, r4189 2012-12-23 16:30:00 +00:00
adelikat 60e16a56a3 NULL Emautlor - remove Save Movie from context menu, make Hex Editor not crash when loaded 2012-12-23 02:49:08 +00:00
adelikat 7992172300 Path Config - implement a Base ROM path, determines what folder will be defaulted to when Opening a ROM during a NULL emulator state 2012-12-23 02:42:20 +00:00
adelikat e3ba1b6149 Path Config - BIOS Filename config for Coleco and GBA 2012-12-23 02:15:20 +00:00
adelikat c009533def Path Config - PCE and FDS BIOS filename config 2012-12-23 01:32:38 +00:00
adelikat 8ff8b99009 fix MakeRelease.bat 2012-12-23 00:51:40 +00:00
adelikat 2002057b62 Remove firmware folders and BIO_Info.txt files and replace with a single bios txt file in the new firmware folder 2012-12-23 00:49:11 +00:00
goyuken e34975a727 multiclient: fix bug introduced in r4180 that prevents loading when Bizhawk.Emulation.dll is in another folder 2012-12-22 20:58:37 +00:00
goyuken d9240844bc make firmware path system less robust and more annoying 2012-12-22 19:10:54 +00:00
adelikat 172a344ada Controller Config - add Intellivision controls 2012-12-22 02:34:08 +00:00
adelikat 76c9a68a2d Intellivision - Hook up controllers to the core 2012-12-22 01:56:14 +00:00
goyuken 726d497997 lua: gui.text() behaves more consistently with different window sizes 2012-12-22 01:00:12 +00:00
adelikat 64ced7533b Lua - implement client.getwindowsize 2012-12-21 23:50:29 +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 e8a54aaeed luaimplementation: input.getmouse(): button fields are now bools. position fields are now in emulated screen coordinates. no, it doesn't quite work right for some cases of window sizing... so don't do that! 2012-12-20 21:40:03 +00:00
goyuken 79f5a344e1 nes: axrom: support "ACCLAIM-AOROM" wizards and warriors 3 2012-12-20 01:27:13 +00:00
goyuken 1d7d40f7c9 add simple makefile for previous commit 2012-12-19 23:02:58 +00:00
goyuken 55399917ac libco implemented with win32 threads and semaphores. about a 25% slowdown. very useful for debugging with gdb. .dll not committed, as this is a debugging-only thing, of course 2012-12-19 22:35:30 +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 03f5b3ae96 serializer: add another duplicate check (this time on section names within a single section), and fix 2600 savestates 2012-12-18 20:37:31 +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 3d14e55297 bomb out if Bizhawk.Emulation and Bizhawk.Util versions don't match Bizhawk.MultiClient version 2012-12-17 15:38:56 +00:00
brandman211 0b7f68fcb7 -Fixed the calculation for the O Flag...not messing with that bit-math anymore.
-Set the pending cycles for setting Sr1 to 14934 - 3791 instead of adding it. This working makes NO sense in my opinion, and I'm sure it will break as the number of interrupts increases, but for now, it matches up.

The newest issue is reading PSG registers which have not been set. Cool, expecting this to work without doing anything would be silly, so I've gotten somewhere!
2012-12-17 07:17:18 +00:00
brandman211 7ad002d5ce IntelliHawk:
-Cleanup.
-Added "Total Executed Cycles" to the log.
-By observing the aforementioned data, I realized that the docs probably meant to say 14934 instead of 14394.
--By adjusting this...TITLE SCREEN!
--Still, there are definitely discrepancies with the log that imply that I'm far from done.
-Enabled ANDR and XOR because they were executed during the title sequence, though it's hard to tell if it should at this point.
2012-12-17 04:23:59 +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 fe6f029f39 7800: more control hookup for console buttons 2012-12-16 20:04:39 +00:00
adelikat d57b850c7e A78 - Virtual Pads 2012-12-16 19:07:45 +00:00
goyuken e5a6a28940 7800: path config connected for saveram 2012-12-16 18:39:05 +00:00
adelikat 867c6ef4b9 Add Atari 7800 info to about box 2012-12-16 18:31:49 +00:00
goyuken 45660d0f23 7800: rearrange\cleanup Atari7800.cs, and delete TODO comments that are done. 2012-12-16 18:16:50 +00:00