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
andres.delikat
423e9c8783
Add SetControllersAsMnemonic() to IEmulator and implement it in the SMS core. Very crude playback now works.
2011-02-27 22:33:25 +00:00
andres.delikat
04b6b2baa0
Fix typo!
2011-02-26 22:08:55 +00:00
andres.delikat
0ed57b443b
Add GetControllerAsMneumonic() to IEmulator that returns a formatted string of controller inputs. Implemented this function in SMS input.cs and hooked up Movie recording.
2011-02-26 21:36:46 +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
andres.delikat
48bb648ff9
IEmulator now has a string type so that emulators can return a string representing the platform they emulate
2011-02-16 02:42:58 +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