diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mame/drivers/pasopia.cpp | 78 | ||||
-rw-r--r-- | src/mame/drivers/pasopia7.cpp | 99 | ||||
-rw-r--r-- | src/mame/includes/pasopia.h | 32 |
3 files changed, 96 insertions, 113 deletions
diff --git a/src/mame/drivers/pasopia.cpp b/src/mame/drivers/pasopia.cpp index f76d73402ad..a83adb8872b 100644 --- a/src/mame/drivers/pasopia.cpp +++ b/src/mame/drivers/pasopia.cpp @@ -22,26 +22,18 @@ class pasopia_state : public driver_device { public: pasopia_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_ppi0(*this, "ppi8255_0"), - m_ppi1(*this, "ppi8255_1"), - m_ppi2(*this, "ppi8255_2"), - m_ctc(*this, "z80ctc"), - m_pio(*this, "z80pio"), - m_crtc(*this, "crtc"), - m_palette(*this, "palette") + : driver_device(mconfig, type, tag) + , m_maincpu(*this, "maincpu") + , m_ppi0(*this, "ppi8255_0") + , m_ppi1(*this, "ppi8255_1") + , m_ppi2(*this, "ppi8255_2") + , m_ctc(*this, "z80ctc") + , m_pio(*this, "z80pio") + , m_crtc(*this, "crtc") + , m_palette(*this, "palette") + , m_keyboard(*this, "KEY") { } - required_device<cpu_device> m_maincpu; - required_device<i8255_device> m_ppi0; - required_device<i8255_device> m_ppi1; - required_device<i8255_device> m_ppi2; - required_device<z80ctc_device> m_ctc; - required_device<z80pio_device> m_pio; - required_device<mc6845_device> m_crtc; - required_device<palette_device> m_palette; - DECLARE_WRITE8_MEMBER(pasopia_ctrl_w); DECLARE_WRITE8_MEMBER(vram_addr_lo_w); DECLARE_WRITE8_MEMBER(vram_latch_w); @@ -50,11 +42,13 @@ public: DECLARE_WRITE8_MEMBER(vram_addr_hi_w); DECLARE_WRITE8_MEMBER(screen_mode_w); DECLARE_READ8_MEMBER(rombank_r); - DECLARE_READ8_MEMBER(mux_r); DECLARE_READ8_MEMBER(keyb_r); DECLARE_WRITE8_MEMBER(mux_w); MC6845_UPDATE_ROW(crtc_update_row); + DECLARE_DRIVER_INIT(pasopia); + TIMER_CALLBACK_MEMBER(pio_timer); +private: UINT8 m_hblank; UINT16 m_vram_addr; UINT8 m_vram_latch; @@ -64,15 +58,23 @@ public: bool m_video_wl; bool m_ram_bank; UINT8 *m_p_vram; - DECLARE_DRIVER_INIT(pasopia); - TIMER_CALLBACK_MEMBER(pio_timer); virtual void machine_start() override; virtual void machine_reset() override; virtual void video_start() override; + + required_device<cpu_device> m_maincpu; + required_device<i8255_device> m_ppi0; + required_device<i8255_device> m_ppi1; + required_device<i8255_device> m_ppi2; + required_device<z80ctc_device> m_ctc; + required_device<z80pio_device> m_pio; + required_device<mc6845_device> m_crtc; + required_device<palette_device> m_palette; + required_ioport_array<12> m_keyboard; }; // needed to scan the keyboard, as the pio emulation doesn't do it. -TIMER_CALLBACK_MEMBER(pasopia_state::pio_timer) +TIMER_CALLBACK_MEMBER( pasopia_state::pio_timer ) { m_pio->port_b_write(keyb_r(generic_space(),0,0xff)); } @@ -93,8 +95,8 @@ MC6845_UPDATE_ROW( pasopia_state::crtc_update_row ) { UINT8 inv=0; if (x == cursor_x) inv=0xff; - mem = (ma + x) & 0xfff; - chr = m_p_vram[mem]; + mem = ma + x; + chr = m_p_vram[mem & 0x7ff]; /* get pattern of pixels for that character scanline */ gfx = m_p_chargen[(chr<<3) | ra] ^ inv; @@ -214,28 +216,17 @@ READ8_MEMBER( pasopia_state::rombank_r ) return (m_ram_bank) ? 4 : 0; } -READ8_MEMBER( pasopia_state::mux_r ) -{ - return m_mux_data; -} - READ8_MEMBER( pasopia_state::keyb_r ) { - const char *const keynames[3][4] = { { "KEY0", "KEY1", "KEY2", "KEY3" }, - { "KEY4", "KEY5", "KEY6", "KEY7" }, - { "KEY8", "KEY9", "KEYA", "KEYB" } }; - int i,j; - UINT8 res; - - res = 0; + UINT8 i,j,res = 0; for(j=0;j<3;j++) { - if(m_mux_data & 0x10 << j) + if BIT(m_mux_data, 4+j) { for(i=0;i<4;i++) { - if(m_mux_data & 1 << i) - res |= ioport(keynames[j][i])->read(); + if BIT(m_mux_data, i) + res |= m_keyboard[j*4+i]->read(); } } } @@ -279,11 +270,11 @@ DRIVER_INIT_MEMBER(pasopia_state,pasopia) We preset all banks here, so that bankswitching will incur no speed penalty. 0000 indicates ROMs, 10000 indicates RAM. */ - UINT8 *p_ram = memregion("maincpu")->base(); - membank("bank1")->configure_entries(0, 2, &p_ram[0x00000], 0x10000); - membank("bank2")->configure_entry(0, &p_ram[0x10000]); + UINT8 *ram = memregion("maincpu")->base(); + membank("bank1")->configure_entries(0, 2, &ram[0x00000], 0x10000); + membank("bank2")->configure_entry(0, &ram[0x10000]); - machine().scheduler().timer_pulse(attotime::from_hz(500), timer_expired_delegate(FUNC(pasopia_state::pio_timer),this)); + machine().scheduler().timer_pulse(attotime::from_hz(50), timer_expired_delegate(FUNC(pasopia_state::pio_timer),this)); } static MACHINE_CONFIG_START( pasopia, pasopia_state ) @@ -330,7 +321,6 @@ static MACHINE_CONFIG_START( pasopia, pasopia_state ) MCFG_DEVICE_ADD("z80pio", Z80PIO, XTAL_4MHz) MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) - MCFG_Z80PIO_IN_PA_CB(READ8(pasopia_state, mux_r)) MCFG_Z80PIO_OUT_PA_CB(WRITE8(pasopia_state, mux_w)) MCFG_Z80PIO_IN_PB_CB(READ8(pasopia_state, keyb_r)) MACHINE_CONFIG_END diff --git a/src/mame/drivers/pasopia7.cpp b/src/mame/drivers/pasopia7.cpp index eaf0bce140e..9111e712156 100644 --- a/src/mame/drivers/pasopia7.cpp +++ b/src/mame/drivers/pasopia7.cpp @@ -7,6 +7,9 @@ preliminary driver by Angelo Salese TODO: + - fix problems with keyboard + - can't type the same character more than once + - shift key doesn't work - floppy support (but floppy images are unobtainable at current time) - cassette device; - beeper @@ -33,34 +36,22 @@ class pasopia7_state : public driver_device { public: pasopia7_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_ppi0(*this, "ppi8255_0"), - m_ppi1(*this, "ppi8255_1"), - m_ppi2(*this, "ppi8255_2"), - m_ctc(*this, "z80ctc"), - m_pio(*this, "z80pio"), - m_crtc(*this, "crtc"), - m_fdc(*this, "fdc"), - m_floppy(*this, "fdc:0:525hd"), - m_sn1(*this, "sn1"), - m_sn2(*this, "sn2"), - m_palette(*this, "palette") + : driver_device(mconfig, type, tag) + , m_maincpu(*this, "maincpu") + , m_ppi0(*this, "ppi8255_0") + , m_ppi1(*this, "ppi8255_1") + , m_ppi2(*this, "ppi8255_2") + , m_ctc(*this, "z80ctc") + , m_pio(*this, "z80pio") + , m_crtc(*this, "crtc") + , m_fdc(*this, "fdc") + , m_floppy(*this, "fdc:0:525hd") + , m_sn1(*this, "sn1") + , m_sn2(*this, "sn2") + , m_palette(*this, "palette") + , m_keyboard(*this, "KEY") { } - required_device<cpu_device> m_maincpu; - required_device<i8255_device> m_ppi0; - required_device<i8255_device> m_ppi1; - required_device<i8255_device> m_ppi2; - required_device<z80ctc_device> m_ctc; - required_device<z80pio_device> m_pio; - required_device<mc6845_device> m_crtc; - required_device<upd765a_device> m_fdc; - required_device<floppy_image_device> m_floppy; - required_device<sn76489a_device> m_sn1; - required_device<sn76489a_device> m_sn2; - required_device<palette_device> m_palette; - DECLARE_READ8_MEMBER(vram_r); DECLARE_WRITE8_MEMBER(vram_w); DECLARE_WRITE8_MEMBER(pasopia7_memory_ctrl_w); @@ -72,7 +63,6 @@ public: DECLARE_WRITE8_MEMBER(pasopia7_io_w); DECLARE_READ8_MEMBER(pasopia7_fdc_r); DECLARE_WRITE8_MEMBER(pasopia7_fdc_w); - DECLARE_READ8_MEMBER(mux_r); DECLARE_READ8_MEMBER(keyb_r); DECLARE_WRITE8_MEMBER(mux_w); DECLARE_READ8_MEMBER(crtc_portb_r); @@ -86,6 +76,14 @@ public: DECLARE_WRITE8_MEMBER(nmi_reg_w); DECLARE_READ8_MEMBER(nmi_porta_r); DECLARE_READ8_MEMBER(nmi_portb_r); + TIMER_CALLBACK_MEMBER(pio_timer); + DECLARE_DRIVER_INIT(p7_lcd); + DECLARE_DRIVER_INIT(p7_raster); + DECLARE_VIDEO_START(pasopia7); + DECLARE_PALETTE_INIT(p7_lcd); + UINT32 screen_update_pasopia7(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + +private: UINT8 m_vram_sel; UINT8 m_mio_sel; std::unique_ptr<UINT8[]> m_p7_pal; @@ -111,25 +109,32 @@ public: int m_addr_latch; void pasopia_nmi_trap(); UINT8 m_mux_data; - DECLARE_DRIVER_INIT(p7_lcd); - DECLARE_DRIVER_INIT(p7_raster); virtual void machine_reset() override; - DECLARE_VIDEO_START(pasopia7); - DECLARE_PALETTE_INIT(p7_lcd); - UINT32 screen_update_pasopia7(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - void fdc_irq(bool state); - TIMER_CALLBACK_MEMBER(pio_timer); void draw_cg4_screen(bitmap_ind16 &bitmap,const rectangle &cliprect,int width); void draw_tv_screen(bitmap_ind16 &bitmap,const rectangle &cliprect,int width); void draw_mixed_screen(bitmap_ind16 &bitmap,const rectangle &cliprect,int width); + + required_device<cpu_device> m_maincpu; + required_device<i8255_device> m_ppi0; + required_device<i8255_device> m_ppi1; + required_device<i8255_device> m_ppi2; + required_device<z80ctc_device> m_ctc; + required_device<z80pio_device> m_pio; + required_device<mc6845_device> m_crtc; + required_device<upd765a_device> m_fdc; + required_device<floppy_image_device> m_floppy; + required_device<sn76489a_device> m_sn1; + required_device<sn76489a_device> m_sn2; + required_device<palette_device> m_palette; + required_ioport_array<12> m_keyboard; }; #define VDP_CLOCK XTAL_3_579545MHz/4 #define LCD_CLOCK VDP_CLOCK/10 // needed to scan the keyboard, as the pio emulation doesn't do it. -TIMER_CALLBACK_MEMBER(pasopia7_state::pio_timer) +TIMER_CALLBACK_MEMBER( pasopia7_state::pio_timer ) { m_pio->port_b_write(keyb_r(generic_space(),0,0xff)); } @@ -728,28 +733,17 @@ static GFXDECODE_START( pasopia7 ) GFXDECODE_ENTRY( "kanji", 0x00000, p7_chars_16x16, 0, 0x10 ) GFXDECODE_END -READ8_MEMBER( pasopia7_state::mux_r ) -{ - return m_mux_data; -} - READ8_MEMBER( pasopia7_state::keyb_r ) { - const char *const keynames[3][4] = { { "KEY0", "KEY1", "KEY2", "KEY3" }, - { "KEY4", "KEY5", "KEY6", "KEY7" }, - { "KEY8", "KEY9", "KEYA", "KEYB" } }; - int i,j; - UINT8 res; - - res = 0; + UINT8 i,j,res = 0; for(j=0;j<3;j++) { - if(m_mux_data & 0x10 << j) + if BIT(m_mux_data, 4+j) { for(i=0;i<4;i++) { - if(m_mux_data & 1 << i) - res |= ioport(keynames[j][i])->read(); + if BIT(m_mux_data, i) + res |= m_keyboard[j*4+i]->read(); } } } @@ -934,7 +928,6 @@ static MACHINE_CONFIG_START( p7_base, pasopia7_state ) MCFG_DEVICE_ADD("z80pio", Z80PIO, XTAL_4MHz) MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) - MCFG_Z80PIO_IN_PA_CB(READ8(pasopia7_state, mux_r)) MCFG_Z80PIO_OUT_PA_CB(WRITE8(pasopia7_state, mux_w)) MCFG_Z80PIO_IN_PB_CB(READ8(pasopia7_state, keyb_r)) @@ -1050,13 +1043,13 @@ ROM_END DRIVER_INIT_MEMBER(pasopia7_state,p7_raster) { m_screen_type = 1; - machine().scheduler().timer_pulse(attotime::from_hz(500), timer_expired_delegate(FUNC(pasopia7_state::pio_timer),this)); + machine().scheduler().timer_pulse(attotime::from_hz(50), timer_expired_delegate(FUNC(pasopia7_state::pio_timer),this)); } DRIVER_INIT_MEMBER(pasopia7_state,p7_lcd) { m_screen_type = 0; - machine().scheduler().timer_pulse(attotime::from_hz(500), timer_expired_delegate(FUNC(pasopia7_state::pio_timer),this)); + machine().scheduler().timer_pulse(attotime::from_hz(50), timer_expired_delegate(FUNC(pasopia7_state::pio_timer),this)); } diff --git a/src/mame/includes/pasopia.h b/src/mame/includes/pasopia.h index 80902e20682..2fdd22986c8 100644 --- a/src/mame/includes/pasopia.h +++ b/src/mame/includes/pasopia.h @@ -1,7 +1,7 @@ // license:BSD-3-Clause // copyright-holders:Angelo Salese #define PASOPIA_KEYBOARD \ - PORT_START("KEY0") \ + PORT_START("KEY.0") \ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("CTRL") PORT_CODE(KEYCODE_LCONTROL) PORT_CODE(KEYCODE_RCONTROL) PORT_CHAR(UCHAR_SHIFT_2) \ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("SHIFT") PORT_CODE(KEYCODE_LSHIFT) PORT_CODE(KEYCODE_RSHIFT) PORT_CHAR(UCHAR_SHIFT_1) \ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("CAPS LOCK") PORT_CODE(KEYCODE_CAPSLOCK) \ @@ -18,7 +18,7 @@ PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) ) \ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) \ PORT_DIPSETTING( 0x80, DEF_STR( On ) ) \ - PORT_START("KEY1") \ + PORT_START("KEY.1") \ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_0_PAD) \ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_1_PAD) \ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_2_PAD) \ @@ -27,7 +27,7 @@ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_5_PAD) \ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_6_PAD) \ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_7_PAD) \ - PORT_START("KEY2") \ + PORT_START("KEY.2") \ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_8_PAD) \ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_9_PAD) \ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_MINUS_PAD) \ @@ -36,7 +36,7 @@ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_HOME) PORT_NAME("Home") \ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_DEL_PAD) \ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_ENTER_PAD) PORT_CODE(KEYCODE_ENTER) PORT_CHAR(13) \ - PORT_START("KEY3") \ + PORT_START("KEY.3") \ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_RIGHT) PORT_NAME("RIGHT") \ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Status?") \ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_BACKSPACE) PORT_NAME("BACKSPACE") PORT_CHAR(8) \ @@ -53,7 +53,7 @@ PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) ) \ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) \ PORT_DIPSETTING( 0x80, DEF_STR( On ) ) \ - PORT_START("KEY4") \ + PORT_START("KEY.4") \ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_END) PORT_NAME("StatusLine") \ PORT_DIPNAME( 0x02, 0x00, "4" ) \ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) \ @@ -72,7 +72,7 @@ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) \ PORT_DIPSETTING( 0x40, DEF_STR( On ) ) \ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_SPACE) PORT_NAME("SPACE") PORT_CHAR(' ') \ - PORT_START("KEY5") \ + PORT_START("KEY.5") \ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_F1) PORT_NAME("F1") \ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_F2) PORT_NAME("F2") \ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_F3) PORT_NAME("F3") \ @@ -81,16 +81,16 @@ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_F6) PORT_NAME("F6") \ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_F7) PORT_NAME("F7") \ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_F8) PORT_NAME("F8") \ - PORT_START("KEY6") \ - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_1) PORT_NAME("1") PORT_CHAR('1') PORT_CHAR('1') \ + PORT_START("KEY.6") \ + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_1) PORT_NAME("1") PORT_CHAR('1') PORT_CHAR('!') \ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_0) PORT_NAME("0") PORT_CHAR('0') PORT_CHAR('0') \ - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_4) PORT_NAME("4") PORT_CHAR('4') PORT_CHAR('O') \ - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_R) PORT_NAME("R") PORT_CHAR('r') PORT_CHAR('O') \ - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_Y) PORT_NAME("Y") PORT_CHAR('y') PORT_CHAR('O') \ + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_4) PORT_NAME("4") PORT_CHAR('4') PORT_CHAR('$') \ + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_R) PORT_NAME("R") PORT_CHAR('R') PORT_CHAR('r') \ + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_Y) PORT_NAME("Y") PORT_CHAR('Y') PORT_CHAR('y') \ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_EQUALS) PORT_NAME("_") PORT_CHAR('_') \ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_BACKSLASH) PORT_NAME("^") \ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Yen") \ - PORT_START("KEY7") \ + PORT_START("KEY.7") \ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_2) PORT_NAME("2") PORT_CHAR('2') PORT_CHAR('"') \ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_3) PORT_NAME("3") PORT_CHAR('3') PORT_CHAR('#') \ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_8) PORT_NAME("8") PORT_CHAR('8') PORT_CHAR('(') \ @@ -99,7 +99,7 @@ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_7) PORT_NAME("7") PORT_CHAR('7') PORT_CHAR('\'') \ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_TILDE) PORT_NAME("@") PORT_CHAR('@') \ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_OPENBRACE) PORT_NAME("[ {") PORT_CHAR('[') PORT_CHAR('{') \ - PORT_START("KEY8") \ + PORT_START("KEY.8") \ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_MINUS) PORT_NAME("-") PORT_CHAR('-') PORT_CHAR('=') \ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_5) PORT_NAME("5") PORT_CHAR('5') PORT_CHAR('%') \ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_6) PORT_NAME("6") PORT_CHAR('6') PORT_CHAR('&') \ @@ -108,7 +108,7 @@ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_9) PORT_NAME("9") PORT_CHAR('9') PORT_CHAR(')') \ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_QUOTE) PORT_NAME(": *") PORT_CHAR(':') PORT_CHAR('*') \ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_CLOSEBRACE) PORT_NAME("] }") PORT_CHAR(']') PORT_CHAR('}') \ - PORT_START("KEY9") \ + PORT_START("KEY.9") \ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_Q) PORT_NAME("Q") PORT_CHAR('Q') PORT_CHAR('q') \ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_W) PORT_NAME("W") PORT_CHAR('W') PORT_CHAR('w') \ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_E) PORT_NAME("E") PORT_CHAR('E') PORT_CHAR('e') \ @@ -117,7 +117,7 @@ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_I) PORT_NAME("I") PORT_CHAR('I') PORT_CHAR('i') \ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_O) PORT_NAME("O") PORT_CHAR('O') PORT_CHAR('o') \ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_P) PORT_NAME("P") PORT_CHAR('P') PORT_CHAR('p') \ - PORT_START("KEYA") \ + PORT_START("KEY.10") \ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_A) PORT_NAME("A") PORT_CHAR('A') PORT_CHAR('a') \ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_S) PORT_NAME("S") PORT_CHAR('S') PORT_CHAR('s') \ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_D) PORT_NAME("D") PORT_CHAR('D') PORT_CHAR('d') \ @@ -126,7 +126,7 @@ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_K) PORT_NAME("K") PORT_CHAR('K') PORT_CHAR('k') \ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_L) PORT_NAME("L") PORT_CHAR('L') PORT_CHAR('l') \ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_COLON) PORT_NAME("; +") PORT_CHAR(';') PORT_CHAR('+') \ - PORT_START("KEYB") \ + PORT_START("KEY.11") \ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_Z) PORT_NAME("Z") PORT_CHAR('Z') PORT_CHAR('z') \ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_X) PORT_NAME("X") PORT_CHAR('X') PORT_CHAR('x') \ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_C) PORT_NAME("C") PORT_CHAR('C') PORT_CHAR('c') \ |