mirror of
https://github.com/holub/mame
synced 2025-07-06 10:29:38 +03:00
neogeo: correct link mcu rom label,
wgp: rename World Grand Prix to WGP, make wgp2 a parent set
This commit is contained in:
parent
c20ff92ac2
commit
f18bde12bc
@ -365,7 +365,7 @@ license:CC0-1.0
|
||||
</dataarea>
|
||||
<dataarea name="mcu" size="0x2000">
|
||||
<!-- dumped from a prototype with external ROM, not 100% confirmed as being the same on a final, or other games (lbowling, trally) -->
|
||||
<rom offset="0x000000" size="0x02000" name="rhcom.bin" crc="e5cd6306" sha1="f6bbb8ae562804d67e137290c765c3589fa334c0" /> <!-- Hitachi HD6301V1 MCU -->
|
||||
<rom offset="0x000000" size="0x02000" name="hd6301v1p_k78.com" crc="e5cd6306" sha1="f6bbb8ae562804d67e137290c765c3589fa334c0" /> <!-- Hitachi HD6301V1 MCU -->
|
||||
</dataarea>
|
||||
<dataarea name="fixed" size="0x040000">
|
||||
<rom offset="0x000000" size="0x020000" name="006-s1.s1" crc="eb5189f0" sha1="0239c342ea62e73140a2306052f226226461a478" /> <!-- TC531000 -->
|
||||
@ -408,7 +408,7 @@ license:CC0-1.0
|
||||
</dataarea>
|
||||
<dataarea name="mcu" size="0x2000">
|
||||
<!-- dumped from a prototype with external ROM, not 100% confirmed as being the same on a final, or other games (lbowling, trally) -->
|
||||
<rom offset="0x000000" size="0x02000" name="rhcom.bin" crc="e5cd6306" sha1="f6bbb8ae562804d67e137290c765c3589fa334c0" /> <!-- Hitachi HD6301V1 MCU -->
|
||||
<rom offset="0x000000" size="0x02000" name="hd6301v1p_k78.com" crc="e5cd6306" sha1="f6bbb8ae562804d67e137290c765c3589fa334c0" /> <!-- Hitachi HD6301V1 MCU -->
|
||||
</dataarea>
|
||||
<dataarea name="fixed" size="0x040000">
|
||||
<rom offset="0x000000" size="0x020000" name="006-s1.s1" crc="eb5189f0" sha1="0239c342ea62e73140a2306052f226226461a478" /> <!-- TC531000 -->
|
||||
@ -1123,7 +1123,7 @@ license:CC0-1.0
|
||||
<rom loadflag="load16_word_swap" name="019-p1.p1" offset="0x000000" size="0x080000" crc="a2de8445" sha1="893d7ae72b4644123469de143fa35fac1cbcd61e" /> <!-- TC534200 -->
|
||||
</dataarea>
|
||||
<dataarea name="mcu" size="0x1000">
|
||||
<!-- <rom name="hd6301v1p.com" offset="0x0000" size="0x1000" crc="" sha1="" status="nodump" /> --> <!-- Hitachi HD6301V1 MCU -->
|
||||
<!-- <rom name="hd6301v1p_k78.com" offset="0x0000" size="0x1000" crc="" sha1="" status="nodump" /> --> <!-- Hitachi HD6301V1 MCU -->
|
||||
</dataarea>
|
||||
<dataarea name="fixed" size="0x040000">
|
||||
<rom offset="0x000000" size="0x020000" name="019-s1.s1" crc="5fcdc0ed" sha1="86415077e7adc3ba6153eeb4fb0c62cf36e903fa" /> <!-- TC531000 -->
|
||||
@ -2107,7 +2107,7 @@ license:CC0-1.0
|
||||
<rom loadflag="load16_word_swap" name="038-p2.p2" offset="0x080000" size="0x080000" crc="a5193e2f" sha1="96803480439e90da23cdca70d59ff519ee85beeb" /> <!-- TC534200 -->
|
||||
</dataarea>
|
||||
<dataarea name="mcu" size="0x1000">
|
||||
<!-- <rom name="hd6301v1p.hd8301v1" offset="0x0000" size="0x1000" crc="" sha1="" status="nodump" /> --> <!-- Hitachi HD6301V1 MCU -->
|
||||
<!-- <rom name="hd6301v1p_m58_neo-coma" offset="0x0000" size="0x1000" crc="" sha1="" status="nodump" /> --> <!-- Hitachi HD6301V1 MCU -->
|
||||
</dataarea>
|
||||
<dataarea name="fixed" size="0x040000">
|
||||
<rom offset="0x000000" size="0x020000" name="038-s1.s1" crc="fff62ae3" sha1="6510a762ea41557a8938cbfc0557cd5921306061" /> <!-- TC531000 -->
|
||||
|
@ -2612,11 +2612,11 @@ void jaguar_state::init_vcircle()
|
||||
*
|
||||
*************************************/
|
||||
|
||||
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME */
|
||||
CONS( 1993, jaguar, 0, 0, jaguar, jaguar, jaguar_state, init_jaguar, "Atari", "Jaguar (NTSC)", MACHINE_UNEMULATED_PROTECTION | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING )
|
||||
CONS( 1995, jaguarcd, jaguar, 0, jaguarcd, jaguar, jaguarcd_state, init_jaguarcd, "Atari", "Jaguar CD (NTSC)", MACHINE_UNEMULATED_PROTECTION | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING )
|
||||
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME */
|
||||
CONS( 1993, jaguar, 0, 0, jaguar, jaguar, jaguar_state, init_jaguar, "Atari", "Jaguar (NTSC)", MACHINE_UNEMULATED_PROTECTION | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING )
|
||||
CONS( 1995, jaguarcd, jaguar, 0, jaguarcd, jaguar, jaguarcd_state, init_jaguarcd, "Atari", "Jaguar CD (NTSC)", MACHINE_UNEMULATED_PROTECTION | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING )
|
||||
|
||||
/* YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME */
|
||||
/* YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME */
|
||||
GAME( 1996, area51, 0, cojagr3k, area51, jaguar_state, init_area51, ROT0, "Atari Games", "Area 51 (R3000)", 0 )
|
||||
GAME( 1995, area51t, area51, cojag68k, area51, jaguar_state, init_area51a, ROT0, "Atari Games (Time Warner license)", "Area 51 (Time Warner license, Oct 17, 1996)", 0 )
|
||||
GAME( 1995, area51ta, area51, cojag68k, area51, jaguar_state, init_area51a, ROT0, "Atari Games (Time Warner license)", "Area 51 (Time Warner license, Nov 27, 1995)", 0 )
|
||||
|
@ -383,11 +383,11 @@ void turrett_state::turrett(machine_config &config)
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* ROM definition
|
||||
*
|
||||
*************************************/
|
||||
/*************************************
|
||||
*
|
||||
* ROM definition
|
||||
*
|
||||
*************************************/
|
||||
|
||||
ROM_START( turrett )
|
||||
ROM_REGION( 0x200000, "maincpu", 0 )
|
||||
|
@ -3294,8 +3294,9 @@ ROM_START( ridhero ) /* MVS AND AES VERSION */
|
||||
ROM_REGION( 0x100000, "cslot1:maincpu", ROMREGION_BE|ROMREGION_16BIT )
|
||||
ROM_LOAD16_WORD_SWAP( "006-p1.p1", 0x000000, 0x080000, CRC(d4aaf597) SHA1(34d35b71adb5bd06f4f1b50ffd9c58ab9c440a84) ) /* MB834200 */
|
||||
|
||||
// dumped from a prototype with external ROM, not 100% confirmed as being the same on a final, or other games (lbowling, trally)
|
||||
ROM_REGION( 0x2000, "mcu", 0 ) /* Hitachi HD6301V1 MCU */
|
||||
ROM_LOAD( "rhcom.bin", 0x0000, 0x2000, CRC(e5cd6306) SHA1(f6bbb8ae562804d67e137290c765c3589fa334c0) ) // dumped from a prototype with external ROM, not 100% confirmed as being the same on a final, or other games (lbowling, trally)
|
||||
ROM_LOAD( "hd6301v1p_k78.com", 0x0000, 0x2000, CRC(e5cd6306) SHA1(f6bbb8ae562804d67e137290c765c3589fa334c0) )
|
||||
|
||||
NEO_SFIX_128K( "006-s1.s1", CRC(eb5189f0) SHA1(0239c342ea62e73140a2306052f226226461a478) ) /* TC531000 */
|
||||
|
||||
@ -3323,8 +3324,9 @@ ROM_START( ridheroh )
|
||||
ROM_LOAD16_WORD_SWAP( "006-pg1.p1", 0x000000, 0x080000, BAD_DUMP CRC(52445646) SHA1(647bb31f2f68453c1366cb6e2e867e37d1df7a54) )
|
||||
/* Chip label p1h does not exist, renamed temporarily to pg1, marked BAD_DUMP. This needs to be verified. */
|
||||
|
||||
// dumped from a prototype with external ROM, not 100% confirmed as being the same on a final, or other games (lbowling, trally)
|
||||
ROM_REGION( 0x2000, "mcu", 0 ) /* Hitachi HD6301V1 MCU */
|
||||
ROM_LOAD( "rhcom.bin", 0x0000, 0x2000, CRC(e5cd6306) SHA1(f6bbb8ae562804d67e137290c765c3589fa334c0) ) // dumped from a prototype with external ROM, not 100% confirmed as being the same on a final, or other games (lbowling, trally)
|
||||
ROM_LOAD( "hd6301v1p_k78.com", 0x0000, 0x2000, CRC(e5cd6306) SHA1(f6bbb8ae562804d67e137290c765c3589fa334c0) )
|
||||
|
||||
NEO_SFIX_128K( "006-s1.s1", CRC(eb5189f0) SHA1(0239c342ea62e73140a2306052f226226461a478) ) /* TC531000 */
|
||||
|
||||
@ -3822,7 +3824,7 @@ ROM_START( lbowling ) /* MVS AND AES VERSION */
|
||||
ROM_LOAD16_WORD_SWAP( "019-p1.p1", 0x000000, 0x080000, CRC(a2de8445) SHA1(893d7ae72b4644123469de143fa35fac1cbcd61e) ) /* TC534200 */
|
||||
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* Hitachi HD6301V1 MCU */
|
||||
ROM_LOAD( "hd6301v1p.com", 0x0000, 0x1000, NO_DUMP )
|
||||
ROM_LOAD( "hd6301v1p_k78.com", 0x0000, 0x1000, NO_DUMP )
|
||||
|
||||
NEO_SFIX_128K( "019-s1.s1", CRC(5fcdc0ed) SHA1(86415077e7adc3ba6153eeb4fb0c62cf36e903fa) ) /* TC531000 */
|
||||
|
||||
@ -4485,7 +4487,7 @@ ROM_START( trally ) /* MVS AND AES VERSION */
|
||||
ROM_LOAD16_WORD_SWAP( "038-p2.p2", 0x080000, 0x080000, CRC(a5193e2f) SHA1(96803480439e90da23cdca70d59ff519ee85beeb) ) /* TC534200 */
|
||||
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* Hitachi HD6301V1 MCU */
|
||||
ROM_LOAD( "hd6301v1p.hd6301v1", 0x0000, 0x1000, NO_DUMP )
|
||||
ROM_LOAD( "hd6301v1p_m58_neo-coma", 0x0000, 0x1000, NO_DUMP )
|
||||
|
||||
NEO_SFIX_128K( "038-s1.s1", CRC(fff62ae3) SHA1(6510a762ea41557a8938cbfc0557cd5921306061) ) /* TC531000 */
|
||||
|
||||
|
@ -3,8 +3,8 @@
|
||||
// thanks-to:Richard Bush
|
||||
/***************************************************************************
|
||||
|
||||
World Grand Prix (c) Taito Corporation 1989
|
||||
================
|
||||
WGP (c) Taito Corporation 1989
|
||||
===
|
||||
|
||||
David Graves
|
||||
|
||||
@ -17,10 +17,10 @@ any are different from the ones listed below.
|
||||
|
||||
*****
|
||||
|
||||
World Grand Prix runs on hardware which is pretty different from the
|
||||
system Taito commonly used for their pseudo-3d racing games of the
|
||||
time, the Z system. Different screen and sprite hardware is used.
|
||||
There's also a LAN hookup (for multiple machines).
|
||||
WGP runs on hardware which is pretty different from the system Taito
|
||||
commonly used for their pseudo-3d racing games of the time, the Z system.
|
||||
Different screen and sprite hardware is used. There's also a LAN hookup
|
||||
(for multiple machines).
|
||||
|
||||
As well as a TC0100SCN tilemap generator (two 64x64 layers of 8x8
|
||||
tiles and a layer of 8x8 tiles with graphics data taken from RAM)
|
||||
@ -34,8 +34,7 @@ from 16x16 gfx chunks via a sprite mapping area in RAM.
|
||||
The piv and sprite layers are rotatable (but not individually, only
|
||||
together).
|
||||
|
||||
World Grand Prix has twin 68K CPUs which communicate via $4000 bytes
|
||||
of shared ram.
|
||||
WGP has twin 68K CPUs which communicate via $4000 bytes of shared ram.
|
||||
|
||||
There is a Z80 as well, which takes over sound duties. Commands are
|
||||
written to it by the one of the 68000s (the same as Taito F2 games).
|
||||
@ -71,8 +70,8 @@ Offer fake-dip selectable analogue steer
|
||||
|
||||
Is piv/sprite layers rotation control at 0x600000 ?
|
||||
|
||||
Verify y-zoom is correct on the stages that use it (including Wgp2
|
||||
default course). Row zoom may be hard to verify, but Wgp2 course
|
||||
Verify y-zoom is correct on the stages that use it (including WGP 2
|
||||
default course). Row zoom may be hard to verify, but WGP 2 course
|
||||
selection screen is probably a good test.
|
||||
|
||||
Implement proper positioning/zoom/rotation for sprites.
|
||||
@ -84,7 +83,7 @@ and have [int?] timing glitches.)
|
||||
DIP coinage
|
||||
|
||||
|
||||
Wgp
|
||||
WGP
|
||||
---
|
||||
|
||||
Analogue brake pedal works but won't register in service mode.
|
||||
@ -96,8 +95,8 @@ $ac3e sub (called off int4) at $ac78 does three calcs to the six
|
||||
in service mode as brake.
|
||||
|
||||
|
||||
Wgp2
|
||||
----
|
||||
WGP 2
|
||||
-----
|
||||
|
||||
Piv y zoom may be imperfect. Check the up/down hill part of the
|
||||
default course. The road looks a little odd.
|
||||
@ -112,7 +111,7 @@ testing that ram. We hack prog for CPUB to disable the writes.]
|
||||
|
||||
*****
|
||||
|
||||
[Wgp stopped with LAN error. (Looks like CPUB tells CPUA what is wrong
|
||||
[WGP stopped with LAN error. (Looks like CPUB tells CPUA what is wrong
|
||||
with LAN in shared ram $142048. Examined at $e57c which prints out
|
||||
relevant lan error message). Ended up at $e57c from $b14e-xx code
|
||||
section. CPUA does PEA of $e57c which is the fallback if CPUB doesn't
|
||||
@ -462,18 +461,18 @@ u16 wgp_state::lan_status_r()
|
||||
{
|
||||
logerror("CPU #2 PC %06x: warning - read lan status\n",m_subcpu->pc());
|
||||
|
||||
return (0x4 << 8); /* CPUB expects this in code at $104d0 (Wgp) */
|
||||
return (0x4 << 8); /* CPUB expects this in code at $104d0 (WGP) */
|
||||
}
|
||||
|
||||
void wgp_state::rotate_port_w(offs_t offset, u16 data)
|
||||
{
|
||||
/* This port may be for piv/sprite layer rotation.
|
||||
|
||||
Wgp2 pokes a single set of values (see 2 routines from
|
||||
$4e4a), so if this is rotation then Wgp2 *doesn't* use
|
||||
WGP 2 pokes a single set of values (see 2 routines from
|
||||
$4e4a), so if this is rotation then WGP 2 *doesn't* use
|
||||
it.
|
||||
|
||||
Wgp pokes a wide variety of values here, which appear
|
||||
WGP pokes a wide variety of values here, which appear
|
||||
to move up and down as rotation control words might.
|
||||
See $ae06-d8 which pokes piv ctrl words, then pokes
|
||||
values to this port.
|
||||
@ -593,7 +592,7 @@ void wgp_state::main_map(address_map &map)
|
||||
map(0x320000, 0x32000f).rw(m_tc0100scn, FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w));
|
||||
map(0x400000, 0x40bfff).ram().share("spritemap"); /* sprite tilemaps */
|
||||
map(0x40c000, 0x40dfff).ram().share("spriteram"); /* sprite ram */
|
||||
map(0x40fff0, 0x40fff1).nopw(); /* ?? (writes 0x8000 and 0 alternately - Wgp2 just 0) */
|
||||
map(0x40fff0, 0x40fff1).nopw(); /* ?? (writes 0x8000 and 0 alternately - WGP 2 just 0) */
|
||||
map(0x500000, 0x501fff).ram(); /* unknown/unused */
|
||||
map(0x502000, 0x517fff).ram().w(FUNC(wgp_state::pivram_word_w)).share("pivram"); /* piv tilemaps */
|
||||
map(0x520000, 0x52001f).ram().w(FUNC(wgp_state::piv_ctrl_word_w)).share("piv_ctrlram");
|
||||
@ -810,9 +809,10 @@ GFXDECODE_END
|
||||
/***********************************************************
|
||||
MACHINE DRIVERS
|
||||
|
||||
Wgp has high interleaving to prevent "common ram error".
|
||||
WGP has high interleaving to prevent "common ram error".
|
||||
However sync to vblank is lacking, which is causing the
|
||||
graphics glitches.
|
||||
|
||||
***********************************************************/
|
||||
|
||||
void wgp_state::device_post_load()
|
||||
@ -1170,7 +1170,7 @@ ROM_START( wgp2 )
|
||||
ROM_REGION( 0x80000, "ymsnd:adpcmb", 0 ) /* delta-t samples */
|
||||
ROM_LOAD( "c32-12.7", 0x00000, 0x80000, CRC(df48a37b) SHA1(c0c191f4b8a5f55c0f1e52dac9cd3f7d15adace6) )
|
||||
|
||||
// WGP2 security board (has TC0190FMC)
|
||||
// WGP 2 security board (has TC0190FMC)
|
||||
// ROM_LOAD( "c73-06", 0x00000, 0x00???, NO_DUMP )
|
||||
ROM_END
|
||||
|
||||
@ -1195,9 +1195,10 @@ void wgp_state::init_wgp2()
|
||||
|
||||
/* Working Games with some graphics problems - e.g. missing rotation */
|
||||
|
||||
GAME( 1989, wgp, 0, wgp, wgp, wgp_state, init_wgp, ROT0, "Taito Corporation Japan", "World Grand Prix (World)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1989, wgpu, wgp, wgp, wgpu, wgp_state, init_wgp, ROT0, "Taito America Corporation", "World Grand Prix (US)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1989, wgpj, wgp, wgp, wgpj, wgp_state, init_wgp, ROT0, "Taito Corporation", "World Grand Prix (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1989, wgpjoy, wgp, wgp, wgpjoy, wgp_state, init_wgp, ROT0, "Taito Corporation", "World Grand Prix (joystick version) (Japan, set 1)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1989, wgpjoya, wgp, wgp, wgpjoy, wgp_state, init_wgp, ROT0, "Taito Corporation", "World Grand Prix (joystick version) (Japan, set 2)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1990, wgp2, wgp, wgp2, wgp2, wgp_state, init_wgp2, ROT0, "Taito Corporation", "World Grand Prix 2 (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1989, wgp, 0, wgp, wgp, wgp_state, init_wgp, ROT0, "Taito Corporation Japan", "WGP: Real Race Feeling (World)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1989, wgpu, wgp, wgp, wgpu, wgp_state, init_wgp, ROT0, "Taito America Corporation", "WGP: Real Race Feeling (US)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1989, wgpj, wgp, wgp, wgpj, wgp_state, init_wgp, ROT0, "Taito Corporation", "WGP: Real Race Feeling (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1989, wgpjoy, wgp, wgp, wgpjoy, wgp_state, init_wgp, ROT0, "Taito Corporation", "WGP: Real Race Feeling (joystick version) (Japan, set 1)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1989, wgpjoya, wgp, wgp, wgpjoy, wgp_state, init_wgp, ROT0, "Taito Corporation", "WGP: Real Race Feeling (joystick version) (Japan, set 2)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1990, wgp, 0, wgp2, wgp2, wgp_state, init_wgp2, ROT0, "Taito Corporation", "WGP 2: Real Race Feeling (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
|
||||
|
@ -2,7 +2,7 @@
|
||||
// copyright-holders:David Graves
|
||||
/*************************************************************************
|
||||
|
||||
World Grand Prix
|
||||
Taito WGP
|
||||
|
||||
*************************************************************************/
|
||||
#ifndef MAME_TAITO_WGP_H
|
||||
|
@ -181,13 +181,13 @@ void wgp_state::piv_ctrl_word_w(offs_t offset, u16 data, u16 mem_mask)
|
||||
|
||||
case 0x09:
|
||||
/* piv 1 y zoom (0x7f = normal, values 0 &
|
||||
0xff7f-ffbc in Wgp2) */
|
||||
0xff7f-ffbc in WGP 2) */
|
||||
m_piv_zoom[1] = data;
|
||||
break;
|
||||
|
||||
case 0x0a:
|
||||
/* piv 2 y zoom (0x7f = normal, values 0 &
|
||||
0xff7f-ffbc in Wgp2, 0-0x98 in Wgp round 4/5) */
|
||||
0xff7f-ffbc in WGP 2, 0-0x98 in Wgp round 4/5) */
|
||||
m_piv_zoom[2] = data;
|
||||
break;
|
||||
}
|
||||
@ -206,14 +206,14 @@ Implement rotation/zoom properly.
|
||||
|
||||
Sprite/piv priority: sprites always over?
|
||||
|
||||
Wgp round 1 had some junky brown mud bank sprites in-game.
|
||||
WGP round 1 had some junky brown mud bank sprites in-game.
|
||||
They are indexed 0xe720-e790. 0x2720*4 => +0x9c80-9e80 in
|
||||
the spritemap area. They should be 2x2 not 4x4 tiles. We
|
||||
kludge this. Round 2 +0x9d40-9f40 contains the 2x2 sprites.
|
||||
What REALLY controls number of tiles in a sprite?
|
||||
|
||||
Sprite colors: dust after crash in Wgp2 is odd; some
|
||||
black/grey barrels on late Wgp circuit also look strange -
|
||||
Sprite colors: dust after crash in WGP 2 is odd; some
|
||||
black/grey barrels on late WGP circuit also look strange -
|
||||
possibly the same wrong color.
|
||||
|
||||
|
||||
@ -223,13 +223,13 @@ Memory Map
|
||||
400000 - 40bfff : Sprite tile mapping area
|
||||
|
||||
Tile numbers (0-0x3fff) alternate with word containing tile
|
||||
color/unknown bits. I'm _not_ 100% sure that only Wgp2 uses
|
||||
color/unknown bits. I'm _not_ 100% sure that only WGP 2 uses
|
||||
the unknown bits.
|
||||
|
||||
xxxxxxxx x....... unused ??
|
||||
........ .x...... unknown (Wgp2 only: Taito tyre bridge on default course)
|
||||
........ ..x..... unknown (Wgp2 only)
|
||||
........ ...x.... unknown (Wgp2 only: Direction signs just before hill # 1)
|
||||
........ .x...... unknown (WGP 2 only: Taito tyre bridge on default course)
|
||||
........ ..x..... unknown (WGP 2 only)
|
||||
........ ...x.... unknown (WGP 2 only: Direction signs just before hill # 1)
|
||||
........ ....cccc color (0-15)
|
||||
|
||||
Tile map for each standard big sprite is 64 bytes (16 tiles).
|
||||
@ -278,10 +278,10 @@ Memory Map
|
||||
(No longer used entries typically have 0xfff6 in +0x06 and +0x08.)
|
||||
|
||||
Only 2 rotation examples (i) at 0x40c000 when Taito
|
||||
logo displayed (Wgp only). (ii) stage 5 (rain).
|
||||
logo displayed (WGP only). (ii) stage 5 (rain).
|
||||
Other in-game sprites are simply using +0x06 and +0x0c,
|
||||
|
||||
So the sprite rotation in Wgp screenshots must be a *blanket*
|
||||
So the sprite rotation in WGP screenshots must be a *blanket*
|
||||
rotate effect, identical to the one applied to piv layers.
|
||||
This explains why sprite/piv positions are basically okay
|
||||
despite failure to implement rotation.
|
||||
@ -290,13 +290,13 @@ Memory Map
|
||||
|
||||
Each word is a sprite number, 0x0 through 0x1bf. If !=0
|
||||
a word makes active the 0x10 bytes of sprite data at
|
||||
(40c000 + sprite_num * 0x10). (Wgp2 fills this in reverse).
|
||||
(40c000 + sprite_num * 0x10). (WGP 2 fills this in reverse).
|
||||
|
||||
40fff0: Unknown (sprite control word?)
|
||||
|
||||
Wgp alternates 0x8000 and 0. Wgp2 only pokes 0.
|
||||
WGP alternates 0x8000 and 0. WGP 2 only pokes 0.
|
||||
Could this be some frame buffer control that would help to
|
||||
reduce the sprite timing glitches in Wgp?
|
||||
reduce the sprite timing glitches in WGP?
|
||||
|
||||
****************************************************************/
|
||||
|
||||
@ -502,11 +502,11 @@ void wgp_state::piv_layer_draw(screen_device &screen, bitmap_ind16 &bitmap, cons
|
||||
const u32 zoomx = 0x10000; /* No overall X zoom, unlike TC0480SCP */
|
||||
|
||||
/* Y-axis zoom offers expansion/compression: 0x7f = no zoom, 0xff = max ???
|
||||
In WGP see: stage 4 (big spectator stand)
|
||||
stage 5 (cloud layer)
|
||||
stage 7 (two bits of background scenery)
|
||||
stage 8 (unknown - surely something should be appearing here...)
|
||||
In WGP2 see: road at big hill (default course) */
|
||||
In WGP see: stage 4 (big spectator stand)
|
||||
stage 5 (cloud layer)
|
||||
stage 7 (two bits of background scenery)
|
||||
stage 8 (unknown - surely something should be appearing here...)
|
||||
In WGP 2 see: road at big hill (default course) */
|
||||
|
||||
/* This calculation may be wrong, the y_index one too */
|
||||
const u32 zoomy = 0x10000 - (((m_piv_ctrlram[0x08 + layer] & 0xff) - 0x7f) * 512);
|
||||
|
Loading…
Reference in New Issue
Block a user