mirror of
https://github.com/holub/mame
synced 2025-04-24 09:20:02 +03:00
New WORKING game [Robbbert, caius]
================ Varth (bootleg) (out of whatsnew -> from HBMAME)
This commit is contained in:
parent
774dbac85a
commit
e0bbcd9abc
@ -2166,7 +2166,7 @@ INPUT_PORTS_START( knights )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Test ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( varth )
|
||||
INPUT_PORTS_START( varth )
|
||||
PORT_INCLUDE( cps1_3b )
|
||||
|
||||
PORT_MODIFY("IN0")
|
||||
|
@ -2954,6 +2954,98 @@ ROM_START( slampic )
|
||||
ROM_LOAD( "mb_qa.5k", 0x00000, 0x20000, CRC(e21a03c4) SHA1(98c03fd2c9b6bf8a4fc25a4edca87fff7c3c3819) )
|
||||
ROM_END
|
||||
|
||||
// ************************************************************************* VARTHB
|
||||
|
||||
WRITE16_MEMBER(cps_state::varthb_layer_w)
|
||||
{
|
||||
if (data > 0x9000)
|
||||
m_cps_a_regs[0x06 / 2] = data;
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( varthb_map, AS_PROGRAM, 16, cps_state )
|
||||
AM_RANGE(0x000000, 0x1fffff) AM_ROM
|
||||
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("IN1")
|
||||
AM_RANGE(0x800006, 0x800007) AM_WRITE(cps1_soundlatch_w)
|
||||
AM_RANGE(0x800018, 0x80001f) AM_READ(cps1_dsw_r)
|
||||
AM_RANGE(0x800030, 0x800037) AM_WRITE(cps1_coinctrl_w)
|
||||
AM_RANGE(0x800100, 0x80013f) AM_WRITE(cps1_cps_a_w) AM_SHARE("cps_a_regs")
|
||||
AM_RANGE(0x800140, 0x80017f) AM_READWRITE(cps1_cps_b_r, cps1_cps_b_w) AM_SHARE("cps_b_regs")
|
||||
AM_RANGE(0x800188, 0x800189) AM_WRITE(varthb_layer_w)
|
||||
AM_RANGE(0x980000, 0x98000b) AM_WRITE(dinopic_layer_w)
|
||||
AM_RANGE(0x900000, 0x92ffff) AM_RAM_WRITE(cps1_gfxram_w) AM_SHARE("gfxram")
|
||||
AM_RANGE(0xff0000, 0xffffff) AM_RAM AM_SHARE("mainram")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static MACHINE_CONFIG_START( varthb, cps_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", M68000, 12000000)
|
||||
MCFG_CPU_PROGRAM_MAP(varthb_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt)
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", Z80, 3579545)
|
||||
MCFG_CPU_PROGRAM_MAP(sgyxz_sound_map)
|
||||
|
||||
MCFG_MACHINE_START_OVERRIDE(cps_state,cps1)
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
MCFG_SCREEN_SIZE(64*8, 32*8)
|
||||
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
|
||||
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_cps1)
|
||||
MCFG_SCREEN_VBLANK_DRIVER(cps_state, screen_eof_cps1)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", cps1)
|
||||
MCFG_PALETTE_ADD("palette", 0xc00)
|
||||
|
||||
MCFG_VIDEO_START_OVERRIDE(cps_state,cps1)
|
||||
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
MCFG_GENERIC_LATCH_8_ADD("soundlatch")
|
||||
MCFG_GENERIC_LATCH_8_ADD("soundlatch2")
|
||||
|
||||
MCFG_YM2151_ADD("2151", XTAL_3_579545MHz)
|
||||
MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
|
||||
MCFG_SOUND_ROUTE(0, "mono", 0.35)
|
||||
MCFG_SOUND_ROUTE(1, "mono", 0.35)
|
||||
|
||||
MCFG_OKIM6295_ADD("oki", XTAL_16MHz/4/4, OKIM6295_PIN7_HIGH)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
ROM_START( varthb )
|
||||
ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
|
||||
ROM_LOAD16_BYTE( "2", 0x000000, 0x80000, CRC(2f010023) SHA1(bf4b6c0cd82cf1b86e17d6ea2670110c06e6eabe) )
|
||||
ROM_LOAD16_BYTE( "1", 0x000001, 0x80000, CRC(0861dff3) SHA1(bf6dfe18ecaeaa1bbea09267014891c4a4a07943) )
|
||||
ROM_LOAD16_BYTE( "4", 0x100000, 0x10000, CRC(aa51e43b) SHA1(46b9dab844c55b50a47d048e5bb114911773699c) )
|
||||
ROM_LOAD16_BYTE( "3", 0x100001, 0x10000, CRC(f7e4f2f0) SHA1(2ce4eadb2d6a0e0d5745323eff2c899950ad4d3b) )
|
||||
|
||||
ROM_REGION( 0x200000, "gfx", 0 )
|
||||
ROMX_LOAD( "14", 0x000000, 0x40000, CRC(7ca73780) SHA1(26909db32f84157cd05719e5d1e715e76636d292) , ROM_SKIP(7) )
|
||||
ROMX_LOAD( "13", 0x000001, 0x40000, CRC(9fb11869) SHA1(a434fb0b588f934aaa68139495e1212a63ccf162) , ROM_SKIP(7) )
|
||||
ROMX_LOAD( "12", 0x000002, 0x40000, CRC(afeba416) SHA1(e722c65ea2e2bac3251c32208899484aa5ef6ad2) , ROM_SKIP(7) )
|
||||
ROMX_LOAD( "11", 0x000003, 0x40000, CRC(9eef3507) SHA1(ae03064ca5681fbdc43a34c54aaac11c8467428b) , ROM_SKIP(7) )
|
||||
ROMX_LOAD( "10", 0x000004, 0x40000, CRC(eeec6183) SHA1(40dc9c86e90d7c1a2ad600c195fe387180d95fd4) , ROM_SKIP(7) )
|
||||
ROMX_LOAD( "9", 0x000005, 0x40000, CRC(0e94f718) SHA1(249534f2323abcdb24099d0abc24c229c699ba94) , ROM_SKIP(7) )
|
||||
ROMX_LOAD( "8", 0x000006, 0x40000, CRC(c4ddc5b4) SHA1(79c2a42a664e387932b7804e7a80f5753338c3b0) , ROM_SKIP(7) )
|
||||
ROMX_LOAD( "7", 0x000007, 0x40000, CRC(8941ca12) SHA1(5ad5d47b8614c2899d05c65dc3b74947d4bac561) , ROM_SKIP(7) )
|
||||
|
||||
ROM_REGION( 0x18000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
|
||||
ROM_LOAD( "6", 0x00000, 0x08000, CRC(7a99446e) SHA1(ca027f41e3e58be5abc33ad7380746658cb5380a) )
|
||||
ROM_CONTINUE( 0x10000, 0x08000 )
|
||||
|
||||
ROM_REGION( 0x40000, "oki", 0 ) /* Samples */
|
||||
ROM_LOAD( "5", 0x00000, 0x40000, CRC(1547e595) SHA1(27f47b1afd9700afd9e8167d7e4e2888be34a9e5) )
|
||||
|
||||
ROM_REGION( 0x157, "proms", 0 ) // came with the set
|
||||
ROM_LOAD_OPTIONAL( "varth1.bin", 0x00000, 0x157, CRC(4c6a0d99) SHA1(081a307ef38675de178dd6221e6c4e55a5bfbd87) )
|
||||
ROM_END
|
||||
|
||||
|
||||
// ************************************************************************* DRIVER MACROS
|
||||
|
||||
@ -2986,3 +3078,5 @@ GAME( 1992, sf2m9, sf2ce, sf2m1, sf2, cps_state, sf2m1, ROT0,
|
||||
GAME( 1993, slampic, slammast, slampic, slammast, cps_state, dinopic, ROT0, "bootleg", "Saturday Night Slam Masters (bootleg with PIC16c57)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE ) // 930713 ETC
|
||||
|
||||
GAME( 1999, sgyxz, wof, sgyxz, sgyxz, cps_state, cps1, ROT0, "bootleg (All-In Electronic)", "Warriors of Fate ('sgyxz' bootleg)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) // 921005 - Sangokushi 2
|
||||
|
||||
GAME( 1992, varthb, varth, varthb, varth, cps_state, dinopic, ROT270, "bootleg", "Varth: Operation Thunderstorm (bootleg)", MACHINE_SUPPORTS_SAVE )
|
||||
|
@ -370,6 +370,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(knightsb_snd_bankswitch_w);
|
||||
DECLARE_WRITE8_MEMBER(fcrash_msm5205_0_data_w);
|
||||
DECLARE_WRITE8_MEMBER(fcrash_msm5205_1_data_w);
|
||||
DECLARE_WRITE16_MEMBER(varthb_layer_w);
|
||||
UINT32 screen_update_fcrash(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
void fcrash_update_transmasks();
|
||||
void fcrash_render_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
@ -425,6 +426,7 @@ INPUT_PORTS_EXTERN( knights );
|
||||
INPUT_PORTS_EXTERN( punisher );
|
||||
INPUT_PORTS_EXTERN( sf2 );
|
||||
INPUT_PORTS_EXTERN( slammast );
|
||||
INPUT_PORTS_EXTERN( varth );
|
||||
|
||||
|
||||
#endif
|
||||
|
@ -12096,6 +12096,7 @@ sf2mdta // bootleg
|
||||
sf2mdtb // bootleg
|
||||
sgyxz // bootleg (All-In Electronics)
|
||||
slampic // bootleg
|
||||
varthb // bootleg
|
||||
|
||||
@source:feversoc.cpp
|
||||
feversoc // (c) 2004
|
||||
|
@ -1553,6 +1553,7 @@ static const struct CPS1config cps1_config_table[]=
|
||||
{"sf2mdtb", CPS_B_21_DEF, mapper_S9263B, 0x36, 0, 0, 1 },
|
||||
{"sf2b", CPS_B_17, mapper_STF29, 0x36, 0, 0, 1 },
|
||||
{"varth", CPS_B_04, mapper_VA63B }, /* CPSB test has been patched out (60=0008) register is also written to, possibly leftover from development */ // wrong, this set uses VA24B, dumped but equations still not added
|
||||
{"varthb", CPS_B_04, mapper_VA63B, 0, 0, 0, 0x0F },
|
||||
{"varthr1", CPS_B_04, mapper_VA63B }, /* CPSB test has been patched out (60=0008) register is also written to, possibly leftover from development */ // wrong, this set uses VA24B, dumped but equations still not added
|
||||
{"varthu", CPS_B_04, mapper_VA63B }, /* CPSB test has been patched out (60=0008) register is also written to, possibly leftover from development */
|
||||
{"varthj", CPS_B_21_BT5, mapper_VA22B }, /* CPSB test has been patched out (72=0001) register is also written to, possibly leftover from development */
|
||||
@ -1947,7 +1948,7 @@ void cps_state::cps1_get_video_base()
|
||||
}
|
||||
|
||||
/* Some of the sf2 hacks use only sprite port 0x9100 and the scroll layers are offset */
|
||||
if (m_game_config->bootleg_kludge == 1)
|
||||
if (m_game_config->bootleg_kludge == 0x01)
|
||||
{
|
||||
m_cps_a_regs[CPS1_OBJ_BASE] = 0x9100;
|
||||
scroll1xoff = -0x0c;
|
||||
@ -1955,6 +1956,20 @@ void cps_state::cps1_get_video_base()
|
||||
scroll3xoff = -0x10;
|
||||
}
|
||||
else
|
||||
if (m_game_config->bootleg_kludge == 0x0E)
|
||||
{
|
||||
scroll1xoff = 0xffba;
|
||||
scroll2xoff = 0xffc0;
|
||||
scroll3xoff = 0xffba;
|
||||
}
|
||||
else
|
||||
if (m_game_config->bootleg_kludge == 0x0F)
|
||||
{
|
||||
scroll1xoff = 0xffc0;
|
||||
scroll2xoff = 0xffc0;
|
||||
scroll3xoff = 0xffc0;
|
||||
}
|
||||
else
|
||||
if (m_game_config->bootleg_kludge == 2)
|
||||
{
|
||||
m_cps_a_regs[CPS1_OBJ_BASE] = 0x9100;
|
||||
|
Loading…
Reference in New Issue
Block a user