Intellivision fix color stack

This commit is contained in:
alyosha-tas 2016-12-24 15:01:41 -05:00 committed by GitHub
parent f5491bf86f
commit 3ff1151171
2 changed files with 5 additions and 5 deletions

View File

@ -30,7 +30,7 @@ namespace BizHawk.Emulation.Cores.Intellivision
get_controller_state();
// this timer tracks cycles stolen by the STIC during the visible part of the frame, quite a large number of them actually
int delay_cycles = 600;
int delay_cycles = 700;
int delay_timer = -1;
_cpu.PendingCycles = (14934 - 3791 + _cpu.GetPendingCycles());
@ -38,6 +38,9 @@ namespace BizHawk.Emulation.Cores.Intellivision
bool active_display = _stic.active_display;
//also at the start of every frame the color stack is reset
_stic.ColorSP = 0x0028;
while (_cpu.GetPendingCycles() > 0)
{
int cycles = _cpu.Execute();

View File

@ -11,7 +11,7 @@ namespace BizHawk.Emulation.Cores.Intellivision
public bool Sr1, Sr2, Sst, Fgbg = false;
public bool active_display, in_vb_1, in_vb_2 = false;
private ushort[] Register = new ushort[64];
private ushort ColorSP = 0x0028;
public ushort ColorSP = 0x0028;
public byte[] mobs = new byte[8];
public byte[] y_mobs = new byte[8];
@ -324,9 +324,6 @@ namespace BizHawk.Emulation.Cores.Intellivision
// here we will also need to apply the 'delay' register values.
// this shifts the background portion of the screen relative to the mobs
//also at the start of every frame the color stack is reset
ColorSP = 0x0028;
// The background is a 20x12 grid of "cards".
for (int card_row = input_row; card_row < (input_row+1); card_row++)
{