Previous 199869 Revisions Next

r32265 Sunday 21st September, 2014 at 21:50:53 UTC by hap
ioport_array stuff
[src/mame/drivers]namcos22.c taitojc.c
[src/mame/includes]namcos22.h taitojc.h
[src/mame/video]namcos22.c
[src/mess/drivers]ti74.c

trunk/src/mess/drivers/ti74.c
r32264r32265
8787      : driver_device(mconfig, type, tag),
8888      m_maincpu(*this, "maincpu"),
8989      m_cart(*this, "cartslot"),
90      m_key_matrix(*this, "IN"),
9091      m_battery_inp(*this, "BATTERY")
9192   { }
9293
9394   required_device<tms70c46_device> m_maincpu;
9495   required_device<generic_slot_device> m_cart;
96   required_ioport_array<8> m_key_matrix;
9597   required_ioport m_battery_inp;
9698
97   ioport_port *m_key_matrix[8];
98
9999   UINT8 m_key_select;
100100   UINT8 m_power;
101101
r32264r32265
298298   // 8x8 keyboard matrix, RESET and ON buttons are not on it. Unused entries are not connected, but some have a purpose for factory testing.
299299   // For convenience, number keys are mapped to number row too.
300300   // PORT_NAME lists functions under [SHIFT] and [MODE] or [STAT] as secondaries.
301   PORT_START("IN0")
301   PORT_START("IN.0")
302302   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_M) PORT_CHAR('m') PORT_CHAR('M') PORT_NAME("m  M  Frac")
303303   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_K) PORT_CHAR('k') PORT_CHAR('K') PORT_NAME("k  K  Frq")
304304   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_I) PORT_CHAR('i') PORT_CHAR('I') PORT_NAME("i  I  SQR(x)")
r32264r32265
308308   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_J) PORT_CHAR('j') PORT_CHAR('J') PORT_NAME("j  J  nCr")
309309   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_N) PORT_CHAR('n') PORT_CHAR('N') PORT_NAME("n  N  Intg")
310310
311   PORT_START("IN1")
311   PORT_START("IN.1")
312312   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('%')
313313   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_L) PORT_CHAR('l') PORT_CHAR('L') PORT_NAME("l  L  (x,y)")
314314   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_O) PORT_CHAR('o') PORT_CHAR('O') PORT_NAME("o  O  1/x")
r32264r32265
318318   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_H) PORT_CHAR('h') PORT_CHAR('H') PORT_NAME("h  H  nPr")
319319   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_B) PORT_CHAR('b') PORT_CHAR('B') PORT_NAME("b  B  EXC")
320320
321   PORT_START("IN2")
321   PORT_START("IN.2")
322322   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ') PORT_CHAR('\'') PORT_NAME("SPACE  '  DELTA%")
323323   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COLON) PORT_CHAR(';') PORT_CHAR(':') PORT_NAME(";  :  SIGMA+")
324324   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_P) PORT_CHAR('p') PORT_CHAR('P') PORT_NAME("p  P  y^x")
r32264r32265
328328   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_G) PORT_CHAR('g') PORT_CHAR('G') PORT_NAME("g  G  n!")
329329   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_V) PORT_CHAR('v') PORT_CHAR('V') PORT_NAME("v  V  SUM")
330330
331   PORT_START("IN3")
331   PORT_START("IN.3")
332332   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) PORT_CHAR(13) PORT_CHAR('=') PORT_NAME("ENTER  =")
333333   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
334334   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_DEL) PORT_CHAR(UCHAR_MAMEKEY(END)) PORT_NAME("CLR  UCL  CE/C")
r32264r32265
338338   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F) PORT_CHAR('f') PORT_CHAR('F') PORT_NAME("f  F  P->R")
339339   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_C) PORT_CHAR('c') PORT_CHAR('C') PORT_NAME("c  C  RCL")
340340
341   PORT_START("IN4")
341   PORT_START("IN.4")
342342   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_EQUALS) PORT_CHAR('~') PORT_CHAR('?') PORT_NAME("+/-  ?  CSR")
343343   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_1_PAD) PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_CHAR('!') PORT_NAME("1  !  r")
344344   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_4_PAD) PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_CHAR('$') PORT_NAME("4  $  SIGMA(x)")
r32264r32265
348348   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_D) PORT_CHAR('d') PORT_CHAR('D') PORT_NAME("d  D  DRG->")
349349   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_X) PORT_CHAR('x') PORT_CHAR('X') PORT_NAME("x  X  STO")
350350
351   PORT_START("IN5")
351   PORT_START("IN.5")
352352   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_0_PAD) PORT_CODE(KEYCODE_0) PORT_CHAR('0') PORT_CHAR('<') PORT_NAME("0  <  x'")
353353   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2_PAD) PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('"') PORT_NAME("2  \"  a")
354354   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_5_PAD) PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_CHAR('&') PORT_NAME("5  &  SIGMA(y)")
r32264r32265
358358   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_S) PORT_CHAR('s') PORT_CHAR('S') PORT_NAME("s  S  DRG")
359359   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Z) PORT_CHAR('z') PORT_CHAR('Z') PORT_NAME("z  Z  PRINT")
360360
361   PORT_START("IN6")
361   PORT_START("IN.6")
362362   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_STOP) PORT_CODE(KEYCODE_DEL_PAD) PORT_CHAR('.') PORT_CHAR('>') PORT_NAME(".  >  y'") // 2 on the keyboard, same scancode
363363   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_3_PAD) PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_CHAR('#') PORT_NAME("3  #  b")
364364   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_6_PAD) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('^') PORT_NAME("6  ^  n")
r32264r32265
368368   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_A) PORT_CHAR('a') PORT_CHAR('A') PORT_NAME("a  A  DMS->DD")
369369   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
370370
371   PORT_START("IN7")
371   PORT_START("IN.7")
372372   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PLUS_PAD) PORT_CHAR(UCHAR_MAMEKEY(PLUS_PAD)) PORT_NAME("+     sy")
373373   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_MINUS_PAD) PORT_CODE(KEYCODE_MINUS) PORT_CHAR('-') PORT_NAME("-     sx")
374374   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_ASTERISK) PORT_CHAR(UCHAR_MAMEKEY(ASTERISK)) PORT_NAME("*     _y")
r32264r32265
388388   // 8x8 keyboard matrix, RESET and ON buttons are not on it.
389389   // For convenience, number keys are mapped to number row too.
390390   // PORT_NAME lists functions under [ALPHA] and [2nd] as secondaries.
391   PORT_START("IN0")
391   PORT_START("IN.0")
392392   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PGDN) PORT_NAME("OFF")
393393   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Q) PORT_NAME("BREAK  Q")
394394   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_A) PORT_NAME("SIN  A")
r32264r32265
398398   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_SLASH_PAD) PORT_CODE(KEYCODE_SLASH) PORT_CHAR(UCHAR_MAMEKEY(SLASH_PAD)) PORT_NAME("/  \\  DFN")
399399   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) PORT_CHAR('=') PORT_NAME("=  ~  TRACE")
400400
401   PORT_START("IN1")
401   PORT_START("IN.1")
402402   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COLON) PORT_NAME("EE  {  ENG")
403403   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_W) PORT_NAME("HALT  W")
404404   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_S) PORT_NAME("COS  S")
r32264r32265
408408   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PLUS_PAD) PORT_CHAR(UCHAR_MAMEKEY(PLUS_PAD)) PORT_NAME("+  &  RTN")
409409   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2_PAD) PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_NAME("2  :  GTL")
410410
411   PORT_START("IN2")
411   PORT_START("IN.2")
412412   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F1) PORT_NAME("F1")
413413   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_E) PORT_NAME("SIGMA+  E")
414414   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_D) PORT_NAME("TAN  D")
r32264r32265
418418   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_MINUS_PAD) PORT_CODE(KEYCODE_MINUS) PORT_CHAR('-') PORT_NAME("-  _  13d")
419419   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_5_PAD) PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_NAME("5  %  CMS")
420420
421   PORT_START("IN3")
421   PORT_START("IN.3")
422422   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F2) PORT_NAME("F2")
423423   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_R) PORT_NAME("x~t  R  AH")
424424   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F) PORT_NAME("LN  F")
r32264r32265
428428   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_ASTERISK) PORT_CHAR(UCHAR_MAMEKEY(ASTERISK)) PORT_NAME("*  ^  PI")
429429   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_8_PAD) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_NAME("8  <  nCr")
430430
431   PORT_START("IN4")
431   PORT_START("IN.4")
432432   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F3) PORT_NAME("F3")
433433   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_T) PORT_NAME("HYP  T  BH")
434434   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_G) PORT_NAME("LOG  G")
r32264r32265
438438   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_DEL_PAD) PORT_CHAR('.') PORT_NAME(".  ?  ADV")
439439   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_EQUALS) PORT_NAME("+/-  !  PRINT")
440440
441   PORT_START("IN5")
441   PORT_START("IN.5")
442442   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F4) PORT_NAME("F4")
443443   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Y) PORT_NAME("INCR  Y  CH")
444444   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_H) PORT_NAME("x^2  H")
r32264r32265
448448   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_P) PORT_NAME("INV  P")
449449   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_7_PAD) PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_NAME("7  }  nPr")
450450
451   PORT_START("IN6")
451   PORT_START("IN.6")
452452   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F5) PORT_NAME("F5")
453453   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_U) PORT_NAME("EXC  U  DH")
454454   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_J) PORT_NAME("SQR(x)  J")
r32264r32265
458458   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_LSHIFT) PORT_CODE(KEYCODE_RSHIFT) PORT_NAME("2nd")
459459   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_4_PAD) PORT_CODE(KEYCODE_4) PORT_CHAR('4' )PORT_NAME("4     IND")
460460
461   PORT_START("IN7")
461   PORT_START("IN.7")
462462   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR('(') PORT_NAME("(  [  FIX")
463463   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_I) PORT_NAME("STO  I  EH")
464464   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_K) PORT_NAME("1/x  K")
r32264r32265
492492
493493void ti74_state::machine_start()
494494{
495   static const char *const tags[] = { "IN0", "IN1", "IN2", "IN3", "IN4", "IN5", "IN6", "IN7" };
496   for (int i = 0; i < 8; i++)
497      m_key_matrix[i] = ioport(tags[i]);
498
499495   if (m_cart->cart_mounted())
500496      m_maincpu->space(AS_PROGRAM).install_read_handler(0x4000, 0xbfff, read8_delegate(FUNC(generic_slot_device::read_rom),(generic_slot_device*)m_cart));
501497
trunk/src/mame/includes/taitojc.h
r32264r32265
5252      m_palette_ram(*this, "palette_ram"),
5353      m_gfxdecode(*this, "gfxdecode"),
5454      m_screen(*this, "screen"),
55      m_palette(*this, "palette")
55      m_palette(*this, "palette"),
56      m_analog_inp(*this, "AN")
5657   {
5758      m_mcu_output = 0;
5859      m_speed_meter = 0;
r32264r32265
7576   required_device<gfxdecode_device> m_gfxdecode;
7677   required_device<screen_device> m_screen;
7778   required_device<palette_device> m_palette;
79   optional_ioport_array<8> m_analog_inp;
7880
7981   taitojc_renderer *m_renderer;
8082
trunk/src/mame/includes/namcos22.h
r32264r32265
199199      m_pc_pedal_interrupt(*this, "pc_p_int"),
200200      m_gfxdecode(*this, "gfxdecode"),
201201      m_screen(*this, "screen"),
202      m_palette(*this, "palette")
202      m_palette(*this, "palette"),
203      m_adc_inp(*this, "ADC")
203204   { }
204205
205206   required_device<cpu_device> m_maincpu;
r32264r32265
228229   required_device<gfxdecode_device> m_gfxdecode;
229230   required_device<screen_device> m_screen;
230231   required_device<palette_device> m_palette;
232   optional_ioport_array<8> m_adc_inp;
231233
232234
233235   UINT8 m_syscontrol[0x20];
r32264r32265
479481   TILE_GET_INFO_MEMBER(get_text_tile_info);
480482   virtual void machine_reset();
481483   virtual void machine_start();
484   virtual void video_start();
482485   DECLARE_MACHINE_START(adillor);
483   DECLARE_VIDEO_START(namcos22s);
484   DECLARE_VIDEO_START(namcos22);
485   DECLARE_VIDEO_START(common);
486486   UINT32 screen_update_namcos22s(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
487487   UINT32 screen_update_namcos22(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
488488   INTERRUPT_GEN_MEMBER(namcos22s_interrupt);
trunk/src/mame/video/namcos22.c
r32264r32265
24622462}
24632463
24642464
2465VIDEO_START_MEMBER(namcos22_state,common)
2465void namcos22_state::video_start()
24662466{
2467   m_is_ss22 = (m_iomcu == NULL);
24672468   init_tables();
24682469
24692470   m_mix_bitmap = auto_bitmap_ind16_alloc(machine(), 640, 480);
r32264r32265
24742475
24752476   m_poly = auto_alloc(machine(), namcos22_renderer(*this));
24762477}
2477
2478VIDEO_START_MEMBER(namcos22_state,namcos22)
2479{
2480   m_is_ss22 = 0;
2481
2482   VIDEO_START_CALL_MEMBER(common);
2483}
2484
2485VIDEO_START_MEMBER(namcos22_state,namcos22s)
2486{
2487   m_is_ss22 = 1;
2488
2489   VIDEO_START_CALL_MEMBER(common);
2490}
trunk/src/mame/drivers/namcos22.c
r32264r32265
27962796
27972797READ8_MEMBER(namcos22_state::namcos22s_mcu_adc_r)
27982798{
2799   static const char *const portnames[] = { "ADC0", "ADC1", "ADC2", "ADC3" };
2800   if (offset & 1)
2801      return (ioport(portnames[offset >> 1 & 3])->read_safe(0) << 2) >> 8 & 0xff;
2802   else
2803      return (ioport(portnames[offset >> 1 & 3])->read_safe(0) << 2) & 0xff;
2799   UINT16 adc = m_adc_inp[offset >> 1 & 7]->read_safe(0) << 2;
2800   return (offset & 1) ? adc >> 8 : adc;
28042801}
28052802
28062803static ADDRESS_MAP_START( mcu_program, AS_PROGRAM, 16, namcos22_state )
r32264r32265
28192816   AM_RANGE(M37710_PORT5, M37710_PORT5) AM_READWRITE(mcu_port5_r, mcu_port5_w)
28202817   AM_RANGE(M37710_PORT6, M37710_PORT6) AM_READWRITE(mcu_port6_r, mcu_port6_w)
28212818   AM_RANGE(M37710_PORT7, M37710_PORT7) AM_READWRITE(mcu_port7_r, mcu_port7_w)
2822   AM_RANGE(M37710_ADC0_L, M37710_ADC3_H) AM_READ(namcos22s_mcu_adc_r)
2823   AM_RANGE(M37710_ADC4_L, M37710_ADC7_H) AM_READNOP
2819   AM_RANGE(M37710_ADC0_L, M37710_ADC7_H) AM_READ(namcos22s_mcu_adc_r)
28242820ADDRESS_MAP_END
28252821
28262822/*********************************************************************************************/
r32264r32265
33523348   PORT_BIT( 0x01, IP_ACTIVE_HIGH,IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, namcos22_state,alpine_motor_read, (void *)1) // steps are locked
33533349   PORT_BIT( 0xfe, IP_ACTIVE_LOW, IPT_UNKNOWN )
33543350
3355   PORT_START("ADC0")
3351   PORT_START("ADC.0")
33563352   PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(4) PORT_NAME("Steps Swing")
33573353
3358   PORT_START("ADC1")
3354   PORT_START("ADC.1")
33593355   PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(4) PORT_NAME("Steps Edge")
33603356INPUT_PORTS_END
33613357
r32264r32265
33843380   PORT_START("MCUP5B")
33853381   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
33863382
3387   PORT_START("ADC0")
3383   PORT_START("ADC.0")
33883384   PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(4)
33893385
3390   PORT_START("ADC1")
3386   PORT_START("ADC.1")
33913387   PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(4)
33923388
3393   PORT_START("ADC2")
3389   PORT_START("ADC.2")
33943390   PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(100) PORT_KEYDELTA(4)
33953391INPUT_PORTS_END
33963392
r32264r32265
34213417   PORT_START("MCUP5B")
34223418   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
34233419
3424   PORT_START("ADC0")
3420   PORT_START("ADC.0")
34253421   PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_NAME("Steering Wheel")
34263422
3427   PORT_START("ADC1")
3423   PORT_START("ADC.1")
34283424   PORT_BIT( 0xff, 0x00, IPT_PEDAL )  PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_NAME("Gas Pedal")
34293425
3430   PORT_START("ADC2")
3426   PORT_START("ADC.2")
34313427   PORT_BIT( 0xff, 0x00, IPT_PEDAL2 ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_NAME("Brake Pedal")
34323428INPUT_PORTS_END
34333429
r32264r32265
34563452   PORT_START("MCUP5B")
34573453   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
34583454
3459   PORT_START("ADC0")
3455   PORT_START("ADC.0")
34603456   PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_SENSITIVITY(100) PORT_KEYDELTA(3) PORT_NAME("Steering Wheel")
34613457
3462   PORT_START("ADC1")
3458   PORT_START("ADC.1")
34633459   PORT_BIT( 0xff, 0x00, IPT_PEDAL )  PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_NAME("Gas Pedal")
34643460
3465   PORT_START("ADC2")
3461   PORT_START("ADC.2")
34663462   PORT_BIT( 0xff, 0x00, IPT_PEDAL2 ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_NAME("Brake Pedal")
34673463INPUT_PORTS_END
34683464
r32264r32265
34933489   PORT_START("MCUP5B")
34943490   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
34953491
3496   PORT_START("ADC0")
3492   PORT_START("ADC.0")
34973493   PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_NAME("Steering Wheel")
34983494
3499   PORT_START("ADC2")
3495   PORT_START("ADC.2")
35003496   PORT_BIT( 0xff, 0x00, IPT_PEDAL )  PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_NAME("Gas Pedal")
35013497
3502   PORT_START("ADC3")
3498   PORT_START("ADC.3")
35033499   PORT_BIT( 0xff, 0x00, IPT_PEDAL2 ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_NAME("Brake Pedal")
35043500INPUT_PORTS_END
35053501
r32264r32265
35303526   PORT_START("MCUP5B")
35313527   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
35323528
3533   PORT_START("ADC0")
3529   PORT_START("ADC.0")
35343530   PORT_BIT( 0xff, 0x7f, IPT_PADDLE ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_REVERSE
35353531
3536   PORT_START("ADC1")
3532   PORT_START("ADC.1")
35373533   PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_MINMAX(0x00, 0x80) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_REVERSE
35383534
3539   PORT_START("ADC2")
3535   PORT_START("ADC.2")
35403536   PORT_BIT( 0xff, 0x7f, IPT_AD_STICK_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_REVERSE
35413537INPUT_PORTS_END
35423538
r32264r32265
36103606   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START )
36113607   PORT_BIT( 0xfe, IP_ACTIVE_LOW, IPT_UNKNOWN )
36123608
3613   PORT_START("ADC0")
3609   PORT_START("ADC.0")
36143610   PORT_BIT( 0xff, 0x7f, IPT_AD_STICK_X ) PORT_MINMAX(0x00, 0xfe) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_REVERSE
36153611
3616   PORT_START("ADC1")
3612   PORT_START("ADC.1")
36173613   PORT_BIT( 0xff, 0x7f, IPT_AD_STICK_Y ) PORT_MINMAX(0x00, 0xfe) PORT_SENSITIVITY(100) PORT_KEYDELTA(10)
36183614
36193615   PORT_START("PEDAL")
r32264r32265
37793775
37803776   MCFG_PALETTE_ADD("palette", 0x8000)
37813777   MCFG_GFXDECODE_ADD("gfxdecode", "palette", namcos22)
3782   MCFG_VIDEO_START_OVERRIDE(namcos22_state,namcos22)
37833778
37843779   /* sound hardware */
37853780   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
r32264r32265
38293824
38303825   MCFG_PALETTE_ADD("palette", 0x8000)
38313826   MCFG_GFXDECODE_ADD("gfxdecode", "palette", super)
3832   MCFG_VIDEO_START_OVERRIDE(namcos22_state,namcos22s)
38333827
38343828   /* sound hardware */
38353829   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
trunk/src/mame/drivers/taitojc.c
r32264r32265
738738
739739READ8_MEMBER(taitojc_state::hc11_analog_r)
740740{
741   static const char *const portnames[] = { "ANALOG1", "ANALOG2", "ANALOG3", "ANALOG4",
742                              "ANALOG5", "ANALOG6", "ANALOG7", "ANALOG8" };
743
744   return ioport(portnames[offset])->read_safe(0);
741   return m_analog_inp[offset]->read_safe(0);
745742}
746743
747744
r32264r32265
1000997   PORT_BIT( 0x77, 0x00, IPT_POSITIONAL_V ) PORT_POSITIONS(6) PORT_REMAP_TABLE(dendego_mascon_table) PORT_SENSITIVITY(10) PORT_KEYDELTA(1) PORT_CENTERDELTA(0) PORT_NAME("Throttle Lever")
1001998   PORT_BIT( 0x88, IP_ACTIVE_LOW, IPT_UNUSED )
1002999
1003   PORT_START("ANALOG1")   // Brake Lever at right, rotate handle right (anti clockwise) to increase pressure, 11 positions but not at constant intervals like the throttle lever
1000   PORT_START("AN.0")   // Brake Lever at right, rotate handle right (anti clockwise) to increase pressure, 11 positions but not at constant intervals like the throttle lever
10041001   PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_MINMAX(0x00, 0xef) PORT_SENSITIVITY(35) PORT_KEYDELTA(10) PORT_CENTERDELTA(0) PORT_NAME("Brake Lever")
10051002INPUT_PORTS_END
10061003
r32264r32265
10101007   PORT_MODIFY("UNUSED")
10111008   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("View Switch")
10121009
1013   PORT_START("ANALOG1")       // Lever X
1010   PORT_START("AN.0")       // Lever X
10141011   PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(35) PORT_KEYDELTA(5) PORT_REVERSE
10151012
1016   PORT_START("ANALOG2")       // Lever Y
1013   PORT_START("AN.1")       // Lever Y
10171014   PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y )  PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(35) PORT_KEYDELTA(5)
10181015
1019   PORT_START("ANALOG3")       // Throttle
1016   PORT_START("AN.2")       // Throttle
10201017   PORT_BIT( 0xff, 0x00, IPT_PEDAL )  PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(35) PORT_KEYDELTA(5) PORT_REVERSE
10211018INPUT_PORTS_END
10221019
r32264r32265
10331030   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_NAME("Shift Up")
10341031   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP   ) PORT_NAME("Shift Down")
10351032
1036   PORT_START("ANALOG1")       // Steering
1033   PORT_START("AN.0")       // Steering
10371034   PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(35) PORT_KEYDELTA(10) PORT_NAME("Steering Wheel")
10381035
1039   PORT_START("ANALOG2")       // Acceleration
1036   PORT_START("AN.1")       // Acceleration
10401037   PORT_BIT( 0xff, 0x00, IPT_PEDAL )  PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(100) PORT_KEYDELTA(25) PORT_NAME("Gas Pedal")
10411038
1042   PORT_START("ANALOG3")       // Brake
1039   PORT_START("AN.2")       // Brake
10431040   PORT_BIT( 0xff, 0x00, IPT_PEDAL2 ) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(100) PORT_KEYDELTA(25) PORT_NAME("Brake Pedal")
10441041INPUT_PORTS_END
10451042
r32264r32265
10571054   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_NAME("Shift Up")
10581055   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP   ) PORT_NAME("Shift Down")
10591056
1060   PORT_START("ANALOG1")       // Steering
1057   PORT_START("AN.0")       // Steering
10611058   PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(35) PORT_KEYDELTA(10) PORT_REVERSE PORT_NAME("Steering Wheel")
10621059
1063   PORT_START("ANALOG2")       // Acceleration
1060   PORT_START("AN.1")       // Acceleration
10641061   PORT_BIT( 0xff, 0x00, IPT_PEDAL )  PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(100) PORT_KEYDELTA(25) PORT_REVERSE PORT_NAME("Gas Pedal")
10651062
1066   PORT_START("ANALOG3")       // Brake
1063   PORT_START("AN.2")       // Brake
10671064   PORT_BIT( 0xff, 0x00, IPT_PEDAL2 ) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(100) PORT_KEYDELTA(25) PORT_REVERSE PORT_NAME("Brake Pedal")
10681065INPUT_PORTS_END
10691066

Previous 199869 Revisions Next


© 1997-2024 The MAME Team