Commit Graph

26 Commits

Author SHA1 Message Date
brandman211 743480e26f -Logging now uses a static StreamWriter instead of building the string and writing on destruction.
-Applied to the old Gameboy core. Why not? It at least fixes that annoying bug from before if we ever care to use it again.
-Both logs are now written to different files.
2012-07-22 18:40:28 +00:00
beirich b599c69c18 Add VirtualWidth to IVideoProvider and the (numerous) implementations. This is just phase 1, client needs to be updated to utilize this information, and some cores (especially PCE) should be updated in a more involved way to provide better TV emulation. 2012-06-25 02:50:34 +00:00
zeromus 931c9c9b23 get rid of some warnings 2012-06-15 19:21:46 +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
adelikat 147caec758 GameboyHawk - Skip BIOS menu option 2012-05-19 15:17:32 +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
andres.delikat e220d62c54 Gameboy - oops, fix SRAM memory domain 2011-12-27 03:03:10 +00:00
andres.delikat 9b2a9a390f Gameboy - refactor memory domains to use the correct objects instead of the cpu buss 2011-12-27 02:59:37 +00:00
andres.delikat 422e9c6daa Gameboy - fix ROM loading, and implement memory domains (WRAM banks, VRAM, HRAM, OAM) 2011-12-27 02:10:07 +00:00
beirich b27673f26c M-M-M-MONSTER COMMIT! change Game-load api stuff 2011-08-04 03:20:54 +00:00
andres.delikat 2e68314e01 Movies that start from savestate now supported. Record Movie dialog "Record from Now" option implemented. ResetFrameCounter() added to IEmulator and implemented in all existing cores 2011-07-30 20:49:36 +00:00
andres.delikat 52215061aa some implementations necessary for the gameboy controller 2011-06-27 01:24:26 +00:00
andres.delikat 8096316981 Make GB debugger not load by default when a gb game is loaded, misc cleanups gb related 2011-06-27 00:15:47 +00:00
zeromus c0988feaa3 add CoreInputComm/CoreOutputComm, remove Query system, hook up nes video config options 2011-06-11 22:15:08 +00:00
beirich 9283a9f37d IEmulator now implements IDisposable; client now disposes cores 2011-06-02 02:59:18 +00:00
andres.delikat f440f843dd Add IsLagFrame bool to IEmulator and implement in all platforms. Make an alert font in Render panel and make input display use it when a frame is a lag frame 2011-05-01 16:04:53 +00:00
andres.delikat bf93a936df Change unimplemented lag counters to return -1 instead of 0 since that is more obviously not implemented. Make null emulator return 0 since by definition it would never lag. 2011-05-01 13:05:16 +00:00
andres.delikat 6732cd50ff Make LagCount get/set in IEmulator and refactored emulators. Implemented the Lag counter in the NES core. 2011-05-01 12:59:26 +00:00
andres.delikat 2fa3561c45 Add LagCounter int to IEmulator, returns 0 on every emulator at the moment. Hook up RenderPanel's LagCounter display 2011-05-01 00:20:39 +00:00
zeromus bc74d6c575 complete speed/skip/non60-throttle functionality and controllable vsync. maybe a bit rough, but i'll continue to support it. 2011-02-21 09:48:53 +00:00
beirich 577f249905 Misc code cleanup 2011-02-16 04:45:59 +00:00
beirich e62c1bc673 add memory API, remove HardReset from IEmulator 2011-01-21 03:59:50 +00:00
zeromus 8f59b1f582 restore gb core to some semblance of working order, and hook up its debugger; and add the newer, improved Z80A (but not the Z80GB, ironically) disassembler 2011-01-20 06:24:31 +00:00
beirich 89e4c5a674 2011-01-11 02:55:51 +00:00