summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/hegenerglaser/amsterdam.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/hegenerglaser/amsterdam.cpp')
-rw-r--r--src/mame/hegenerglaser/amsterdam.cpp45
1 files changed, 20 insertions, 25 deletions
diff --git a/src/mame/hegenerglaser/amsterdam.cpp b/src/mame/hegenerglaser/amsterdam.cpp
index 740ec49e5f1..8896119eee3 100644
--- a/src/mame/hegenerglaser/amsterdam.cpp
+++ b/src/mame/hegenerglaser/amsterdam.cpp
@@ -15,7 +15,8 @@ Dallas 68020:
- rest is similar to 16-bit version
TODO:
-- waitstates, same as glasgow.cpp
+- does it have DTACK wait states? surely the PCB supports LDS/UDS wait states
+ just like Glasgow, but it's probably disabled due to faster EPROMs
*******************************************************************************/
@@ -58,34 +59,31 @@ private:
required_device<cpu_device> m_maincpu;
required_device<mephisto_board_device> m_board;
required_device<mephisto_display1_device> m_display;
- required_device<dac_bit_interface> m_dac;
+ required_device<dac_1bit_device> m_dac;
required_ioport_array<2> m_keys;
required_ioport m_reset;
- void amsterd_mem(address_map &map);
- void dallas32_mem(address_map &map);
+ void amsterd_mem(address_map &map) ATTR_COLD;
+ void dallas32_mem(address_map &map) ATTR_COLD;
void led_w(offs_t offset, u8 data);
void dac_w(u8 data);
u8 keys_r();
};
+
+
+/*******************************************************************************
+ I/O
+*******************************************************************************/
+
INPUT_CHANGED_MEMBER(amsterdam_state::reset_button)
{
// RES buttons in serial tied to CPU RESET
if (m_reset->read() == 3)
- {
m_maincpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero);
- m_display->reset();
- }
}
-
-
-/*******************************************************************************
- I/O
-*******************************************************************************/
-
void amsterdam_state::led_w(offs_t offset, u8 data)
{
// d0-d7: board leds
@@ -147,7 +145,7 @@ void amsterdam_state::dallas32_mem(address_map &map)
static INPUT_PORTS_START( amsterdam )
PORT_START("KEY.0")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("INFO") PORT_CODE(KEYCODE_I)
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("POS") PORT_CODE(KEYCODE_O)
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("POS") PORT_CODE(KEYCODE_P)
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("LEV") PORT_CODE(KEYCODE_L)
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("MEM") PORT_CODE(KEYCODE_M)
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("CL") PORT_CODE(KEYCODE_BACKSPACE) PORT_CODE(KEYCODE_DEL)
@@ -166,11 +164,8 @@ static INPUT_PORTS_START( amsterdam )
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Right / White / 0") PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_0_PAD) PORT_CODE(KEYCODE_RIGHT)
PORT_START("RESET")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RES 1") PORT_CODE(KEYCODE_Z) PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, amsterdam_state, reset_button, 0)
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RES 2") PORT_CODE(KEYCODE_X) PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, amsterdam_state, reset_button, 0)
-
- PORT_START("CLICKABLE") // helper for clickable artwork
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RES 1") PORT_CODE(KEYCODE_Z) PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, FUNC(amsterdam_state::reset_button), 0)
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RES 2") PORT_CODE(KEYCODE_X) PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, FUNC(amsterdam_state::reset_button), 0)
INPUT_PORTS_END
@@ -258,11 +253,11 @@ ROM_END
*******************************************************************************/
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS
-SYST( 1985, amsterd, 0, 0, amsterdam, amsterdam, amsterdam_state, empty_init, "Hegener + Glaser", "Mephisto Amsterdam", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+SYST( 1985, amsterd, 0, 0, amsterdam, amsterdam, amsterdam_state, empty_init, "Hegener + Glaser", "Mephisto Amsterdam", MACHINE_SUPPORTS_SAVE )
-SYST( 1986, dallas32, 0, 0, dallas32, amsterdam, amsterdam_state, empty_init, "Hegener + Glaser", "Mephisto Dallas 68020 (set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
-SYST( 1986, dallas32a, dallas32, 0, dallas32, amsterdam, amsterdam_state, empty_init, "Hegener + Glaser", "Mephisto Dallas 68020 (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
-SYST( 1986, dallas16, dallas32, 0, amsterdam, amsterdam, amsterdam_state, empty_init, "Hegener + Glaser", "Mephisto Dallas 68000", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+SYST( 1986, dallas32, 0, 0, dallas32, amsterdam, amsterdam_state, empty_init, "Hegener + Glaser", "Mephisto Dallas 68020 (set 1)", MACHINE_SUPPORTS_SAVE )
+SYST( 1986, dallas32a, dallas32, 0, dallas32, amsterdam, amsterdam_state, empty_init, "Hegener + Glaser", "Mephisto Dallas 68020 (set 2)", MACHINE_SUPPORTS_SAVE )
+SYST( 1986, dallas16, dallas32, 0, amsterdam, amsterdam, amsterdam_state, empty_init, "Hegener + Glaser", "Mephisto Dallas 68000", MACHINE_SUPPORTS_SAVE )
-SYST( 1987, roma32, 0, 0, dallas32, amsterdam, amsterdam_state, empty_init, "Hegener + Glaser", "Mephisto Roma 68020", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
-SYST( 1987, roma16, roma32, 0, amsterdam, amsterdam, amsterdam_state, empty_init, "Hegener + Glaser", "Mephisto Roma 68000", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+SYST( 1987, roma32, 0, 0, dallas32, amsterdam, amsterdam_state, empty_init, "Hegener + Glaser", "Mephisto Roma 68020", MACHINE_SUPPORTS_SAVE )
+SYST( 1987, roma16, roma32, 0, amsterdam, amsterdam, amsterdam_state, empty_init, "Hegener + Glaser", "Mephisto Roma 68000", MACHINE_SUPPORTS_SAVE )