diff options
Diffstat (limited to 'src/mame/drivers/epic14e.cpp')
-rw-r--r-- | src/mame/drivers/epic14e.cpp | 180 |
1 files changed, 94 insertions, 86 deletions
diff --git a/src/mame/drivers/epic14e.cpp b/src/mame/drivers/epic14e.cpp index 49266cf35a7..e528550e24f 100644 --- a/src/mame/drivers/epic14e.cpp +++ b/src/mame/drivers/epic14e.cpp @@ -12,6 +12,7 @@ #include "emu.h" //#include "bus/rs232/rs232.h" #include "cpu/m6502/m6502.h" +#include "cpu/mcs48/mcs48.h" #include "machine/input_merger.h" #include "machine/6522via.h" #include "machine/mos6551.h" @@ -100,98 +101,99 @@ void epic14e_state::attr_map(address_map &map) static INPUT_PORTS_START(epic14e) PORT_START("DSW1") - PORT_DIPNAME(0x001, 0x001, DEF_STR(Unknown)) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING(0x001, DEF_STR(Off)) - PORT_DIPSETTING(0x000, DEF_STR(On)) - PORT_DIPNAME(0x002, 0x002, DEF_STR(Unknown)) PORT_DIPLOCATION("SW1:2") - PORT_DIPSETTING(0x002, DEF_STR(Off)) - PORT_DIPSETTING(0x000, DEF_STR(On)) - PORT_DIPNAME(0x004, 0x004, DEF_STR(Unknown)) PORT_DIPLOCATION("SW1:3") - PORT_DIPSETTING(0x004, DEF_STR(Off)) - PORT_DIPSETTING(0x000, DEF_STR(On)) - PORT_DIPNAME(0x008, 0x008, DEF_STR(Unknown)) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING(0x008, DEF_STR(Off)) - PORT_DIPSETTING(0x000, DEF_STR(On)) - PORT_DIPNAME(0x010, 0x010, DEF_STR(Unknown)) PORT_DIPLOCATION("SW1:5") - PORT_DIPSETTING(0x010, DEF_STR(Off)) - PORT_DIPSETTING(0x000, DEF_STR(On)) - PORT_DIPNAME(0x020, 0x020, DEF_STR(Unknown)) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING(0x020, DEF_STR(Off)) - PORT_DIPSETTING(0x000, DEF_STR(On)) - PORT_DIPNAME(0x040, 0x040, DEF_STR(Unknown)) PORT_DIPLOCATION("SW1:7") - PORT_DIPSETTING(0x040, DEF_STR(Off)) - PORT_DIPSETTING(0x000, DEF_STR(On)) - PORT_DIPNAME(0x080, 0x080, DEF_STR(Unknown)) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING(0x080, DEF_STR(Off)) - PORT_DIPSETTING(0x000, DEF_STR(On)) - PORT_DIPNAME(0x100, 0x100, DEF_STR(Unknown)) PORT_DIPLOCATION("SW1:9") - PORT_DIPSETTING(0x100, DEF_STR(Off)) - PORT_DIPSETTING(0x000, DEF_STR(On)) - PORT_DIPNAME(0x200, 0x200, DEF_STR(Unknown)) PORT_DIPLOCATION("SW1:10") - PORT_DIPSETTING(0x200, DEF_STR(Off)) - PORT_DIPSETTING(0x000, DEF_STR(On)) + PORT_DIPNAME(0x001, 0x001, "Modem Stop Bits") PORT_DIPLOCATION("SW1:1") + PORT_DIPSETTING(0x001, "1") + PORT_DIPSETTING(0x000, "2") + PORT_DIPNAME(0x002, 0x002, "Modem Data Bits") PORT_DIPLOCATION("SW1:2") + PORT_DIPSETTING(0x000, "7") + PORT_DIPSETTING(0x002, "8") + PORT_DIPNAME(0x004, 0x004, "Modem Protocol") PORT_DIPLOCATION("SW1:3") + PORT_DIPSETTING(0x004, "X-ON/X-OFF") + PORT_DIPSETTING(0x000, "CTS") + PORT_DIPNAME(0x078, 0x040, "Modem Baud Rate") PORT_DIPLOCATION("SW1:4,5,6,7") + PORT_DIPSETTING(0x038, "50") + PORT_DIPSETTING(0x058, "75") + PORT_DIPSETTING(0x018, "110") + PORT_DIPSETTING(0x068, "135") + PORT_DIPSETTING(0x028, "150") + PORT_DIPSETTING(0x048, "300") + PORT_DIPSETTING(0x008, "600") + PORT_DIPSETTING(0x070, "1200") + PORT_DIPSETTING(0x030, "1800") + PORT_DIPSETTING(0x050, "2400") + PORT_DIPSETTING(0x010, "3600") + PORT_DIPSETTING(0x060, "4800") + PORT_DIPSETTING(0x020, "7200") + PORT_DIPSETTING(0x040, "9600") + PORT_DIPSETTING(0x000, "19200") + PORT_DIPNAME(0x380, 0x380, "Modem Parity") PORT_DIPLOCATION("SW1:8,9,10") + PORT_DIPSETTING(0x380, "Disable") + PORT_DIPSETTING(0x180, "Odd") + PORT_DIPSETTING(0x080, "Even") + PORT_DIPSETTING(0x100, "Mark") + PORT_DIPSETTING(0x000, "Space") PORT_START("DSW2") - PORT_DIPNAME(0x001, 0x001, DEF_STR(Unknown)) PORT_DIPLOCATION("SW2:1") - PORT_DIPSETTING(0x001, DEF_STR(Off)) - PORT_DIPSETTING(0x000, DEF_STR(On)) - PORT_DIPNAME(0x002, 0x002, DEF_STR(Unknown)) PORT_DIPLOCATION("SW2:2") - PORT_DIPSETTING(0x002, DEF_STR(Off)) - PORT_DIPSETTING(0x000, DEF_STR(On)) - PORT_DIPNAME(0x004, 0x004, DEF_STR(Unknown)) PORT_DIPLOCATION("SW2:3") - PORT_DIPSETTING(0x004, DEF_STR(Off)) - PORT_DIPSETTING(0x000, DEF_STR(On)) - PORT_DIPNAME(0x008, 0x008, DEF_STR(Unknown)) PORT_DIPLOCATION("SW2:4") - PORT_DIPSETTING(0x008, DEF_STR(Off)) - PORT_DIPSETTING(0x000, DEF_STR(On)) - PORT_DIPNAME(0x010, 0x010, DEF_STR(Unknown)) PORT_DIPLOCATION("SW2:5") - PORT_DIPSETTING(0x010, DEF_STR(Off)) - PORT_DIPSETTING(0x000, DEF_STR(On)) - PORT_DIPNAME(0x020, 0x020, DEF_STR(Unknown)) PORT_DIPLOCATION("SW2:6") - PORT_DIPSETTING(0x020, DEF_STR(Off)) - PORT_DIPSETTING(0x000, DEF_STR(On)) - PORT_DIPNAME(0x040, 0x040, DEF_STR(Unknown)) PORT_DIPLOCATION("SW2:7") - PORT_DIPSETTING(0x040, DEF_STR(Off)) - PORT_DIPSETTING(0x000, DEF_STR(On)) - PORT_DIPNAME(0x080, 0x080, DEF_STR(Unknown)) PORT_DIPLOCATION("SW2:8") - PORT_DIPSETTING(0x080, DEF_STR(Off)) - PORT_DIPSETTING(0x000, DEF_STR(On)) - PORT_DIPNAME(0x100, 0x100, DEF_STR(Unknown)) PORT_DIPLOCATION("SW2:9") - PORT_DIPSETTING(0x100, DEF_STR(Off)) - PORT_DIPSETTING(0x000, DEF_STR(On)) - PORT_DIPNAME(0x200, 0x200, DEF_STR(Unknown)) PORT_DIPLOCATION("SW2:10") - PORT_DIPSETTING(0x200, DEF_STR(Off)) - PORT_DIPSETTING(0x000, DEF_STR(On)) + PORT_DIPNAME(0x001, 0x001, "Auxiliary Stop Bits") PORT_DIPLOCATION("SW2:1") + PORT_DIPSETTING(0x001, "1") + PORT_DIPSETTING(0x000, "2") + PORT_DIPNAME(0x002, 0x002, "Auxiliary Data Bits") PORT_DIPLOCATION("SW2:2") + PORT_DIPSETTING(0x000, "7") + PORT_DIPSETTING(0x002, "8") + PORT_DIPNAME(0x004, 0x004, "Auxiliary Protocol") PORT_DIPLOCATION("SW2:3") + PORT_DIPSETTING(0x004, "X-ON/X-OFF") + PORT_DIPSETTING(0x000, "DTR") + PORT_DIPNAME(0x078, 0x040, "Auxiliary Baud Rate") PORT_DIPLOCATION("SW1:4,5,6,7") + PORT_DIPSETTING(0x038, "50") + PORT_DIPSETTING(0x058, "75") + PORT_DIPSETTING(0x018, "110") + PORT_DIPSETTING(0x068, "135") + PORT_DIPSETTING(0x028, "150") + PORT_DIPSETTING(0x048, "300") + PORT_DIPSETTING(0x008, "600") + PORT_DIPSETTING(0x070, "1200") + PORT_DIPSETTING(0x030, "1800") + PORT_DIPSETTING(0x050, "2400") + PORT_DIPSETTING(0x010, "3600") + PORT_DIPSETTING(0x060, "4800") + PORT_DIPSETTING(0x020, "7200") + PORT_DIPSETTING(0x040, "9600") + PORT_DIPSETTING(0x000, "19200") + PORT_DIPNAME(0x380, 0x380, "Auxiliary Parity") PORT_DIPLOCATION("SW2:8,9,10") + PORT_DIPSETTING(0x380, "Disable") + PORT_DIPSETTING(0x180, "Odd") + PORT_DIPSETTING(0x080, "Even") + PORT_DIPSETTING(0x100, "Mark") + PORT_DIPSETTING(0x000, "Space") PORT_START("DSW3") - PORT_DIPNAME(0x001, 0x001, DEF_STR(Unknown)) PORT_DIPLOCATION("SW3:1") - PORT_DIPSETTING(0x001, DEF_STR(Off)) - PORT_DIPSETTING(0x000, DEF_STR(On)) - PORT_DIPNAME(0x002, 0x002, DEF_STR(Unknown)) PORT_DIPLOCATION("SW3:2") - PORT_DIPSETTING(0x002, DEF_STR(Off)) - PORT_DIPSETTING(0x000, DEF_STR(On)) - PORT_DIPNAME(0x004, 0x004, DEF_STR(Unknown)) PORT_DIPLOCATION("SW3:3") - PORT_DIPSETTING(0x004, DEF_STR(Off)) - PORT_DIPSETTING(0x000, DEF_STR(On)) - PORT_DIPNAME(0x008, 0x008, DEF_STR(Unknown)) PORT_DIPLOCATION("SW3:4") + PORT_DIPNAME(0x003, 0x003, "Communications Mode") PORT_DIPLOCATION("SW3:1,2") + PORT_DIPSETTING(0x003, "Full Duplex") + PORT_DIPSETTING(0x001, "Half Duplex") + PORT_DIPSETTING(0x002, "Block") + PORT_DIPSETTING(0x000, "Local") + PORT_DIPNAME(0x004, 0x004, "Screen Mode") PORT_DIPLOCATION("SW3:3") + PORT_DIPSETTING(0x004, "Green on Black") + PORT_DIPSETTING(0x000, "Black on Green") + PORT_DIPNAME(0x008, 0x008, "Key Click") PORT_DIPLOCATION("SW3:4") PORT_DIPSETTING(0x008, DEF_STR(Off)) PORT_DIPSETTING(0x000, DEF_STR(On)) - PORT_DIPNAME(0x010, 0x010, DEF_STR(Unknown)) PORT_DIPLOCATION("SW3:5") - PORT_DIPSETTING(0x010, DEF_STR(Off)) - PORT_DIPSETTING(0x000, DEF_STR(On)) - PORT_DIPNAME(0x020, 0x020, DEF_STR(Unknown)) PORT_DIPLOCATION("SW3:6") - PORT_DIPSETTING(0x020, DEF_STR(Off)) - PORT_DIPSETTING(0x000, DEF_STR(On)) - PORT_DIPNAME(0x040, 0x040, DEF_STR(Unknown)) PORT_DIPLOCATION("SW3:7") - PORT_DIPSETTING(0x040, DEF_STR(Off)) - PORT_DIPSETTING(0x000, DEF_STR(On)) - PORT_DIPNAME(0x080, 0x080, DEF_STR(Unknown)) PORT_DIPLOCATION("SW3:8") - PORT_DIPSETTING(0x080, DEF_STR(Off)) - PORT_DIPSETTING(0x000, DEF_STR(On)) - PORT_DIPNAME(0x100, 0x100, DEF_STR(Unknown)) PORT_DIPLOCATION("SW3:9") - PORT_DIPSETTING(0x100, DEF_STR(Off)) - PORT_DIPSETTING(0x000, DEF_STR(On)) - PORT_DIPNAME(0x200, 0x200, DEF_STR(Unknown)) PORT_DIPLOCATION("SW3:10") + PORT_DIPNAME(0x010, 0x010, "Screen Refresh") PORT_DIPLOCATION("SW3:5") + PORT_DIPSETTING(0x000, "50 Hz") + PORT_DIPSETTING(0x010, "60 Hz") + PORT_DIPNAME(0x020, 0x020, "Terminal Emulation") PORT_DIPLOCATION("SW3:6") + PORT_DIPSETTING(0x020, "Epic 14E") + PORT_DIPSETTING(0x000, "Other") + PORT_DIPNAME(0x040, 0x040, "Page/Line Attributes") PORT_DIPLOCATION("SW3:7") + PORT_DIPSETTING(0x040, "Page") + PORT_DIPSETTING(0x000, "Line") + PORT_DIPNAME(0x080, 0x080, "Edit Keys") PORT_DIPLOCATION("SW3:8") + PORT_DIPSETTING(0x080, "Transmitted") + PORT_DIPSETTING(0x000, "Local") + PORT_DIPNAME(0x100, 0x100, "Return Key") PORT_DIPLOCATION("SW3:9") + PORT_DIPSETTING(0x100, "CR") + PORT_DIPSETTING(0x000, "CR/LF") + PORT_DIPNAME(0x200, 0x200, "CRT Saver") PORT_DIPLOCATION("SW3:10") PORT_DIPSETTING(0x200, DEF_STR(Off)) PORT_DIPSETTING(0x000, DEF_STR(On)) INPUT_PORTS_END @@ -207,7 +209,10 @@ void epic14e_state::epic14e(machine_config &config) VIA6522(config, m_via, 17.01_MHz_XTAL / 9); // SY6522A m_via->irq_handler().set("mainirq", FUNC(input_merger_device::in_w<0>)); + I8748(config, "keybmcu", 4608000).set_disable(); + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_color(rgb_t::green()); screen.set_raw(17.01_MHz_XTAL, 900, 0, 720, 315, 0, 300); screen.set_screen_update("pvtc", FUNC(scn2672_device::screen_update)); @@ -240,6 +245,9 @@ ROM_START(epic14e) ROM_REGION(0x1000, "chargen", 0) ROM_LOAD("u24.bin", 0x0000, 0x1000, CRC(da409f03) SHA1(5a90a6b865dad20dc3f455448670b4f5baa55028)) + + ROM_REGION(0x0400, "keybmcu", 0) + ROM_LOAD("246.bin", 0x0000, 0x0400, NO_DUMP) ROM_END |