📄 segar.c
字号:
PORT_BITX(0x10, IP_ACTIVE_LOW, IPT_BUTTON2, "Warp", IP_KEY_DEFAULT, IP_JOY_DEFAULT, 0 )
PORT_BITX(0x20, IP_ACTIVE_LOW, IPT_BUTTON1, "Fire", IP_KEY_DEFAULT, IP_JOY_DEFAULT, 0 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START /* IN4 */
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BITX(0x10, IP_ACTIVE_HIGH, IPT_BUTTON2 | IPF_COCKTAIL, "Warp", IP_KEY_DEFAULT, IP_JOY_DEFAULT, 0 )
PORT_BITX(0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_COCKTAIL, "Fire", IP_KEY_DEFAULT, IP_JOY_DEFAULT, 0 )
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_COCKTAIL)
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT | IPF_COCKTAIL)
PORT_START /* FAKE */
/* This fake input port is used to get the status of the F2 key, */
/* and activate the test mode, which is triggered by a NMI */
PORT_BITX(0x01, IP_ACTIVE_HIGH, IPT_SERVICE, "Service Mode", OSD_KEY_F2, IP_JOY_NONE, 0 )
PORT_START /* FAKE */
/* This fake input port is used for DIP Switch 1 */
PORT_DIPNAME( 0x20, 0x20, "Orientation", IP_KEY_NONE )
PORT_DIPSETTING( 0x20, "Upright" )
PORT_DIPSETTING( 0x00, "Cocktail" )
PORT_DIPNAME( 0xC0, 0xC0, "Number of Ships", IP_KEY_NONE )
PORT_DIPSETTING( 0xC0, "5 Ships" )
PORT_DIPSETTING( 0x40, "4 Ships" )
PORT_DIPSETTING( 0x80, "3 Ships" )
PORT_DIPSETTING( 0x00, "2 Ships" )
PORT_START /* FAKE */
/* This fake input port is used for DIP Switch 2 */
PORT_DIPNAME( 0x0F, 0x0C, "Coins/Credits (R)", IP_KEY_NONE )
PORT_DIPSETTING( 0x00, "4 / 1" )
PORT_DIPSETTING( 0x08, "3 / 1" )
PORT_DIPSETTING( 0x04, "2 / 1" )
PORT_DIPSETTING( 0x0C, "1 / 1" )
PORT_DIPSETTING( 0x02, "1 / 2" )
PORT_DIPSETTING( 0x0A, "1 / 3" )
PORT_DIPSETTING( 0x06, "1 / 4" )
PORT_DIPSETTING( 0x0E, "1 / 5" )
PORT_DIPSETTING( 0x01, "1 / 6" )
PORT_DIPSETTING( 0x09, "2/4/5 / 1/2/3" )
PORT_DIPSETTING( 0x05, "2/4 / 1/3" )
PORT_DIPSETTING( 0x0D, "1/2/3/4/5 / 1/2/3/4/6" )
PORT_DIPSETTING( 0x03, "1/2/3/4 / 1/2/3/5" )
PORT_DIPSETTING( 0x0B, "1/2 / 1/3" )
PORT_DIPSETTING( 0x07, "1/2/3/4/5 / 2/4/6/8/11" )
PORT_DIPSETTING( 0x0F, "1/2/3/4 / 2/4/6/9" )
PORT_DIPNAME( 0xF0, 0xC0, "Coins/Credits (L)", IP_KEY_NONE )
PORT_DIPSETTING( 0x00, "4 / 1" )
PORT_DIPSETTING( 0x80, "3 / 1" )
PORT_DIPSETTING( 0x40, "2 / 1" )
PORT_DIPSETTING( 0xC0, "1 / 1" )
PORT_DIPSETTING( 0x20, "1 / 2" )
PORT_DIPSETTING( 0xA0, "1 / 3" )
PORT_DIPSETTING( 0x60, "1 / 4" )
PORT_DIPSETTING( 0xE0, "1 / 5" )
PORT_DIPSETTING( 0x10, "1 / 6" )
PORT_DIPSETTING( 0x90, "2/4/5 / 1/2/3" )
PORT_DIPSETTING( 0x50, "2/4 / 1/3" )
PORT_DIPSETTING( 0xD0, "1/2/3/4/5 / 1/2/3/4/6" )
PORT_DIPSETTING( 0x30, "1/2/3/4 / 1/2/3/5" )
PORT_DIPSETTING( 0xB0, "1/2 / 1/3" )
PORT_DIPSETTING( 0x70, "1/2/3/4/5 / 2/4/6/8/11" )
PORT_DIPSETTING( 0xF0, "1/2/3/4 / 2/4/6/9" )
INPUT_PORTS_END
INPUT_PORTS_START( s005_input_ports )
PORT_START /* IN0 */
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN3 )
PORT_BITX(0x40, IP_ACTIVE_LOW, IPT_COIN2 | IPF_IMPULSE,
IP_NAME_DEFAULT, IP_KEY_DEFAULT, IP_JOY_DEFAULT, 3 )
PORT_BITX(0x80, IP_ACTIVE_LOW, IPT_COIN1 | IPF_IMPULSE,
IP_NAME_DEFAULT, IP_KEY_DEFAULT, IP_JOY_DEFAULT, 3 )
PORT_START /* IN1 */
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START /* IN2 */
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START /* IN3 */
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START /* IN4 */
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP | IPF_COCKTAIL )
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN | IPF_COCKTAIL)
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_COCKTAIL)
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_COCKTAIL)
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT | IPF_COCKTAIL)
PORT_START /* FAKE */
/* This fake input port is used to get the status of the F2 key, */
/* and activate the test mode, which is triggered by a NMI */
PORT_BITX(0x01, IP_ACTIVE_HIGH, IPT_SERVICE, "Service Mode", OSD_KEY_F2, IP_JOY_NONE, 0 )
PORT_START /* FAKE */
/* This fake input port is used for DIP Switch 1 */
PORT_DIPNAME( 0x20, 0x20, "Orientation", IP_KEY_NONE )
PORT_DIPSETTING( 0x20, "Upright" )
PORT_DIPSETTING( 0x00, "Cocktail" )
PORT_DIPNAME( 0xC0, 0x40, "Lives", IP_KEY_NONE )
PORT_DIPSETTING( 0xC0, "6 Men" )
PORT_DIPSETTING( 0x80, "5 Men" )
PORT_DIPSETTING( 0x40, "4 Men" )
PORT_DIPSETTING( 0x00, "3 Men" )
PORT_START /* FAKE */
/* This fake input port is used for DIP Switch 2 */
PORT_DIPNAME( 0x0F, 0x0C, "Coins/Credits (R)", IP_KEY_NONE )
PORT_DIPSETTING( 0x00, "4 / 1" )
PORT_DIPSETTING( 0x08, "3 / 1" )
PORT_DIPSETTING( 0x04, "2 / 1" )
PORT_DIPSETTING( 0x0C, "1 / 1" )
PORT_DIPSETTING( 0x02, "1 / 2" )
PORT_DIPSETTING( 0x0A, "1 / 3" )
PORT_DIPSETTING( 0x06, "1 / 4" )
PORT_DIPSETTING( 0x0E, "1 / 5" )
PORT_DIPSETTING( 0x01, "1 / 6" )
PORT_DIPSETTING( 0x09, "2/4/5 / 1/2/3" )
PORT_DIPSETTING( 0x05, "2/4 / 1/3" )
PORT_DIPSETTING( 0x0D, "1/2/3/4/5 / 1/2/3/4/6" )
PORT_DIPSETTING( 0x03, "1/2/3/4 / 1/2/3/5" )
PORT_DIPSETTING( 0x0B, "1/2 / 1/3" )
PORT_DIPSETTING( 0x07, "1/2/3/4/5 / 2/4/6/8/11" )
PORT_DIPSETTING( 0x0F, "1/2/3/4 / 2/4/6/9" )
PORT_DIPNAME( 0xF0, 0xC0, "Coins/Credits (L)", IP_KEY_NONE )
PORT_DIPSETTING( 0x00, "4 / 1" )
PORT_DIPSETTING( 0x80, "3 / 1" )
PORT_DIPSETTING( 0x40, "2 / 1" )
PORT_DIPSETTING( 0xC0, "1 / 1" )
PORT_DIPSETTING( 0x20, "1 / 2" )
PORT_DIPSETTING( 0xA0, "1 / 3" )
PORT_DIPSETTING( 0x60, "1 / 4" )
PORT_DIPSETTING( 0xE0, "1 / 5" )
PORT_DIPSETTING( 0x10, "1 / 6" )
PORT_DIPSETTING( 0x90, "2/4/5 / 1/2/3" )
PORT_DIPSETTING( 0x50, "2/4 / 1/3" )
PORT_DIPSETTING( 0xD0, "1/2/3/4/5 / 1/2/3/4/6" )
PORT_DIPSETTING( 0x30, "1/2/3/4 / 1/2/3/5" )
PORT_DIPSETTING( 0xB0, "1/2 / 1/3" )
PORT_DIPSETTING( 0x70, "1/2/3/4/5 / 2/4/6/8/11" )
PORT_DIPSETTING( 0xF0, "1/2/3/4 / 2/4/6/9" )
INPUT_PORTS_END
INPUT_PORTS_START( monsterb_input_ports )
PORT_START /* IN0 */
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN3 )
PORT_BITX(0x40, IP_ACTIVE_LOW, IPT_COIN2 | IPF_IMPULSE,
IP_NAME_DEFAULT, IP_KEY_DEFAULT, IP_JOY_DEFAULT, 3 )
PORT_BITX(0x80, IP_ACTIVE_LOW, IPT_COIN1 | IPF_IMPULSE,
IP_NAME_DEFAULT, IP_KEY_DEFAULT, IP_JOY_DEFAULT, 3 )
PORT_START /* IN1 */
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START /* IN2 */
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START /* IN3 */
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
PORT_BITX(0x20, IP_ACTIVE_LOW, IPT_BUTTON1, "Zap", IP_KEY_DEFAULT, IP_JOY_DEFAULT, 0 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START /* IN4 */
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP | IPF_COCKTAIL )
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN | IPF_COCKTAIL)
PORT_BITX(0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_COCKTAIL, "Zap", IP_KEY_DEFAULT, IP_JOY_DEFAULT, 0 )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_COCKTAIL)
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT | IPF_COCKTAIL)
PORT_START /* FAKE */
/* This fake input port is used to get the status of the F2 key, */
/* and activate the test mode, which is triggered by a NMI */
PORT_BITX(0x01, IP_ACTIVE_HIGH, IPT_SERVICE, "Service Mode", OSD_KEY_F2, IP_JOY_NONE, 0 )
PORT_START /* FAKE */
/* This fake input port is used for DIP Switch 1 */
PORT_DIPNAME( 0x01, 0x01, "Game Mode", IP_KEY_NONE )
PORT_DIPSETTING( 0x01, "Normal" )
PORT_DIPSETTING( 0x00, "Endless" )
PORT_DIPNAME( 0x06, 0x02, "Bonus Life", IP_KEY_NONE )
PORT_DIPSETTING( 0x04, "10000" )
PORT_DIPSETTING( 0x02, "20000" )
PORT_DIPSETTING( 0x06, "40000" )
PORT_DIPSETTING( 0x00, "None" )
PORT_DIPNAME( 0x18, 0x08, "Difficulty", IP_KEY_NONE )
PORT_DIPSETTING( 0x00, "Easy" )
PORT_DIPSETTING( 0x08, "Medium" )
PORT_DIPSETTING( 0x10, "Hard" )
PORT_DIPSETTING( 0x18, "Hardest" )
PORT_DIPNAME( 0x20, 0x20, "Cabinet", IP_KEY_NONE )
PORT_DIPSETTING( 0x20, "Upright" )
PORT_DIPSETTING( 0x00, "Cocktail" )
PORT_DIPNAME( 0xC0, 0x40, "Lives", IP_KEY_NONE )
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x40, "4" )
PORT_DIPSETTING( 0x80, "5" )
PORT_DIPSETTING( 0xC0, "6" )
PORT_START /* FAKE */
/* This fake input port is used for DIP Switch 2 */
PORT_DIPNAME( 0x0F, 0x0C, "Coins/Credits (R)", IP_KEY_NONE )
PORT_DIPSETTING( 0x00, "4 / 1" )
PORT_DIPSETTING( 0x08, "3 / 1" )
PORT_DIPSETTING( 0x04, "2 / 1" )
PORT_DIPSETTING( 0x0C, "1 / 1" )
PORT_DIPSETTING( 0x02, "1 / 2" )
PORT_DIPSETTING( 0x0A, "1 / 3" )
PORT_DIPSETTING( 0x06, "1 / 4" )
PORT_DIPSETTING( 0x0E, "1 / 5" )
PORT_DIPSETTING( 0x01, "1 / 6" )
PORT_DIPSETTING( 0x09, "2/4/5 / 1/2/3" )
PORT_DIPSETTING( 0x05, "2/4 / 1/3" )
PORT_DIPSETTING( 0x0D, "1/2/3/4/5 / 1/2/3/4/6" )
PORT_DIPSETTING( 0x03, "1/2/3/4 / 1/2/3/5" )
PORT_DIPSETTING( 0x0B, "1/2 / 1/3" )
PORT_DIPSETTING( 0x07, "1/2/3/4/5 / 2/4/6/8/11" )
PORT_DIPSETTING( 0x0F, "1/2/3/4 / 2/4/6/9" )
PORT_DIPNAME( 0xF0, 0xC0, "Coins/Credits (L)", IP_KEY_NONE )
PORT_DIPSETTING( 0x00, "4 / 1" )
PORT_DIPSETTING( 0x80, "3 / 1" )
PORT_DIPSETTING( 0x40, "2 / 1" )
PORT_DIPSETTING( 0xC0, "1 / 1" )
PORT_DIPSETTING( 0x20, "1 / 2" )
PORT_DIPSETTING( 0xA0, "1 / 3" )
PORT_DIPSETTING( 0x60, "1 / 4" )
PORT_DIPSETTING( 0xE0, "1 / 5" )
PORT_DIPSETTING( 0x10, "1 / 6" )
PORT_DIPSETTING( 0x90, "2/4/5 / 1/2/3" )
PORT_DIPSETTING( 0x50, "2/4 / 1/3" )
PORT_DIPSETTING( 0xD0, "1/2/3/4/5 / 1/2/3/4/6" )
PORT_DIPSETTING( 0x30, "1/2/3/4 / 1/2/3/5" )
PORT_DIPSETTING( 0xB0, "1/2 / 1/3" )
PORT_DIPSETTING( 0x70, "1/2/3/4/5 / 2/4/6/8/11" )
PORT_DIPSETTING( 0xF0, "1/2/3/4 / 2/4/6/9" )
INPUT_PORTS_END
INPUT_PORTS_START( spaceod_input_ports )
PORT_START /* IN0 */
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN3 )
PORT_BITX(0x40, IP_ACTIVE_LOW, IPT_COIN2 | IPF_IMPULSE,
IP_NAME_DEFAULT, IP_KEY_DEFAULT, IP_JOY_DEFAULT, 3 )
PORT_BITX(0x80, IP_ACTIVE_LOW, IPT_COIN1 | IPF_IMPULSE,
IP_NAME_DEFAULT, IP_KEY_DEFAULT, IP_JOY_DEFAULT, 3 )
PORT_START /* IN1 */
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START /* IN2 */
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BITX(0x20, IP_ACTIVE_LOW, IPT_BUTTON2, "Bomb", IP_KEY_DEFAULT, IP_JOY_DEFAULT, 0 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START /* IN3 */
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START /* IN4 */
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -