mirror of
https://github.com/holub/mame
synced 2025-05-21 21:29:15 +03:00
From: Fabio Priuli [mailto:priuli@math.ntnu.no]
Subject: some dips dips.diff adds tags and locations to dips for marvins.c and matmania.c (also adding a couple of corrections in names and default settings, explained in short notes added to the drivers)
This commit is contained in:
parent
b389e946d6
commit
66c48036a3
@ -20,6 +20,13 @@ AT08XX03:
|
||||
(great now I can fall under the skyway like I did at Chuck'n Cheese;)
|
||||
- fixed Vanguard2 scroll offsets
|
||||
- tuned music tempo and wavegen frequency
|
||||
|
||||
2008.04.04: Small note regarding DipSwitches. Locations and values have been
|
||||
verified with the manual for both Marvin's Maze and Mad Crasher. Vanguard II
|
||||
DIPs have been checked against jammaboards diplist, no manual available ATM.
|
||||
DSW2:7 in madcrash is listed as Difficulty, but it's not clear how it affects
|
||||
the gameplay difficulty
|
||||
|
||||
*/
|
||||
|
||||
#include "driver.h"
|
||||
@ -163,12 +170,12 @@ static ADDRESS_MAP_START( marvins_cpuA_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x5fff) AM_ROM
|
||||
AM_RANGE(0x6000, 0x6000) AM_WRITE(marvins_palette_bank_w)
|
||||
AM_RANGE(0x8000, 0x8000) AM_READ(marvins_port_0_r) /* coin input, start, sound CPU status */
|
||||
AM_RANGE(0x8100, 0x8100) AM_READ(input_port_1_r) /* player #1 controls */
|
||||
AM_RANGE(0x8200, 0x8200) AM_READ(input_port_2_r) /* player #2 controls */
|
||||
AM_RANGE(0x8100, 0x8100) AM_READ_PORT("IN1") /* player #1 controls */
|
||||
AM_RANGE(0x8200, 0x8200) AM_READ_PORT("IN2") /* player #2 controls */
|
||||
AM_RANGE(0x8300, 0x8300) AM_WRITE(sound_command_w)
|
||||
AM_RANGE(0x8400, 0x8400) AM_READ(input_port_3_r) /* dipswitch#1 */
|
||||
AM_RANGE(0x8500, 0x8500) AM_READ(input_port_4_r) /* dipswitch#2 */
|
||||
AM_RANGE(0x8600, 0x8600) AM_RAM // video attribute
|
||||
AM_RANGE(0x8400, 0x8400) AM_READ_PORT("DSW1") /* dipswitch#1 */
|
||||
AM_RANGE(0x8500, 0x8500) AM_READ_PORT("DSW2") /* dipswitch#2 */
|
||||
AM_RANGE(0x8600, 0x8600) AM_RAM /* video attribute */
|
||||
AM_RANGE(0x8700, 0x8700) AM_READWRITE(snk_cpuB_nmi_trigger_r, snk_cpuA_nmi_ack_w)
|
||||
AM_RANGE(0xc000, 0xcfff) AM_RAM AM_BASE(&spriteram) AM_SHARE(1)
|
||||
AM_RANGE(0xd000, 0xdfff) AM_READWRITE(SMH_RAM, marvins_background_ram_w) AM_SHARE(2) AM_BASE(&spriteram_3)
|
||||
@ -189,11 +196,11 @@ ADDRESS_MAP_END
|
||||
static ADDRESS_MAP_START( madcrash_cpuA_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0x8000, 0x8000) AM_READ(marvins_port_0_r) /* coin input, start, sound CPU status */
|
||||
AM_RANGE(0x8100, 0x8100) AM_READ(input_port_1_r) /* player #1 controls */
|
||||
AM_RANGE(0x8200, 0x8200) AM_READ(input_port_2_r) /* player #2 controls */
|
||||
AM_RANGE(0x8100, 0x8100) AM_READ_PORT("IN1") /* player #1 controls */
|
||||
AM_RANGE(0x8200, 0x8200) AM_READ_PORT("IN2") /* player #2 controls */
|
||||
AM_RANGE(0x8300, 0x8300) AM_WRITE(sound_command_w)
|
||||
AM_RANGE(0x8400, 0x8400) AM_READ(input_port_3_r) /* dipswitch#1 */
|
||||
AM_RANGE(0x8500, 0x8500) AM_READ(input_port_4_r) /* dipswitch#2 */
|
||||
AM_RANGE(0x8400, 0x8400) AM_READ_PORT("DSW1") /* dipswitch#1 */
|
||||
AM_RANGE(0x8500, 0x8500) AM_READ_PORT("DSW2") /* dipswitch#2 */
|
||||
AM_RANGE(0x8600, 0x86ff) AM_RAM // video attribute
|
||||
AM_RANGE(0x8700, 0x8700) AM_READWRITE(snk_cpuB_nmi_trigger_r, snk_cpuA_nmi_ack_w)
|
||||
// AM_RANGE(0xc800, 0xc800) AM_WRITE(marvins_palette_bank_w) // palette bank switch (c8f1 for Vanguard)
|
||||
@ -245,15 +252,15 @@ static INPUT_PORTS_START( marvins )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START_TAG("DSW1")
|
||||
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )
|
||||
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2")
|
||||
PORT_DIPSETTING( 0x00, "1" )
|
||||
PORT_DIPSETTING( 0x01, "2" )
|
||||
PORT_DIPSETTING( 0x02, "3" )
|
||||
PORT_DIPSETTING( 0x03, "5" )
|
||||
PORT_DIPNAME(0x04, 0x04, "Infinite Lives (Cheat)")
|
||||
PORT_DIPNAME(0x04, 0x04, "Infinite Lives (Cheat)") PORT_DIPLOCATION("SW1:3")
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x38, 0x00, DEF_STR( Coinage ) )
|
||||
PORT_DIPNAME( 0x38, 0x00, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:4,5,6")
|
||||
PORT_DIPSETTING( 0x38, DEF_STR( 5C_1C ) )
|
||||
PORT_DIPSETTING( 0x30, DEF_STR( 3C_1C ) )
|
||||
PORT_DIPSETTING( 0x28, DEF_STR( 2C_1C ) )
|
||||
@ -262,15 +269,15 @@ static INPUT_PORTS_START( marvins )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPSETTING( 0x18, DEF_STR( 1C_5C ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( 1C_6C ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Free_Play ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW1:7")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, "Freeze" )
|
||||
PORT_DIPNAME( 0x80, 0x80, "Freeze" ) PORT_DIPLOCATION("SW1:8")
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START_TAG("DSW2")
|
||||
PORT_DIPNAME( 0x07, 0x00, "1st Bonus Life" )
|
||||
PORT_DIPNAME( 0x07, 0x00, "1st Bonus Life" ) PORT_DIPLOCATION("SW2:1,2,3")
|
||||
PORT_DIPSETTING( 0x00, "10000" )
|
||||
PORT_DIPSETTING( 0x01, "20000" )
|
||||
PORT_DIPSETTING( 0x02, "30000" )
|
||||
@ -279,18 +286,18 @@ static INPUT_PORTS_START( marvins )
|
||||
PORT_DIPSETTING( 0x05, "60000" )
|
||||
PORT_DIPSETTING( 0x06, "70000" )
|
||||
PORT_DIPSETTING( 0x07, "80000" )
|
||||
PORT_DIPNAME( 0x18, 0x08, "2nd Bonus Life" )
|
||||
PORT_DIPNAME( 0x18, 0x08, "2nd Bonus Life" ) PORT_DIPLOCATION("SW2:4,5")
|
||||
PORT_DIPSETTING( 0x08, "1st bonus*2" )
|
||||
PORT_DIPSETTING( 0x10, "1st bonus*3" )
|
||||
PORT_DIPSETTING( 0x18, "1st bonus*4" )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( None ) )
|
||||
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) )
|
||||
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:6")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ) )
|
||||
PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:7")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Cocktail ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Flip_Screen ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:8")
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
@ -326,7 +333,7 @@ static INPUT_PORTS_START( vangrd2 )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START_TAG("DSW1")
|
||||
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) )
|
||||
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1,2,3")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 6C_1C ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( 5C_1C ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) )
|
||||
@ -335,7 +342,7 @@ static INPUT_PORTS_START( vangrd2 )
|
||||
PORT_DIPSETTING( 0x06, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x05, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( 1C_5C ) )
|
||||
PORT_DIPNAME( 0x38, 0x38, DEF_STR( Bonus_Life ) )
|
||||
PORT_DIPNAME( 0x38, 0x38, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:4,5,6")
|
||||
PORT_DIPSETTING( 0x38, "30000" )
|
||||
PORT_DIPSETTING( 0x30, "40000" )
|
||||
PORT_DIPSETTING( 0x28, "50000" )
|
||||
@ -344,35 +351,35 @@ static INPUT_PORTS_START( vangrd2 )
|
||||
PORT_DIPSETTING( 0x10, "80000" )
|
||||
PORT_DIPSETTING( 0x08, "90000" )
|
||||
PORT_DIPSETTING( 0x00, "100000" )
|
||||
PORT_DIPNAME( 0xc0, 0x80, DEF_STR( Lives ) )
|
||||
PORT_DIPNAME( 0xc0, 0x80, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:7,8")
|
||||
PORT_DIPSETTING( 0x00, "1" )
|
||||
PORT_DIPSETTING( 0x40, "2" )
|
||||
PORT_DIPSETTING( 0x80, "3" )
|
||||
PORT_DIPSETTING( 0xc0, "5" )
|
||||
|
||||
PORT_START_TAG("DSW2")
|
||||
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) )
|
||||
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:1")
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, "Freeze" )
|
||||
PORT_DIPNAME( 0x02, 0x02, "Freeze" ) PORT_DIPLOCATION("SW2:2")
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Cabinet ) )
|
||||
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:3")
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Language ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Language ) ) PORT_DIPLOCATION("SW2:4")
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( English ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Japanese ) )
|
||||
PORT_DIPNAME( 0x10, 0x00, "Bonus Life Occurence" )
|
||||
PORT_DIPNAME( 0x10, 0x00, "Bonus Life Occurence" ) PORT_DIPLOCATION("SW2:5")
|
||||
PORT_DIPSETTING( 0x00, "Every bonus" )
|
||||
PORT_DIPSETTING( 0x10, "Bonus only" )
|
||||
PORT_DIPNAME( 0x20, 0x20, "Infinite Lives (Cheat)")
|
||||
PORT_DIPNAME( 0x20, 0x20, "Infinite Lives (Cheat)") PORT_DIPLOCATION("SW2:6")
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Free_Play ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW2:7")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Flip_Screen ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:8")
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
@ -408,16 +415,14 @@ static INPUT_PORTS_START( madcrash )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START_TAG("DSW1")
|
||||
PORT_DIPNAME( 0x01, 0x01, "Unused SW 1-0" )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Cabinet ) )
|
||||
PORT_DIPUNUSED_DIPLOC(0x01, IP_ACTIVE_LOW, "SW1:1") /* Listed as Unused */
|
||||
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:2")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Cocktail ) )
|
||||
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Lives ) )
|
||||
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:3")
|
||||
PORT_DIPSETTING( 0x04, "3" )
|
||||
PORT_DIPSETTING( 0x00, "5" )
|
||||
PORT_DIPNAME( 0x38, 0x38, DEF_STR( Coinage ) )
|
||||
PORT_DIPNAME( 0x38, 0x38, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:4,5,6")
|
||||
// PORT_DIPSETTING( 0x08, DEF_STR( 5C_1C ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( 5C_1C ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( 3C_1C ) )
|
||||
@ -426,35 +431,33 @@ static INPUT_PORTS_START( madcrash )
|
||||
PORT_DIPSETTING( 0x30, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x28, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
|
||||
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Bonus_Life ) )
|
||||
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:7,8")
|
||||
PORT_DIPSETTING( 0xc0, "20000 60000" )
|
||||
PORT_DIPSETTING( 0x80, "40000 90000" )
|
||||
PORT_DIPSETTING( 0x40, "50000 120000" )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( None ) )
|
||||
|
||||
PORT_START_TAG("DSW2")
|
||||
PORT_DIPNAME( 0x01, 0x00, "Bonus Life Occurence" )
|
||||
PORT_DIPSETTING( 0x01, "1st, 2nd, then every 2nd" ) // Check the "Non Bugs" page
|
||||
PORT_DIPNAME( 0x01, 0x00, "Bonus Life Occurence" ) PORT_DIPLOCATION("SW2:1")
|
||||
PORT_DIPSETTING( 0x01, "1st, 2nd, then every 2nd" ) /* Check the "Non Bugs" page */
|
||||
PORT_DIPSETTING( 0x00, "1st and 2nd only" )
|
||||
PORT_DIPNAME( 0x06, 0x04, DEF_STR( Difficulty ) )
|
||||
PORT_DIPSETTING( 0x06, DEF_STR( Easy ) )
|
||||
PORT_DIPNAME( 0x06, 0x04, "Scroll Speed" ) PORT_DIPLOCATION("SW2:2,3")
|
||||
PORT_DIPSETTING( 0x06, "Slow" )//DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Normal ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Hard ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
|
||||
PORT_DIPNAME( 0x18, 0x10, "Game mode" )
|
||||
PORT_DIPSETTING( 0x02, "Fast" )//DEF_STR( Hard ) )
|
||||
PORT_DIPSETTING( 0x00, "Faster" )
|
||||
PORT_DIPNAME( 0x18, 0x10, "Game mode" ) PORT_DIPLOCATION("SW2:4,5")
|
||||
PORT_DIPSETTING( 0x18, "Demo Sounds Off" )
|
||||
PORT_DIPSETTING( 0x10, "Demo Sounds On" )
|
||||
PORT_DIPSETTING( 0x08, "Infinite Lives (Cheat)")
|
||||
PORT_DIPSETTING( 0x00, "Freeze" )
|
||||
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Flip_Screen ) )
|
||||
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:6")
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) ) // Check the "Non Bugs" page
|
||||
PORT_DIPNAME( 0x40, 0x40, "Unused SW 2-6" )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, "Unknown SW 2-7" ) // tested in many places
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) ) /* Check the "Non Bugs" page */
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Hard ) )
|
||||
PORT_DIPUNKNOWN_DIPLOC(0x80, IP_ACTIVE_LOW, "SW2:8") /* Listed as Unused, it is actually tested in many places */
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
@ -18,6 +18,15 @@ MAIN BOARD:
|
||||
2600-27ff Background attribute RAM #2
|
||||
4000-ffff ROM
|
||||
|
||||
|
||||
2008.04.04: Small note regarding DipSwitches. Locations and values have been
|
||||
verified with the manual for both Mat Mania and Mania Challenge.
|
||||
Exciting Hour DIPs confirmed with crazykong diplist, no manual available ATM.
|
||||
Notice that the manual for Mat Mania lists DSW2:3,4 as Unused, but they
|
||||
correctly affect the timer speed during the game. Also, default difficulty
|
||||
in Mat Mania is Normal, while manual for Mania Challenge reports Easy.
|
||||
The driver has been updated accordingly.
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#include "driver.h"
|
||||
@ -82,10 +91,10 @@ static ADDRESS_MAP_START( matmania_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x077f) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x1000, 0x17ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x2000, 0x27ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x3000, 0x3000) AM_READ(input_port_0_r)
|
||||
AM_RANGE(0x3010, 0x3010) AM_READ(input_port_1_r)
|
||||
AM_RANGE(0x3020, 0x3020) AM_READ(input_port_2_r)
|
||||
AM_RANGE(0x3030, 0x3030) AM_READ(input_port_3_r)
|
||||
AM_RANGE(0x3000, 0x3000) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x3010, 0x3010) AM_READ_PORT("IN1")
|
||||
AM_RANGE(0x3020, 0x3020) AM_READ_PORT("DSW2")
|
||||
AM_RANGE(0x3030, 0x3030) AM_READ_PORT("DSW1")
|
||||
AM_RANGE(0x4000, 0xffff) AM_READ(SMH_ROM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -110,10 +119,10 @@ static ADDRESS_MAP_START( maniach_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x077f) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x1000, 0x17ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x2000, 0x27ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x3000, 0x3000) AM_READ(input_port_0_r)
|
||||
AM_RANGE(0x3010, 0x3010) AM_READ(input_port_1_r)
|
||||
AM_RANGE(0x3020, 0x3020) AM_READ(input_port_2_r)
|
||||
AM_RANGE(0x3030, 0x3030) AM_READ(input_port_3_r)
|
||||
AM_RANGE(0x3000, 0x3000) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x3010, 0x3010) AM_READ_PORT("IN1")
|
||||
AM_RANGE(0x3020, 0x3020) AM_READ_PORT("DSW2")
|
||||
AM_RANGE(0x3030, 0x3030) AM_READ_PORT("DSW1")
|
||||
AM_RANGE(0x3040, 0x3040) AM_READ(maniach_mcu_r)
|
||||
AM_RANGE(0x3041, 0x3041) AM_READ(maniach_mcu_status_r)
|
||||
AM_RANGE(0x4000, 0xffff) AM_READ(SMH_ROM)
|
||||
@ -191,7 +200,7 @@ ADDRESS_MAP_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( matmania )
|
||||
PORT_START /* IN0 */
|
||||
PORT_START_TAG("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
|
||||
@ -201,7 +210,7 @@ static INPUT_PORTS_START( matmania )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(1)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(1)
|
||||
|
||||
PORT_START /* IN1 */
|
||||
PORT_START_TAG("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
|
||||
@ -211,51 +220,55 @@ static INPUT_PORTS_START( matmania )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
|
||||
|
||||
PORT_START /* DSW1 */
|
||||
PORT_DIPNAME(0x03, 0x03, DEF_STR( Difficulty ) )
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Medium ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Hard ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
|
||||
PORT_DIPNAME(0x0c, 0x0c, "Tournament Time" ) // Tournament time is always 3:00, but time per 1 second is shorter.
|
||||
PORT_DIPSETTING( 0x00, "2:12" )
|
||||
PORT_DIPSETTING( 0x04, "2:24" )
|
||||
PORT_DIPSETTING( 0x08, "2:30" )
|
||||
PORT_DIPSETTING( 0x0c, "2:36" )
|
||||
PORT_DIPNAME(0x10, 0x10, DEF_STR( Unused ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME(0x20, 0x20, DEF_STR( Unused ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME(0x40, 0x40, DEF_STR( Unused ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME(0x80, 0x80, DEF_STR( Unused ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START /* DSW2 */
|
||||
PORT_DIPNAME(0x03, 0x03, DEF_STR( Coin_A ) )
|
||||
PORT_START_TAG("DSW1")
|
||||
PORT_DIPNAME(0x03, 0x03, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPNAME(0x0c, 0x0c, DEF_STR( Coin_B ) )
|
||||
PORT_DIPNAME(0x0c, 0x0c, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:3,4")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPNAME(0x10, 0x10, DEF_STR( Demo_Sounds ) )
|
||||
PORT_DIPNAME(0x10, 0x10, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:5")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( On ) )
|
||||
PORT_DIPNAME(0x20, 0x00, DEF_STR( Cabinet ) ) // The default setting should be cocktail.
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
|
||||
PORT_DIPNAME(0x20, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:6")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) /* The default setting should be cocktail. */
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) )
|
||||
PORT_SERVICE( 0x40, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_VBLANK )
|
||||
PORT_SERVICE_DIPLOC( 0x40, IP_ACTIVE_LOW, "SW1:7" )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_VBLANK ) /* Listed as always ON among DIPs in the manual */
|
||||
|
||||
PORT_START_TAG("DSW2")
|
||||
PORT_DIPNAME(0x03, 0x02, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2")
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Medium ) ) /* According to the manual, default is Medium */
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Hard ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
|
||||
PORT_DIPNAME(0x0c, 0x0c, "Tournament Time" ) PORT_DIPLOCATION("SW2:3,4")
|
||||
PORT_DIPSETTING( 0x00, "2:12" ) /* Tournament time is always 3:00, but time per 1 second is shorter. */
|
||||
PORT_DIPSETTING( 0x04, "2:24" )
|
||||
PORT_DIPSETTING( 0x08, "2:30" )
|
||||
PORT_DIPSETTING( 0x0c, "2:36" )
|
||||
PORT_DIPUNUSED_DIPLOC(0x10, IP_ACTIVE_LOW, "SW2:5") /* Listed as Unused */
|
||||
PORT_DIPUNUSED_DIPLOC(0x20, IP_ACTIVE_LOW, "SW2:6") /* Listed as Unused */
|
||||
PORT_DIPUNUSED_DIPLOC(0x40, IP_ACTIVE_LOW, "SW2:7") /* Listed as Unused */
|
||||
PORT_DIPUNUSED_DIPLOC(0x80, IP_ACTIVE_LOW, "SW2:8") /* Listed as Unused */
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( maniach )
|
||||
PORT_INCLUDE( matmania )
|
||||
|
||||
PORT_MODIFY("DSW2")
|
||||
PORT_DIPNAME(0x03, 0x03, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2")
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( Easy ) ) /* According to the manual, default for this game is Easy */
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Medium ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Hard ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static const gfx_layout charlayout =
|
||||
{
|
||||
8,8, /* 8*8 characters */
|
||||
@ -660,6 +673,6 @@ ROM_END
|
||||
|
||||
|
||||
GAME( 1985, matmania, 0, matmania, matmania, 0, ROT270, "Technos (Taito America license)", "Mat Mania", 0 )
|
||||
GAME( 1985, excthour, matmania, matmania, matmania, 0, ROT270, "Technos (Taito license)", "Exciting Hour", 0 )
|
||||
GAME( 1986, maniach, 0, maniach, matmania, 0, ROT270, "Technos (Taito America license)", "Mania Challenge (set 1)", 0 )
|
||||
GAME( 1986, maniach2, maniach, maniach, matmania, 0, ROT270, "Technos (Taito America license)", "Mania Challenge (set 2)" , 0) /* earlier version? */
|
||||
GAME( 1985, excthour, matmania, matmania, maniach, 0, ROT270, "Technos (Taito license)", "Exciting Hour", 0 )
|
||||
GAME( 1986, maniach, 0, maniach, maniach, 0, ROT270, "Technos (Taito America license)", "Mania Challenge (set 1)", 0 )
|
||||
GAME( 1986, maniach2, maniach, maniach, maniach, 0, ROT270, "Technos (Taito America license)", "Mania Challenge (set 2)" , 0) /* earlier version? */
|
||||
|
Loading…
Reference in New Issue
Block a user