Commit Graph

651 Commits

Author SHA1 Message Date
zeromus cff7ba6d24 nes-fix lagrange point, including sound 2012-06-07 20:52:49 +00:00
beirich fe369e0455 pce: alter handling of reading $1FF402 irq status port, fixes Aldynes intro freeze 2012-06-03 20:09:09 +00:00
beirich 2dd91c4079 pce-cd: fix CD Set Audio End Position command Mode 2 bug - not ending audio playback! 2012-06-03 02:03:31 +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
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
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 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
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
adelikat 02bad39a88 Some Coleco docs 2012-05-06 23:16:50 +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
adelikat 059aebec8e ColecoHawk - set up ROM loading (bind .col to Coleco), set up preliminary controller garbage in 85 places for coleco 2012-05-06 00:54:13 +00:00
adelikat 592b73ea5a Atari - implement mapper EF 2012-04-29 21:12:58 +00:00
adelikat e0a6ae5264 Atari - put descriptions at the top of each mapper file 2012-04-29 21:01:06 +00:00
beirich 700ac116dd ym2612: more ports processed, DAC now plays in stereo 2012-04-29 18:33:21 +00:00
beirich 239cb213f0 ym2612: some progress on operators 2012-04-29 17:41:39 +00:00
adelikat 02767a9fbb Genesis - hook up lag counter 2012-04-29 12:55:20 +00:00
beirich 59eb4b4abe ym2612: support TimerA and TimerB 2012-04-29 06:05:15 +00:00
adelikat 3d10431a2b Atari - implement console switches (as menu items) 2012-04-29 02:48:33 +00:00
beirich d322c3c00f Fix some bugs responsible for out-of-bounds array access crash on ym2612 2012-04-29 01:40:38 +00:00
beirich 7f1292d4f9 start on YM2612. DAC works. process port writes for FM channels. No FM channels output audio yet. 2012-04-29 01:09:06 +00:00
adelikat 4e04facdd9 Atari - make games marked F6SC load 2012-04-28 23:21:12 +00:00
adelikat 1adec35f93 Atari - implement player 2 button 2012-04-22 00:02:24 +00:00
beirich fad95b6bab Add 3-band equalizer. Not hooked up to client for time being though. Maybe later I'll expand it to more bands and create presets. Just wanted to check it in for now. 2012-04-21 20:22:13 +00:00
zeromus f2d1f1ff2f discohawk-fix bug that made some cue source files whose ffmpeg decode output is very verbose trigger a deadlock through stdout buffer filling up 2012-04-19 20:04:52 +00:00
zeromus b1d62ed574 6502-add some opcodes not handled by the instruction tests, but which are cursorily covered by the instr_timing test, which now passes 2012-04-18 08:04:06 +00:00
zeromus 97b66a907f 6502-implement undocumented opcodes. pass all instruction tests 2012-04-18 05:22:58 +00:00
zeromus 06239e1aa3 nes-fix mapper 64 and some minor details of ppu data bus management; fixes klax and chu chu rocket 2012-04-17 06:50:23 +00:00
zeromus e41eabcfc3 fix atarihawk video 2012-04-16 22:56:30 +00:00
zeromus 35fbe354c1 add threaded display manager to allow heavy OSD/compositing/filtering to happen on another thread. add a lua layer accessible via GDI+ which can be automatically composited and the simplest possible demo of it. add some filtering infrastructure and a hq2x filter set ported to c# but need to work on a minimal selector gui before its usable. separate OSD from RenderPanel so that gdi+ presentation mode now gets full OSD support. the OSD is now a little uglier because its drawn entirely differently and could use some finetuning 2012-04-16 08:18:41 +00:00
adelikat 836415455a NES - start an APU softreset function, and clear sequencer_irq, and 0x4015. Still a lot of work to be done for this, but passes nes apu reset tests: 4015_cleared, irq_flag_cleared 2012-04-14 13:51:26 +00:00
zeromus 7b86f66353 nes-oops. now, actually pass all mmc3 tests 2012-04-14 09:40:41 +00:00
zeromus 73fba31c34 nes-add mapper012 (mmc3 variant, for dragon ball z 5). add concept of mmc3 chip revision variants to mmc3 code and game database, and add proper emulation thereof. pass a bunch of mmc3 tests. simplify (to almost nothing) iNES board detection to correspond to new paradigms of virtual board types. your savestates for mmc3 games are invalidated. 2012-04-14 08:28:42 +00:00