diff options
Diffstat (limited to 'src/mess')
| -rw-r--r-- | src/mess/drivers/bbc.c | 2 | ||||
| -rw-r--r-- | src/mess/drivers/crvision.c | 2 | ||||
| -rw-r--r-- | src/mess/drivers/hh_tms1k.c | 10 | ||||
| -rw-r--r-- | src/mess/drivers/hp64k.c | 692 | ||||
| -rw-r--r-- | src/mess/drivers/i7000.c | 66 | ||||
| -rw-r--r-- | src/mess/drivers/rc759.c | 38 | ||||
| -rw-r--r-- | src/mess/drivers/xerox820.c | 8 | ||||
| -rw-r--r-- | src/mess/machine/apricotkb_hle.c | 4 | ||||
| -rw-r--r-- | src/mess/machine/ti99/990_dk.h | 4 |
9 files changed, 413 insertions, 413 deletions
diff --git a/src/mess/drivers/bbc.c b/src/mess/drivers/bbc.c index a24561714fe..5dfce63e4ef 100644 --- a/src/mess/drivers/bbc.c +++ b/src/mess/drivers/bbc.c @@ -1089,7 +1089,7 @@ static MACHINE_CONFIG_DERIVED( bbcmc, bbcm ) /* fdc */ MCFG_DEVICE_REMOVE("wd177x") -// MCFG_WD1772_ADD("wd177x", XTAL_16MHz / 2) +// MCFG_WD1772_ADD("wd177x", XTAL_16MHz / 2) MCFG_WD1770_ADD("wd177x", XTAL_16MHz / 2) MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(bbc_state, bbc_wd177x_intrq_w)) MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(bbc_state, bbc_wd177x_drq_w)) diff --git a/src/mess/drivers/crvision.c b/src/mess/drivers/crvision.c index 97b67a9b292..08250767a2e 100644 --- a/src/mess/drivers/crvision.c +++ b/src/mess/drivers/crvision.c @@ -699,7 +699,7 @@ void crvision_state::machine_start() void laser2001_state::machine_start() { crvision_state::machine_start(); - + // zerofill/state saving m_joylatch = 0; m_centronics_busy = 0; diff --git a/src/mess/drivers/hh_tms1k.c b/src/mess/drivers/hh_tms1k.c index 5cf0d2ba650..8504f383829 100644 --- a/src/mess/drivers/hh_tms1k.c +++ b/src/mess/drivers/hh_tms1k.c @@ -4073,7 +4073,7 @@ void tbreakup_state::prepare_display() m_display_segmask[y] = 0x7f; m_display_state[y] = (m_r >> y & 1) ? (m_o & 0x7f) : 0; } - + // 22 round leds from O2-O7 and expander port 7 for (int y = 2; y < 8; y++) m_display_state[y] = (m_o >> y & 1) ? m_exp_port[6] : 0; @@ -4081,7 +4081,7 @@ void tbreakup_state::prepare_display() // 24 rectangular leds from expander ports 1-6 (not strobed) for (int y = 0; y < 6; y++) m_display_state[y+8] = m_exp_port[y]; - + set_display_size(8, 14); display_update(); } @@ -4099,7 +4099,7 @@ WRITE16_MEMBER(tbreakup_state::write_r) // R7,R8: input mux m_inp_mux = data >> 7 & 3; - + // R3-R5: TMS1025 port S // R2: TMS1025 STD pin m_expander->write_s(space, 0, data >> 3 & 7); @@ -4114,7 +4114,7 @@ WRITE16_MEMBER(tbreakup_state::write_o) { // O0-O3: TMS1025 port H m_expander->write_h(space, 0, data & 0xf); - + // O0-O7: led state m_o = data; prepare_display(); @@ -4182,7 +4182,7 @@ static MACHINE_CONFIG_START( tbreakup, tbreakup_state ) MCFG_TMS1XXX_READ_K_CB(READ8(tbreakup_state, read_k)) MCFG_TMS1XXX_WRITE_R_CB(WRITE16(tbreakup_state, write_r)) MCFG_TMS1XXX_WRITE_O_CB(WRITE16(tbreakup_state, write_o)) - + MCFG_DEVICE_ADD("expander", TMS1025, 0) MCFG_TMS1024_WRITE_PORT_CB(1, WRITE8(tbreakup_state, expander_w)) MCFG_TMS1024_WRITE_PORT_CB(2, WRITE8(tbreakup_state, expander_w)) diff --git a/src/mess/drivers/hp64k.c b/src/mess/drivers/hp64k.c index 641a7e30c88..61f3141c589 100644 --- a/src/mess/drivers/hp64k.c +++ b/src/mess/drivers/hp64k.c @@ -20,447 +20,447 @@ #include "cpu/hphybrid/hphybrid.h" #include "video/i8275.h" -#define BIT_MASK(n) (1U << (n)) +#define BIT_MASK(n) (1U << (n)) // Macros to clear/set single bits -#define BIT_CLR(w , n) ((w) &= ~BIT_MASK(n)) -#define BIT_SET(w , n) ((w) |= BIT_MASK(n)) +#define BIT_CLR(w , n) ((w) &= ~BIT_MASK(n)) +#define BIT_SET(w , n) ((w) |= BIT_MASK(n)) class hp64k_state : public driver_device { public: - hp64k_state(const machine_config &mconfig, device_type type, const char *tag); + hp64k_state(const machine_config &mconfig, device_type type, const char *tag); - //virtual void driver_start(); - //virtual void machine_start(); - virtual void video_start(); - virtual void machine_reset(); + //virtual void driver_start(); + //virtual void machine_start(); + virtual void video_start(); + virtual void machine_reset(); - UINT8 hp64k_crtc_filter(UINT8 data); - DECLARE_WRITE16_MEMBER(hp64k_crtc_w); - DECLARE_WRITE_LINE_MEMBER(hp64k_crtc_drq_w); - DECLARE_WRITE_LINE_MEMBER(hp64k_crtc_vrtc_w); + UINT8 hp64k_crtc_filter(UINT8 data); + DECLARE_WRITE16_MEMBER(hp64k_crtc_w); + DECLARE_WRITE_LINE_MEMBER(hp64k_crtc_drq_w); + DECLARE_WRITE_LINE_MEMBER(hp64k_crtc_vrtc_w); - I8275_DRAW_CHARACTER_MEMBER(crtc_display_pixels); + I8275_DRAW_CHARACTER_MEMBER(crtc_display_pixels); - DECLARE_READ16_MEMBER(hp64k_rear_sw_r); + DECLARE_READ16_MEMBER(hp64k_rear_sw_r); - IRQ_CALLBACK_MEMBER(hp64k_irq_callback); - void hp64k_update_irl(void); - DECLARE_WRITE16_MEMBER(hp64k_irl_mask_w); + IRQ_CALLBACK_MEMBER(hp64k_irq_callback); + void hp64k_update_irl(void); + DECLARE_WRITE16_MEMBER(hp64k_irl_mask_w); - TIMER_DEVICE_CALLBACK_MEMBER(hp64k_kb_scan); - DECLARE_READ16_MEMBER(hp64k_kb_r); + TIMER_DEVICE_CALLBACK_MEMBER(hp64k_kb_scan); + DECLARE_READ16_MEMBER(hp64k_kb_r); private: - required_device<hp_5061_3011_cpu_device> m_cpu; - required_device<i8275_device> m_crtc; - required_device<palette_device> m_palette; - required_ioport m_io_key0; - required_ioport m_io_key1; - required_ioport m_io_key2; - required_ioport m_io_key3; - - // Character generator - const UINT8 *m_chargen; - - UINT32 m_crtc_ptr; - bool m_crtc_drq; - bool m_vrtc; - - // Interrupt handling - UINT8 m_irl_mask; - UINT8 m_irl_pending; - - // State of keyboard - ioport_value m_kb_state[ 4 ]; - UINT8 m_kb_row_col; - bool m_kb_scan_on; - bool m_kb_pressed; + required_device<hp_5061_3011_cpu_device> m_cpu; + required_device<i8275_device> m_crtc; + required_device<palette_device> m_palette; + required_ioport m_io_key0; + required_ioport m_io_key1; + required_ioport m_io_key2; + required_ioport m_io_key3; + + // Character generator + const UINT8 *m_chargen; + + UINT32 m_crtc_ptr; + bool m_crtc_drq; + bool m_vrtc; + + // Interrupt handling + UINT8 m_irl_mask; + UINT8 m_irl_pending; + + // State of keyboard + ioport_value m_kb_state[ 4 ]; + UINT8 m_kb_row_col; + bool m_kb_scan_on; + bool m_kb_pressed; }; static ADDRESS_MAP_START(cpu_mem_map , AS_PROGRAM , 16 , hp64k_state) - AM_RANGE(0x0000 , 0x3fff) AM_ROM - AM_RANGE(0x8000 , 0x8001) AM_WRITE(hp64k_crtc_w) - AM_RANGE(0x8002 , 0xffff) AM_RAM + AM_RANGE(0x0000 , 0x3fff) AM_ROM + AM_RANGE(0x8000 , 0x8001) AM_WRITE(hp64k_crtc_w) + AM_RANGE(0x8002 , 0xffff) AM_RAM ADDRESS_MAP_END static ADDRESS_MAP_START(cpu_io_map , AS_IO , 16 , hp64k_state) - // PA = 0, IC = [0..3] - // Keyboard input - AM_RANGE(HP_MAKE_IOADDR(0 , 0) , HP_MAKE_IOADDR(0 , 3)) AM_READ(hp64k_kb_r) - // PA = 7, IC = 2 - // Rear-panel switches - AM_RANGE(HP_MAKE_IOADDR(7 , 2) , HP_MAKE_IOADDR(7 , 2)) AM_READ(hp64k_rear_sw_r) - // PA = 12, IC = [0..3] - // Interrupt mask - AM_RANGE(HP_MAKE_IOADDR(12 , 0) , HP_MAKE_IOADDR(12 , 3)) AM_WRITE(hp64k_irl_mask_w) + // PA = 0, IC = [0..3] + // Keyboard input + AM_RANGE(HP_MAKE_IOADDR(0 , 0) , HP_MAKE_IOADDR(0 , 3)) AM_READ(hp64k_kb_r) + // PA = 7, IC = 2 + // Rear-panel switches + AM_RANGE(HP_MAKE_IOADDR(7 , 2) , HP_MAKE_IOADDR(7 , 2)) AM_READ(hp64k_rear_sw_r) + // PA = 12, IC = [0..3] + // Interrupt mask + AM_RANGE(HP_MAKE_IOADDR(12 , 0) , HP_MAKE_IOADDR(12 , 3)) AM_WRITE(hp64k_irl_mask_w) ADDRESS_MAP_END hp64k_state::hp64k_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig , type , tag), - m_cpu(*this , "cpu"), - m_crtc(*this , "crtc"), - m_palette(*this , "palette"), - m_io_key0(*this , "KEY0"), - m_io_key1(*this , "KEY1"), - m_io_key2(*this , "KEY2"), - m_io_key3(*this , "KEY3") + : driver_device(mconfig , type , tag), + m_cpu(*this , "cpu"), + m_crtc(*this , "crtc"), + m_palette(*this , "palette"), + m_io_key0(*this , "KEY0"), + m_io_key1(*this , "KEY1"), + m_io_key2(*this , "KEY2"), + m_io_key3(*this , "KEY3") { } void hp64k_state::video_start() { - m_chargen = memregion("chargen")->base(); + m_chargen = memregion("chargen")->base(); } void hp64k_state::machine_reset() { - m_crtc_drq = false; - m_vrtc = false; - m_crtc_ptr = 0; - m_irl_mask = 0; - m_irl_pending = 0; - memset(&m_kb_state[ 0 ] , 0 , sizeof(m_kb_state)); - m_kb_row_col = 0; - m_kb_scan_on = true; + m_crtc_drq = false; + m_vrtc = false; + m_crtc_ptr = 0; + m_irl_mask = 0; + m_irl_pending = 0; + memset(&m_kb_state[ 0 ] , 0 , sizeof(m_kb_state)); + m_kb_row_col = 0; + m_kb_scan_on = true; } UINT8 hp64k_state::hp64k_crtc_filter(UINT8 data) { - bool inv = (data & 0xe0) == 0xe0; + bool inv = (data & 0xe0) == 0xe0; - return inv ? (data & 0xf2) : data; + return inv ? (data & 0xf2) : data; } WRITE16_MEMBER(hp64k_state::hp64k_crtc_w) { - m_crtc->write(space , offset == 0 , hp64k_crtc_filter((UINT8)data)); + m_crtc->write(space , offset == 0 , hp64k_crtc_filter((UINT8)data)); } WRITE_LINE_MEMBER(hp64k_state::hp64k_crtc_drq_w) { - bool crtc_drq = state != 0; - bool prev_crtc = m_crtc_drq; - m_crtc_drq = crtc_drq; + bool crtc_drq = state != 0; + bool prev_crtc = m_crtc_drq; + m_crtc_drq = crtc_drq; - if (!prev_crtc && crtc_drq) { - address_space& prog_space = m_cpu->space(AS_PROGRAM); + if (!prev_crtc && crtc_drq) { + address_space& prog_space = m_cpu->space(AS_PROGRAM); - UINT8 data = prog_space.read_byte(m_crtc_ptr); - m_crtc_ptr++; + UINT8 data = prog_space.read_byte(m_crtc_ptr); + m_crtc_ptr++; - m_crtc->dack_w(prog_space , 0 , hp64k_crtc_filter(data)); - } + m_crtc->dack_w(prog_space , 0 , hp64k_crtc_filter(data)); + } } WRITE_LINE_MEMBER(hp64k_state::hp64k_crtc_vrtc_w) { - bool vrtc = state != 0; + bool vrtc = state != 0; - if (!m_vrtc && vrtc) { - m_crtc_ptr = 0xf9f0 << 1; - } - m_vrtc = vrtc; + if (!m_vrtc && vrtc) { + m_crtc_ptr = 0xf9f0 << 1; + } + m_vrtc = vrtc; } I8275_DRAW_CHARACTER_MEMBER(hp64k_state::crtc_display_pixels) { - const rgb_t *palette = m_palette->palette()->entry_list_raw(); - UINT8 chargen_byte = m_chargen[ linecount | ((unsigned)charcode << 4) ]; - bool lvid , livid; - UINT16 pixels_lvid , pixels_livid; - unsigned i; - - if (vsp) { - pixels_lvid = pixels_livid = ~0; - } else if (lten) { - pixels_livid = ~0; - if (rvv) { - pixels_lvid = ~0; - } else { - pixels_lvid = 0; - } - } else if (rvv) { - pixels_lvid = ~0; - pixels_livid = (UINT16)chargen_byte << 1; - } else { - pixels_lvid = ~((UINT16)chargen_byte << 1); - pixels_livid = ~0; - } - - for (i = 0; i < 9; i++) { - lvid = (pixels_lvid & (1U << (8 - i))) != 0; - livid = (pixels_livid & (1U << (8 - i))) != 0; - - if (!lvid) { - // Normal brightness - bitmap.pix32(y , x + i) = palette[ 2 ]; - } else if (livid) { - // Black - bitmap.pix32(y , x + i) = palette[ 0 ]; - } else { - // Half brightness - bitmap.pix32(y , x + i) = palette[ 1 ]; - } - } + const rgb_t *palette = m_palette->palette()->entry_list_raw(); + UINT8 chargen_byte = m_chargen[ linecount | ((unsigned)charcode << 4) ]; + bool lvid , livid; + UINT16 pixels_lvid , pixels_livid; + unsigned i; + + if (vsp) { + pixels_lvid = pixels_livid = ~0; + } else if (lten) { + pixels_livid = ~0; + if (rvv) { + pixels_lvid = ~0; + } else { + pixels_lvid = 0; + } + } else if (rvv) { + pixels_lvid = ~0; + pixels_livid = (UINT16)chargen_byte << 1; + } else { + pixels_lvid = ~((UINT16)chargen_byte << 1); + pixels_livid = ~0; + } + + for (i = 0; i < 9; i++) { + lvid = (pixels_lvid & (1U << (8 - i))) != 0; + livid = (pixels_livid & (1U << (8 - i))) != 0; + + if (!lvid) { + // Normal brightness + bitmap.pix32(y , x + i) = palette[ 2 ]; + } else if (livid) { + // Black + bitmap.pix32(y , x + i) = palette[ 0 ]; + } else { + // Half brightness + bitmap.pix32(y , x + i) = palette[ 1 ]; + } + } } READ16_MEMBER(hp64k_state::hp64k_rear_sw_r) { - // TEST - return ~0; + // TEST + return ~0; } IRQ_CALLBACK_MEMBER(hp64k_state::hp64k_irq_callback) { - if (irqline == HPHYBRID_IRL) { - return 0xff00 | (m_irl_mask & m_irl_pending); - } else { - return ~0; - } + if (irqline == HPHYBRID_IRL) { + return 0xff00 | (m_irl_mask & m_irl_pending); + } else { + return ~0; + } } void hp64k_state::hp64k_update_irl(void) { - m_cpu->set_input_line(HPHYBRID_IRL , (m_irl_mask & m_irl_pending) != 0); + m_cpu->set_input_line(HPHYBRID_IRL , (m_irl_mask & m_irl_pending) != 0); } WRITE16_MEMBER(hp64k_state::hp64k_irl_mask_w) { - m_irl_mask = (UINT8)data; - hp64k_update_irl(); + m_irl_mask = (UINT8)data; + hp64k_update_irl(); } TIMER_DEVICE_CALLBACK_MEMBER(hp64k_state::hp64k_kb_scan) { - if (m_kb_scan_on) { - unsigned i; - - ioport_value input[ 4 ]; - input[ 0 ] = m_io_key0->read(); - input[ 1 ] = m_io_key1->read(); - input[ 2 ] = m_io_key2->read(); - input[ 3 ] = m_io_key3->read(); - - for (i = 0; i < 128; i++) { - if (++m_kb_row_col >= 128) { - m_kb_row_col = 0; - } - - ioport_value mask = BIT_MASK(m_kb_row_col & 0x1f); - unsigned idx = m_kb_row_col >> 5; - - if ((input[ idx ] ^ m_kb_state[ idx ]) & mask) { - // key changed state - m_kb_state[ idx ] ^= mask; - m_kb_pressed = (m_kb_state[ idx ] & mask) != 0; - m_kb_scan_on = false; - BIT_SET(m_irl_pending , 0); - hp64k_update_irl(); - break; - } - } - } + if (m_kb_scan_on) { + unsigned i; + + ioport_value input[ 4 ]; + input[ 0 ] = m_io_key0->read(); + input[ 1 ] = m_io_key1->read(); + input[ 2 ] = m_io_key2->read(); + input[ 3 ] = m_io_key3->read(); + + for (i = 0; i < 128; i++) { + if (++m_kb_row_col >= 128) { + m_kb_row_col = 0; + } + + ioport_value mask = BIT_MASK(m_kb_row_col & 0x1f); + unsigned idx = m_kb_row_col >> 5; + + if ((input[ idx ] ^ m_kb_state[ idx ]) & mask) { + // key changed state + m_kb_state[ idx ] ^= mask; + m_kb_pressed = (m_kb_state[ idx ] & mask) != 0; + m_kb_scan_on = false; + BIT_SET(m_irl_pending , 0); + hp64k_update_irl(); + break; + } + } + } } READ16_MEMBER(hp64k_state::hp64k_kb_r) { - UINT16 ret = 0xff00 | m_kb_row_col; + UINT16 ret = 0xff00 | m_kb_row_col; - if (m_kb_pressed) { - BIT_SET(ret , 7); - } + if (m_kb_pressed) { + BIT_SET(ret , 7); + } - m_kb_scan_on = true; - BIT_CLR(m_irl_pending , 0); - hp64k_update_irl(); + m_kb_scan_on = true; + BIT_CLR(m_irl_pending , 0); + hp64k_update_irl(); - return ret; + return ret; } static INPUT_PORTS_START(hp64k) - // Keyboard is arranged in a 8 x 16 matrix. Of the 128 possible positions, only 77 are used. - // For key arrangement on the matrix, see [1] pg 334 - // Keys are mapped on bit b of KEYn - // where b = (row & 1) << 4 + column, n = row >> 1 - // column = [0..15] - // row = [0..7] - PORT_START("KEY0") - PORT_BIT(BIT_MASK(0) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_LCONTROL) PORT_CHAR(UCHAR_SHIFT_2) - PORT_BIT(BIT_MASK(1) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_A) PORT_CHAR('a') PORT_CHAR('A') - PORT_BIT(BIT_MASK(2) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_W) PORT_CHAR('w') PORT_CHAR('W') - PORT_BIT(BIT_MASK(3) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_E) PORT_CHAR('e') PORT_CHAR('E') - PORT_BIT(BIT_MASK(4) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_R) PORT_CHAR('r') PORT_CHAR('R') - PORT_BIT(BIT_MASK(5) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_T) PORT_CHAR('t') PORT_CHAR('T') - PORT_BIT(BIT_MASK(6) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_Y) PORT_CHAR('y') PORT_CHAR('Y') - PORT_BIT(BIT_MASK(7) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_U) PORT_CHAR('u') PORT_CHAR('U') - PORT_BIT(BIT_MASK(8) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_I) PORT_CHAR('i') PORT_CHAR('I') - PORT_BIT(BIT_MASK(9) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(10) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(11) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(12) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(13) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(14) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(15) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(16) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_TAB) PORT_CHAR('\t') - PORT_BIT(BIT_MASK(17) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_Q) PORT_CHAR('q') PORT_CHAR('Q') - PORT_BIT(BIT_MASK(18) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(19) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(20) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(21) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(22) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_CHAR('\'') - PORT_BIT(BIT_MASK(23) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('(') - PORT_BIT(BIT_MASK(24) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR(')') - PORT_BIT(BIT_MASK(25) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_0) PORT_CHAR('0') - PORT_BIT(BIT_MASK(26) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_MINUS) PORT_CHAR('-') PORT_CHAR('=') - PORT_BIT(BIT_MASK(27) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_EQUALS) PORT_CHAR('^') PORT_CHAR('~') - PORT_BIT(BIT_MASK(28) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_TILDE) PORT_CHAR('\\') PORT_CHAR('|') - PORT_BIT(BIT_MASK(29) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(8) - PORT_BIT(BIT_MASK(30) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(31) , IP_ACTIVE_HIGH , IPT_UNUSED) - - PORT_START("KEY1") - PORT_BIT(BIT_MASK(0) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_CHAR('!') - PORT_BIT(BIT_MASK(1) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('"') - PORT_BIT(BIT_MASK(2) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_CHAR('#') - PORT_BIT(BIT_MASK(3) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_CHAR('$') - PORT_BIT(BIT_MASK(4) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_CHAR('%') - PORT_BIT(BIT_MASK(5) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('&') - PORT_BIT(BIT_MASK(6) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(7) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(8) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(9) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(10) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(11) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(12) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F9) PORT_NAME("RECALL") - PORT_BIT(BIT_MASK(13) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F10) PORT_NAME("CLRLINE") - PORT_BIT(BIT_MASK(14) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F11) PORT_NAME("CAPS") - PORT_BIT(BIT_MASK(15) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F12) PORT_NAME("RESET") - PORT_BIT(BIT_MASK(16) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F1) PORT_NAME("SK1") - PORT_BIT(BIT_MASK(17) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F2) PORT_NAME("SK2") - PORT_BIT(BIT_MASK(18) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(19) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F3) PORT_NAME("SK3") - PORT_BIT(BIT_MASK(20) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F4) PORT_NAME("SK4") - PORT_BIT(BIT_MASK(21) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(22) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(23) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F5) PORT_NAME("SK5") - PORT_BIT(BIT_MASK(24) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F6) PORT_NAME("SK6") - PORT_BIT(BIT_MASK(25) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F7) PORT_NAME("SK7") - PORT_BIT(BIT_MASK(26) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(27) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F8) PORT_NAME("SK8") - PORT_BIT(BIT_MASK(28) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(29) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(30) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(31) , IP_ACTIVE_HIGH , IPT_UNUSED) - - PORT_START("KEY2") - PORT_BIT(BIT_MASK(0) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_LSHIFT) PORT_CHAR(UCHAR_SHIFT_1) - PORT_BIT(BIT_MASK(1) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(2) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_S) PORT_CHAR('s') PORT_CHAR('S') - PORT_BIT(BIT_MASK(3) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_D) PORT_CHAR('d') PORT_CHAR('D') - PORT_BIT(BIT_MASK(4) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F) PORT_CHAR('f') PORT_CHAR('F') - PORT_BIT(BIT_MASK(5) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_G) PORT_CHAR('g') PORT_CHAR('G') - PORT_BIT(BIT_MASK(6) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_H) PORT_CHAR('h') PORT_CHAR('H') - PORT_BIT(BIT_MASK(7) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(8) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(9) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_O) PORT_CHAR('o') PORT_CHAR('O') - PORT_BIT(BIT_MASK(10) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_P) PORT_CHAR('p') PORT_CHAR('P') - PORT_BIT(BIT_MASK(11) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(12) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(13) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(14) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_INSERT) PORT_NAME("INSCHAR") - PORT_BIT(BIT_MASK(15) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_DEL) PORT_NAME("DELCHAR") - PORT_BIT(BIT_MASK(16) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(17) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(18) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_Z) PORT_CHAR('z') PORT_CHAR('Z') - PORT_BIT(BIT_MASK(19) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_X) PORT_CHAR('x') PORT_CHAR('X') - PORT_BIT(BIT_MASK(20) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_C) PORT_CHAR('c') PORT_CHAR('C') - PORT_BIT(BIT_MASK(21) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(22) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(23) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_J) PORT_CHAR('j') PORT_CHAR('J') - PORT_BIT(BIT_MASK(24) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(25) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(26) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR('@') PORT_CHAR('`') - PORT_BIT(BIT_MASK(27) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHAR('[') PORT_CHAR('{') - PORT_BIT(BIT_MASK(28) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_BACKSLASH2) PORT_CHAR('_') PORT_CHAR(UCHAR_MAMEKEY(DEL)) - PORT_BIT(BIT_MASK(29) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_HOME) PORT_NAME("ROLLUP") - PORT_BIT(BIT_MASK(30) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_UP) PORT_CHAR(UCHAR_MAMEKEY(UP)) - PORT_BIT(BIT_MASK(31) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_PGDN) PORT_NAME("NEXTPG") - - PORT_START("KEY3") - PORT_BIT(BIT_MASK(0) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(1) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(2) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(3) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(4) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(5) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_V) PORT_CHAR('v') PORT_CHAR('V') - PORT_BIT(BIT_MASK(6) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_B) PORT_CHAR('b') PORT_CHAR('B') - PORT_BIT(BIT_MASK(7) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(8) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_K) PORT_CHAR('k') PORT_CHAR('K') - PORT_BIT(BIT_MASK(9) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_L) PORT_CHAR('l') PORT_CHAR('L') - PORT_BIT(BIT_MASK(10) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_COLON) PORT_CHAR(';') PORT_CHAR('+') - PORT_BIT(BIT_MASK(11) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_QUOTE) PORT_CHAR(':') PORT_CHAR('*') - PORT_BIT(BIT_MASK(12) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_BACKSLASH) PORT_CHAR(']') PORT_CHAR('}') - PORT_BIT(BIT_MASK(13) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_ENTER) PORT_CHAR(13) - PORT_BIT(BIT_MASK(14) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_LEFT) PORT_CHAR(UCHAR_MAMEKEY(LEFT)) - PORT_BIT(BIT_MASK(15) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_RIGHT) PORT_CHAR(UCHAR_MAMEKEY(RIGHT)) - PORT_BIT(BIT_MASK(16) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(17) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(18) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(19) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(20) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(21) , IP_ACTIVE_HIGH , IPT_UNUSED) - PORT_BIT(BIT_MASK(22) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ') - PORT_BIT(BIT_MASK(23) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_N) PORT_CHAR('n') PORT_CHAR('N') - PORT_BIT(BIT_MASK(24) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_M) PORT_CHAR('m') PORT_CHAR('M') - PORT_BIT(BIT_MASK(25) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('<') - PORT_BIT(BIT_MASK(26) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('>') - PORT_BIT(BIT_MASK(27) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/') PORT_CHAR('?') - PORT_BIT(BIT_MASK(28) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_RSHIFT) PORT_CHAR(UCHAR_SHIFT_1) - PORT_BIT(BIT_MASK(29) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_END) PORT_NAME("ROLLDN") - PORT_BIT(BIT_MASK(30) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_DOWN) PORT_CHAR(UCHAR_MAMEKEY(DOWN)) - PORT_BIT(BIT_MASK(31) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_PGUP) PORT_NAME("PREVPG") + // Keyboard is arranged in a 8 x 16 matrix. Of the 128 possible positions, only 77 are used. + // For key arrangement on the matrix, see [1] pg 334 + // Keys are mapped on bit b of KEYn + // where b = (row & 1) << 4 + column, n = row >> 1 + // column = [0..15] + // row = [0..7] + PORT_START("KEY0") + PORT_BIT(BIT_MASK(0) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_LCONTROL) PORT_CHAR(UCHAR_SHIFT_2) + PORT_BIT(BIT_MASK(1) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_A) PORT_CHAR('a') PORT_CHAR('A') + PORT_BIT(BIT_MASK(2) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_W) PORT_CHAR('w') PORT_CHAR('W') + PORT_BIT(BIT_MASK(3) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_E) PORT_CHAR('e') PORT_CHAR('E') + PORT_BIT(BIT_MASK(4) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_R) PORT_CHAR('r') PORT_CHAR('R') + PORT_BIT(BIT_MASK(5) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_T) PORT_CHAR('t') PORT_CHAR('T') + PORT_BIT(BIT_MASK(6) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_Y) PORT_CHAR('y') PORT_CHAR('Y') + PORT_BIT(BIT_MASK(7) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_U) PORT_CHAR('u') PORT_CHAR('U') + PORT_BIT(BIT_MASK(8) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_I) PORT_CHAR('i') PORT_CHAR('I') + PORT_BIT(BIT_MASK(9) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(10) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(11) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(12) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(13) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(14) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(15) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(16) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_TAB) PORT_CHAR('\t') + PORT_BIT(BIT_MASK(17) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_Q) PORT_CHAR('q') PORT_CHAR('Q') + PORT_BIT(BIT_MASK(18) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(19) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(20) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(21) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(22) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_CHAR('\'') + PORT_BIT(BIT_MASK(23) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('(') + PORT_BIT(BIT_MASK(24) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR(')') + PORT_BIT(BIT_MASK(25) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_0) PORT_CHAR('0') + PORT_BIT(BIT_MASK(26) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_MINUS) PORT_CHAR('-') PORT_CHAR('=') + PORT_BIT(BIT_MASK(27) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_EQUALS) PORT_CHAR('^') PORT_CHAR('~') + PORT_BIT(BIT_MASK(28) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_TILDE) PORT_CHAR('\\') PORT_CHAR('|') + PORT_BIT(BIT_MASK(29) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(8) + PORT_BIT(BIT_MASK(30) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(31) , IP_ACTIVE_HIGH , IPT_UNUSED) + + PORT_START("KEY1") + PORT_BIT(BIT_MASK(0) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_CHAR('!') + PORT_BIT(BIT_MASK(1) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('"') + PORT_BIT(BIT_MASK(2) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_CHAR('#') + PORT_BIT(BIT_MASK(3) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_CHAR('$') + PORT_BIT(BIT_MASK(4) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_CHAR('%') + PORT_BIT(BIT_MASK(5) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('&') + PORT_BIT(BIT_MASK(6) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(7) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(8) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(9) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(10) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(11) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(12) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F9) PORT_NAME("RECALL") + PORT_BIT(BIT_MASK(13) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F10) PORT_NAME("CLRLINE") + PORT_BIT(BIT_MASK(14) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F11) PORT_NAME("CAPS") + PORT_BIT(BIT_MASK(15) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F12) PORT_NAME("RESET") + PORT_BIT(BIT_MASK(16) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F1) PORT_NAME("SK1") + PORT_BIT(BIT_MASK(17) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F2) PORT_NAME("SK2") + PORT_BIT(BIT_MASK(18) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(19) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F3) PORT_NAME("SK3") + PORT_BIT(BIT_MASK(20) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F4) PORT_NAME("SK4") + PORT_BIT(BIT_MASK(21) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(22) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(23) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F5) PORT_NAME("SK5") + PORT_BIT(BIT_MASK(24) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F6) PORT_NAME("SK6") + PORT_BIT(BIT_MASK(25) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F7) PORT_NAME("SK7") + PORT_BIT(BIT_MASK(26) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(27) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F8) PORT_NAME("SK8") + PORT_BIT(BIT_MASK(28) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(29) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(30) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(31) , IP_ACTIVE_HIGH , IPT_UNUSED) + + PORT_START("KEY2") + PORT_BIT(BIT_MASK(0) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_LSHIFT) PORT_CHAR(UCHAR_SHIFT_1) + PORT_BIT(BIT_MASK(1) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(2) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_S) PORT_CHAR('s') PORT_CHAR('S') + PORT_BIT(BIT_MASK(3) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_D) PORT_CHAR('d') PORT_CHAR('D') + PORT_BIT(BIT_MASK(4) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F) PORT_CHAR('f') PORT_CHAR('F') + PORT_BIT(BIT_MASK(5) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_G) PORT_CHAR('g') PORT_CHAR('G') + PORT_BIT(BIT_MASK(6) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_H) PORT_CHAR('h') PORT_CHAR('H') + PORT_BIT(BIT_MASK(7) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(8) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(9) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_O) PORT_CHAR('o') PORT_CHAR('O') + PORT_BIT(BIT_MASK(10) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_P) PORT_CHAR('p') PORT_CHAR('P') + PORT_BIT(BIT_MASK(11) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(12) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(13) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(14) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_INSERT) PORT_NAME("INSCHAR") + PORT_BIT(BIT_MASK(15) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_DEL) PORT_NAME("DELCHAR") + PORT_BIT(BIT_MASK(16) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(17) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(18) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_Z) PORT_CHAR('z') PORT_CHAR('Z') + PORT_BIT(BIT_MASK(19) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_X) PORT_CHAR('x') PORT_CHAR('X') + PORT_BIT(BIT_MASK(20) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_C) PORT_CHAR('c') PORT_CHAR('C') + PORT_BIT(BIT_MASK(21) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(22) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(23) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_J) PORT_CHAR('j') PORT_CHAR('J') + PORT_BIT(BIT_MASK(24) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(25) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(26) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR('@') PORT_CHAR('`') + PORT_BIT(BIT_MASK(27) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHAR('[') PORT_CHAR('{') + PORT_BIT(BIT_MASK(28) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_BACKSLASH2) PORT_CHAR('_') PORT_CHAR(UCHAR_MAMEKEY(DEL)) + PORT_BIT(BIT_MASK(29) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_HOME) PORT_NAME("ROLLUP") + PORT_BIT(BIT_MASK(30) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_UP) PORT_CHAR(UCHAR_MAMEKEY(UP)) + PORT_BIT(BIT_MASK(31) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_PGDN) PORT_NAME("NEXTPG") + + PORT_START("KEY3") + PORT_BIT(BIT_MASK(0) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(1) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(2) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(3) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(4) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(5) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_V) PORT_CHAR('v') PORT_CHAR('V') + PORT_BIT(BIT_MASK(6) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_B) PORT_CHAR('b') PORT_CHAR('B') + PORT_BIT(BIT_MASK(7) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(8) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_K) PORT_CHAR('k') PORT_CHAR('K') + PORT_BIT(BIT_MASK(9) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_L) PORT_CHAR('l') PORT_CHAR('L') + PORT_BIT(BIT_MASK(10) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_COLON) PORT_CHAR(';') PORT_CHAR('+') + PORT_BIT(BIT_MASK(11) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_QUOTE) PORT_CHAR(':') PORT_CHAR('*') + PORT_BIT(BIT_MASK(12) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_BACKSLASH) PORT_CHAR(']') PORT_CHAR('}') + PORT_BIT(BIT_MASK(13) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_ENTER) PORT_CHAR(13) + PORT_BIT(BIT_MASK(14) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_LEFT) PORT_CHAR(UCHAR_MAMEKEY(LEFT)) + PORT_BIT(BIT_MASK(15) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_RIGHT) PORT_CHAR(UCHAR_MAMEKEY(RIGHT)) + PORT_BIT(BIT_MASK(16) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(17) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(18) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(19) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(20) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(21) , IP_ACTIVE_HIGH , IPT_UNUSED) + PORT_BIT(BIT_MASK(22) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ') + PORT_BIT(BIT_MASK(23) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_N) PORT_CHAR('n') PORT_CHAR('N') + PORT_BIT(BIT_MASK(24) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_M) PORT_CHAR('m') PORT_CHAR('M') + PORT_BIT(BIT_MASK(25) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('<') + PORT_BIT(BIT_MASK(26) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('>') + PORT_BIT(BIT_MASK(27) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/') PORT_CHAR('?') + PORT_BIT(BIT_MASK(28) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_RSHIFT) PORT_CHAR(UCHAR_SHIFT_1) + PORT_BIT(BIT_MASK(29) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_END) PORT_NAME("ROLLDN") + PORT_BIT(BIT_MASK(30) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_DOWN) PORT_CHAR(UCHAR_MAMEKEY(DOWN)) + PORT_BIT(BIT_MASK(31) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_PGUP) PORT_NAME("PREVPG") INPUT_PORTS_END static MACHINE_CONFIG_START(hp64k , hp64k_state) - MCFG_CPU_ADD("cpu" , HP_5061_3011 , 6250000) - MCFG_CPU_PROGRAM_MAP(cpu_mem_map) - MCFG_CPU_IO_MAP(cpu_io_map) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(hp64k_state , hp64k_irq_callback) - MCFG_QUANTUM_TIME(attotime::from_hz(100)) - - // Actual keyboard refresh rate should be between 1 and 2 kHz - MCFG_TIMER_DRIVER_ADD_PERIODIC("kb_timer" , hp64k_state , hp64k_kb_scan , attotime::from_hz(100)) - - // Clock = 25 MHz / 9 * (112/114) - MCFG_DEVICE_ADD("crtc" , I8275 , 2729045) - MCFG_I8275_CHARACTER_WIDTH(9) - MCFG_I8275_DRAW_CHARACTER_CALLBACK_OWNER(hp64k_state , crtc_display_pixels) - MCFG_I8275_DRQ_CALLBACK(WRITELINE(hp64k_state , hp64k_crtc_drq_w)) - MCFG_I8275_VRTC_CALLBACK(WRITELINE(hp64k_state , hp64k_crtc_vrtc_w)) - - MCFG_SCREEN_ADD("screen" , RASTER) - MCFG_SCREEN_UPDATE_DEVICE("crtc" , i8275_device , screen_update) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_PALETTE_ADD_MONOCHROME_GREEN_HIGHLIGHT("palette") + MCFG_CPU_ADD("cpu" , HP_5061_3011 , 6250000) + MCFG_CPU_PROGRAM_MAP(cpu_mem_map) + MCFG_CPU_IO_MAP(cpu_io_map) + MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(hp64k_state , hp64k_irq_callback) + MCFG_QUANTUM_TIME(attotime::from_hz(100)) + + // Actual keyboard refresh rate should be between 1 and 2 kHz + MCFG_TIMER_DRIVER_ADD_PERIODIC("kb_timer" , hp64k_state , hp64k_kb_scan , attotime::from_hz(100)) + + // Clock = 25 MHz / 9 * (112/114) + MCFG_DEVICE_ADD("crtc" , I8275 , 2729045) + MCFG_I8275_CHARACTER_WIDTH(9) + MCFG_I8275_DRAW_CHARACTER_CALLBACK_OWNER(hp64k_state , crtc_display_pixels) + MCFG_I8275_DRQ_CALLBACK(WRITELINE(hp64k_state , hp64k_crtc_drq_w)) + MCFG_I8275_VRTC_CALLBACK(WRITELINE(hp64k_state , hp64k_crtc_vrtc_w)) + + MCFG_SCREEN_ADD("screen" , RASTER) + MCFG_SCREEN_UPDATE_DEVICE("crtc" , i8275_device , screen_update) + MCFG_SCREEN_REFRESH_RATE(60) + MCFG_PALETTE_ADD_MONOCHROME_GREEN_HIGHLIGHT("palette") MACHINE_CONFIG_END ROM_START(hp64k) - ROM_REGION(0x8000 , "cpu" , ROMREGION_16BIT | ROMREGION_BE | ROMREGION_INVERT) - ROM_LOAD16_BYTE("64100_80022.bin" , 0x0000 , 0x1000 , CRC(38b2aae5) SHA1(bfd0f126bfaf3724dc501979ad2d46afc41913aa)) - ROM_LOAD16_BYTE("64100_80020.bin" , 0x0001 , 0x1000 , CRC(ac01b436) SHA1(be1e827ea1393a95abb02a52ab5cc35dc2cd96e4)) - ROM_LOAD16_BYTE("64100_80023.bin" , 0x2000 , 0x1000 , CRC(6b4bc2ce) SHA1(00e6c58ccae9640dc81cb3e92db90a8c69b02a93)) - ROM_LOAD16_BYTE("64100_80021.bin" , 0x2001 , 0x1000 , CRC(74f9d33c) SHA1(543a845a992b0ceac3e0491acdfb178df0adeb1f)) - ROM_LOAD16_BYTE("64100_80026.bin" , 0x4000 , 0x1000 , CRC(a74e834b) SHA1(a2ff9765628985d9bab4cb44ba23257a9b8d0965)) - ROM_LOAD16_BYTE("64100_80024.bin" , 0x4001 , 0x1000 , CRC(2e15a1d2) SHA1(ce4330f8f8015a26c02f0965b95baf7dfd615512)) - ROM_LOAD16_BYTE("64100_80027.bin" , 0x6000 , 0x1000 , CRC(b93c0e7a) SHA1(b239446d3d6e9d3dba6c0278b2771abe1623e1ad)) - ROM_LOAD16_BYTE("64100_80025.bin" , 0x6001 , 0x1000 , CRC(e6353085) SHA1(48d78835c798f2caf6ee539057676d4f3c8a4df9)) - - ROM_REGION(0x800 , "chargen" , 0) - ROM_LOAD("1816_1496_82S191.bin" , 0 , 0x800 , CRC(32a52664) SHA1(8b2a49a32510103ff424e8481d5ed9887f609f2f)) + ROM_REGION(0x8000 , "cpu" , ROMREGION_16BIT | ROMREGION_BE | ROMREGION_INVERT) + ROM_LOAD16_BYTE("64100_80022.bin" , 0x0000 , 0x1000 , CRC(38b2aae5) SHA1(bfd0f126bfaf3724dc501979ad2d46afc41913aa)) + ROM_LOAD16_BYTE("64100_80020.bin" , 0x0001 , 0x1000 , CRC(ac01b436) SHA1(be1e827ea1393a95abb02a52ab5cc35dc2cd96e4)) + ROM_LOAD16_BYTE("64100_80023.bin" , 0x2000 , 0x1000 , CRC(6b4bc2ce) SHA1(00e6c58ccae9640dc81cb3e92db90a8c69b02a93)) + ROM_LOAD16_BYTE("64100_80021.bin" , 0x2001 , 0x1000 , CRC(74f9d33c) SHA1(543a845a992b0ceac3e0491acdfb178df0adeb1f)) + ROM_LOAD16_BYTE("64100_80026.bin" , 0x4000 , 0x1000 , CRC(a74e834b) SHA1(a2ff9765628985d9bab4cb44ba23257a9b8d0965)) + ROM_LOAD16_BYTE("64100_80024.bin" , 0x4001 , 0x1000 , CRC(2e15a1d2) SHA1(ce4330f8f8015a26c02f0965b95baf7dfd615512)) + ROM_LOAD16_BYTE("64100_80027.bin" , 0x6000 , 0x1000 , CRC(b93c0e7a) SHA1(b239446d3d6e9d3dba6c0278b2771abe1623e1ad)) + ROM_LOAD16_BYTE("64100_80025.bin" , 0x6001 , 0x1000 , CRC(e6353085) SHA1(48d78835c798f2caf6ee539057676d4f3c8a4df9)) + + ROM_REGION(0x800 , "chargen" , 0) + ROM_LOAD("1816_1496_82S191.bin" , 0 , 0x800 , CRC(32a52664) SHA1(8b2a49a32510103ff424e8481d5ed9887f609f2f)) ROM_END /* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME */ diff --git a/src/mess/drivers/i7000.c b/src/mess/drivers/i7000.c index e0f160ed985..de363e40998 100644 --- a/src/mess/drivers/i7000.c +++ b/src/mess/drivers/i7000.c @@ -51,9 +51,9 @@ class i7000_state : public driver_device public: i7000_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_card(*this, "cardslot"), - m_videoram(*this, "videoram") - { } + m_card(*this, "cardslot"), + m_videoram(*this, "videoram") + { } virtual void video_start(); @@ -62,8 +62,8 @@ public: UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); UINT8 *m_char_rom; -// DECLARE_READ8_MEMBER( i7000_io_r ); -// DECLARE_WRITE8_MEMBER( i7000_io_w ); +// DECLARE_READ8_MEMBER( i7000_io_r ); +// DECLARE_WRITE8_MEMBER( i7000_io_w ); DECLARE_DRIVER_INIT(i7000); DECLARE_PALETTE_INIT(i7000); @@ -88,42 +88,42 @@ void i7000_state::video_start() UINT32 i7000_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - offs_t addr = 0; - - for (int sy = 0; sy < 25; sy++) - { - for (int sx = 0; sx < 40; sx++) - { - UINT8 data = m_videoram[addr++]; - for (int y = 0; y < 8; y++) - { - int color = m_char_rom[data*8 + y]; - for (int x = 0; x < 8; x++) - { - bitmap.pix16(sy*8 + y, sx*8 + 7 - x) = (color & 1); - color >>= 1; - } - } - } - } - - return 0; + offs_t addr = 0; + + for (int sy = 0; sy < 25; sy++) + { + for (int sx = 0; sx < 40; sx++) + { + UINT8 data = m_videoram[addr++]; + for (int y = 0; y < 8; y++) + { + int color = m_char_rom[data*8 + y]; + for (int x = 0; x < 8; x++) + { + bitmap.pix16(sy*8 + y, sx*8 + 7 - x) = (color & 1); + color >>= 1; + } + } + } + } + + return 0; } /*FIXME: we still need to figure out the proper memory map for the maincpu and where the cartridge slot maps to. */ static ADDRESS_MAP_START(i7000_mem, AS_PROGRAM, 8, i7000_state) - AM_RANGE(0x0000, 0x0fff) AM_ROM AM_REGION("maincpu", 0) - AM_RANGE(0x1000, 0x1fff) AM_RAM - AM_RANGE(0x2000, 0xffff) AM_RAM AM_SHARE("videoram") + AM_RANGE(0x0000, 0x0fff) AM_ROM AM_REGION("maincpu", 0) + AM_RANGE(0x1000, 0x1fff) AM_RAM + AM_RANGE(0x2000, 0xffff) AM_RAM AM_SHARE("videoram") // AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("cardslot", 0) ADDRESS_MAP_END /* static ADDRESS_MAP_START( i7000_io , AS_IO, 8, i7000_state) - ADDRESS_MAP_UNMAP_HIGH - ADDRESS_MAP_GLOBAL_MASK (0xff) - AM_RANGE(0x00, 0xff) AM_READWRITE(i7000_io_r, i7000_io_w) + ADDRESS_MAP_UNMAP_HIGH + ADDRESS_MAP_GLOBAL_MASK (0xff) + AM_RANGE(0x00, 0xff) AM_READWRITE(i7000_io_r, i7000_io_w) ADDRESS_MAP_END */ @@ -161,7 +161,7 @@ static MACHINE_CONFIG_START( i7000, i7000_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", NSC800, XTAL_4MHz) MCFG_CPU_PROGRAM_MAP(i7000_mem) -// MCFG_CPU_IO_MAP(i7000_io) +// MCFG_CPU_IO_MAP(i7000_io) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -175,7 +175,7 @@ static MACHINE_CONFIG_START( i7000, i7000_state ) MCFG_PALETTE_ADD("palette", 2) MCFG_PALETTE_INIT_OWNER(i7000_state, i7000) -// MCFG_GFXDECODE_ADD("gfxdecode", "palette", i7000) +// MCFG_GFXDECODE_ADD("gfxdecode", "palette", i7000) /* Cartridge slot */ MCFG_GENERIC_CARTSLOT_ADD("cardslot", generic_romram_plain_slot, "i7000_card") diff --git a/src/mess/drivers/rc759.c b/src/mess/drivers/rc759.c index bcbab8bad8b..cfe48a89093 100644 --- a/src/mess/drivers/rc759.c +++ b/src/mess/drivers/rc759.c @@ -4,12 +4,12 @@ Regnecentralen RC759 - TODO: - - Emulate the Intel 82730 CRT controller and figure out the rest - - Connect iSBX bus - - (much later) move floppy/external printer to the slot interface + TODO: + - Emulate the Intel 82730 CRT controller and figure out the rest + - Connect iSBX bus + - (much later) move floppy/external printer to the slot interface - Status: Hangs waiting for an answer from the 82730 + Status: Hangs waiting for an answer from the 82730 ***************************************************************************/ @@ -256,27 +256,27 @@ static ADDRESS_MAP_START( rc759_io, AS_IO, 16, rc759_state ) AM_RANGE(0x000, 0x003) AM_DEVREADWRITE8("pic", pic8259_device, read, write, 0x00ff) AM_RANGE(0x020, 0x021) AM_READ8(keyboard_r, 0x00ff) AM_RANGE(0x050, 0x05f) AM_READWRITE8(rtc_r, rtc_w, 0x00ff) // and sound -// AM_RANGE(0x060, 0x06f) AM_WRITE8(crt_control_w, 0x00ff) +// AM_RANGE(0x060, 0x06f) AM_WRITE8(crt_control_w, 0x00ff) AM_RANGE(0x070, 0x077) AM_DEVREADWRITE8("ppi", i8255_device, read, write, 0x00ff) AM_RANGE(0x080, 0x0ff) AM_READWRITE8(nvram_r, nvram_w, 0x00ff) -// AM_RANGE(0x100, 0x101) net +// AM_RANGE(0x100, 0x101) net AM_RANGE(0x180, 0x1bf) AM_READWRITE8(palette_r, palette_w, 0x00ff) -// AM_RANGE(0x230, 0x231) crt reset -// AM_RANGE(0x240, 0x241) crt ch. att. -// AM_RANGE(0x250, 0x251) local printer data (centronics) -// AM_RANGE(0x260, 0x261) local printer control (centronics) +// AM_RANGE(0x230, 0x231) crt reset +// AM_RANGE(0x240, 0x241) crt ch. att. +// AM_RANGE(0x250, 0x251) local printer data (centronics) +// AM_RANGE(0x260, 0x261) local printer control (centronics) AM_RANGE(0x280, 0x287) AM_DEVREADWRITE8("fdc", wd2797_t, read, write, 0x00ff) AM_RANGE(0x288, 0x289) AM_WRITE8(floppy_control_w, 0x00ff) -// AM_RANGE(0x28a, 0x28b) external printer data -// AM_RANGE(0x28d, 0x28d) external printer control +// AM_RANGE(0x28a, 0x28b) external printer data +// AM_RANGE(0x28d, 0x28d) external printer control AM_RANGE(0x28e, 0x28f) AM_READWRITE8(floppy_ack_r, floppy_reserve_w, 0x00ff) AM_RANGE(0x290, 0x291) AM_WRITE8(floppy_release_w, 0x00ff) -// AM_RANGE(0x292, 0x293) AM_READWRITE8(printer_ack_r, printer_reserve_w, 0x00ff) -// AM_RANGE(0x294, 0x295) AM_WRITE8(printer_release_w, 0x00ff) -// AM_RANGE(0x300, 0x30f) isbx1 -// AM_RANGE(0x310, 0x31f) isbx2 -// AM_RANGE(0x320, 0x321) isbx dma ack -// AM_RANGE(0x330, 0x331) isbx tc +// AM_RANGE(0x292, 0x293) AM_READWRITE8(printer_ack_r, printer_reserve_w, 0x00ff) +// AM_RANGE(0x294, 0x295) AM_WRITE8(printer_release_w, 0x00ff) +// AM_RANGE(0x300, 0x30f) isbx1 +// AM_RANGE(0x310, 0x31f) isbx2 +// AM_RANGE(0x320, 0x321) isbx dma ack +// AM_RANGE(0x330, 0x331) isbx tc ADDRESS_MAP_END diff --git a/src/mess/drivers/xerox820.c b/src/mess/drivers/xerox820.c index 3ff558b09db..68bad92a04c 100644 --- a/src/mess/drivers/xerox820.c +++ b/src/mess/drivers/xerox820.c @@ -38,11 +38,11 @@ 8-inch formats 77 tracks, 1 head, 26 sectors, 128 bytes sector length, first sector id 1 - 77 tracks, 1 head, 26 sectors, 256 bytes sector length, first sector id 1 + 77 tracks, 1 head, 26 sectors, 256 bytes sector length, first sector id 1 - 5.25-inch formats - 40 tracks, 1 head, 18 sectors, 128 bytes sector length, first sector id 1 - 40 tracks, 2 heads, 18 sectors, 128 bytes sector length, first sector id 1 + 5.25-inch formats + 40 tracks, 1 head, 18 sectors, 128 bytes sector length, first sector id 1 + 40 tracks, 2 heads, 18 sectors, 128 bytes sector length, first sector id 1 */ diff --git a/src/mess/machine/apricotkb_hle.c b/src/mess/machine/apricotkb_hle.c index e40677e5078..6950033c79f 100644 --- a/src/mess/machine/apricotkb_hle.c +++ b/src/mess/machine/apricotkb_hle.c @@ -256,8 +256,8 @@ void apricot_keyboard_hle_device::rcv_complete() m_data_in = get_received_char(); // reset command? send keyboard ready (likely needs a delay, just disable for now) -// if (m_data_in == 0xe8) -// transmit_register_setup(0xfb); +// if (m_data_in == 0xe8) +// transmit_register_setup(0xfb); } WRITE_LINE_MEMBER( apricot_keyboard_hle_device::rxd_w ) diff --git a/src/mess/machine/ti99/990_dk.h b/src/mess/machine/ti99/990_dk.h index eb044b2974f..2f83660ae75 100644 --- a/src/mess/machine/ti99/990_dk.h +++ b/src/mess/machine/ti99/990_dk.h @@ -52,10 +52,10 @@ private: int m_buf_pos; buf_mode_t m_buf_mode; int m_unit; -// int m_head; +// int m_head; int m_sector; /*int m_non_seq_mode;*/ -// int m_ddam; +// int m_ddam; struct { |
