mirror of
https://github.com/holub/mame
synced 2025-04-20 23:42:22 +03:00
namcos2_sprite: update note
This commit is contained in:
parent
f4d7c0aa62
commit
269b62055e
@ -8,10 +8,13 @@ Saitek OSA Module: Kasparov Sparc (1993)
|
||||
The chess engine is by the Spracklen's. Their last, and also their strongest.
|
||||
|
||||
Hardware notes:
|
||||
- Fujitsu MB86930 SPARClite @ 20MHz (fan cooled)
|
||||
- Fujitsu MB86930 SPARClite @ 20MHz
|
||||
- 256KB ROM (4*AMD AM27C512)
|
||||
- 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:
|
||||
- skeleton device, missing SPARClite emulation, maybe only needs the MMU?
|
||||
|
||||
|
@ -27,9 +27,6 @@ known issues:
|
||||
Finest Hour:
|
||||
- roz plane colors are bad in-game
|
||||
|
||||
Final Lap:
|
||||
- sprite size bit is bogus during splash screen
|
||||
|
||||
Final Lap 3:
|
||||
- uses unaligned 32x32 sprites, which aren't handled correctly in video/namcos2.cpp yet
|
||||
|
||||
|
@ -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 word1 = m_spriteram[offset + (loop * 4) + 1];
|
||||
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
|
||||
// other games (eg. mirninja) do correctly set it.
|
||||
// It appears that Final Lap does not support 16x16 sprites, otherwise the titlescreen and
|
||||
// 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?
|
||||
if (m_force_32x32)
|
||||
is_32 = 1;
|
||||
// It's not expected that there's a missing emulation feature for disabling 16x16 sprite mode,
|
||||
// but simply the early Namco System 2 hardware that Final Lap runs on does not support it.
|
||||
bool is_32 = bool(word0 & 0x200) || m_force_32x32;
|
||||
|
||||
int sizex = (word3 >> 10) & 0x003f;
|
||||
if (!is_32) sizex >>= 1;
|
||||
|
||||
if ((sizey - 1) && sizex)
|
||||
|
Loading…
Reference in New Issue
Block a user