mirror of
https://github.com/holub/mame
synced 2025-07-04 17:38:08 +03:00
Added dips, nw
This commit is contained in:
parent
13e110bba7
commit
c2e3cfaca7
@ -1,6 +1,6 @@
|
|||||||
// license:BSD-3-Clause
|
// license:BSD-3-Clause
|
||||||
// copyright-holders:Angelo Salese
|
// copyright-holders:Angelo Salese
|
||||||
/****************************************
|
/*************************************************************************************************************************
|
||||||
|
|
||||||
Metal Freezer (c) 1989 Seibu
|
Metal Freezer (c) 1989 Seibu
|
||||||
|
|
||||||
@ -13,9 +13,9 @@
|
|||||||
- Nuke legacy video code and re-do it by using tilemap system.
|
- Nuke legacy video code and re-do it by using tilemap system.
|
||||||
- sprites are ahead of 1/2 frames;
|
- sprites are ahead of 1/2 frames;
|
||||||
- Writes at 0xb800-0xbfff at attract mode gameplay demo transition?
|
- Writes at 0xb800-0xbfff at attract mode gameplay demo transition?
|
||||||
- DIPs need work - Flip Screen does not function. Still playable
|
- Why service mode returns all inputs as high? And why sound test doesn't seem to function at all, both BTANBs perhaps?
|
||||||
|
|
||||||
****************************************/
|
**************************************************************************************************************************/
|
||||||
|
|
||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
#include "cpu/z80/z80.h"
|
#include "cpu/z80/z80.h"
|
||||||
@ -65,7 +65,7 @@ void metlfrzr_state::video_start()
|
|||||||
/*
|
/*
|
||||||
- video regs format:
|
- video regs format:
|
||||||
[0x06] ---- --x- used during title screen transition, unknown purpose
|
[0x06] ---- --x- used during title screen transition, unknown purpose
|
||||||
[0x06] ---- ---x
|
[0x06] ---- ---x X scrolling 9th bit
|
||||||
[0x15] always 0?
|
[0x15] always 0?
|
||||||
[0x16] always 0?
|
[0x16] always 0?
|
||||||
[0x17] xxxx xxxx X scrolling base value
|
[0x17] xxxx xxxx X scrolling base value
|
||||||
@ -242,55 +242,52 @@ static INPUT_PORTS_START( metlfrzr )
|
|||||||
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
|
||||||
|
|
||||||
PORT_START("DSW1")
|
PORT_START("DSW1")
|
||||||
PORT_DIPNAME( 0x01, 0x00, "SYSA" )
|
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:1")
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
|
||||||
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) )
|
||||||
PORT_SERVICE_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW1:2" )
|
PORT_SERVICE_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW1:2" )
|
||||||
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Flip_Screen ) )
|
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:3")
|
||||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
|
PORT_DIPNAME( 0x38, 0x38, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:4,5,6")
|
||||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x20, DEF_STR( 4C_1C ) )
|
||||||
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
|
PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) )
|
||||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x30, DEF_STR( 2C_1C ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x38, DEF_STR( 1C_1C ) )
|
||||||
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
|
PORT_DIPSETTING( 0x18, DEF_STR( 1C_2C ) )
|
||||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x28, DEF_STR( 1C_3C ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x08, DEF_STR( 1C_5C ) )
|
||||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
|
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:7,8")
|
||||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
|
||||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
|
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
|
||||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
|
||||||
|
|
||||||
|
|
||||||
PORT_START("DSW2")
|
PORT_START("DSW2")
|
||||||
PORT_DIPNAME( 0x01, 0x00, "SYSB" )
|
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2")
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x02, "A" )
|
||||||
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x03, "B" )
|
||||||
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
|
PORT_DIPSETTING( 0x01, "C" )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x00, "D" )
|
||||||
PORT_DIPSETTING( 0x02, DEF_STR( On ) )
|
// service mode returns these values divided by 10 (so 02/05/10 effectively means 20k, 50k, 100k)
|
||||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
|
// TODO: check if it extends
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:3,4")
|
||||||
PORT_DIPSETTING( 0x04, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x08, "20k, 50k, 100k" )
|
||||||
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )
|
PORT_DIPSETTING( 0x0c, "30k, 80k, 150k" )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x04, "50k, 100k, 200k" )
|
||||||
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x00, "100k, 200k, 400k" )
|
||||||
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) )
|
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:5,6")
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x20, "1" )
|
||||||
PORT_DIPSETTING( 0x10, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x10, "2" )
|
||||||
PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
|
PORT_DIPSETTING( 0x30, "3" )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x00, "4" )
|
||||||
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
|
PORT_DIPNAME( 0x40, 0x00, DEF_STR( Level_Select ) ) PORT_DIPLOCATION("SW2:7")
|
||||||
PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
|
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||||
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
|
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:8")
|
||||||
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
|
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
|
||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
|
|
||||||
|
|
||||||
@ -454,4 +451,4 @@ DRIVER_INIT_MEMBER(metlfrzr_state, metlfrzr)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
GAME( 1989, metlfrzr, 0, metlfrzr, metlfrzr, metlfrzr_state, metlfrzr, ROT270, "Seibu", "Metal Freezer", MACHINE_NO_COCKTAIL )
|
GAME( 1989, metlfrzr, 0, metlfrzr, metlfrzr, metlfrzr_state, metlfrzr, ROT270, "Seibu", "Metal Freezer", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NO_COCKTAIL )
|
||||||
|
Loading…
Reference in New Issue
Block a user