PCE minor updates
This commit is contained in:
parent
2989f8396e
commit
5c9ee84ed4
|
@ -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);
|
||||
|
|
|
@ -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:
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -69,7 +69,10 @@ namespace BizHawk
|
|||
writer = new StreamWriter(LogFilename);
|
||||
|
||||
if (LogToFile)
|
||||
{
|
||||
writer.WriteLine(message);
|
||||
writer.Flush();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue