From da57561e0f9f09e1c93fcdcc29189a25e3ea05b9 Mon Sep 17 00:00:00 2001 From: hap Date: Sun, 1 Mar 2015 22:13:45 +0100 Subject: moved misc handhelds to their own section --- src/mess/mess.lst | 55 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 30 insertions(+), 25 deletions(-) diff --git a/src/mess/mess.lst b/src/mess/mess.lst index 10c3718e257..6812f2222ad 100644 --- a/src/mess/mess.lst +++ b/src/mess/mess.lst @@ -217,8 +217,6 @@ dina // Telegames Dina prsarcde // Telegames Personal Arcade adam // Coleco Adam -amaztron - // NEC pce // PC/Engine NEC 1987-1993 tg16 // Turbo Grafix-16 NEC 1989-1993 @@ -301,9 +299,7 @@ intvsrs // Intellivision (Sears License) - 19?? intvoice // Mattel Intellivision + IntelliVoice expansion - 1982 // Milton Bradley -comp4 microvsn // MicroVision - 1979 -simon // Entex advision // Adventurevision @@ -1173,7 +1169,6 @@ m5p // APF Electronics Inc. apfm1000 apfimag -mathmagi // Tatung einstein @@ -1240,7 +1235,6 @@ ht108064 // Hradstechnika Szvetkezet HT-1080Z/64 radionic // Radionic tandy2k tandy2khd -tandy12 coco // Color Computer cocoe // Color Computer (Extended BASIC 1.0) @@ -2121,7 +2115,6 @@ sfortec // 1989 Novag Super Forte C Chess Computer sexpertc // 1989 Novag Super Expert C Chess Computer diablo68 // 1991 Novag Diablo 68000 Chess Computer - // Hegener & Glaser Munich //mephisto // Mephisto 1 - roms needed - not in driver mm2 // Mephisto 2 @@ -2179,11 +2172,41 @@ ngen // 1983 ngenb38 // 1991 386i // 199? +// Dedicated handhelds/tabletops +maniac // Ideal + +mathmagi // APF +amaztron // Coleco +tc4 // Coleco +ebball // Entex +elecdet // Ideal +starwbc // Kenner +starwbcp // Kenner (prototype) +comp4 // MB +simon // MB +cnsector // Parker Bros +merlin // Parker Bros +stopthie // Parker Bros +stopthiep // Parker Bros (prototype) +bankshot // Parker Bros +splitsec // Parker Bros +tandy12 // TRS +unk3403 + +edracula // Epoch +tmpacman // Tomy +tmtennis // Tomy +alnchase // Tomy + +wildfire // Parker Bros + + //********** Misc ********************************************************** ssem // Manchester Small-Scale Experimental Machine, "Baby" craft // Craft, by [lft] + //********** To sort (mostly skeleton drivers) ***************************** a5105 @@ -2271,13 +2294,6 @@ swyft mmd1 mmd2 mpf1p -cnsector -starwbc -starwbcp -stopthie -stopthiep -splitsec -bankshot amico2k jtc jtces88 @@ -2539,7 +2555,6 @@ dvk_ksm asmapro asma2k altos5 -merlin ts802 ts802h ts803h @@ -2609,13 +2624,3 @@ leapstertv excali64 bitgrpha bitgrphb -unk3403 -elecdet -wildfire -tmtennis -alnchase -edracula -tc4 -ebball -tmpacman -maniac -- cgit v1.2.3 From df564067dd6694a869f6b736bb37fcb19cfbc7fd Mon Sep 17 00:00:00 2001 From: Luca Elia Date: Sun, 1 Mar 2015 22:18:19 +0100 Subject: Emulate sound latch protection in brickzn [Luca Elia, system11] --- src/mame/drivers/suna8.c | 45 ++++++++++++++++++++++++++++++++++++--------- src/mame/includes/suna8.h | 4 +++- 2 files changed, 39 insertions(+), 10 deletions(-) diff --git a/src/mame/drivers/suna8.c b/src/mame/drivers/suna8.c index 2a3c1b95c88..63c946139b6 100644 --- a/src/mame/drivers/suna8.c +++ b/src/mame/drivers/suna8.c @@ -678,7 +678,7 @@ READ8_MEMBER(suna8_state::brickzn_cheats_r) ---- ---0 Palette RAM Bank - C0A0: Sound Latch + C0A0: Sound Latch (optionally scrambled) C0A0: 7654 3--- @@ -699,9 +699,20 @@ WRITE8_MEMBER(suna8_state::brickzn_multi_w) } else if ((m_protection_val & 0xfc) == 0x90) { - soundlatch_byte_w(space, 0, data); - - logerror("CPU #0 - PC %04X: soundlatch = %02X\n",space.device().safe_pc(),data); + /* + 0d brick hit NO! 25? + 2c side wall hit OK + 3b paddle hit OK + 44 death OK? + 53 death OK? + 56 coin in OK? + 70 monster hit NO? 58? + */ + UINT8 remap = (m_remap_sound ? BITSWAP8(data, 7,6,3,4,5,2,1,0) : data); + + soundlatch_byte_w(space, 0, remap); + + logerror("CPU #0 - PC %04X: soundlatch = %02X (->%02X)\n",space.device().safe_pc(),data,remap); } else if (protselect == 0x04) { @@ -774,6 +785,8 @@ WRITE8_MEMBER(suna8_state::brickzn_prot2_w) else space.install_ram(0xc800, 0xdfff, m_wram); + m_remap_sound = ((m_prot2 ^ data) == 0xf8) ? 1 : 0; + // Select alternate data decryption, see code at 787e: membank("bank1")->set_entry((membank("bank1")->entry() & 0x0f) + ((m_prot2 == (data | 0xdc)) ? 0x10 : 0)); @@ -1527,6 +1540,19 @@ static INPUT_PORTS_START( brickzn ) INPUT_PORTS_END +static INPUT_PORTS_START( brickznv6 ) + PORT_INCLUDE(brickzn) + + PORT_MODIFY("DSW2") // DSW 2 - $c103 + PORT_DIPNAME( 0x18, 0x10, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:4,5") + PORT_DIPSETTING( 0x18, "None" ) + PORT_DIPSETTING( 0x10, "10K" ) + PORT_DIPSETTING( 0x08, "30K" ) + PORT_DIPSETTING( 0x00, "50K" ) + PORT_DIPNAME( 0x20, 0x20, "Display" ) PORT_DIPLOCATION("SW2:6") + PORT_DIPSETTING( 0x00, DEF_STR( No ) ) + PORT_DIPSETTING( 0x20, DEF_STR( Yes ) ) +INPUT_PORTS_END /*************************************************************************** Hard Head 2 @@ -1917,6 +1943,7 @@ MACHINE_CONFIG_END MACHINE_RESET_MEMBER(suna8_state,brickzn) { m_protection_val = m_prot2 = m_prot2_prev = 0xff; + m_remap_sound = 0; membank("bank1")->set_entry(0); } @@ -1928,7 +1955,7 @@ static MACHINE_CONFIG_START( brickzn, suna8_state ) MCFG_CPU_IO_MAP(brickzn_io_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", suna8_state, irq0_line_hold) // nmi breaks ramtest but is needed! - MCFG_CPU_ADD("audiocpu", Z80, SUNA8_MASTER_CLOCK / 4) /* Z0840006PSC */ + MCFG_CPU_ADD("audiocpu", Z80, SUNA8_MASTER_CLOCK / 8) /* Z0840006PSC - 3MHz better matches the tempo in the video */ MCFG_CPU_PROGRAM_MAP(brickzn_sound_map) MCFG_CPU_ADD("pcm", Z80, SUNA8_MASTER_CLOCK / 4) /* Z0840006PSC */ @@ -2882,7 +2909,7 @@ GAME( 1990, starfigh, 0, starfigh, starfigh, suna8_state, starfigh, ROT GAME( 1991, hardhea2, 0, hardhea2, hardhea2, suna8_state, hardhea2, ROT0, "SunA", "Hard Head 2 (v2.0)", 0 ) // is meant to sound like this https://www.youtube.com/watch?v=yfU1C7A3iZI (recorded from v6.0, Joystick version) -GAME( 1992, brickzn, 0, brickzn, brickzn, suna8_state, brickzn, ROT90, "SunA", "Brick Zone (v6.0, Joystick)", GAME_IMPERFECT_SOUND ) -GAME( 1992, brickznv5, brickzn, brickzn, brickzn, suna8_state, brickznv5, ROT90, "SunA", "Brick Zone (v5.0, Joystick)", GAME_IMPERFECT_SOUND ) -GAME( 1992, brickznv4, brickzn, brickzn, brickzn, suna8_state, brickznv4, ROT90, "SunA", "Brick Zone (v4.0, Spinner)", GAME_IMPERFECT_SOUND ) -GAME( 1992, brickzn11, brickzn, brickzn, brickzn, suna8_state, brickzn11, ROT90, "SunA", "Brick Zone (v1.1)", GAME_NOT_WORKING ) +GAME( 1992, brickzn, 0, brickzn, brickznv6,suna8_state, brickzn, ROT90, "SunA", "Brick Zone (v6.0, Joystick)", 0 ) +GAME( 1992, brickznv5, brickzn, brickzn, brickzn, suna8_state, brickznv5, ROT90, "SunA", "Brick Zone (v5.0, Joystick)", 0 ) +GAME( 1992, brickznv4, brickzn, brickzn, brickzn, suna8_state, brickznv4, ROT90, "SunA", "Brick Zone (v4.0, Spinner)", 0 ) +GAME( 1992, brickzn11, brickzn, brickzn, brickzn, suna8_state, brickzn11, ROT90, "SunA", "Brick Zone (v1.1)", GAME_NOT_WORKING ) diff --git a/src/mame/includes/suna8.h b/src/mame/includes/suna8.h index 57197dd6ad9..ac9fb8c41c9 100644 --- a/src/mame/includes/suna8.h +++ b/src/mame/includes/suna8.h @@ -18,7 +18,8 @@ public: m_screen(*this, "screen"), m_palette(*this, "palette"), - m_prot_opcode_toggle(0) + m_prot_opcode_toggle(0), + m_remap_sound(0) { } required_device m_maincpu; @@ -45,6 +46,7 @@ public: UINT8 m_spritebank_latch; UINT8 m_write_disable; UINT8 m_prot_opcode_toggle; + UINT8 m_remap_sound; UINT8* m_decrypt; enum GFXBANK_TYPE_T -- cgit v1.2.3