mirror of
https://github.com/holub/mame
synced 2025-07-04 17:38:08 +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.
|
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?
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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)
|
||||||
|
Loading…
Reference in New Issue
Block a user