namcos2_sprite: update note

This commit is contained in:
hap 2021-05-20 17:10:19 +02:00
parent f4d7c0aa62
commit 269b62055e
3 changed files with 11 additions and 13 deletions

View File

@ -8,10 +8,13 @@ Saitek OSA Module: Kasparov Sparc (1993)
The chess engine is by the Spracklen's. Their last, and also their strongest. The chess engine is by the Spracklen's. Their last, and also their strongest.
Hardware notes: Hardware notes:
- Fujitsu MB86930 SPARClite @ 20MHz (fan cooled) - Fujitsu MB86930 SPARClite @ 20MHz
- 256KB ROM (4*AMD AM27C512) - 256KB ROM (4*AMD AM27C512)
- 1MB DRAM (8*NEC 424256-60), expandable to 4MB - 1MB DRAM (8*NEC 424256-60), expandable to 4MB
The module doesn't have its own LCD screen. It has a grill+fan underneath
at the front part, and a heatsink on the CPU.
TODO: TODO:
- skeleton device, missing SPARClite emulation, maybe only needs the MMU? - skeleton device, missing SPARClite emulation, maybe only needs the MMU?

View File

@ -27,9 +27,6 @@ known issues:
Finest Hour: Finest Hour:
- roz plane colors are bad in-game - roz plane colors are bad in-game
Final Lap:
- sprite size bit is bogus during splash screen
Final Lap 3: Final Lap 3:
- uses unaligned 32x32 sprites, which aren't handled correctly in video/namcos2.cpp yet - uses unaligned 32x32 sprites, which aren't handled correctly in video/namcos2.cpp yet

View File

@ -227,18 +227,16 @@ void namcos2_sprite_device::draw_sprites(screen_device &screen, bitmap_ind16 &bi
const u16 word0 = m_spriteram[offset + (loop * 4) + 0]; const u16 word0 = m_spriteram[offset + (loop * 4) + 0];
const u16 word1 = m_spriteram[offset + (loop * 4) + 1]; const u16 word1 = m_spriteram[offset + (loop * 4) + 1];
const u16 offset4 = m_spriteram[offset + (loop * 4) + 2]; const u16 offset4 = m_spriteram[offset + (loop * 4) + 2];
const int sizey = ((word0 >> 10) & 0x003f) + 1; const int sizey = ((word0 >> 10) & 0x003f) + 1;
int sizex = (word3 >> 10) & 0x003f;
int is_32 = (word0 >> 9) & 0x0001;
// The finallap title screen needs 32x32 sprites, but doesn't set the expected bit // It appears that Final Lap does not support 16x16 sprites, otherwise the titlescreen and
// other games (eg. mirninja) do correctly set it. // rear-view mirror have glitches. Other games (eg. mirninja) do correctly set it.
// //
// can the 16x16 support be disabled globally with a register, or via a pin on the chip? // It's not expected that there's a missing emulation feature for disabling 16x16 sprite mode,
if (m_force_32x32) // but simply the early Namco System 2 hardware that Final Lap runs on does not support it.
is_32 = 1; bool is_32 = bool(word0 & 0x200) || m_force_32x32;
int sizex = (word3 >> 10) & 0x003f;
if (!is_32) sizex >>= 1; if (!is_32) sizex >>= 1;
if ((sizey - 1) && sizex) if ((sizey - 1) && sizex)