From 95a30976caa80c86cc241dbb4b9a0ec8f8544c0a Mon Sep 17 00:00:00 2001 From: Nigel Barnes Date: Mon, 22 Apr 2019 17:26:34 +0100 Subject: dragon.cpp: Fixed cursor keys in Natural keyboard mode. --- src/mame/drivers/dragon.cpp | 50 ++++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/src/mame/drivers/dragon.cpp b/src/mame/drivers/dragon.cpp index c336b62b628..b096c5563a9 100644 --- a/src/mame/drivers/dragon.cpp +++ b/src/mame/drivers/dragon.cpp @@ -111,10 +111,10 @@ static INPUT_PORTS_START( dragon_keyboard ) PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, keyboard_changed, nullptr) PORT_CODE(KEYCODE_X) PORT_CHAR('X') PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, keyboard_changed, nullptr) PORT_CODE(KEYCODE_Y) PORT_CHAR('Y') PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, keyboard_changed, nullptr) PORT_CODE(KEYCODE_Z) PORT_CHAR('Z') - PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, keyboard_changed, nullptr) PORT_NAME("UP") PORT_CODE(KEYCODE_UP) PORT_CHAR('^') - PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, keyboard_changed, nullptr) PORT_NAME("DOWN") PORT_CODE(KEYCODE_DOWN) PORT_CHAR(10) - PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, keyboard_changed, nullptr) PORT_NAME("LEFT") PORT_CODE(KEYCODE_LEFT) PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(8) - PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, keyboard_changed, nullptr) PORT_NAME("RIGHT") PORT_CODE(KEYCODE_RIGHT) PORT_CHAR(9) + PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, keyboard_changed, nullptr) PORT_NAME("UP") PORT_CODE(KEYCODE_UP) PORT_CHAR(UCHAR_MAMEKEY(UP), '^') + PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, keyboard_changed, nullptr) PORT_NAME("DOWN") PORT_CODE(KEYCODE_DOWN) PORT_CHAR(UCHAR_MAMEKEY(DOWN), 10) + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, keyboard_changed, nullptr) PORT_NAME("LEFT") PORT_CODE(KEYCODE_LEFT) PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(UCHAR_MAMEKEY(LEFT), 8) + PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, keyboard_changed, nullptr) PORT_NAME("RIGHT") PORT_CODE(KEYCODE_RIGHT) PORT_CHAR(UCHAR_MAMEKEY(RIGHT), 9) PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, keyboard_changed, nullptr) PORT_NAME("SPACE") PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ') PORT_START("row6") @@ -165,16 +165,16 @@ MC6847_GET_CHARROM_MEMBER( dragon200e_state::char_rom_r ) } void dragon_cart(device_slot_interface &device) -{ - device.option_add("dragon_fdc", DRAGON_FDC); - device.option_add("premier_fdc", PREMIER_FDC); - device.option_add("sdtandy_fdc", SDTANDY_FDC); - device.option_add("jcbsnd", DRAGON_JCBSND); - device.option_add("ssc", COCO_SSC); - device.option_add("orch90", COCO_ORCH90); - device.option_add("gmc", COCO_PAK_GMC); - device.option_add("pak", COCO_PAK); -} + { + device.option_add("dragon_fdc", DRAGON_FDC); + device.option_add("premier_fdc", PREMIER_FDC); + device.option_add("sdtandy_fdc", SDTANDY_FDC); + device.option_add("jcbsnd", DRAGON_JCBSND); + device.option_add("ssc", COCO_SSC); + device.option_add("orch90", COCO_ORCH90); + device.option_add("gmc", COCO_PAK_GMC); + device.option_add("pak", COCO_PAK); + } FLOPPY_FORMATS_MEMBER( dragon_alpha_state::dragon_formats ) FLOPPY_VDK_FORMAT, @@ -332,7 +332,7 @@ void dragon_alpha_state::dgnalpha(machine_config &config) acia.set_xtal(1.8432_MHz_XTAL); // floppy - WD2797(config, m_fdc, 1_MHz_XTAL); + WD2797(config, m_fdc, 4_MHz_XTAL/4); m_fdc->intrq_wr_callback().set(FUNC(dragon_alpha_state::fdc_intrq_w)); m_fdc->drq_wr_callback().set(FUNC(dragon_alpha_state::fdc_drq_w)); @@ -342,7 +342,7 @@ void dragon_alpha_state::dgnalpha(machine_config &config) FLOPPY_CONNECTOR(config, WD2797_TAG ":3", dragon_alpha_floppies, nullptr, dragon_alpha_state::dragon_formats).enable_sound(true); // sound hardware - ay8912_device &ay8912(AY8912(config, AY8912_TAG, 1000000)); + ay8912_device &ay8912(AY8912(config, AY8912_TAG, 4_MHz_XTAL/4)); ay8912.port_a_read_callback().set(FUNC(dragon_alpha_state::psg_porta_read)); ay8912.port_a_write_callback().set(FUNC(dragon_alpha_state::psg_porta_write)); ay8912.add_route(ALL_OUTPUTS, "speaker", 0.75); @@ -447,12 +447,12 @@ ROM_END #define rom_tanodr64h rom_tanodr64 // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -COMP( 1982, dragon32, 0, 0, dragon32, dragon, dragon_state, empty_init, "Dragon Data Ltd", "Dragon 32", 0 ) -COMP( 1983, dragon64, dragon32, 0, dragon64, dragon, dragon64_state, empty_init, "Dragon Data Ltd", "Dragon 64", 0 ) -COMP( 19??, dragon64h, dragon32, 0, dragon64h, dragon, dragon64_state, empty_init, "Dragon Data Ltd", "Dragon 64 (HD6309E CPU)", MACHINE_UNOFFICIAL ) -COMP( 1985, dragon200, dragon32, 0, dragon64, dragon, dragon64_state, empty_init, "Eurohard S.A.", "Dragon 200", 0 ) -COMP( 1985, dragon200e, dragon32, 0, dragon200e, dragon200e, dragon200e_state, empty_init, "Eurohard S.A.", "Dragon 200-E", MACHINE_NOT_WORKING ) -COMP( 1985, d64plus, dragon32, 0, d64plus, dragon, d64plus_state, empty_init, "Dragon Data Ltd / Compusense", "Dragon 64 Plus", 0 ) -COMP( 1983, tanodr64, dragon32, 0, tanodr64, dragon, dragon64_state, empty_init, "Dragon Data Ltd / Tano Ltd", "Tano Dragon 64 (NTSC)", 0 ) -COMP( 19??, tanodr64h, dragon32, 0, tanodr64h, dragon, dragon64_state, empty_init, "Dragon Data Ltd / Tano Ltd", "Tano Dragon 64 (NTSC; HD6309E CPU)", MACHINE_UNOFFICIAL ) -COMP( 1984, dgnalpha, dragon32, 0, dgnalpha, dragon, dragon_alpha_state, empty_init, "Dragon Data Ltd", "Dragon Professional (Alpha)", 0 ) +COMP( 1982, dragon32, 0, 0, dragon32, dragon, dragon_state, empty_init, "Dragon Data Ltd", "Dragon 32", 0 ) +COMP( 1983, dragon64, dragon32, 0, dragon64, dragon, dragon64_state, empty_init, "Dragon Data Ltd", "Dragon 64", 0 ) +COMP( 19??, dragon64h, dragon32, 0, dragon64h, dragon, dragon64_state, empty_init, "Dragon Data Ltd", "Dragon 64 (HD6309E CPU)", MACHINE_UNOFFICIAL ) +COMP( 1985, dragon200, dragon32, 0, dragon64, dragon, dragon64_state, empty_init, "Eurohard S.A.", "Dragon 200", 0 ) +COMP( 1985, dragon200e, dragon32, 0, dragon200e, dragon200e, dragon200e_state, empty_init, "Eurohard S.A.", "Dragon 200-E", MACHINE_NOT_WORKING ) +COMP( 1985, d64plus, dragon32, 0, d64plus, dragon, d64plus_state, empty_init, "Dragon Data Ltd / Compusense", "Dragon 64 Plus", 0 ) +COMP( 1983, tanodr64, dragon32, 0, tanodr64, dragon, dragon64_state, empty_init, "Dragon Data Ltd / Tano Ltd", "Tano Dragon 64 (NTSC)", 0 ) +COMP( 19??, tanodr64h, dragon32, 0, tanodr64h, dragon, dragon64_state, empty_init, "Dragon Data Ltd / Tano Ltd", "Tano Dragon 64 (NTSC; HD6309E)", MACHINE_UNOFFICIAL ) +COMP( 1984, dgnalpha, dragon32, 0, dgnalpha, dragon, dragon_alpha_state, empty_init, "Dragon Data Ltd", "Dragon Professional (Alpha)", 0 ) -- cgit v1.2.3