trunk/src/mess/drivers/geniusiq.c
| r19190 | r19191 | |
| 85 | 85 | | +----+ +----+ E403 +----+ | |
| 86 | 86 | +------+ +--------------------------------------+ +-----------------------------------+ +----------+ |
| 87 | 87 | |
| 88 | | |
| 89 | | |
| 88 | |
| 89 | |
| 90 | 90 | IQ TV 512 PCB (German version) |
| 91 | 91 | +----------------------------------+ +-------------------+ |
| 92 | 92 | +-----------------+ | | | +-------+ +--------------+ |
| r19190 | r19191 | |
| 145 | 145 | | +----+ +----+ E493 +----+ | |
| 146 | 146 | +------+ +--------------------------------------+ +-----------------------------------+ +----------+ |
| 147 | 147 | |
| 148 | |
| 149 | |
| 150 | Leader 8008 CX (German version) |
| 151 | |
| 152 | +---+-----------+-----+-----------------------+-----+-----+-----+ |
| 153 | | |SERIAL PORT| |PARALLEL PORT (PRINTER)| |MOUSE| | |
| 154 | | +-----------+ +-----------------------+ +-----+ | |
| 155 | | | |
| 156 | | | |
| 157 | | | |
| 158 | | | |
| 159 | | +----+ | |
| 160 | | | A0 | | |
| 161 | | +----+ | |
| 162 | | | |
| 163 | | | |
| 164 | | +--------+ | |
| 165 | | | | | |
| 166 | | CPU | VTECH | +------+ | |
| 167 | | |LHMV5GNS| | | | |
| 168 | | | | |GM76U8| | |
| 169 | | |1999 | |128CLF| | |
| 170 | | |27-6393-| |W85 | | |
| 171 | | +-----------+ |11 | | | | |
| 172 | | |27-6296-0-0| | | | | | |
| 173 | | |47C241M NH7| | | +------+ | |
| 174 | | +-----------+ +--------+ | |
| 175 | | | |
| 176 | | | |
| 177 | | | |
| 178 | | | |
| 179 | +---------------------------------------------------------------+ |
| 180 | |
| 181 | CPU = epoxy blob |
| 182 | GM76U8128CLFW85 = LGS / Hynix 131,072 WORDS x 8 BIT CMOS SRAM |
| 183 | TMP47C241MG = TCLS-47 series 4-bit CPU with 2048x8 internal ROM |
| 184 | |
| 148 | 185 | ****************************************************************************/ |
| 149 | 186 | |
| 150 | 187 | #include "emu.h" |
| r19190 | r19191 | |
| 152 | 189 | #include "machine/intelfsh.h" |
| 153 | 190 | |
| 154 | 191 | |
| 155 | | #define KEYBOARD_QUEUE_SIZE 0x80 |
| 192 | #define KEYBOARD_QUEUE_SIZE 0x80 |
| 156 | 193 | |
| 157 | 194 | class geniusiq_state : public driver_device |
| 158 | 195 | { |
| r19190 | r19191 | |
| 167 | 204 | |
| 168 | 205 | required_device<cpu_device> m_maincpu; |
| 169 | 206 | required_device<intelfsh8_device> m_flash; |
| 170 | | required_shared_ptr<UINT16> m_vram; |
| 171 | | required_shared_ptr<UINT16> m_mouse_gfx; |
| 207 | required_shared_ptr<UINT16> m_vram; |
| 208 | required_shared_ptr<UINT16> m_mouse_gfx; |
| 172 | 209 | virtual void machine_reset(); |
| 173 | 210 | virtual void palette_init(); |
| 174 | 211 | virtual UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
| r19190 | r19191 | |
| 188 | 225 | DECLARE_READ16_MEMBER(unk_r) { return machine().rand(); } |
| 189 | 226 | |
| 190 | 227 | private: |
| 191 | | UINT16 m_gfx_y; |
| 192 | | UINT16 m_gfx_x; |
| 193 | | UINT32 m_gfx_base; |
| 194 | | UINT8 m_gfx_color[2]; |
| 195 | | UINT8 m_mouse_posx; |
| 196 | | UINT8 m_mouse_posy; |
| 197 | | UINT16 m_mouse_gfx_posx; |
| 198 | | UINT16 m_mouse_gfx_posy; |
| 228 | UINT16 m_gfx_y; |
| 229 | UINT16 m_gfx_x; |
| 230 | UINT32 m_gfx_base; |
| 231 | UINT8 m_gfx_color[2]; |
| 232 | UINT8 m_mouse_posx; |
| 233 | UINT8 m_mouse_posy; |
| 234 | UINT16 m_mouse_gfx_posx; |
| 235 | UINT16 m_mouse_gfx_posy; |
| 199 | 236 | struct |
| 200 | 237 | { |
| 201 | | UINT16 buffer[KEYBOARD_QUEUE_SIZE]; |
| 202 | | int head; |
| 203 | | int tail; |
| 238 | UINT16 buffer[KEYBOARD_QUEUE_SIZE]; |
| 239 | int head; |
| 240 | int tail; |
| 204 | 241 | } m_keyboard; |
| 205 | 242 | }; |
| 206 | 243 | |
| 244 | class gl8008cx_state : public driver_device |
| 245 | { |
| 246 | public: |
| 247 | gl8008cx_state(const machine_config &mconfig, device_type type, const char *tag) |
| 248 | : driver_device(mconfig, type, tag), |
| 249 | m_maincpu(*this, "maincpu") |
| 250 | { } |
| 207 | 251 | |
| 252 | required_device<cpu_device> m_maincpu; |
| 253 | |
| 254 | virtual UINT32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
| 255 | }; |
| 256 | |
| 208 | 257 | void geniusiq_state::palette_init() |
| 209 | 258 | { |
| 210 | 259 | // shades need to be verified |
| r19190 | r19191 | |
| 232 | 281 | palette_set_color_rgb(machine(), i, palette[i*3], palette[i*3+1], palette[i*3+2]); |
| 233 | 282 | } |
| 234 | 283 | |
| 284 | UINT32 gl8008cx_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) |
| 285 | { |
| 286 | return 0; |
| 287 | } |
| 288 | |
| 235 | 289 | UINT32 geniusiq_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) |
| 236 | 290 | { |
| 237 | 291 | for (int y=0; y<256; y++) |
| r19190 | r19191 | |
| 328 | 382 | READ16_MEMBER( geniusiq_state::input_r ) |
| 329 | 383 | { |
| 330 | 384 | /* |
| 331 | | this is guesswork and may not be correct |
| 385 | this is guesswork and may not be correct |
| 332 | 386 | |
| 333 | | xxxx xxx- ---- ---- unknown |
| 334 | | ---- ---x ---- ---- used for indicate if the data read is valid (if not set the other bits are discarded) |
| 335 | | ---- ---- x--- ---- if set indicates a KeyUp otherwise a KeyDown |
| 336 | | ---- ---- -xxx xxxx this is the scan code |
| 337 | | */ |
| 387 | xxxx xxx- ---- ---- unknown |
| 388 | ---- ---x ---- ---- used for indicate if the data read is valid (if not set the other bits are discarded) |
| 389 | ---- ---- x--- ---- if set indicates a KeyUp otherwise a KeyDown |
| 390 | ---- ---- -xxx xxxx this is the scan code |
| 391 | */ |
| 338 | 392 | |
| 339 | 393 | UINT16 data = 0; |
| 340 | 394 | |
| r19190 | r19191 | |
| 390 | 444 | queue_input(data); |
| 391 | 445 | } |
| 392 | 446 | |
| 447 | static ADDRESS_MAP_START(gl8008cx_mem, AS_PROGRAM, 16, gl8008cx_state) |
| 448 | ADDRESS_MAP_UNMAP_HIGH |
| 449 | AM_RANGE(0x000000, 0x1FFFFF) AM_ROM |
| 450 | ADDRESS_MAP_END |
| 393 | 451 | |
| 394 | 452 | static ADDRESS_MAP_START(geniusiq_mem, AS_PROGRAM, 16, geniusiq_state) |
| 395 | 453 | ADDRESS_MAP_UNMAP_HIGH |
| 396 | 454 | AM_RANGE(0x000000, 0x1FFFFF) AM_ROM |
| 397 | 455 | AM_RANGE(0x200000, 0x23FFFF) AM_RAM |
| 398 | | AM_RANGE(0x300000, 0x30FFFF) AM_RAM AM_SHARE("vram") |
| 456 | AM_RANGE(0x300000, 0x30FFFF) AM_RAM AM_SHARE("vram") |
| 399 | 457 | AM_RANGE(0x310000, 0x31FFFF) AM_RAM |
| 400 | 458 | AM_RANGE(0x400000, 0x41ffff) AM_MIRROR(0x0e0000) AM_READWRITE8(flash_r, flash_w, 0x00ff) |
| 401 | 459 | AM_RANGE(0x600300, 0x600301) AM_READ(input_r) |
| r19190 | r19191 | |
| 406 | 464 | AM_RANGE(0x600802, 0x600803) AM_READ_PORT("CART") // cartridge state |
| 407 | 465 | AM_RANGE(0x600108, 0x600109) AM_READ(unk0_r) // read before run a BASIC program |
| 408 | 466 | AM_RANGE(0x600918, 0x600919) AM_READ(unk0_r) // loop at start if bit 0 is set |
| 409 | | AM_RANGE(0x601008, 0x601009) AM_READ(unk_r) // unknown, read at start and expect that bit 2 changes several times before continue |
| 410 | | AM_RANGE(0x601010, 0x601011) AM_READ(unk0_r) // loop at start if bit 1 is set |
| 467 | AM_RANGE(0x601008, 0x601009) AM_READ(unk_r) // unknown, read at start and expect that bit 2 changes several times before continue |
| 468 | AM_RANGE(0x601010, 0x601011) AM_READ(unk0_r) // loop at start if bit 1 is set |
| 411 | 469 | AM_RANGE(0x601018, 0x60101b) AM_WRITE(gfx_dest_w) |
| 412 | 470 | AM_RANGE(0x60101c, 0x60101f) AM_WRITE(gfx_color_w) |
| 413 | 471 | AM_RANGE(0x601060, 0x601063) AM_WRITE(mouse_pos_w) |
| 414 | | AM_RANGE(0x601100, 0x6011ff) AM_RAM AM_SHARE("mouse_gfx") // mouse cursor gfx (24x16) |
| 472 | AM_RANGE(0x601100, 0x6011ff) AM_RAM AM_SHARE("mouse_gfx") // mouse cursor gfx (24x16) |
| 415 | 473 | //AM_RANGE(0xa00000, 0xa?????) // cartridge ?? |
| 416 | 474 | // 0x600000 : some memory mapped hardware |
| 417 | 475 | ADDRESS_MAP_END |
| r19190 | r19191 | |
| 419 | 477 | /* Input ports */ |
| 420 | 478 | static INPUT_PORTS_START( geniusiq ) |
| 421 | 479 | PORT_START( "IN0" ) |
| 422 | | PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x00 ) |
| 423 | | PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x01 ) |
| 424 | | PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_LCONTROL ) PORT_CHAR(UCHAR_MAMEKEY(LCONTROL)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x02 ) |
| 425 | | PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_LSHIFT ) PORT_CHAR(UCHAR_SHIFT_1) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x03 ) |
| 426 | | PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_RSHIFT ) PORT_CHAR(UCHAR_MAMEKEY(RSHIFT)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x04 ) |
| 427 | | PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_LALT ) PORT_CHAR(UCHAR_MAMEKEY(LALT)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x05 ) |
| 428 | | PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F1") PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x06 ) |
| 429 | | PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F2") PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x07 ) |
| 430 | | PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F3") PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x08 ) |
| 431 | | PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F4") PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x09 ) |
| 432 | | PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F5") PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x0a ) |
| 433 | | PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F6") PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x0b ) |
| 434 | | PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F7") PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x0c ) |
| 435 | | PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F8") PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x0d ) |
| 436 | | PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F9") PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x0e ) |
| 437 | | PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F10") PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x0f ) |
| 480 | PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x00 ) |
| 481 | PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x01 ) |
| 482 | PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_LCONTROL ) PORT_CHAR(UCHAR_MAMEKEY(LCONTROL)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x02 ) |
| 483 | PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_LSHIFT ) PORT_CHAR(UCHAR_SHIFT_1) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x03 ) |
| 484 | PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_RSHIFT ) PORT_CHAR(UCHAR_MAMEKEY(RSHIFT)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x04 ) |
| 485 | PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_LALT ) PORT_CHAR(UCHAR_MAMEKEY(LALT)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x05 ) |
| 486 | PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F1") PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x06 ) |
| 487 | PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F2") PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x07 ) |
| 488 | PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F3") PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x08 ) |
| 489 | PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F4") PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x09 ) |
| 490 | PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F5") PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x0a ) |
| 491 | PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F6") PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x0b ) |
| 492 | PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F7") PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x0c ) |
| 493 | PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F8") PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x0d ) |
| 494 | PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F9") PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x0e ) |
| 495 | PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F10") PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x0f ) |
| 438 | 496 | |
| 439 | 497 | PORT_START( "IN1" ) |
| 440 | | PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x10 ) |
| 441 | | PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x11 ) |
| 442 | | PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x12 ) |
| 443 | | PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x13 ) |
| 444 | | PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x14 ) |
| 445 | | PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x15 ) |
| 446 | | PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x16 ) |
| 447 | | PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_QUOTE ) PORT_CHAR('\'') PORT_CHAR('~') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x17 ) |
| 448 | | PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_BACKSLASH ) PORT_CHAR('$') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x18 ) |
| 449 | | PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_EQUALS ) PORT_CHAR('=') PORT_CHAR('+') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x19 ) |
| 450 | | PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_CLOSEBRACE ) PORT_CHAR(')') PORT_CHAR(0x00b0) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x1a ) |
| 451 | | PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_OPENBRACE ) PORT_CHAR(0x00f9) PORT_CHAR('%') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x1b ) |
| 452 | | PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_SLASH ) PORT_CHAR('^') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x1c ) |
| 453 | | PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_M ) PORT_CHAR('m') PORT_CHAR('M') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x1d ) |
| 454 | | PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_P ) PORT_CHAR('p') PORT_CHAR('P') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x1e ) |
| 455 | | PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_TILDE ) PORT_CHAR('!') PORT_CHAR('*') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x1f ) |
| 498 | PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x10 ) |
| 499 | PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x11 ) |
| 500 | PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x12 ) |
| 501 | PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x13 ) |
| 502 | PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x14 ) |
| 503 | PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x15 ) |
| 504 | PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x16 ) |
| 505 | PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_QUOTE ) PORT_CHAR('\'') PORT_CHAR('~') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x17 ) |
| 506 | PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_BACKSLASH ) PORT_CHAR('$') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x18 ) |
| 507 | PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_EQUALS ) PORT_CHAR('=') PORT_CHAR('+') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x19 ) |
| 508 | PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_CLOSEBRACE ) PORT_CHAR(')') PORT_CHAR(0x00b0) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x1a ) |
| 509 | PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_OPENBRACE ) PORT_CHAR(0x00f9) PORT_CHAR('%') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x1b ) |
| 510 | PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_SLASH ) PORT_CHAR('^') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x1c ) |
| 511 | PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_M ) PORT_CHAR('m') PORT_CHAR('M') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x1d ) |
| 512 | PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_P ) PORT_CHAR('p') PORT_CHAR('P') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x1e ) |
| 513 | PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_TILDE ) PORT_CHAR('!') PORT_CHAR('*') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x1f ) |
| 456 | 514 | |
| 457 | 515 | PORT_START( "IN2" ) |
| 458 | | PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_0 ) PORT_CHAR(0x00e0) PORT_CHAR('0') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x20 ) |
| 459 | | PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Return") PORT_CODE( KEYCODE_ENTER ) PORT_CHAR(13) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x21 ) |
| 460 | | PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Backspace") PORT_CODE( KEYCODE_BACKSPACE ) PORT_CHAR(UCHAR_MAMEKEY(BACKSPACE)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x22 ) |
| 461 | | PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_L ) PORT_CHAR('l') PORT_CHAR('L') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x23 ) |
| 462 | | PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_O ) PORT_CHAR('o') PORT_CHAR('O') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x24 ) |
| 463 | | PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_9 ) PORT_CHAR(0x00e7) PORT_CHAR('9') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x25 ) |
| 464 | | PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x26 ) |
| 465 | | PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Mouse Button 2 (keyboard)") PORT_CODE( KEYCODE_F3 ) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x27 ) |
| 466 | | PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x28 ) |
| 467 | | PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_PGDN ) PORT_CHAR(UCHAR_MAMEKEY(PGDN)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x29 ) |
| 468 | | PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_PGUP ) PORT_CHAR(UCHAR_MAMEKEY(PGUP)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x2a ) |
| 469 | | PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_STOP ) PORT_CHAR(':') PORT_CHAR('/') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x2b ) |
| 470 | | PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_COLON ) PORT_CHAR(';') PORT_CHAR('.') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x2c ) |
| 471 | | PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_K ) PORT_CHAR('k') PORT_CHAR('K') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x2d ) |
| 472 | | PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_I ) PORT_CHAR('i') PORT_CHAR('I') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x2e ) |
| 473 | | PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Mouse Button 1 (keyboard)") PORT_CODE( KEYCODE_F2 ) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x2f ) |
| 516 | PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_0 ) PORT_CHAR(0x00e0) PORT_CHAR('0') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x20 ) |
| 517 | PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Return") PORT_CODE( KEYCODE_ENTER ) PORT_CHAR(13) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x21 ) |
| 518 | PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Backspace") PORT_CODE( KEYCODE_BACKSPACE ) PORT_CHAR(UCHAR_MAMEKEY(BACKSPACE)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x22 ) |
| 519 | PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_L ) PORT_CHAR('l') PORT_CHAR('L') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x23 ) |
| 520 | PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_O ) PORT_CHAR('o') PORT_CHAR('O') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x24 ) |
| 521 | PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_9 ) PORT_CHAR(0x00e7) PORT_CHAR('9') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x25 ) |
| 522 | PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x26 ) |
| 523 | PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Mouse Button 2 (keyboard)") PORT_CODE( KEYCODE_F3 ) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x27 ) |
| 524 | PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x28 ) |
| 525 | PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_PGDN ) PORT_CHAR(UCHAR_MAMEKEY(PGDN)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x29 ) |
| 526 | PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_PGUP ) PORT_CHAR(UCHAR_MAMEKEY(PGUP)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x2a ) |
| 527 | PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_STOP ) PORT_CHAR(':') PORT_CHAR('/') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x2b ) |
| 528 | PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_COLON ) PORT_CHAR(';') PORT_CHAR('.') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x2c ) |
| 529 | PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_K ) PORT_CHAR('k') PORT_CHAR('K') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x2d ) |
| 530 | PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_I ) PORT_CHAR('i') PORT_CHAR('I') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x2e ) |
| 531 | PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Mouse Button 1 (keyboard)") PORT_CODE( KEYCODE_F2 ) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x2f ) |
| 474 | 532 | |
| 475 | 533 | PORT_START( "IN3" ) |
| 476 | | PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_8 ) PORT_CHAR('_') PORT_CHAR('8') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x30 ) |
| 477 | | PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_ESC ) PORT_CHAR(UCHAR_MAMEKEY(ESC)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x31 ) |
| 478 | | PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_COMMA ) PORT_CHAR(',') PORT_CHAR('?') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x32 ) |
| 479 | | PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_J ) PORT_CHAR('j') PORT_CHAR('J') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x33 ) |
| 480 | | PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_U ) PORT_CHAR('u') PORT_CHAR('U') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x34 ) |
| 481 | | PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_7 ) PORT_CHAR(0x00e8) PORT_CHAR('7') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x35 ) |
| 482 | | PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x36 ) |
| 483 | | PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x37 ) |
| 484 | | PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x38 ) |
| 485 | | PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_PRTSCR ) PORT_CHAR(UCHAR_MAMEKEY(PRTSCR)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x39 ) |
| 486 | | PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_MINUS ) PORT_CHAR('-') PORT_CHAR(0x00a3) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x3a ) |
| 487 | | PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_DEL ) PORT_CHAR(UCHAR_MAMEKEY(DEL)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x3b ) |
| 488 | | PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_N ) PORT_CHAR('n') PORT_CHAR('N') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x3c ) |
| 489 | | PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_H ) PORT_CHAR('h') PORT_CHAR('H') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x3d ) |
| 490 | | PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_Y ) PORT_CHAR('y') PORT_CHAR('Y') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x3e ) |
| 491 | | PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_NUMLOCK ) PORT_CHAR(UCHAR_MAMEKEY(NUMLOCK)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x3f ) |
| 534 | PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_8 ) PORT_CHAR('_') PORT_CHAR('8') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x30 ) |
| 535 | PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_ESC ) PORT_CHAR(UCHAR_MAMEKEY(ESC)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x31 ) |
| 536 | PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_COMMA ) PORT_CHAR(',') PORT_CHAR('?') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x32 ) |
| 537 | PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_J ) PORT_CHAR('j') PORT_CHAR('J') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x33 ) |
| 538 | PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_U ) PORT_CHAR('u') PORT_CHAR('U') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x34 ) |
| 539 | PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_7 ) PORT_CHAR(0x00e8) PORT_CHAR('7') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x35 ) |
| 540 | PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x36 ) |
| 541 | PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x37 ) |
| 542 | PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x38 ) |
| 543 | PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_PRTSCR ) PORT_CHAR(UCHAR_MAMEKEY(PRTSCR)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x39 ) |
| 544 | PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_MINUS ) PORT_CHAR('-') PORT_CHAR(0x00a3) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x3a ) |
| 545 | PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_DEL ) PORT_CHAR(UCHAR_MAMEKEY(DEL)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x3b ) |
| 546 | PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_N ) PORT_CHAR('n') PORT_CHAR('N') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x3c ) |
| 547 | PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_H ) PORT_CHAR('h') PORT_CHAR('H') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x3d ) |
| 548 | PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_Y ) PORT_CHAR('y') PORT_CHAR('Y') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x3e ) |
| 549 | PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_NUMLOCK ) PORT_CHAR(UCHAR_MAMEKEY(NUMLOCK)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x3f ) |
| 492 | 550 | |
| 493 | 551 | PORT_START( "IN4" ) |
| 494 | | PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_6 ) PORT_CHAR('-') PORT_CHAR('6') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x40 ) |
| 495 | | PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_TAB ) PORT_CHAR('\t') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x41 ) |
| 496 | | PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_B ) PORT_CHAR('b') PORT_CHAR('B') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x42 ) |
| 497 | | PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_G ) PORT_CHAR('g') PORT_CHAR('G') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x43 ) |
| 498 | | PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_T ) PORT_CHAR('t') PORT_CHAR('T') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x44 ) |
| 499 | | PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_5 ) PORT_CHAR('(') PORT_CHAR('5') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x45 ) |
| 500 | | PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x46 ) |
| 501 | | PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_CAPSLOCK ) PORT_CHAR(UCHAR_MAMEKEY(CAPSLOCK)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x47 ) |
| 502 | | PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x48 ) |
| 503 | | PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_HOME ) PORT_CHAR(UCHAR_MAMEKEY(HOME)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x49 ) |
| 504 | | PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_BACKSLASH2 ) /*PORT_CHAR('')*/ PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x4a ) |
| 505 | | PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_SPACE ) PORT_CHAR(' ') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x4b ) |
| 506 | | PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_V ) PORT_CHAR('v') PORT_CHAR('V') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x4c ) |
| 507 | | PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_F ) PORT_CHAR('f') PORT_CHAR('F') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x4d ) |
| 508 | | PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_R ) PORT_CHAR('r') PORT_CHAR('R') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x4e ) |
| 509 | | PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Mouse Up Button") PORT_CODE( KEYCODE_UP ) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x4f ) |
| 552 | PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_6 ) PORT_CHAR('-') PORT_CHAR('6') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x40 ) |
| 553 | PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_TAB ) PORT_CHAR('\t') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x41 ) |
| 554 | PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_B ) PORT_CHAR('b') PORT_CHAR('B') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x42 ) |
| 555 | PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_G ) PORT_CHAR('g') PORT_CHAR('G') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x43 ) |
| 556 | PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_T ) PORT_CHAR('t') PORT_CHAR('T') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x44 ) |
| 557 | PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_5 ) PORT_CHAR('(') PORT_CHAR('5') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x45 ) |
| 558 | PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x46 ) |
| 559 | PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_CAPSLOCK ) PORT_CHAR(UCHAR_MAMEKEY(CAPSLOCK)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x47 ) |
| 560 | PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x48 ) |
| 561 | PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_HOME ) PORT_CHAR(UCHAR_MAMEKEY(HOME)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x49 ) |
| 562 | PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_BACKSLASH2 ) /*PORT_CHAR('')*/ PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x4a ) |
| 563 | PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_SPACE ) PORT_CHAR(' ') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x4b ) |
| 564 | PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_V ) PORT_CHAR('v') PORT_CHAR('V') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x4c ) |
| 565 | PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_F ) PORT_CHAR('f') PORT_CHAR('F') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x4d ) |
| 566 | PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_R ) PORT_CHAR('r') PORT_CHAR('R') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x4e ) |
| 567 | PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Mouse Up Button") PORT_CODE( KEYCODE_UP ) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x4f ) |
| 510 | 568 | |
| 511 | 569 | PORT_START( "IN5" ) |
| 512 | | PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_4 ) PORT_CHAR('\'') PORT_CHAR('4') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x50 ) |
| 513 | | PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_C ) PORT_CHAR('c') PORT_CHAR('C') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x51 ) |
| 514 | | PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_D ) PORT_CHAR('d') PORT_CHAR('D') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x52 ) |
| 515 | | PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_E ) PORT_CHAR('e') PORT_CHAR('E') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x53 ) |
| 516 | | PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_3 ) PORT_CHAR('"') PORT_CHAR('3') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x54 ) |
| 517 | | PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x55 ) |
| 518 | | PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x56 ) |
| 519 | | PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Mouse Down Button") PORT_CODE( KEYCODE_DOWN ) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x57 ) |
| 520 | | PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_INSERT ) PORT_CHAR(UCHAR_MAMEKEY(INSERT)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x58 ) |
| 521 | | PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_X ) PORT_CHAR('x') PORT_CHAR('X') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x59 ) |
| 522 | | PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_S ) PORT_CHAR('s') PORT_CHAR('S') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x5a ) |
| 523 | | PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_Z ) PORT_CHAR('z') PORT_CHAR('Z') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x5b ) |
| 524 | | PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_2 ) PORT_CHAR(0x00e9) PORT_CHAR('2') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x5c ) |
| 525 | | PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x5d ) |
| 526 | | PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x5e ) |
| 527 | | PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Mouse Left Button") PORT_CODE( KEYCODE_LEFT ) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x5f ) |
| 570 | PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_4 ) PORT_CHAR('\'') PORT_CHAR('4') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x50 ) |
| 571 | PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_C ) PORT_CHAR('c') PORT_CHAR('C') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x51 ) |
| 572 | PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_D ) PORT_CHAR('d') PORT_CHAR('D') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x52 ) |
| 573 | PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_E ) PORT_CHAR('e') PORT_CHAR('E') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x53 ) |
| 574 | PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_3 ) PORT_CHAR('"') PORT_CHAR('3') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x54 ) |
| 575 | PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x55 ) |
| 576 | PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x56 ) |
| 577 | PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Mouse Down Button") PORT_CODE( KEYCODE_DOWN ) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x57 ) |
| 578 | PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_INSERT ) PORT_CHAR(UCHAR_MAMEKEY(INSERT)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x58 ) |
| 579 | PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_X ) PORT_CHAR('x') PORT_CHAR('X') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x59 ) |
| 580 | PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_S ) PORT_CHAR('s') PORT_CHAR('S') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x5a ) |
| 581 | PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_Z ) PORT_CHAR('z') PORT_CHAR('Z') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x5b ) |
| 582 | PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_2 ) PORT_CHAR(0x00e9) PORT_CHAR('2') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x5c ) |
| 583 | PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x5d ) |
| 584 | PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x5e ) |
| 585 | PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Mouse Left Button") PORT_CODE( KEYCODE_LEFT ) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x5f ) |
| 528 | 586 | |
| 529 | 587 | PORT_START( "IN6" ) |
| 530 | | PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Help") PORT_CODE( KEYCODE_F1 ) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x60 ) |
| 531 | | PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x61 ) |
| 532 | | PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_END ) PORT_CHAR(UCHAR_MAMEKEY(END)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x62 ) |
| 533 | | PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_W ) PORT_CHAR('w') PORT_CHAR('W') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x63 ) |
| 534 | | PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_Q ) PORT_CHAR('q') PORT_CHAR('Q') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x64 ) |
| 535 | | PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_A ) PORT_CHAR('a') PORT_CHAR('A') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x65 ) |
| 536 | | PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_1 ) PORT_CHAR('&') PORT_CHAR('1') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x66 ) |
| 537 | | PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Mouse Right Button") PORT_CODE( KEYCODE_RIGHT ) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x67 ) |
| 538 | | PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x68 ) |
| 539 | | PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_F4 ) PORT_CHAR(0x00a4) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x69 ) |
| 540 | | PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_DEL_PAD ) PORT_CHAR(UCHAR_MAMEKEY(DEL_PAD)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x6a ) |
| 541 | | PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_SLASH_PAD ) PORT_CHAR(UCHAR_MAMEKEY(SLASH_PAD)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x6b ) |
| 542 | | PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_ASTERISK ) PORT_CHAR('*') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x6c ) |
| 543 | | PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_MINUS_PAD ) PORT_CHAR(UCHAR_MAMEKEY(MINUS_PAD)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x6d ) |
| 544 | | PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_PLUS_PAD ) PORT_CHAR(UCHAR_MAMEKEY(PLUS_PAD)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x6e ) |
| 545 | | PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_ENTER_PAD ) PORT_CHAR(UCHAR_MAMEKEY(ENTER_PAD)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x6f ) |
| 588 | PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Help") PORT_CODE( KEYCODE_F1 ) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x60 ) |
| 589 | PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x61 ) |
| 590 | PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_END ) PORT_CHAR(UCHAR_MAMEKEY(END)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x62 ) |
| 591 | PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_W ) PORT_CHAR('w') PORT_CHAR('W') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x63 ) |
| 592 | PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_Q ) PORT_CHAR('q') PORT_CHAR('Q') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x64 ) |
| 593 | PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_A ) PORT_CHAR('a') PORT_CHAR('A') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x65 ) |
| 594 | PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_1 ) PORT_CHAR('&') PORT_CHAR('1') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x66 ) |
| 595 | PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Mouse Right Button") PORT_CODE( KEYCODE_RIGHT ) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x67 ) |
| 596 | PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x68 ) |
| 597 | PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_F4 ) PORT_CHAR(0x00a4) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x69 ) |
| 598 | PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_DEL_PAD ) PORT_CHAR(UCHAR_MAMEKEY(DEL_PAD)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x6a ) |
| 599 | PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_SLASH_PAD ) PORT_CHAR(UCHAR_MAMEKEY(SLASH_PAD)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x6b ) |
| 600 | PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_ASTERISK ) PORT_CHAR('*') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x6c ) |
| 601 | PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_MINUS_PAD ) PORT_CHAR(UCHAR_MAMEKEY(MINUS_PAD)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x6d ) |
| 602 | PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_PLUS_PAD ) PORT_CHAR(UCHAR_MAMEKEY(PLUS_PAD)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x6e ) |
| 603 | PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_ENTER_PAD ) PORT_CHAR(UCHAR_MAMEKEY(ENTER_PAD)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x6f ) |
| 546 | 604 | |
| 547 | 605 | PORT_START( "IN7" ) |
| 548 | | PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_0_PAD ) PORT_CHAR(UCHAR_MAMEKEY(0_PAD)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x70 ) |
| 549 | | PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_1_PAD ) PORT_CHAR(UCHAR_MAMEKEY(1_PAD)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x71 ) |
| 550 | | PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_2_PAD ) PORT_CHAR(UCHAR_MAMEKEY(2_PAD)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x72 ) |
| 551 | | PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_3_PAD ) PORT_CHAR(UCHAR_MAMEKEY(3_PAD)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x73 ) |
| 552 | | PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_4_PAD ) PORT_CHAR(UCHAR_MAMEKEY(4_PAD)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x74 ) |
| 553 | | PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_5_PAD ) PORT_CHAR(UCHAR_MAMEKEY(5_PAD)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x75 ) |
| 554 | | PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_6_PAD ) PORT_CHAR(UCHAR_MAMEKEY(6_PAD)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x76 ) |
| 555 | | PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_7_PAD ) PORT_CHAR(UCHAR_MAMEKEY(7_PAD)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x77 ) |
| 556 | | PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_8_PAD ) PORT_CHAR(UCHAR_MAMEKEY(8_PAD)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x78 ) |
| 557 | | PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_9_PAD ) PORT_CHAR(UCHAR_MAMEKEY(9_PAD)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x79 ) |
| 558 | | PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x7a ) |
| 559 | | PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x7b ) |
| 560 | | PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x7c ) |
| 561 | | PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x7d ) |
| 562 | | PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x7e ) |
| 563 | | PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x7f ) |
| 606 | PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_0_PAD ) PORT_CHAR(UCHAR_MAMEKEY(0_PAD)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x70 ) |
| 607 | PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_1_PAD ) PORT_CHAR(UCHAR_MAMEKEY(1_PAD)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x71 ) |
| 608 | PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_2_PAD ) PORT_CHAR(UCHAR_MAMEKEY(2_PAD)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x72 ) |
| 609 | PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_3_PAD ) PORT_CHAR(UCHAR_MAMEKEY(3_PAD)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x73 ) |
| 610 | PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_4_PAD ) PORT_CHAR(UCHAR_MAMEKEY(4_PAD)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x74 ) |
| 611 | PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_5_PAD ) PORT_CHAR(UCHAR_MAMEKEY(5_PAD)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x75 ) |
| 612 | PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_6_PAD ) PORT_CHAR(UCHAR_MAMEKEY(6_PAD)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x76 ) |
| 613 | PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_7_PAD ) PORT_CHAR(UCHAR_MAMEKEY(7_PAD)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x77 ) |
| 614 | PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_8_PAD ) PORT_CHAR(UCHAR_MAMEKEY(8_PAD)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x78 ) |
| 615 | PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_9_PAD ) PORT_CHAR(UCHAR_MAMEKEY(9_PAD)) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x79 ) |
| 616 | PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x7a ) |
| 617 | PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x7b ) |
| 618 | PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x7c ) |
| 619 | PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x7d ) |
| 620 | PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x7e ) |
| 621 | PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x7f ) |
| 564 | 622 | |
| 565 | 623 | PORT_START("MOUSEX") |
| 566 | | PORT_BIT( 0xff, 0x00, IPT_MOUSE_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(0) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_mouse_input, 0 ) |
| 624 | PORT_BIT( 0xff, 0x00, IPT_MOUSE_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(0) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_mouse_input, 0 ) |
| 567 | 625 | |
| 568 | 626 | PORT_START("MOUSEY") |
| 569 | | PORT_BIT( 0xff, 0x00, IPT_MOUSE_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(0) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_mouse_input, 0 ) |
| 627 | PORT_BIT( 0xff, 0x00, IPT_MOUSE_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(0) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_mouse_input, 0 ) |
| 570 | 628 | |
| 571 | 629 | PORT_START("MOUSE") |
| 572 | | PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Mouse Button 2") PORT_CODE(MOUSECODE_BUTTON2) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_mouse_input, 0 ) |
| 573 | | PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Mouse Button 1") PORT_CODE(MOUSECODE_BUTTON1) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_mouse_input, 0 ) |
| 630 | PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Mouse Button 2") PORT_CODE(MOUSECODE_BUTTON2) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_mouse_input, 0 ) |
| 631 | PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Mouse Button 1") PORT_CODE(MOUSECODE_BUTTON1) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_mouse_input, 0 ) |
| 574 | 632 | |
| 575 | 633 | PORT_START("CART") |
| 576 | 634 | PORT_CONFNAME( 0x03, 0x03, "Cartridge" ) |
| 577 | | PORT_CONFSETTING( 0x00, "ROM/Flash cartridge" ) // check for cartridge header at 0xa00000 |
| 635 | PORT_CONFSETTING( 0x00, "ROM/Flash cartridge" ) // check for cartridge header at 0xa00000 |
| 578 | 636 | PORT_CONFSETTING( 0x01, "Cartouche I" ) |
| 579 | 637 | PORT_CONFSETTING( 0x02, "Cartouche II" ) |
| 580 | 638 | PORT_CONFSETTING( 0x03, "No cartridge" ) |
| r19190 | r19191 | |
| 585 | 643 | PORT_INCLUDE(geniusiq) |
| 586 | 644 | |
| 587 | 645 | PORT_MODIFY( "IN1" ) |
| 588 | | PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_QUOTE ) PORT_CHAR('^') PORT_CHAR(0x00b0) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x17 ) |
| 589 | | PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_BACKSLASH ) PORT_CHAR('+') PORT_CHAR('*') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x18 ) |
| 590 | | PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_EQUALS ) PORT_CHAR('{') PORT_CHAR('}') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x19 ) |
| 591 | | PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_CLOSEBRACE ) PORT_CHAR(0x00b0) PORT_CHAR('?') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x1a ) |
| 592 | | PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_OPENBRACE ) PORT_CHAR(0x00e4) PORT_CHAR(0x00c4) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x1b ) |
| 593 | | PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_SLASH ) PORT_CHAR(0x00fc) PORT_CHAR(0x00dc) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x1c ) |
| 594 | | PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_COLON ) PORT_CHAR(0x00f6) PORT_CHAR(0x00d6) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x1d ) |
| 595 | | PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_TILDE ) PORT_CHAR('-') PORT_CHAR('_') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x1f ) |
| 646 | PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_QUOTE ) PORT_CHAR('^') PORT_CHAR(0x00b0) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x17 ) |
| 647 | PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_BACKSLASH ) PORT_CHAR('+') PORT_CHAR('*') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x18 ) |
| 648 | PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_EQUALS ) PORT_CHAR('{') PORT_CHAR('}') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x19 ) |
| 649 | PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_CLOSEBRACE ) PORT_CHAR(0x00b0) PORT_CHAR('?') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x1a ) |
| 650 | PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_OPENBRACE ) PORT_CHAR(0x00e4) PORT_CHAR(0x00c4) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x1b ) |
| 651 | PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_SLASH ) PORT_CHAR(0x00fc) PORT_CHAR(0x00dc) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x1c ) |
| 652 | PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_COLON ) PORT_CHAR(0x00f6) PORT_CHAR(0x00d6) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x1d ) |
| 653 | PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_TILDE ) PORT_CHAR('-') PORT_CHAR('_') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x1f ) |
| 596 | 654 | |
| 597 | 655 | PORT_MODIFY( "IN2" ) |
| 598 | | PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_0 ) PORT_CHAR('0') PORT_CHAR('=') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x20 ) |
| 599 | | PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_9 ) PORT_CHAR('9') PORT_CHAR(')') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x25 ) |
| 600 | | PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_STOP ) PORT_CHAR('.') PORT_CHAR(':') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x2b ) |
| 601 | | PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_COMMA ) PORT_CHAR(',') PORT_CHAR(';') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x2c ) |
| 656 | PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_0 ) PORT_CHAR('0') PORT_CHAR('=') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x20 ) |
| 657 | PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_9 ) PORT_CHAR('9') PORT_CHAR(')') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x25 ) |
| 658 | PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_STOP ) PORT_CHAR('.') PORT_CHAR(':') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x2b ) |
| 659 | PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_COMMA ) PORT_CHAR(',') PORT_CHAR(';') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x2c ) |
| 602 | 660 | |
| 603 | 661 | PORT_MODIFY( "IN3" ) |
| 604 | | PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_8 ) PORT_CHAR('8') PORT_CHAR('(') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x30 ) |
| 605 | | PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_M ) PORT_CHAR('m') PORT_CHAR('M') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x32 ) |
| 606 | | PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_7 ) PORT_CHAR('7') PORT_CHAR('/') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x35 ) |
| 607 | | PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_MINUS ) PORT_CHAR('#') PORT_CHAR('\'') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x3a ) |
| 608 | | PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_Z ) PORT_CHAR('z') PORT_CHAR('Z') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x3e ) |
| 662 | PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_8 ) PORT_CHAR('8') PORT_CHAR('(') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x30 ) |
| 663 | PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_M ) PORT_CHAR('m') PORT_CHAR('M') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x32 ) |
| 664 | PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_7 ) PORT_CHAR('7') PORT_CHAR('/') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x35 ) |
| 665 | PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_MINUS ) PORT_CHAR('#') PORT_CHAR('\'') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x3a ) |
| 666 | PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_Z ) PORT_CHAR('z') PORT_CHAR('Z') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x3e ) |
| 609 | 667 | |
| 610 | 668 | PORT_MODIFY( "IN4" ) |
| 611 | | PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_6 ) PORT_CHAR('6') PORT_CHAR('&') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x40 ) |
| 612 | | PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_5 ) PORT_CHAR('5') PORT_CHAR('/') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x45 ) |
| 613 | | PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_BACKSLASH2 ) PORT_CHAR('<') PORT_CHAR('>') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x4a ) |
| 669 | PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_6 ) PORT_CHAR('6') PORT_CHAR('&') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x40 ) |
| 670 | PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_5 ) PORT_CHAR('5') PORT_CHAR('/') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x45 ) |
| 671 | PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_BACKSLASH2 ) PORT_CHAR('<') PORT_CHAR('>') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x4a ) |
| 614 | 672 | |
| 615 | 673 | PORT_MODIFY( "IN5" ) |
| 616 | | PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_4 ) PORT_CHAR('4') PORT_CHAR('$') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x50 ) |
| 617 | | PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_3 ) PORT_CHAR('3') PORT_CHAR(0x00a7) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x54 ) |
| 618 | | PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_W ) PORT_CHAR('w') PORT_CHAR('W') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x5b ) |
| 619 | | PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_2 ) PORT_CHAR('2') PORT_CHAR('"') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x5c ) |
| 674 | PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_4 ) PORT_CHAR('4') PORT_CHAR('$') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x50 ) |
| 675 | PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_3 ) PORT_CHAR('3') PORT_CHAR(0x00a7) PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x54 ) |
| 676 | PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_W ) PORT_CHAR('w') PORT_CHAR('W') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x5b ) |
| 677 | PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_2 ) PORT_CHAR('2') PORT_CHAR('"') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x5c ) |
| 620 | 678 | |
| 621 | 679 | PORT_MODIFY( "IN6" ) |
| 622 | | PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_Y ) PORT_CHAR('y') PORT_CHAR('Y') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x63 ) |
| 623 | | PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_A ) PORT_CHAR('a') PORT_CHAR('A') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x64 ) |
| 624 | | PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_Q ) PORT_CHAR('q') PORT_CHAR('Q') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x65 ) |
| 625 | | PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_1 ) PORT_CHAR('1') PORT_CHAR('!') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x66 ) |
| 680 | PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_Y ) PORT_CHAR('y') PORT_CHAR('Y') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x63 ) |
| 681 | PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_A ) PORT_CHAR('a') PORT_CHAR('A') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x64 ) |
| 682 | PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_Q ) PORT_CHAR('q') PORT_CHAR('Q') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x65 ) |
| 683 | PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_1 ) PORT_CHAR('1') PORT_CHAR('!') PORT_CHANGED_MEMBER( DEVICE_SELF, geniusiq_state, send_input, 0x66 ) |
| 626 | 684 | |
| 627 | 685 | PORT_MODIFY("CART") |
| 628 | 686 | PORT_CONFNAME( 0x03, 0x03, "Cartridge" ) |
| 629 | | PORT_CONFSETTING( 0x00, "ROM/Flash cartridge" ) // check for cartridge header at 0xa00000 |
| 687 | PORT_CONFSETTING( 0x00, "ROM/Flash cartridge" ) // check for cartridge header at 0xa00000 |
| 630 | 688 | PORT_CONFSETTING( 0x01, "Fit in Naturwissenschaften" ) |
| 631 | 689 | PORT_CONFSETTING( 0x02, "No cartridge" ) |
| 632 | 690 | PORT_CONFSETTING( 0x03, "No cartridge" ) |
| 633 | 691 | INPUT_PORTS_END |
| 634 | 692 | |
| 693 | static INPUT_PORTS_START( gl8008cx ) |
| 694 | INPUT_PORTS_END |
| 635 | 695 | |
| 636 | 696 | void geniusiq_state::machine_reset() |
| 637 | 697 | { |
| r19190 | r19191 | |
| 651 | 711 | /* basic machine hardware */ |
| 652 | 712 | MCFG_CPU_ADD("maincpu", M68000, XTAL_32MHz/2) // The main crystal is at 32MHz, not sure whats the CPU freq |
| 653 | 713 | MCFG_CPU_PROGRAM_MAP(geniusiq_mem) |
| 654 | | MCFG_CPU_PERIODIC_INT_DRIVER(geniusiq_state, irq6_line_hold, 125) // the internal clock is increased by 1 sec every 125 interrupts |
| 714 | MCFG_CPU_PERIODIC_INT_DRIVER(geniusiq_state, irq6_line_hold, 125) // the internal clock is increased by 1 sec every 125 interrupts |
| 655 | 715 | |
| 656 | 716 | /* video hardware */ |
| 657 | 717 | MCFG_SCREEN_ADD("screen", RASTER) |
| r19190 | r19191 | |
| 672 | 732 | MCFG_AMD_29F040_ADD("flash") |
| 673 | 733 | MACHINE_CONFIG_END |
| 674 | 734 | |
| 735 | static MACHINE_CONFIG_START( gl8008cx, gl8008cx_state ) |
| 736 | /* basic machine hardware */ |
| 737 | MCFG_CPU_ADD("maincpu", M68000, XTAL_32MHz/2) // TODO wrong CPU and frequency |
| 738 | MCFG_CPU_PROGRAM_MAP(gl8008cx_mem) |
| 739 | |
| 740 | /* video hardware */ |
| 741 | MCFG_SCREEN_ADD("screen", RASTER) |
| 742 | MCFG_SCREEN_REFRESH_RATE(50) |
| 743 | MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */ |
| 744 | MCFG_SCREEN_SIZE(512, 256) |
| 745 | MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1) |
| 746 | MCFG_SCREEN_UPDATE_DRIVER( gl8008cx_state, screen_update ) |
| 747 | MACHINE_CONFIG_END |
| 748 | |
| 675 | 749 | /* ROM definition */ |
| 676 | 750 | |
| 677 | | ROM_START( gl8008cx ) |
| 751 | ROM_START( iq128 ) |
| 678 | 752 | ROM_REGION(0x200000, "maincpu", 0) |
| 679 | | ROM_LOAD( "8008cx_ger.bin", 0x0000, 0x200000, CRC(fd49db46) SHA1(fc55bb31f42068f9d6cc8e2c2f419c3c4edb4fe6) ) |
| 753 | ROM_LOAD( "27-5947-00.bin", 0x0000, 0x200000, CRC(a98fc3ff) SHA1(de76a5898182bd0180bd2b3e34c4502f0918a3fa) ) |
| 680 | 754 | ROM_END |
| 681 | 755 | |
| 682 | 756 | ROM_START( iq128_fr ) |
| r19190 | r19191 | |
| 684 | 758 | ROM_LOAD( "geniusiq.bin", 0x0000, 0x200000, CRC(9b06cbf1) SHA1(b9438494a9575f78117c0033761f899e3c14e292) ) |
| 685 | 759 | ROM_END |
| 686 | 760 | |
| 687 | | ROM_START( iq128 ) |
| 761 | ROM_START( iqtv512 ) |
| 688 | 762 | ROM_REGION(0x200000, "maincpu", 0) |
| 689 | | ROM_LOAD( "german.rom", 0x0000, 0x200000, CRC(a98fc3ff) SHA1(de76a5898182bd0180bd2b3e34c4502f0918a3fa) ) |
| 763 | ROM_LOAD( "27-06171-000.bin", 0x0000, 0x200000, CRC(2597af70) SHA1(9db8151a84517407d380424410b6fa0003ceb1eb) ) |
| 690 | 764 | ROM_END |
| 691 | 765 | |
| 692 | | ROM_START( iqtv512 ) |
| 766 | ROM_START( gl8008cx ) |
| 693 | 767 | ROM_REGION(0x200000, "maincpu", 0) |
| 694 | | ROM_LOAD( "tv512_german.rom", 0x0000, 0x200000, CRC(2597af70) SHA1(9db8151a84517407d380424410b6fa0003ceb1eb) ) |
| 768 | ROM_LOAD( "27-6393-11.u1", 0x0000, 0x200000, CRC(fd49db46) SHA1(fc55bb31f42068f9d6cc8e2c2f419c3c4edb4fe6) ) |
| 769 | |
| 770 | ROM_REGION(0x800, "subcpu", 0) |
| 771 | ROM_LOAD( "27-6296-0-0.u3", 0x000, 0x800, NO_DUMP ) |
| 695 | 772 | ROM_END |
| 696 | 773 | |
| 697 | 774 | /* Driver */ |
| 698 | 775 | |
| 699 | | /* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */ |
| 700 | | COMP( ????, gl8008cx, 0, 0, iq128, geniusiq_de, driver_device, 0, "Video Technology", "Genius Leader 8008 CX (Germany)", GAME_IS_SKELETON) |
| 776 | /* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */ |
| 777 | COMP( 1997, iq128, 0, 0, iq128, geniusiq_de, driver_device, 0, "Video Technology", "Genius IQ 128 (Germany)", GAME_NOT_WORKING | GAME_NO_SOUND) |
| 701 | 778 | COMP( 1997, iq128_fr, iq128, 0, iq128, geniusiq, driver_device, 0, "Video Technology", "Genius IQ 128 (France)", GAME_NOT_WORKING | GAME_NO_SOUND) |
| 702 | | COMP( 1997, iq128, 0, 0, iq128, geniusiq_de, driver_device, 0, "Video Technology", "Genius IQ 128 (Germany)", GAME_NOT_WORKING | GAME_NO_SOUND) |
| 703 | 779 | COMP( 1998, iqtv512, 0, 0, iqtv512, geniusiq_de, driver_device, 0, "Video Technology", "Genius IQ TV 512 (Germany)", GAME_NOT_WORKING | GAME_NO_SOUND) |
| 780 | COMP( 1999, gl8008cx, 0, 0, gl8008cx, gl8008cx, driver_device, 0, "Video Technology", "Genius Leader 8008 CX (Germany)", GAME_IS_SKELETON) |