summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/super80.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/super80.cpp')
-rw-r--r--src/mame/drivers/super80.cpp68
1 files changed, 27 insertions, 41 deletions
diff --git a/src/mame/drivers/super80.cpp b/src/mame/drivers/super80.cpp
index 901828b0b91..88c5b5041be 100644
--- a/src/mame/drivers/super80.cpp
+++ b/src/mame/drivers/super80.cpp
@@ -317,6 +317,26 @@ ADDRESS_MAP_END
/**************************** DIPSWITCHES, KEYBOARD, HARDWARE CONFIGURATION ****************************************/
+ /* Enhanced options not available on real hardware */
+static INPUT_PORTS_START( super80_cfg )
+ PORT_START("CONFIG")
+ PORT_CONFNAME( 0x01, 0x01, "Autorun on Quickload")
+ PORT_CONFSETTING( 0x00, DEF_STR(No))
+ PORT_CONFSETTING( 0x01, DEF_STR(Yes))
+ PORT_CONFNAME( 0x02, 0x02, "2 MHz always")
+ PORT_CONFSETTING( 0x02, DEF_STR(No))
+ PORT_CONFSETTING( 0x00, DEF_STR(Yes))
+ PORT_CONFNAME( 0x04, 0x04, "Screen on always")
+ PORT_CONFSETTING( 0x04, DEF_STR(No))
+ PORT_CONFSETTING( 0x00, DEF_STR(Yes))
+ PORT_CONFNAME( 0x08, 0x08, "Cassette Speaker")
+ PORT_CONFSETTING( 0x08, DEF_STR(On))
+ PORT_CONFSETTING( 0x00, DEF_STR(Off))
+ PORT_CONFNAME( 0x60, 0x40, "Colour")
+ PORT_CONFSETTING( 0x60, "White")
+ PORT_CONFSETTING( 0x40, "Green")
+INPUT_PORTS_END
+
static INPUT_PORTS_START( super80 )
PORT_START("DSW")
PORT_BIT( 0xf, 0xf, IPT_UNUSED )
@@ -405,21 +425,7 @@ static INPUT_PORTS_START( super80 )
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("0") PORT_CODE(KEYCODE_0) PORT_CHAR('0') PORT_CHAR(' ')
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("LOCK") PORT_CODE(KEYCODE_CAPSLOCK) PORT_CHAR(0x80) // port_char doesn't work, no equivalent key
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("(Up)") PORT_CODE(KEYCODE_UP) PORT_CHAR(UCHAR_MAMEKEY(UP))
-
- /* Enhanced options not available on real hardware */
- PORT_START("CONFIG")
- PORT_CONFNAME( 0x01, 0x01, "Autorun on Quickload")
- PORT_CONFSETTING( 0x00, DEF_STR(No))
- PORT_CONFSETTING( 0x01, DEF_STR(Yes))
- PORT_CONFNAME( 0x02, 0x02, "2 MHz always")
- PORT_CONFSETTING( 0x02, DEF_STR(No))
- PORT_CONFSETTING( 0x00, DEF_STR(Yes))
- PORT_CONFNAME( 0x04, 0x04, "Screen on always")
- PORT_CONFSETTING( 0x04, DEF_STR(No))
- PORT_CONFSETTING( 0x00, DEF_STR(Yes))
- PORT_CONFNAME( 0x08, 0x08, "Cassette Speaker")
- PORT_CONFSETTING( 0x08, DEF_STR(On))
- PORT_CONFSETTING( 0x00, DEF_STR(Off))
+ PORT_INCLUDE( super80_cfg )
INPUT_PORTS_END
static INPUT_PORTS_START( super80d )
@@ -510,21 +516,7 @@ static INPUT_PORTS_START( super80d )
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("0") PORT_CODE(KEYCODE_0) PORT_CHAR('0') PORT_CHAR(' ')
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("LOCK") PORT_CODE(KEYCODE_CAPSLOCK) PORT_CHAR(0x80) // port_char doesn't work, no equivalent key
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("(Up)") PORT_CODE(KEYCODE_UP) PORT_CHAR(UCHAR_MAMEKEY(UP))
-
- /* Enhanced options not available on real hardware */
- PORT_START("CONFIG")
- PORT_CONFNAME( 0x01, 0x01, "Autorun on Quickload")
- PORT_CONFSETTING( 0x00, DEF_STR(No))
- PORT_CONFSETTING( 0x01, DEF_STR(Yes))
- PORT_CONFNAME( 0x02, 0x02, "2 MHz always")
- PORT_CONFSETTING( 0x02, DEF_STR(No))
- PORT_CONFSETTING( 0x00, DEF_STR(Yes))
- PORT_CONFNAME( 0x04, 0x04, "Screen on always")
- PORT_CONFSETTING( 0x04, DEF_STR(No))
- PORT_CONFSETTING( 0x00, DEF_STR(Yes))
- PORT_CONFNAME( 0x08, 0x08, "Cassette Speaker")
- PORT_CONFSETTING( 0x08, DEF_STR(On))
- PORT_CONFSETTING( 0x00, DEF_STR(Off))
+ PORT_INCLUDE( super80_cfg )
INPUT_PORTS_END
static INPUT_PORTS_START( super80m )
@@ -537,7 +529,7 @@ static INPUT_PORTS_START( super80m )
PORT_CONFSETTING( 0x10, DEF_STR(No))
PORT_CONFSETTING( 0x00, DEF_STR(Yes))
PORT_CONFNAME( 0x60, 0x40, "Colour")
- PORT_CONFSETTING( 0x60, "MonoChrome")
+ PORT_CONFSETTING( 0x60, "White")
PORT_CONFSETTING( 0x40, "Green")
PORT_CONFSETTING( 0x00, "Composite")
PORT_CONFSETTING( 0x20, "RGB")
@@ -551,13 +543,10 @@ static INPUT_PORTS_START( super80v )
INPUT_PORTS_END
static INPUT_PORTS_START( super80r )
- PORT_INCLUDE( super80v )
+ PORT_INCLUDE( super80d )
PORT_MODIFY("CONFIG")
PORT_BIT( 0x16, 0x16, IPT_UNUSED )
- PORT_CONFNAME( 0x60, 0x40, "Colour")
- PORT_CONFSETTING( 0x60, "MonoChrome")
- PORT_CONFSETTING( 0x40, "Green")
INPUT_PORTS_END
@@ -701,13 +690,14 @@ static MACHINE_CONFIG_START( super80, super80_state )
MCFG_Z80PIO_OUT_PA_CB(WRITE8(super80_state, pio_port_a_w))
MCFG_Z80PIO_IN_PB_CB(READ8(super80_state,pio_port_b_r))
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green)
+ MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(48.8)
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(super80_state, screen_update_super80)
MCFG_SCREEN_PALETTE("palette")
- MCFG_PALETTE_ADD_MONOCHROME("palette")
+ MCFG_PALETTE_ADD("palette", 32)
+ MCFG_PALETTE_INIT_OWNER(super80_state,super80m)
MCFG_GFXDECODE_ADD("gfxdecode", "palette", super80)
MCFG_DEFAULT_LAYOUT( layout_super80 )
@@ -764,10 +754,6 @@ static MACHINE_CONFIG_DERIVED( super80m, super80 )
MCFG_GFXDECODE_MODIFY("gfxdecode", super80m)
- MCFG_PALETTE_MODIFY("palette")
- MCFG_PALETTE_ENTRIES(32)
- MCFG_PALETTE_INIT_OWNER(super80_state,super80m)
-
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(super80_state, screen_update_super80m)
MCFG_SCREEN_VBLANK_DRIVER(super80_state, screen_eof_super80m)