Commit Graph

2244 Commits

Author SHA1 Message Date
adelikat 9d5e4d9451 Fix so that rewind only sends bizhawk into play mode if it was in record mode previously 2012-05-30 00:52:08 +00:00
brandman211 c3a4b12ca9 -Copied over the functions I need to implement for GB, leaving FrameAdvance and GetVideoBuffer unimplemented until I fully understand them. 2012-05-28 08:37:52 +00:00
phillip.grimsrud c813cd853b Fixed a rewind buffer problem. A recent hack started the rewind buffer by saving the state after frame 0 to the start of the rewind buffer. This fix saves the state to LastState at the end of the rom load. This way the rewind buffer starts with a diff between the state after rom load and the state after frame 0. 2012-05-28 04:59:22 +00:00
phillip.grimsrud 9a1e18045e Fixed rewind to still work if there is no active movie. 2012-05-28 03:32:27 +00:00
adelikat 0118b34b41 Slight UI fixes - show mapped hotkey for Open TAStudio on TAStudio menu item, fix alignment of a few boxes in the hotkey config 2012-05-28 03:09:47 +00:00
phillip.grimsrud bf325ec082 Fixed TAStudio read-only mode button to change the movie mode instead of changing the read-only flag which has a different meaning. 2012-05-28 01:50:16 +00:00
adelikat 520dfcb37b Revert SetReadOnly() function 2012-05-28 01:29:43 +00:00
phillip.grimsrud f7ee1dbbf3 Added an image for the TurboFastForward button which was entirely forgotten in my previous commit. 2012-05-28 00:56:51 +00:00
phillip.grimsrud fc0ec832ae These changes are for TAStudio upgrades. If I've broken other stuff please yell at me.
1. Hooked up Fast Forward, Fast Forward to End
2. Made a placeholder for Turbo Fast Forward.
3. Fixed rewind to not stomp on the previous frame with new input.
4. Fixed rewind to stop at the beginning of the movie instead of freaking out.
5. TAStudio now shows data from the most recent frame.
6. CommitFrame is called even if not recording so played back frames also show up in TAStudio.
7. Play mode only stops at the end of the movie if you tell it to. Your emulator normally continues to play with no input after the end of the movie.
8. TAStudio is now updated after a rewind (even though the rewind doesn't play a new frame).
9. Split the tools update into before and after updates.
10. Going into read-only mode adjusts the movie mode.
11. Implemented New, Open, Save, and Save As for TAStudio.
12. Fixed an issue where frames past the end of the log would default to the input from the last frame of the log.
13. Fixed a problem where you couldn't rewind to frame 0.
14. Fixed a scrolling issue in the TAStudio list view.
15. Fixed an issue with the TAStudio virtual NES controller not matching up with the log.
16. Fixed an issue where the NES reset button would get held in when rewinding.
17. Added/Modified a couple of button graphics.
2012-05-28 00:44:27 +00:00
zeromus 65060e47a7 nes-note that in compat list 2012-05-27 20:21:10 +00:00
zeromus 45cfc7b036 nes-add mapper 176 and fix savestate of mapper 164 2012-05-27 20:20:27 +00:00
zeromus 82e57988c6 nes-remove newly redundant wram masking from derived board classes (mmc3 and mmc1 affected); separate checkin done for this in case i goofed up 2012-05-27 07:44:29 +00:00
zeromus c5a2d0f8f0 nes-fix bug in base board class wram functionality (forgot to add masking to wram size configured in the Cart struct by the derived board Configure method) 2012-05-27 07:42:13 +00:00
brandman211 2553ac50bb -As I'm not going to know what I'm doing if I keep hacking away at zeromus' old core blindly, I'm writing a new one.
--It's going to be based heavily based on Imran Nazar's "GameBoy Emulation in Javascript" series. I figure it's better that I learn by emulation (Har har) instead of spending more time reading references than programming.
--Finished the memory management (Part 2).
--adelikat:
---Do I implement the required functions for IEmulator and IVideoProvider now, do it later, or is this something you or zeromus would do (Like for the API)?
---At what point should we have the emulator actually use this core instead of zeromus'? As terrible as he says his is, this one doesn't do anything yet. Still, I need some mechanism of testing it.
2012-05-27 04:06:48 +00:00
beirich df59686cbb Fix crash in PCE Coryoon when attempting to access disabled TurboCD ports 2012-05-26 20:21:00 +00:00
brandman211 aad9f05310 -Made it so that the log file only opens when you're actually logging. As a result, now can now at least switch games when you're not logging without getting errors. 2012-05-24 17:27:45 +00:00
brandman211 b29c9835ff -Separated the logging from the save state function.
-Made it so that the log only opens when logging is true and that the file closes upon destruction.
--Still, BizHawk says that it can't open the file again when I load a game again. This is because the emulator class gets recreated without deleting the original one every time you load a game.
---adelikat convinced me not to care about this.
-Fixed the initial state of the GB CPU:
--It was setting AF to 0x01, not A. This is effectively setting F to 0x01, which gets overwritten later anyway.
--Two BIOS flags were used in different places; merging them gets the PC to start in the right place.
-By fixing the initial state, most of the log now matches up.
--The only differences are the VBA has some repeated records (Where all of the registers, including PC, are the same as the previous record) whereas BizHawk doesn't.
--This very well might be an issue with how I'm logging it
--Alternatively, it could be some kind of lagging mechanism.
--I'm not sure which version is even correct...VBA is far from accruate.
--All in all, considering that the vast majority of the diff comes out as the same, I think I fixed the biggest CPU related bug. Will investigate more later.
2012-05-24 17:19:33 +00:00
beirich db1bfcfdfc very preliminary genesis savestate support 2012-05-22 02:25:41 +00:00
beirich 2aef2b8606 68000: savestate support (text) 2012-05-21 04:44:36 +00:00
zeromus 97933f2560 nes-support TENGEN-80004 (just bookkeeping; uses already existing mapper 068) 2012-05-20 21:10:22 +00:00
zeromus 638a99a1f7 nes-fix a potentially desyncable bug in mmc3 savestate 2012-05-20 21:04:06 +00:00
adelikat bd3e576614 Move Help menu back to its intended location 2012-05-20 15:37:01 +00:00
brandman211 9623f073eb Added a logging flag for GB using the SaveStateText function. 2012-05-20 06:43:41 +00:00
adelikat 147caec758 GameboyHawk - Skip BIOS menu option 2012-05-19 15:17:32 +00:00
adelikat b08d338761 Gameboy - make debugger useful by connecting it to the multiclient events 2012-05-19 13:33:45 +00:00
adelikat abba87738f Fix input config for Gameboy, some small random work on ColecoHawk 2012-05-18 22:57:05 +00:00
brandman211 5f534518aa Colors were still wrong. I just used a switch statement to fix them. Not elegant, but I can't see a simple pattern. 2012-05-18 19:47:43 +00:00
brandman211 9f8144ec58 -Set the number of cycles per frame to 70224.
-Inverted the colors; according to http://imrannazar.com/GameBoy-Emulation-in-JavaScript:-Graphics, 0 is white, 1 is light gray, 2 is dark gray, and 3 is black, which is the opposite of the norm.
2012-05-18 19:11:14 +00:00
zeromus 42715fdca7 rehabilitate the GB core: fix videoprovider and input system 2012-05-18 18:28:12 +00:00
adelikat 9c5f56308b Gameboy - fix the assigning of the active controller/autofire controller when loading a gameboy core (fixes crash when attempting to run a gameboy game) 2012-05-16 03:14:50 +00:00
brandman211 7ab8fe087a Fixed drop down labels in RAM Watch and Search. 2012-05-12 07:07:34 +00:00
brandman211 23b3cedf7d Removed the now redundant TargetZoomFactor scaling for drawRectangle. Drawn shapes now scale nicely. Whether or not text should be drawn this way is a worthwhile discussion IMO, but as zeromus has said, it would require text to be drawn in the same way like shapes. 2012-05-11 21:11:29 +00:00
goyuken 78a0494708 add WavWriter, writes standard WAV files for capture. For the moment, only available as its own IVideoWriter (that discards all video frames). Choose by selecting .wav format in the start avi capture file select dialog. 2012-05-11 17:00:44 +00:00
goyuken b35ab0d936 Add JMD to config.cs, and fix whitespace on JMDWriter.cs.
My editor whitespace settings are correct now, I promise!
2012-05-10 00:38:26 +00:00
goyuken a313d3910d Add sound output to sound card while dumping is occurring. Uses a proxy ISoundProvider (DualSound.cs) to guarantee emulation sound core and dumping routine are unaffected, while sending "best effort" sound to system output. Doesn't sound great, but simple and functional. 2012-05-09 20:21:23 +00:00
goyuken 35a9edc018 Refactor JMDWriter to be a bit less painful to read 2012-05-09 15:08:57 +00:00
goyuken d0ada9dbb3 AviWriter.cs: be informative if worker thread dies 2012-05-09 01:00:16 +00:00
goyuken d70a4e0a9c clarify some comments and add more comments to JMD code 2012-05-09 00:15:59 +00:00
goyuken 1980011952 Add user interface to select compression options (level and number of threads) for JMD dumper. 2012-05-08 22:19:12 +00:00
goyuken 037870eb43 Select between JMD and AVI at save file dialog. 2012-05-07 23:18:08 +00:00
goyuken ab6f9b175f Add JMDWriter.cs, dumps to JMD format. No 2G limit, and single segment even across multiple resolutions. Can use a bunch of cores, but still not terribly fast. Hasn't been hooked in to the UI yet; for testing, change MainForm.cs:2669 2012-05-07 21:45:25 +00:00
zeromus de0cdf1c3c add sharpziplib for gzip so we can make portable JMD dumping without relying on the native 7z.dll 2012-05-07 18:42:43 +00:00
adelikat 02bad39a88 Some Coleco docs 2012-05-06 23:16:50 +00:00
goyuken cdd82cbb06 Rename VideoWriter IVideoWriter per zeromus 2012-05-06 22:18:16 +00:00
goyuken 02ca0e82e9 Create new interface VideoWriter, which AviWriter inherits from. Sets up for other video dumping systems. 2012-05-06 22:08:47 +00:00
zeromus 857d0a5b39 voila, "emu" resolution lua drawing, hacked in place of the native resolution drawing because rolanmen1 decided to destroy my surface management paradigms (i can tell because the earth is scorched with spaces instead of tabs) 2012-05-06 07:09:04 +00:00
brandman211 cd0016343f Done trying to optimize the PPU's FrameAdvance. We may have saved some processing time, but it's not very consistent. 2012-05-06 06:04:00 +00:00
brandman211 05157997f1 -Added a very basic fix to the graphics scaling issue per adelikat's advice.
--Gets worse as the scale increases.
--For x3, the box doesn't increase size, but the box still changes position. I think there might be a difference between the TargetZoomFactor and the actual screen size, so perhaps we should tie this to something else.
-Working on very small optimizations to the NES PPU with CorruptedSyntax...this is more fun, so we'll do this first.
--Eliminated an entire loop.
--Branched to two loops instead of branching for every iteration in one loop.
--Got rid of some redundant instructions using temporary variables.
--This may be completely premature, but I seem to have gained a few FPS from doing this. For me, I get 38-39 FPS where I'd previously get 33-34.
2012-05-06 04:09:28 +00:00
adelikat 5fa0a681e1 Colecohawk - start VDP (ripped from the SMS core) 2012-05-06 02:48:39 +00:00
adelikat 3b7c23817a Coleco - some hacks and fixes to make a coleco rom open without crashing (draw a black screen instead) 2012-05-06 01:15:02 +00:00