PCE minor updates

This commit is contained in:
beirich 2011-03-18 03:39:11 +00:00
parent 2989f8396e
commit 5c9ee84ed4
4 changed files with 32 additions and 29 deletions

View File

@ -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);

View File

@ -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:

View File

@ -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;

View File

@ -69,7 +69,10 @@ namespace BizHawk
writer = new StreamWriter(LogFilename);
if (LogToFile)
{
writer.WriteLine(message);
writer.Flush();
}
}
}
}