Skip to content

Commit c2abf66

Browse files
authored
sega/model2.cpp: TGP math lookup table logic, fixes MT09265 (#14250)
Also remove wait state when writing to copro FIFO, no longer needed
1 parent 4143f29 commit c2abf66

File tree

1 file changed

+3
-6
lines changed

1 file changed

+3
-6
lines changed

src/mame/sega/model2.cpp

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -519,9 +519,9 @@ u32 model2_tgp_state::copro_inv_r(offs_t offset)
519519
u32 result = m_copro_tgp_tables[index | 0x8000];
520520
u8 bexp = (m_copro_inv_base >> 23) & 0xff;
521521
u8 exp = (result >> 23) + (0x7f - bexp);
522-
result = (result & 0x807fffff) | (exp << 23);
523-
if(m_copro_inv_base & 0x80000000)
524-
result ^= 0x80000000;
522+
result = (result & 0x007fffff) | (exp << 23);
523+
if (m_copro_inv_base & 0x80000000 && offset)
524+
result |= 0x80000000;
525525
return result;
526526
}
527527

@@ -607,9 +607,6 @@ void model2_tgp_state::copro_fifo_w(u32 data)
607607
}
608608
else
609609
m_copro_fifo_in->push(u32(data));
610-
611-
// 1 wait state for i960; prevents Manx TT course select rotation bug
612-
m_maincpu->spin_until_time(attotime::from_nsec(40));
613610
}
614611

615612

0 commit comments

Comments
 (0)