diff --git a/BizHawk.Emulation/CPUs/HuC6280/HuC6280.cs b/BizHawk.Emulation/CPUs/HuC6280/HuC6280.cs index 4299a87378..9e5ba27a96 100644 --- a/BizHawk.Emulation/CPUs/HuC6280/HuC6280.cs +++ b/BizHawk.Emulation/CPUs/HuC6280/HuC6280.cs @@ -74,7 +74,7 @@ namespace BizHawk.Emulation.CPUs.H6280 writer.WriteLine("IRQNextControlByte {0:X2}", IRQNextControlByte); writer.WriteLine("ExecutedCycles {0}", TotalExecutedCycles); writer.WriteLine("PendingCycles {0}", PendingCycles); - writer.WriteLine("LowSpeed {0}", TimerTickCounter); + writer.WriteLine("LowSpeed {0}", LowSpeed); writer.WriteLine("TimerTickCounter {0}", TimerTickCounter); writer.WriteLine("TimerReloadValue {0}", TimerReloadValue); writer.WriteLine("TimerValue {0}", TimerValue); diff --git a/BizHawk.Emulation/Consoles/PC Engine/Compat.txt b/BizHawk.Emulation/Consoles/PC Engine/Compat.txt index d9ee414e36..0a09259319 100644 --- a/BizHawk.Emulation/Consoles/PC Engine/Compat.txt +++ b/BizHawk.Emulation/Consoles/PC Engine/Compat.txt @@ -4,28 +4,23 @@ General: + Don't have a complete list of instructions affected by T flag. Currently warns if SET precedes an unrecognized instruction. + Audio volumes are probably wrong. + LFO is not implemented, though I can't tell. - + Screen is too tall on several games. Obv resolution calculation is not 100% correct. + + Screen resolution is an ongoing issue. Some games appear to show garbage beyond what it supposed to be visible. + Most emulators simply crop the screen at a certain vertical range. For now, I have chosen not to do this. + Right now the emulator is simply displaying a framebuffer. Eventually, we will do an update that emulates NTSC. + But for now we're letting this be. There's no intermediate step between emulating a framebuffer and emulating a TV. -Aero Blaster - Bottom of Screen extends too many lines - like 3 extra or so Air Zonk - Fully playable, doesn't freeze, but some gfx/timing issues -Alice - Screen too tall; glitches when scrolling up, but in pcejin also, - but not ootake; ergo probably a timing artifact -Andre Panza Kickbx- Doesn't boot. Looks like semi pedigree as Battle Royal. -Battle Royale - Doesnt boot +Battle Ace - Some gfx glitches +Battle Royale - STILLL Doesnt boot Chase HQ - Press start -"O" sprite gets left on screen. probably timing on SATB DMA Cross Wiber - Minor; Raster on wrong line Davis Cup Tennis - Some timing issue, splash screen is too slow -Dead Moon - Screen is too tall Dungeon Explorer - Freeze in 'intro' - gfx corruption in-game Fighting Run - Corruption issues -Final Blaster - Intro does crazy shit with video modes; not sure what if anything to do about it -Griffon - Screen goes black because game changes video mode mid-frame Gunboat - Crash / CPU Break (Needs BRAM) -Jack Nicholas Golf- Some screens are too tall and reveal bad gfx below the intended visible screen Legend of Hero Ton- Slight gfx- check top of screen Lode Runner - Freezes in new game Madoo Granzort - Graphics issues because SGX VPC renderer is not using new frame timing -Metal Stoker - Tearing when scrolling vertically at bottom of screen - screen too tall? MML Demo - Echo channels are too loud (equal volume!) Outrun - Raster issues, music slows when paused Paranoia - Game hits BREAK on 3rd level. need to investigate @@ -33,10 +28,28 @@ Populous - Game freezes on starting new game - *** NEEDS BATTERY SAVERA Power Drift - Timing glitch... starting new game runs slower than it should Power Tennis - Elaborate intro screen doesnt display right Raiden - Sprites and BG get out of sync with current timing -Side Arms - Screen is like 4 pixels too tall Sinistron - Much less bad raster effect errors now Tiger Road - On second level, sprites should be getting masked from the top status area somehow +=================================== +Games that need TV Emulation (to varying degrees) +=================================== + +Final Blaster - Intro does crazy shit with video modes; not sure what if anything to do about it +Griffon - Screen goes black because game changes video mode mid-frame + +=================================== +Games with 'Frame Too Tall' issues: +=================================== + +Aero Blaster - Bottom of Screen extends too many lines - like 3 extra or so +Alice - Screen too tall; glitches when scrolling up, but in pcejin also, + but not ootake; ergo probably a timing artifact +Dead Moon - Screen is too tall +Jack Nicholas Golf- Some screens are too tall and reveal bad gfx below the intended visible screen +Metal Stoker - Tearing when scrolling vertically at bottom of screen - screen too tall? +Side Arms - Screen is like 4 pixels too tall + Stuff I Fixed That's Not In Other Docs: diff --git a/BizHawk.Emulation/Consoles/PC Engine/VDC.cs b/BizHawk.Emulation/Consoles/PC Engine/VDC.cs index 4c3252fdfa..33a1114301 100644 --- a/BizHawk.Emulation/Consoles/PC Engine/VDC.cs +++ b/BizHawk.Emulation/Consoles/PC Engine/VDC.cs @@ -17,8 +17,8 @@ namespace BizHawk.Emulation.Consoles.TurboGrafx public ushort[] Registers = new ushort[0x20]; public ushort ReadBuffer; public byte StatusByte; - private bool DmaRequested; - private bool SatDmaRequested; + internal bool DmaRequested; + internal bool SatDmaRequested; public ushort IncrementWidth { @@ -105,7 +105,6 @@ namespace BizHawk.Emulation.Consoles.TurboGrafx if (port == RegisterSelect) { RegisterLatch = (byte)(value & 0x1F); - Log.Note("CPU","LATCH VDC REGISTER: {0:X}",RegisterLatch); } else if (port == LSB) { @@ -148,26 +147,15 @@ namespace BizHawk.Emulation.Consoles.TurboGrafx if (FrameBuffer.Length != FrameWidth * FrameHeight) { FrameBuffer = new int[FrameWidth*FrameHeight]; - Console.WriteLine("RESIZED FRAME BUFFER: width="+FrameWidth); } break; - case VPR: - int vds = Registers[VPR] >> 8; - int vsw = Registers[VPR] & 0x1F; - Console.WriteLine("SET VPR: VDS {0} VSW {1} startpos={2} {3}",vds, vsw, vds+vsw, DisplayStartLine); - break; case VDW: // Vertical Display Word? - update framebuffer size - Console.WriteLine("REQUEST FRAME HEIGHT=" + RequestedFrameHeight); FrameHeight = RequestedFrameHeight; if (FrameBuffer.Length != FrameWidth * FrameHeight) { FrameBuffer = new int[FrameWidth * FrameHeight]; - Console.WriteLine("RESIZED FRAME BUFFER: height="+FrameHeight); } break; - case VCR: - Console.WriteLine("VCR / END POSITION: "+(Registers[VCR] & 0xFF)); - break; case LENR: // Initiate DMA transfer DmaRequested = true; break; @@ -206,9 +194,8 @@ namespace BizHawk.Emulation.Consoles.TurboGrafx return 0; } - private void RunDmaForScanline() + internal void RunDmaForScanline() { - Console.WriteLine("DOING DMA ********************************************* "); DmaRequested = false; int advanceSource = (Registers[DCR] & 4) == 0 ? +1 : -1; int advanceDest = (Registers[DCR] & 8) == 0 ? +1 : -1; diff --git a/BizHawk.Emulation/Log.cs b/BizHawk.Emulation/Log.cs index b5bad1938c..6d1991e05d 100644 --- a/BizHawk.Emulation/Log.cs +++ b/BizHawk.Emulation/Log.cs @@ -69,7 +69,10 @@ namespace BizHawk writer = new StreamWriter(LogFilename); if (LogToFile) + { writer.WriteLine(message); + writer.Flush(); + } } } }