Previous 15994 Revisions Next

r2273 Saturday 5th April, 2008 at 17:37:19 UTC by Stefano Priore
Converted to tagged inputs
[src/mess/drivers]spectrum.c ssystem3.c studio2.c super80.c svision.c ti99_2.c
[src/mess/machine]spectrum.c

src/mess/machine/spectrum.c
r2272r2273
270270   if (TapePosition >= snapshot_length)
271271   {
272272      /* End of tape - either rewind or disable op base override */
273      if (readinputport(16) & 0x40)
273      if (readinputportbytag("CONFIG") & 0x40)
274274      {
275275         if (data_loaded)
276276         {
src/mess/drivers/spectrum.c
r2272r2273
229229   int lines = offset>>8;
230230   int data = 0xff;
231231
232   int cs_extra1 = readinputport(8)  & 0x1f;
233   int cs_extra2 = readinputport(9)  & 0x1f;
234   int cs_extra3 = readinputport(10) & 0x1f;
235   int ss_extra1 = readinputport(11) & 0x1f;
236   int ss_extra2 = readinputport(12) & 0x1f;
232   int cs_extra1 = readinputportbytag("PLUS0")  & 0x1f;
233   int cs_extra2 = readinputportbytag("PLUS1")  & 0x1f;
234   int cs_extra3 = readinputportbytag("PLUS2") & 0x1f;
235   int ss_extra1 = readinputportbytag("PLUS3") & 0x1f;
236   int ss_extra2 = readinputportbytag("PLUS4") & 0x1f;
237237
238   if ( readinputport(17) & 0x01 ) {
238   if ( readinputportbytag("MOTOR") & 0x01 ) {
239239      if ( motor_toggle_previous == 0 ) {
240240         cassette_motor_mode = cassette_motor_mode ^ 0x01;
241241         cassette_change_state( image_from_devtype_and_index( IO_CASSETTE, 0 ), cassette_motor_mode ? CASSETTE_MOTOR_ENABLED : CASSETTE_MOTOR_DISABLED, CASSETTE_MASK_MOTOR );
r2272r2273
248248   /* Caps - V */
249249   if ((lines & 1)==0)
250250   {
251      data &= readinputport(0);
251      data &= readinputportbytag("LINE0");
252252      /* CAPS for extra keys */
253253      if (cs_extra1 != 0x1f || cs_extra2 != 0x1f || cs_extra3 != 0x1f)
254254         data &= ~0x01;
r2272r2273
256256
257257   /* A - G */
258258   if ((lines & 2)==0)
259      data &= readinputport(1);
259      data &= readinputportbytag("LINE1");
260260
261261   /* Q - T */
262262   if ((lines & 4)==0)
263      data &= readinputport(2);
263      data &= readinputportbytag("LINE2");
264264
265265   /* 1 - 5 */
266266   if ((lines & 8)==0)
267      data &= readinputport(3) & cs_extra1;
267      data &= readinputportbytag("LINE3") & cs_extra1;
268268
269269   /* 6 - 0 */
270270   if ((lines & 16)==0)
271      data &= readinputport(4) & cs_extra2;
271      data &= readinputportbytag("LINE4") & cs_extra2;
272272
273273   /* Y - P */
274274   if ((lines & 32)==0)
275      data &= readinputport(5) & ss_extra1;
275      data &= readinputportbytag("LINE5") & ss_extra1;
276276
277277   /* H - Enter */
278278   if ((lines & 64)==0)
279      data &= readinputport(6);
279      data &= readinputportbytag("LINE6");
280280
281281   /* B - Space */
282282   if ((lines & 128)==0)
283283   {
284      data &= readinputport(7) & cs_extra3 & ss_extra2;
284      data &= readinputportbytag("LINE7") & cs_extra3 & ss_extra2;
285285      /* SYMBOL SHIFT for extra keys */
286286      if (ss_extra1 != 0x1f || ss_extra2 != 0x1f)
287287         data &= ~0x02;
r2272r2273
297297
298298   /* Issue 2 Spectrums default to having bits 5, 6 & 7 set.
299299    Issue 3 Spectrums default to having bits 5 & 7 set and bit 6 reset. */
300   if (readinputport(16) & 0x80)
300   if (readinputportbytag("CONFIG") & 0x80)
301301      data ^= (0x40);
302302   return data;
303303}
r2272r2273
305305/* kempston joystick interface */
306306static  READ8_HANDLER(spectrum_port_1f_r)
307307{
308  return readinputport(13) & 0x1f;
308  return readinputportbytag("KEMPSTON") & 0x1f;
309309}
310310
311311/* fuller joystick interface */
312312static  READ8_HANDLER(spectrum_port_7f_r)
313313{
314  return readinputport(14) | (0xff^0x8f);
314  return readinputportbytag("FULLER") | (0xff^0x8f);
315315}
316316
317317/* mikrogen joystick interface */
318318static  READ8_HANDLER(spectrum_port_df_r)
319319{
320  return readinputport(15) | (0xff^0x1f);
320  return readinputportbytag("MIKROGEN") | (0xff^0x1f);
321321}
322322
323323static  READ8_HANDLER ( spectrum_port_r )
r2272r2273
568568
569569static WRITE8_HANDLER(spectrum_plus3_port_3ffd_w)
570570{
571      if (~readinputport(16) & 0x20)
571      if (~readinputportbytag("CONFIG") & 0x20)
572572            nec765_data_w(machine, 0,data);
573573}
574574
575575static  READ8_HANDLER(spectrum_plus3_port_3ffd_r)
576576{
577      if (readinputport(16) & 0x20)
577      if (readinputportbytag("CONFIG") & 0x20)
578578            return 0xff;
579579      else
580580            return nec765_data_r(machine, 0);
r2272r2273
583583
584584static  READ8_HANDLER(spectrum_plus3_port_2ffd_r)
585585{
586      if (readinputport(16) & 0x20)
586      if (readinputportbytag("CONFIG") & 0x20)
587587            return 0xff;
588588      else
589589            return nec765_status_r(machine, 0);
r2272r2273
17821782GFXDECODE_END
17831783
17841784static INPUT_PORTS_START( spectrum )
1785   PORT_START /* [0] 0xFEFE */
1785   PORT_START_TAG("LINE0") /* [0] 0xFEFE */
17861786   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("CAPS SHIFT") PORT_CODE(KEYCODE_LSHIFT)
17871787   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Z  COPY    :      LN       BEEP") PORT_CODE(KEYCODE_Z)
17881788   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("X  CLEAR   Pound  EXP      INK") PORT_CODE(KEYCODE_X)
17891789   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("C  CONT    ?      LPRINT   PAPER") PORT_CODE(KEYCODE_C)
17901790   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("V  CLS     /      LLIST    FLASH") PORT_CODE(KEYCODE_V)
17911791
1792   PORT_START /* [1] 0xFDFE */
1792   PORT_START_TAG("LINE1") /* [1] 0xFDFE */
17931793   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("A  NEW     STOP   READ     ~") PORT_CODE(KEYCODE_A)
17941794   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("S  SAVE    NOT    RESTORE  |") PORT_CODE(KEYCODE_S)
17951795   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("D  DIM     STEP   DATA     \\") PORT_CODE(KEYCODE_D)
17961796   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F  FOR     TO     SGN      {") PORT_CODE(KEYCODE_F)
17971797   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("G  GOTO    THEN   ABS      }") PORT_CODE(KEYCODE_G)
17981798
1799   PORT_START /* [2] 0xFBFE */
1799   PORT_START_TAG("LINE2") /* [2] 0xFBFE */
18001800   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Q  PLOT    <=     SIN      ASN") PORT_CODE(KEYCODE_Q)
18011801   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("W  DRAW    <>     COS      ACS") PORT_CODE(KEYCODE_W)
18021802   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("E  REM     >=     TAN      ATN") PORT_CODE(KEYCODE_E)
r2272r2273
18041804   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("T  RAND    >      RND      MERGE") PORT_CODE(KEYCODE_T)
18051805
18061806   /* interface II uses this port for joystick */
1807   PORT_START /* [3] 0xF7FE */
1807   PORT_START_TAG("LINE3") /* [3] 0xF7FE */
18081808   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("1          !      BLUE     DEF FN") PORT_CODE(KEYCODE_1)
18091809   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("2          @      RED      FN") PORT_CODE(KEYCODE_2)
18101810   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("3          #      MAGENTA  LINE") PORT_CODE(KEYCODE_3)
r2272r2273
18121812   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("5          %      CYAN     CLOSE#") PORT_CODE(KEYCODE_5)
18131813
18141814   /* protek clashes with interface II! uses 5 = left, 6 = down, 7 = up, 8 = right, 0 = fire */
1815   PORT_START /* [4] 0xEFFE */
1815   PORT_START_TAG("LINE4") /* [4] 0xEFFE */
18161816   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("0          _      BLACK    FORMAT") PORT_CODE(KEYCODE_0)
18171817   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("9          )               POINT") PORT_CODE(KEYCODE_9)
18181818   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("8          (               CAT") PORT_CODE(KEYCODE_8)
18191819   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("7          '      WHITE    ERASE") PORT_CODE(KEYCODE_7)
18201820   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("6          &      YELLOW   MOVE") PORT_CODE(KEYCODE_6)
18211821
1822   PORT_START /* [5] 0xDFFE */
1822   PORT_START_TAG("LINE5") /* [5] 0xDFFE */
18231823   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("P  PRINT   \"      TAB      (c)") PORT_CODE(KEYCODE_P)
18241824   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("O  POKE    ;      PEEK     OUT") PORT_CODE(KEYCODE_O)
18251825   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("I  INPUT   AT     CODE     IN") PORT_CODE(KEYCODE_I)
18261826   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("U  IF      OR     CHR$     ]") PORT_CODE(KEYCODE_U)
18271827   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Y  RETURN  AND    STR$     [") PORT_CODE(KEYCODE_Y)
18281828
1829   PORT_START /* [6] 0xBFFE */
1829   PORT_START_TAG("LINE6") /* [6] 0xBFFE */
18301830   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("ENTER") PORT_CODE(KEYCODE_ENTER)
18311831   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("L  LET     =      USR      ATTR") PORT_CODE(KEYCODE_L)
18321832   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("K  LIST    +      LEN      SCREEN$") PORT_CODE(KEYCODE_K)
18331833   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("J  LOAD    -      VAL      VAL$") PORT_CODE(KEYCODE_J)
18341834   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("H  GOSUB   ^      SQR      CIRCLE") PORT_CODE(KEYCODE_H)
18351835
1836   PORT_START /* [7] 0x7FFE */
1836   PORT_START_TAG("LINE7") /* [7] 0x7FFE */
18371837   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("SPACE") PORT_CODE(KEYCODE_SPACE)
18381838   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("SYMBOL SHIFT") PORT_CODE(KEYCODE_RSHIFT)
18391839   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("M  PAUSE   .      PI       INVERSE") PORT_CODE(KEYCODE_M)
18401840   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("N  NEXT    ,      INKEY$   OVER") PORT_CODE(KEYCODE_N)
18411841   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("B  BORDER  *      BIN      BRIGHT") PORT_CODE(KEYCODE_B)
18421842
1843   PORT_START /* [8] Spectrum+ Keys (set CAPS + 1-5) */
1843   PORT_START_TAG("PLUS0") /* [8] Spectrum+ Keys (set CAPS + 1-5) */
18441844   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("EDIT          (CAPS + 1)") PORT_CODE(KEYCODE_INSERT)
18451845   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("CAPS LOCK     (CAPS + 2)") PORT_CODE(KEYCODE_CAPSLOCK)
18461846   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("TRUE VID      (CAPS + 3)") PORT_CODE(KEYCODE_HOME)
r2272r2273
18481848   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Cursor left   (CAPS + 5)") PORT_CODE(KEYCODE_LEFT)
18491849   PORT_BIT(0xe0, IP_ACTIVE_LOW, IPT_UNUSED)
18501850
1851   PORT_START /* [9] Spectrum+ Keys (set CAPS + 6-0) */
1851   PORT_START_TAG("PLUS1") /* [9] Spectrum+ Keys (set CAPS + 6-0) */
18521852   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("DEL           (CAPS + 0)") PORT_CODE(KEYCODE_BACKSPACE)
18531853   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("GRAPH         (CAPS + 9)") PORT_CODE(KEYCODE_LALT)
18541854   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Cursor right  (CAPS + 8)") PORT_CODE(KEYCODE_RIGHT)
r2272r2273
18561856   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Cursor down   (CAPS + 6)") PORT_CODE(KEYCODE_DOWN)
18571857   PORT_BIT(0xe0, IP_ACTIVE_LOW, IPT_UNUSED)
18581858
1859   PORT_START /* [10] Spectrum+ Keys (set CAPS + SPACE and CAPS + SYMBOL */
1859   PORT_START_TAG("PLUS2") /* [10] Spectrum+ Keys (set CAPS + SPACE and CAPS + SYMBOL */
18601860   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("BREAK") PORT_CODE(KEYCODE_PAUSE)
18611861   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("EXT MODE") PORT_CODE(KEYCODE_LCONTROL)
18621862   PORT_BIT(0xfc, IP_ACTIVE_LOW, IPT_UNUSED)
18631863
1864   PORT_START /* [11] Spectrum+ Keys (set SYMBOL SHIFT + O/P */
1864   PORT_START_TAG("PLUS3") /* [11] Spectrum+ Keys (set SYMBOL SHIFT + O/P */
18651865   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("\"") PORT_CODE(KEYCODE_F4)
18661866   /*        PORT_BITX(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD, "\"", KEYCODE_QUOTE,  CODE_NONE ) */
18671867   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME(";") PORT_CODE(KEYCODE_COLON)
18681868   PORT_BIT(0xfc, IP_ACTIVE_LOW, IPT_UNUSED)
18691869
1870   PORT_START /* [12] Spectrum+ Keys (set SYMBOL SHIFT + N/M */
1870   PORT_START_TAG("PLUS4") /* [12] Spectrum+ Keys (set SYMBOL SHIFT + N/M */
18711871   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME(".") PORT_CODE(KEYCODE_STOP)
18721872   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME(",") PORT_CODE(KEYCODE_COMMA)
18731873   PORT_BIT(0xf3, IP_ACTIVE_LOW, IPT_UNUSED)
18741874
1875   PORT_START /* [13] Kempston joystick interface */
1875   PORT_START_TAG("KEMPSTON") /* [13] Kempston joystick interface */
18761876   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("KEMPSTON JOYSTICK RIGHT") PORT_CODE(JOYCODE_X_RIGHT_SWITCH)
18771877   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("KEMPSTON JOYSTICK LEFT") PORT_CODE(JOYCODE_X_LEFT_SWITCH)
18781878   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("KEMPSTON JOYSTICK DOWN") PORT_CODE(JOYCODE_Y_DOWN_SWITCH)
18791879   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("KEMPSTON JOYSTICK UP") PORT_CODE(JOYCODE_Y_UP_SWITCH)
18801880   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("KEMPSTON JOYSTICK FIRE") PORT_CODE(JOYCODE_BUTTON1)
18811881
1882   PORT_START /* [14] Fuller joystick interface */
1882   PORT_START_TAG("FULLER") /* [14] Fuller joystick interface */
18831883   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("FULLER JOYSTICK UP") PORT_CODE(JOYCODE_Y_UP_SWITCH)
18841884   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("FULLER JOYSTICK DOWN") PORT_CODE(JOYCODE_Y_DOWN_SWITCH)
18851885   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("FULLER JOYSTICK LEFT") PORT_CODE(JOYCODE_X_LEFT_SWITCH)
18861886   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("FULLER JOYSTICK RIGHT") PORT_CODE(JOYCODE_X_RIGHT_SWITCH)
18871887   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("FULLER JOYSTICK FIRE") PORT_CODE(JOYCODE_BUTTON1)
18881888
1889   PORT_START /* [15] Mikrogen joystick interface */
1889   PORT_START_TAG("MIKROGEN") /* [15] Mikrogen joystick interface */
18901890   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("MIKROGEN JOYSTICK UP") PORT_CODE(JOYCODE_Y_UP_SWITCH)
18911891   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("MIKROGEN JOYSTICK DOWN") PORT_CODE(JOYCODE_Y_DOWN_SWITCH)
18921892   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("MIKROGEN JOYSTICK RIGHT") PORT_CODE(JOYCODE_X_RIGHT_SWITCH)
r2272r2273
18941894   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("MIKROGEN JOYSTICK FIRE") PORT_CODE(JOYCODE_BUTTON1)
18951895
18961896
1897   PORT_START /* [16] */
1897   PORT_START_TAG("CONFIG") /* [16] */
18981898   PORT_DIPNAME(0x80, 0x00, "Hardware Version")
18991899   PORT_DIPSETTING(0x00, "Issue 2" )
19001900   PORT_DIPSETTING(0x80, "Issue 3" )
r2272r2273
19061906   PORT_DIPSETTING(0x20, "Disabled" )
19071907   PORT_BIT(0x1f, IP_ACTIVE_LOW, IPT_UNUSED)
19081908
1909   PORT_START /* [17] Toggle cassette motor */
1909   PORT_START_TAG("MOTOR") /* [17] Toggle cassette motor */
19101910   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Motor") PORT_CODE(KEYCODE_F1)
19111911
19121912INPUT_PORTS_END
src/mess/drivers/super80.c
r2272r2273
436436static TIMER_CALLBACK( super80_timer )
437437{
438438   UINT8 wave_state=0, i, mask=1, out_f8=z80pio_p_r(0,0), in_fa=255;
439   char port[6];
439440
440   for ( i=1; i < 9;i++)
441   for ( i=0; i < 8;i++)
441442   {
442      if (!(out_f8 & mask)) in_fa &= readinputport(i);
443      sprintf(port, "LINE%d", i);
444      if (!(out_f8 & mask)) in_fa &= readinputportbytag(port);
443445      mask<<=1;
444446   }
445447
r2272r2273
602604   PORT_DIPSETTING(    0x80, DEF_STR(Off))
603605   PORT_DIPSETTING(    0x00, DEF_STR(On))
604606
605   PORT_START   /* line 0 */
607   PORT_START_TAG("LINE0")   /* line 0 */
606608   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("@ `") PORT_CODE(KEYCODE_TILDE) PORT_CHAR('@') PORT_CHAR('`')
607609   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("H") PORT_CODE(KEYCODE_H) PORT_CHAR('H')
608610   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("P") PORT_CODE(KEYCODE_P) PORT_CHAR('P')
r2272r2273
611613   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("9 )") PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR(')')
612614   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Space") PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
613615   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("REPT") PORT_CODE(KEYCODE_LALT)
614   PORT_START   /* line 1 */
616   PORT_START_TAG("LINE1")   /* line 1 */
615617   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("A") PORT_CODE(KEYCODE_A) PORT_CHAR('A')
616618   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("I") PORT_CODE(KEYCODE_I) PORT_CHAR('I')
617619   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Q") PORT_CODE(KEYCODE_Q) PORT_CHAR('Q')
r2272r2273
620622   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME(": *") PORT_CODE(KEYCODE_QUOTE) PORT_CHAR(':') PORT_CHAR('*')
621623   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Backspace") PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(8)
622624   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Shift") PORT_CODE(KEYCODE_LSHIFT) PORT_CODE(KEYCODE_RSHIFT) PORT_CHAR(UCHAR_SHIFT_1)
623   PORT_START   /* line 2 */
625   PORT_START_TAG("LINE2")   /* line 2 */
624626   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("B") PORT_CODE(KEYCODE_B) PORT_CHAR('B')
625627   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("J") PORT_CODE(KEYCODE_J) PORT_CHAR('J')
626628   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("R") PORT_CODE(KEYCODE_R) PORT_CHAR('R')
r2272r2273
629631   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("; +") PORT_CODE(KEYCODE_COLON) PORT_CHAR(';') PORT_CHAR('+')
630632   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("TAB") PORT_CODE(KEYCODE_TAB) PORT_CHAR(9)
631633   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("(Fire)") PORT_CODE(KEYCODE_INSERT) PORT_CHAR(UCHAR_MAMEKEY(INSERT))
632   PORT_START   /* line 3 */
634   PORT_START_TAG("LINE3")   /* line 3 */
633635   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("C") PORT_CODE(KEYCODE_C) PORT_CHAR('C')
634636   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("K") PORT_CODE(KEYCODE_K) PORT_CHAR('K')
635637   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("S") PORT_CODE(KEYCODE_S) PORT_CHAR('S')
r2272r2273
638640   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME(", <") PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('<')
639641   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("LINEFEED") PORT_CODE(KEYCODE_ENTER_PAD) PORT_CHAR(10)
640642   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("CTRL") PORT_CODE(KEYCODE_LCONTROL) PORT_CODE(KEYCODE_RCONTROL) PORT_CHAR(UCHAR_SHIFT_2)
641   PORT_START   /* line 4 */
643   PORT_START_TAG("LINE4")   /* line 4 */
642644   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("D") PORT_CODE(KEYCODE_D) PORT_CHAR('D')
643645   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("L") PORT_CODE(KEYCODE_L) PORT_CHAR('L')
644646   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("T") PORT_CODE(KEYCODE_T) PORT_CHAR('T')
r2272r2273
647649   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("BRK") PORT_CODE(KEYCODE_NUMLOCK) PORT_CHAR(3)
648650   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("RETURN") PORT_CODE(KEYCODE_ENTER) PORT_CHAR(13)
649651   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("(Right)") PORT_CODE(KEYCODE_RIGHT) PORT_CHAR(UCHAR_MAMEKEY(RIGHT))
650   PORT_START   /* line 5 */
652   PORT_START_TAG("LINE5")   /* line 5 */
651653   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("E") PORT_CODE(KEYCODE_E) PORT_CHAR('E')
652654   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("M") PORT_CODE(KEYCODE_M) PORT_CHAR('M')
653655   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("U") PORT_CODE(KEYCODE_U) PORT_CHAR('U')
r2272r2273
656658   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME(". >") PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('>')
657659   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("ESC") PORT_CODE(KEYCODE_ESC) PORT_CHAR(27)
658660   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("(Left)") PORT_CODE(KEYCODE_LEFT) PORT_CHAR(UCHAR_MAMEKEY(LEFT))
659   PORT_START   /* line 6 */
661   PORT_START_TAG("LINE6")   /* line 6 */
660662   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F") PORT_CODE(KEYCODE_F) PORT_CHAR('F')
661663   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("N") PORT_CODE(KEYCODE_N) PORT_CHAR('N')
662664   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("V") PORT_CODE(KEYCODE_V) PORT_CHAR('V')
r2272r2273
665667   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("/ ?") PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/') PORT_CHAR('?')
666668   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("DEL") PORT_CODE(KEYCODE_DEL)
667669   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("(Down)") PORT_CODE(KEYCODE_DOWN) PORT_CHAR(UCHAR_MAMEKEY(DOWN))
668   PORT_START   /* line 7 */
670   PORT_START_TAG("LINE7")   /* line 7 */
669671   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("G") PORT_CODE(KEYCODE_G) PORT_CHAR('G')
670672   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("O") PORT_CODE(KEYCODE_O) PORT_CHAR('O')
671673   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("W") PORT_CODE(KEYCODE_W) PORT_CHAR('W')
src/mess/drivers/studio2.c
r2272r2273
149149/* Input Ports */
150150
151151static INPUT_PORTS_START( studio2 )
152   PORT_START
152   PORT_START_TAG("KEYPAD_L")
153153   PORT_BIT( 0x001, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Player 1/Left 0") PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_X)
154154   PORT_BIT( 0x002, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Player 1/Left 1") PORT_CODE(KEYCODE_1)
155155   PORT_BIT( 0x004, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Player 1/Left 2") PORT_CODE(KEYCODE_2)
r2272r2273
161161   PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Player 1/Left 8") PORT_CODE(KEYCODE_8) PORT_CODE(KEYCODE_S)
162162   PORT_BIT( 0x200, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Player 1/Left 9") PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_D)
163163
164   PORT_START
164   PORT_START_TAG("KEYPAD_R")
165165   PORT_BIT( 0x001, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Player 2/Right 0") PORT_CODE(KEYCODE_0_PAD)
166166   PORT_BIT( 0x002, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Player 2/Right 1") PORT_CODE(KEYCODE_7_PAD)
167167   PORT_BIT( 0x004, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Player 2/Right 2") PORT_CODE(KEYCODE_8_PAD) PORT_CODE(KEYCODE_UP)
r2272r2273
189189
190190   if (cdp1861_efx) ef -= EF1;
191191
192   if (readinputport(0) & (1 << keylatch)) ef -= EF3;
193   if (readinputport(1) & (1 << keylatch)) ef -= EF4;
192   if (readinputportbytag("KEYPAD_L") & (1 << keylatch)) ef -= EF3;
193   if (readinputportbytag("KEYPAD_R") & (1 << keylatch)) ef -= EF4;
194194
195195   return ef;
196196}
r2272r2273
216216
217217   if (cdp1864_efx) ef -= EF1;
218218
219   if (readinputport(0) & (1 << keylatch)) ef -= EF3;
220   if (readinputport(1) & (1 << keylatch)) ef -= EF4;
219   if (readinputportbytag("KEYPAD_L") & (1 << keylatch)) ef -= EF3;
220   if (readinputportbytag("KEYPAD_R") & (1 << keylatch)) ef -= EF4;
221221
222222   return ef;
223223}
src/mess/drivers/ti99_2.c
r2272r2273
254254/* read keys in the current row */
255255static  READ8_HANDLER ( ti99_2_read_kbd )
256256{
257   return readinputport(KeyRow);
257   char port[6];
258
259   sprintf(port, "LINE%d", KeyRow);
260   return readinputportbytag(port);
258261}
259262
260263static  READ8_HANDLER ( ti99_2_read_misc_cru )
r2272r2273
273276/* ti99/2 : 54-key keyboard */
274277static INPUT_PORTS_START(ti99_2)
275278
276   PORT_START    /* col 0 */
279   PORT_START_TAG("LINE0")    /* col 0 */
277280      PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("1 ! DEL") PORT_CODE(KEYCODE_1)
278281      PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("2 @ INS") PORT_CODE(KEYCODE_2)
279282      PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("3 #") PORT_CODE(KEYCODE_3)
r2272r2273
283286      PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("7 & AID") PORT_CODE(KEYCODE_7)
284287      PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("8 * REDO") PORT_CODE(KEYCODE_8)
285288
286   PORT_START    /* col 1 */
289   PORT_START_TAG("LINE1")    /* col 1 */
287290      PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("q Q") PORT_CODE(KEYCODE_Q)
288291      PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("w W ~") PORT_CODE(KEYCODE_W)
289292      PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("e E (UP)") PORT_CODE(KEYCODE_E)
r2272r2273
293296      PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("i I ?") PORT_CODE(KEYCODE_I)
294297      PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("9 ( BACK") PORT_CODE(KEYCODE_9)
295298
296   PORT_START    /* col 2 */
299   PORT_START_TAG("LINE2")    /* col 2 */
297300      PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("a A") PORT_CODE(KEYCODE_A)
298301      PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("s S (LEFT)") PORT_CODE(KEYCODE_S)
299302      PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("d D (RIGHT)") PORT_CODE(KEYCODE_D)
r2272r2273
303306      PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("o O '") PORT_CODE(KEYCODE_O)
304307      PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("0 )") PORT_CODE(KEYCODE_0)
305308
306   PORT_START    /* col 3 */
309   PORT_START_TAG("LINE3")    /* col 3 */
307310      PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("z Z \\") PORT_CODE(KEYCODE_Z)
308311      PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("x X (DOWN)") PORT_CODE(KEYCODE_X)
309312      PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("c C `") PORT_CODE(KEYCODE_C)
r2272r2273
313316      PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("p P \"") PORT_CODE(KEYCODE_P)
314317      PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("= + QUIT") PORT_CODE(KEYCODE_EQUALS)
315318
316   PORT_START    /* col 4 */
319   PORT_START_TAG("LINE4")    /* col 4 */
317320      PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("SHIFT") PORT_CODE(KEYCODE_LSHIFT/*KEYCODE_CAPSLOCK*/)
318321      PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("CTRL") PORT_CODE(KEYCODE_LCONTROL)
319322      PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("v V") PORT_CODE(KEYCODE_V)
r2272r2273
323326      PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("; :") PORT_CODE(KEYCODE_COLON)
324327      PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("/ -") PORT_CODE(KEYCODE_SLASH)
325328
326   PORT_START    /* col 5 */
329   PORT_START_TAG("LINE5")    /* col 5 */
327330      PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("BREAK") PORT_CODE(KEYCODE_ESC)
328331      PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("(SPACE)") PORT_CODE(KEYCODE_SPACE)
329332      PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("b B") PORT_CODE(KEYCODE_B)
r2272r2273
333336      PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("SHIFT") PORT_CODE(KEYCODE_RSHIFT)
334337      PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("ENTER") PORT_CODE(KEYCODE_ENTER)
335338
336   PORT_START    /* col 6 */
339   PORT_START_TAG("LINE6")    /* col 6 */
337340      PORT_BIT(0xFF, IP_ACTIVE_LOW, IPT_UNUSED)
338341
339   PORT_START    /* col 7 */
342   PORT_START_TAG("LINE7")    /* col 7 */
340343      PORT_BIT(0xFF, IP_ACTIVE_LOW, IPT_UNUSED)
341344
342345INPUT_PORTS_END
src/mess/drivers/ssystem3.c
r2272r2273
144144{
145145  UINT8 data=0xff;
146146#if 1 // time switch
147  if (!(ssystem3.porta&0x10)) data&=readinputport(1)|0xf1;
148  if (!(ssystem3.porta&0x20)) data&=readinputport(2)|0xf1;
149  if (!(ssystem3.porta&0x40)) data&=readinputport(3)|0xf1;
150  if (!(ssystem3.porta&0x80)) data&=readinputport(4)|0xf1;
147  if (!(ssystem3.porta&0x10)) data&=readinputportbytag("matrix1")|0xf1;
148  if (!(ssystem3.porta&0x20)) data&=readinputportbytag("matrix2")|0xf1;
149  if (!(ssystem3.porta&0x40)) data&=readinputportbytag("matrix3")|0xf1;
150  if (!(ssystem3.porta&0x80)) data&=readinputportbytag("matrix4")|0xf1;
151151#else
152  if (!(ssystem3.porta&0x10)) data&=readinputport(1)|0xf0;
153  if (!(ssystem3.porta&0x20)) data&=readinputport(2)|0xf0;
154  if (!(ssystem3.porta&0x40)) data&=readinputport(3)|0xf0;
155  if (!(ssystem3.porta&0x80)) data&=readinputport(4)|0xf0;
152  if (!(ssystem3.porta&0x10)) data&=readinputportbytag("matrix1")|0xf0;
153  if (!(ssystem3.porta&0x20)) data&=readinputportbytag("matrix2")|0xf0;
154  if (!(ssystem3.porta&0x40)) data&=readinputportbytag("matrix3")|0xf0;
155  if (!(ssystem3.porta&0x80)) data&=readinputportbytag("matrix4")|0xf0;
156156#endif
157157  if (!(ssystem3.porta&1)) {
158    if (!(readinputport(1)&1)) data&=~0x10;
159    if (!(readinputport(2)&1)) data&=~0x20;
160    if (!(readinputport(3)&1)) data&=~0x40;
161    if (!(readinputport(4)&1)) data&=~0x80;
158    if (!(readinputportbytag("matrix1")&1)) data&=~0x10;
159    if (!(readinputportbytag("matrix2")&1)) data&=~0x20;
160    if (!(readinputportbytag("matrix3")&1)) data&=~0x40;
161    if (!(readinputportbytag("matrix4")&1)) data&=~0x80;
162162  }
163163  if (!(ssystem3.porta&2)) {
164    if (!(readinputport(1)&2)) data&=~0x10;
165    if (!(readinputport(2)&2)) data&=~0x20;
166    if (!(readinputport(3)&2)) data&=~0x40;
167    if (!(readinputport(4)&2)) data&=~0x80;
164    if (!(readinputportbytag("matrix1")&2)) data&=~0x10;
165    if (!(readinputportbytag("matrix2")&2)) data&=~0x20;
166    if (!(readinputportbytag("matrix3")&2)) data&=~0x40;
167    if (!(readinputportbytag("matrix4")&2)) data&=~0x80;
168168  }
169169  if (!(ssystem3.porta&4)) {
170    if (!(readinputport(1)&4)) data&=~0x10;
171    if (!(readinputport(2)&4)) data&=~0x20;
172    if (!(readinputport(3)&4)) data&=~0x40;
173    if (!(readinputport(4)&4)) data&=~0x80;
170    if (!(readinputportbytag("matrix1")&4)) data&=~0x10;
171    if (!(readinputportbytag("matrix2")&4)) data&=~0x20;
172    if (!(readinputportbytag("matrix3")&4)) data&=~0x40;
173    if (!(readinputportbytag("matrix4")&4)) data&=~0x80;
174174  }
175175  if (!(ssystem3.porta&8)) {
176    if (!(readinputport(1)&8)) data&=~0x10;
177    if (!(readinputport(2)&8)) data&=~0x20;
178    if (!(readinputport(3)&8)) data&=~0x40;
179    if (!(readinputport(4)&8)) data&=~0x80;
176    if (!(readinputportbytag("matrix1")&8)) data&=~0x10;
177    if (!(readinputportbytag("matrix2")&8)) data&=~0x20;
178    if (!(readinputportbytag("matrix3")&8)) data&=~0x40;
179    if (!(readinputportbytag("matrix4")&8)) data&=~0x80;
180180  }
181181  //  logerror("%.4x via port a read %02x\n",(int)activecpu_get_pc(), data);
182182  return data;
r2272r2273
261261               */
262262//  AM_RANGE( 0x4000, 0x40ff) AM_NOP
263263/*
264  probably zusatzgerät memory (battery powered ram 256x4? at 0x4000)
264  probably zusatzger�t memory (battery powered ram 256x4? at 0x4000)
265265  $40ff low nibble ram if playfield module (else init with normal playfield)
266266 */
267267   AM_RANGE( 0x6000, 0x600f) AM_READWRITE( via_0_r, via_0_w )
r2272r2273
281281*/
282282
283283
284   PORT_START_TAG( "Switches" )
284  PORT_START_TAG( "Switches" )
285285//PORT_BIT(0x001, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("NEW GAME") PORT_CODE(KEYCODE_F3) // seams to be direct wired to reset
286286//   PORT_BIT(0x002, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("?CLEAR") PORT_CODE(KEYCODE_F1)
287287//   PORT_BIT(0x004, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("?ENTER") PORT_CODE(KEYCODE_ENTER)
r2272r2273
301301     PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("4 D turm #") PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_D)
302302     PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("1 A white") PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_A)
303303  PORT_START_TAG( "matrix4" )
304   PORT_DIPNAME( 0x01, 0, "Time") PORT_CODE(KEYCODE_T) PORT_TOGGLE PORT_DIPSETTING( 0, DEF_STR(Off) ) PORT_DIPSETTING( 0x01, DEF_STR( On ) )
304     PORT_DIPNAME( 0x01, 0, "Time") PORT_CODE(KEYCODE_T) PORT_TOGGLE PORT_DIPSETTING( 0, DEF_STR(Off) ) PORT_DIPSETTING( 0x01, DEF_STR( On ) )
305305     PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("8 H black") PORT_CODE(KEYCODE_8) PORT_CODE(KEYCODE_H)
306306     PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("3 C dame #50") PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_C)
307307     PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("2 B koenig FP") PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_B)
308308  PORT_START_TAG( "Configuration" )
309   PORT_DIPNAME( 0x0001, 0, "Schachbrett") PORT_TOGGLE
310   PORT_DIPSETTING( 0, DEF_STR( Off ) )
311   PORT_DIPSETTING( 1, "angeschlossen" )
309     PORT_DIPNAME( 0x0001, 0, "Schachbrett") PORT_TOGGLE
310     PORT_DIPSETTING( 0, DEF_STR( Off ) )
311     PORT_DIPSETTING( 1, "angeschlossen" )
312312#if 0
313313   PORT_DIPNAME( 0x0002, 0, "Memory") PORT_TOGGLE
314314   PORT_DIPSETTING( 0, DEF_STR( Off ) )
src/mess/drivers/svision.c
r2272r2273
5151   switch (svision_pet.state)
5252   {
5353      case 0:
54         svision_pet.input = readinputport(1);
54         svision_pet.input = readinputportbytag("JOY2");
5555         /* fall through */
5656
5757      case 2: case 4: case 6: case 8:
r2272r2273
9393   switch (offset)
9494   {
9595      case 0x20:
96         data = readinputport(0);
96         data = readinputportbytag("JOY");
9797         break;
9898      case 0x21:
9999         data &= ~0xf;
r2272r2273
263263ADDRESS_MAP_END
264264
265265static INPUT_PORTS_START( svision )
266   PORT_START
266   PORT_START_TAG("JOY")
267267   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT)
268268   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
269269   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
r2272r2273
275275INPUT_PORTS_END
276276
277277static INPUT_PORTS_START( svisions )
278   PORT_START
278   PORT_START_TAG("JOY")
279279   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT) PORT_PLAYER(1)
280280   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
281281   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
r2272r2273
284284   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_NAME("A") PORT_PLAYER(1)
285285   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SELECT) PORT_NAME("Select") PORT_PLAYER(1)
286286   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START) PORT_NAME("Start/Pause") PORT_PLAYER(1)
287   PORT_START
287   PORT_START_TAG("JOY2")
288288   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT) PORT_PLAYER(2)
289289   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
290290   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)

Previous 15994 Revisions Next


© 1998-2018 The MESS Team