Previous 199869 Revisions Next

r31522 Tuesday 5th August, 2014 at 21:36:20 UTC by hap
changed vlm5030_device pin read/write functions to READ/WRITE_LINE
[src/emu/sound]vlm5030.c vlm5030.h
[src/mame/drivers]punchout.c
[src/mame/includes]punchout.h

trunk/src/emu/sound/vlm5030.c
r31521r31522
392392}
393393
394394/* get BSY pin level */
395int vlm5030_device::bsy()
395READ_LINE_MEMBER( vlm5030_device::bsy )
396396{
397397   update();
398398   return m_pin_BSY;
r31521r31522
405405}
406406
407407/* set RST pin level : reset / set table address A8-A15 */
408void vlm5030_device::rst ( int pin )
408WRITE_LINE_MEMBER( vlm5030_device::rst )
409409{
410410   if( m_pin_RST )
411411   {
412      if( !pin )
412      if( !state )
413413      {   /* H -> L : latch parameters */
414414         m_pin_RST = 0;
415415         setup_parameter( m_latch_data);
r31521r31522
417417   }
418418   else
419419   {
420      if( pin )
420      if( state )
421421      {   /* L -> H : reset chip */
422422         m_pin_RST = 1;
423423         if( m_pin_BSY )
r31521r31522
429429}
430430
431431/* set VCU pin level : ?? unknown */
432void vlm5030_device::vcu(int pin)
432WRITE_LINE_MEMBER( vlm5030_device::vcu )
433433{
434434   /* direct mode / indirect mode */
435   m_pin_VCU = pin;
436   return;
435   m_pin_VCU = state;
437436}
438437
439438/* set ST pin level  : set table address A0-A7 / start speech */
440void vlm5030_device::st( int pin )
439WRITE_LINE_MEMBER( vlm5030_device::st )
441440{
442441   int table;
443442
444   if( m_pin_ST != pin )
443   if( m_pin_ST != state )
445444   {
446445      /* pin level is change */
447      if( !pin )
446      if( !state )
448447      {   /* H -> L */
449448         m_pin_ST = 0;
450449
trunk/src/emu/sound/vlm5030.h
r31521r31522
1414   void set_rom(void *speech_rom);
1515
1616   /* get BSY pin level */
17   int bsy();
17   DECLARE_READ_LINE_MEMBER( bsy );
1818
1919   /* latch contoll data */
2020   DECLARE_WRITE8_MEMBER( data_w );
2121
2222   /* set RST pin level : reset / set table address A8-A15 */
23   void rst (int pin );
23   DECLARE_WRITE_LINE_MEMBER( rst );
2424
2525   /* set VCU pin level : ?? unknown */
26   void vcu( int pin );
26   DECLARE_WRITE_LINE_MEMBER( vcu );
2727
2828   /* set ST pin level  : set table address A0-A7 / start speech */
29   void st( int pin );
29   DECLARE_WRITE_LINE_MEMBER( st );
3030
3131protected:
3232   // device-level overrides
trunk/src/mame/includes/punchout.h
r31521r31522
6464   DECLARE_WRITE8_MEMBER(armwrest_fg_videoram_w);
6565   DECLARE_WRITE8_MEMBER(punchout_spr1_videoram_w);
6666   DECLARE_WRITE8_MEMBER(punchout_spr2_videoram_w);
67   DECLARE_CUSTOM_INPUT_MEMBER(punchout_vlm5030_busy_r);
6867   DECLARE_WRITE8_MEMBER(punchout_speech_reset_w);
6968   DECLARE_WRITE8_MEMBER(punchout_speech_st_w);
7069   DECLARE_WRITE8_MEMBER(punchout_speech_vcu_w);
trunk/src/mame/drivers/punchout.c
r31521r31522
271271
272272***************************************************************************/
273273
274CUSTOM_INPUT_MEMBER(punchout_state::punchout_vlm5030_busy_r)
275{
276   /* bit 4 of DSW1 is vlm busy pin level */
277   return (m_vlm->bsy()) ? 0x00 : 0x01;
278}
279
280274static INPUT_PORTS_START( punchout )
281275   PORT_START("IN0")
282276   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 )
r31521r31522
336330   PORT_DIPSETTING(    0x0a, DEF_STR( 1C_5C ) )
337331   PORT_DIPSETTING(    0x07, DEF_STR( 1C_6C ) )
338332   PORT_DIPSETTING(    0x0f, DEF_STR( Free_Play ) )
339   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, punchout_state,punchout_vlm5030_busy_r, NULL) /* VLM5030 busy signal */
333   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("vlm", vlm5030_device, bsy) /* VLM5030 busy signal */
340334   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
341335   PORT_DIPUNUSED_DIPLOC( 0x40, 0x00, "R18:!1" )       /* Not documented, R18 resistor */
342336   PORT_DIPNAME( 0x80, 0x00, "Copyright" )             PORT_DIPLOCATION("R19:!1") /* Not documented, R19 resistor */
r31521r31522
397391
398392Table 1 (for 2 Coin Slots):
399393
400   DSW1 DSW2
401bit 3210 5432  L  R  C
394   DSW1 DSW2               DSW1 DSW2               DSW1 DSW2               DSW1 DSW2
395bit 3210 5432  L  R  C      3210 5432  L  R  C      3210 5432  L  R  C      3210 5432  L  R  C
402396
403   0000 0000  1  1  1
404   0000 0001  8  1  1
405   0000 0010  2  1  1
406   0000 0011  8  3  3
407   0000 0100  3  1  2
408   0000 0101  3  12 4
409   0000 0110  1  2  2
410   0000 0111  3  24 2
411   0000 1000  1  3  3
412   0000 1001  4  1  3
413   0000 1010  1  4  4
414   0000 1011  3  3  4
415   0000 1100  1  5  5
416   0000 1101  1  1  1
417   0000 1110  2  3  3
418   0000 1111  5  5  3
397   0000 0000  1  1  1      0001 0000  1  2  1      0010 0000  1  3  1      0011 0000  1  4  1
398   0000 0001  8  1  1      0001 0001  1  8  1      0010 0001  9  1  1      0011 0001  1  9  1
399   0000 0010  2  1  1      0001 0010  2  2  1      0010 0010  2  3  1      0011 0010  2  4  1
400   0000 0011  8  3  3      0001 0011  3  8  3      0010 0011  3  4  4      0011 0011  4  3  4
401   0000 0100  3  1  2      0001 0100  3  2  1      0010 0100  3  3  1      0011 0100  3  4  1
402   0000 0101  3  12 4      0001 0101  12 3  4      0010 0101  4  4  1      0011 0101  4  4  1
403   0000 0110  1  2  2      0001 0110  1  4  2      0010 0110  1  6  2      0011 0110  1  8  2
404   0000 0111  3  24 2      0001 0111  24 3  2      0010 0111  3  1  2      0011 0111  1  3  2
405   0000 1000  1  3  3      0001 1000  1  6  3      0010 1000  1  9  3      0011 1000  1  12 3
406   0000 1001  4  1  3      0001 1001  1  4  3      0010 1001  10 1  3      0011 1001  1  10 3
407   0000 1010  1  4  4      0001 1010  1  8  4      0010 1010  1  12 4      0011 1010  1  16 4
408   0000 1011  3  3  4      0001 1011  3  3  4      0010 1011  1  1  6      0011 1011  1  1  6
409   0000 1100  1  5  5      0001 1100  1  10 5      0010 1100  1  15 5      0011 1100  1  20 5
410   0000 1101  1  1  1      0001 1101  1  1  2      0010 1101  2  2  1      0011 1101  1  1  4
411   0000 1110  2  3  3      0001 1110  2  6  3      0010 1110  2  9  3      0011 1110  2  12 3
412   0000 1111  5  5  3      0001 1111  5  5  4      0010 1111  2  2  5      0011 1111  8  8  1
419413
420   0001 0000  1  2  1
421   0001 0001  1  8  1
422   0001 0010  2  2  1
423   0001 0011  3  8  3
424   0001 0100  3  2  1
425   0001 0101  12 3  4
426   0001 0110  1  4  2
427   0001 0111  24 3  2
428   0001 1000  1  6  3
429   0001 1001  1  4  3
430   0001 1010  1  8  4
431   0001 1011  3  3  4
432   0001 1100  1  10 5
433   0001 1101  1  1  2
434   0001 1110  2  6  3
435   0001 1111  5  5  4
414   0100 0000  1  5  1      0101 0000  1  6  1      0110 0000  2  1  2      0111 0000  3  1  3
415   0100 0001  10 1  1      0101 0001  1  10 1      0110 0001  12 1  1      0111 0001  1  12 1
416   0100 0010  2  5  1      0101 0010  2  6  1      0110 0010  4  1  2      0111 0010  6  1  3
417   0100 0011  2  5  5      0101 0011  5  2  5      0110 0011  10 2  1      0111 0011  2  10 1
418   0100 0100  3  5  1      0101 0100  3  6  1      0110 0100  6  1  2      0111 0100  9  1  3
419   0100 0101  4  4  1      0101 0101  4  5  1      0110 0101  3  8  2      0111 0101  8  3  2
420   0100 0110  1  10 2      0101 0110  1  12 2      0110 0110  1  1  2      0111 0110  3  2  6
421   0100 0111  10 1  2      0101 0111  1  10 2      0110 0111  3  2  4      0111 0111  2  3  4
422   0100 1000  1  15 3      0101 1000  1  18 3      0110 1000  2  3  6      0111 1000  1  1  3
423   0100 1001  20 1  3      0101 1001  1  20 3      0110 1001  9  4  12     0111 1001  4  9  12
424   0100 1010  1  20 4      0101 1010  1  24 4      0110 1010  1  2  4      0111 1010  3  4  12
425   0100 1011  16 1  2      0101 1011  20 20 0*     0110 1011  1  1  1      0111 1011  1  1  1
426   0100 1100  1  25 5      0101 1100  1  30 5      0110 1100  2  5  10     0111 1100  3  5  15
427   0100 1101  1  1  5      0101 1101  3  3  3      0110 1101  4  4  1      0111 1101  6  6  1
428   0100 1110  2  15 3      0101 1110  2  18 1      0110 1110  4  3  6      0111 1110  2  2  3
429   0100 1111  8  8  3      0101 1111  9  9  1      0110 1111  9  9  2      0111 1111  10 10 1
436430
437   0010 0000  1  3  1
438   0010 0001  9  1  1
439   0010 0010  2  3  1
440   0010 0011  3  4  4
441   0010 0100  3  3  1
442   0010 0101  4  4  1
443   0010 0110  1  6  2
444   0010 0111  3  1  2
445   0010 1000  1  9  3
446   0010 1001  10 1  3
447   0010 1010  1  12 4
448   0010 1011  1  1  6
449   0010 1100  1  15 5
450   0010 1101  2  2  1
451   0010 1110  2  9  3
452   0010 1111  2  2  5
431   DSW1 DSW2               DSW1 DSW2               DSW1 DSW2               DSW1 DSW2
432bit 3210 5432  L  R  C      3210 5432  L  R  C      3210 5432  L  R  C      3210 5432  L  R  C
453433
454   0011 0000  1  4  1
455   0011 0001  1  9  1
456   0011 0010  2  4  1
457   0011 0011  4  3  4
458   0011 0100  3  4  1
459   0011 0101  4  4  1
460   0011 0110  1  8  2
461   0011 0111  1  3  2
462   0011 1000  1  12 3
463   0011 1001  1  10 3
464   0011 1010  1  16 4
465   0011 1011  1  1  6
466   0011 1100  1  20 5
467   0011 1101  1  1  4
468   0011 1110  2  12 3
469   0011 1111  8  8  1
434   1000 0000  4  1  4      1001 0000  5  1  5      1010 0000  3  2  3      1011 0000  3  5  3
435   1000 0001  3  2  2      1001 0001  2  3  2      1010 0001  5  2  2      1011 0001  2  5  2
436   1000 0010  8  1  4      1001 0010  10 1  5      1010 0010  6  2  3      1011 0010  6  5  3
437   1000 0011  12 2  1      1001 0011  2  12 1      1010 0011  3  4  2      1011 0011  4  3  2
438   1000 0100  12 1  4      1001 0100  15 1  5      1010 0100  9  2  3      1011 0100  9  5  3
439   1000 0101  5  5  1      1001 0101  5  5  1      1010 0101  6  6  1      1011 0101  6  6  1
440   1000 0110  2  1  4      1001 0110  5  2  10     1010 0110  3  4  6      1011 0110  3  10 6
441   1000 0111  3  3  2      1001 0111  3  3  2      1010 0111  4  9  6      1011 0111  9  4  6
442   1000 1000  4  3  12     1001 1000  5  3  15     1010 1000  1  2  3      1011 1000  1  5  3
443   1000 1001  4  2  3      1001 1001  2  4  3      1010 1001  10 2  3      1011 1001  2  10 3
444   1000 1010  1  1  4      1001 1010  5  4  20     1010 1010  3  8  12     1011 1010  3  20 12
445   1000 1011  1  1  1      1001 1011  1  1  1      1010 1011  1  1  1      1011 1011  1  1  1
446   1000 1100  4  5  20     1001 1100  1  1  5      1010 1100  2  10 15     1011 1100  3  25 15
447   1000 1101  1  1  6      1001 1101  2  2  3      1010 1101  5  5  1      1011 1101  3  3  2
448   1000 1110  8  3  12     1001 1110  10 3  15     1010 1110  2  2  3      1011 1110  2  5  3
449   1000 1111  10 10 3      1001 1111  11 11 1      1010 1111  11 11 3      1011 1111  12 12 1
470450
471   0100 0000  1  5  1
472   0100 0001  10 1  1
473   0100 0010  2  5  1
474   0100 0011  2  5  5
475   0100 0100  3  5  1
476   0100 0101  4  4  1
477   0100 0110  1  10 2
478   0100 0111  10 1  2
479   0100 1000  1  15 3
480   0100 1001  20 1  3
481   0100 1010  1  20 4
482   0100 1011  16 1  2
483   0100 1100  1  25 5
484   0100 1101  1  1  5
485   0100 1110  2  15 3
486   0100 1111  8  8  3
451   1100 0000  4  5  4      1101 0000  4  1  1      1110 0000  5  5  1      1111 0000  6  1  1
452   1100 0001  9  2  2      1101 0001  2  9  2      1110 0001  4  4  3      1111 0001  3  4  3
453   1100 0010  8  5  4      1101 0010  4  2  1      1110 0010  5  2  1      1111 0010  6  2  1
454   1100 0011  3  8  4      1101 0011  8  3  4      1110 0011  11 2  1      1111 0011  2  11 1
455   1100 0100  12 5  4      1101 0100  4  3  1      1110 0100  5  3  1      1111 0100  6  3  1
456   1100 0101  3  12 2      1101 0101  12 3  2      1110 0101  3  24 4      1111 0101  24 3  1
457   1100 0110  2  5  4      1101 0110  8  1  2      1110 0110  10 1  2      1111 0110  12 1  2
458   1100 0111  8  9  6      1101 0111  9  8  6      1110 0111  1  6  4      1111 0111  6  1  4
459   1100 1000  4  15 12     1101 1000  12 1  3      1110 1000  15 1  3      1111 1000  18 1  3
460   1100 1001  11 2  3      1101 1001  2  11 3      1110 1001  9  8  12     1111 1001  8  9  12
461   1100 1010  1  5  4      1101 1010  12 2  3      1110 1010  20 1  4      1111 1010  24 1  4
462   1100 1011  1  1  1      1101 1011  1  1  1      1110 1011  1  1  1      1111 1011  1  1  1
463   1100 1100  4  25 20     1101 1100  20 1  5      1110 1100  25 1  5      1111 1100  15 2  3
464   1100 1101  1  1  3      1101 1101  5  5  2      1110 1101  4  4  3      1111 1101  3  3  4
465   1100 1110  8  15 12     1101 1110  18 2  3      1110 1110  20 4  4      1111 1110  "Freeplay"
466   1100 1111  20 20 3      1101 1111  3  3  4      1110 1111  20 20 0*     1111 1111  "Freeplay"
487467
488   0101 0000  1  6  1
489   0101 0001  1  10 1
490   0101 0010  2  6  1
491   0101 0011  5  2  5
492   0101 0100  3  6  1
493   0101 0101  4  5  1
494   0101 0110  1  12 2
495   0101 0111  1  10 2
496   0101 1000  1  18 3
497   0101 1001  1  20 3
498   0101 1010  1  24 4
499   0101 1011  20 20 0  Not a "Freeplay": you MUST insert a coin!
500   0101 1100  1  30 5
501   0101 1101  3  3  3
502   0101 1110  2  18 1
503   0101 1111  9  9  1
504
505   0110 0000  2  1  2
506   0110 0001  12 1  1
507   0110 0010  4  1  2
508   0110 0011  10 2  1
509   0110 0100  6  1  2
510   0110 0101  3  8  2
511   0110 0110  1  1  2
512   0110 0111  3  2  4
513   0110 1000  2  3  6
514   0110 1001  9  4  12
515   0110 1010  1  2  4
516   0110 1011  1  1  1
517   0110 1100  2  5  10
518   0110 1101  4  4  1
519   0110 1110  4  3  6
520   0110 1111  9  9  2
521
522   0111 0000  3  1  3
523   0111 0001  1  12 1
524   0111 0010  6  1  3
525   0111 0011  2  10 1
526   0111 0100  9  1  3
527   0111 0101  8  3  2
528   0111 0110  3  2  6
529   0111 0111  2  3  4
530   0111 1000  1  1  3
531   0111 1001  4  9  12
532   0111 1010  3  4  12
533   0111 1011  1  1  1
534   0111 1100  3  5  15
535   0111 1101  6  6  1
536   0111 1110  2  2  3
537   0111 1111  10 10 1
538
539   1000 0000  4  1  4
540   1000 0001  3  2  2
541   1000 0010  8  1  4
542   1000 0011  12 2  1
543   1000 0100  12 1  4
544   1000 0101  5  5  1
545   1000 0110  2  1  4
546   1000 0111  3  3  2
547   1000 1000  4  3  12
548   1000 1001  4  2  3
549   1000 1010  1  1  4
550   1000 1011  1  1  1
551   1000 1100  4  5  20
552   1000 1101  1  1  6
553   1000 1110  8  3  12
554   1000 1111  10 10 3
555
556   1001 0000  5  1  5
557   1001 0001  2  3  2
558   1001 0010  10 1  5
559   1001 0011  2  12 1
560   1001 0100  15 1  5
561   1001 0101  5  5  1
562   1001 0110  5  2  10
563   1001 0111  3  3  2
564   1001 1000  5  3  15
565   1001 1001  2  4  3
566   1001 1010  5  4  20
567   1001 1011  1  1  1
568   1001 1100  1  1  5
569   1001 1101  2  2  3
570   1001 1110  10 3  15
571   1001 1111  11 11 1
572
573   1010 0000  3  2  3
574   1010 0001  5  2  2
575   1010 0010  6  2  3
576   1010 0011  3  4  2
577   1010 0100  9  2  3
578   1010 0101  6  6  1
579   1010 0110  3  4  6
580   1010 0111  4  9  6
581   1010 1000  1  2  3
582   1010 1001  10 2  3
583   1010 1010  3  8 12
584   1010 1011  1  1  1
585   1010 1100  2  10 15
586   1010 1101  5  5  1
587   1010 1110  2  2  3
588   1010 1111  11 11 3
589
590   1011 0000  3  5  3
591   1011 0001  2  5  2
592   1011 0010  6  5  3
593   1011 0011  4  3  2
594   1011 0100  9  5  3
595   1011 0101  6  6  1
596   1011 0110  3  10 6
597   1011 0111  9  4  6
598   1011 1000  1  5  3
599   1011 1001  2  10 3
600   1011 1010  3  20 12
601   1011 1011  1  1  1
602   1011 1100  3  25 15
603   1011 1101  3  3  2
604   1011 1110  2  5  3
605   1011 1111  12 12 1
606
607   1100 0000  4  5  4
608   1100 0001  9  2  2
609   1100 0010  8  5  4
610   1100 0011  3  8  4
611   1100 0100  12 5  4
612   1100 0101  3  12 2
613   1100 0110  2  5  4
614   1100 0111  8  9  6
615   1100 1000  4  15 12
616   1100 1001  11 2  3
617   1100 1010  1  5  4
618   1100 1011  1  1  1
619   1100 1100  4  25 20
620   1100 1101  1  1  3
621   1100 1110  8  15 12
622   1100 1111  20 20 3
623
624   1101 0000  4  1  1
625   1101 0001  2  9  2
626   1101 0010  4  2  1
627   1101 0011  8  3  4
628   1101 0100  4  3  1
629   1101 0101  12 3  2
630   1101 0110  8  1  2
631   1101 0111  9  8  6
632   1101 1000  12 1  3
633   1101 1001  2  11 3
634   1101 1010  12 2  3
635   1101 1011  1  1  1
636   1101 1100  20 1  5
637   1101 1101  5  5  2
638   1101 1110  18 2  3
639   1101 1111  3  3  4
640
641   1110 0000  5  5  1
642   1110 0001  4  4  3
643   1110 0010  5  2  1
644   1110 0011  11 2  1
645   1110 0100  5  3  1
646   1110 0101  3  24 4
647   1110 0110  10 1  2
648   1110 0111  1  6  4
649   1110 1000  15 1  3
650   1110 1001  9  8  12
651   1110 1010  20 1  4
652   1110 1011  1  1  1
653   1110 1100  25 1  5
654   1110 1101  4  4  3
655   1110 1110  20 4  4
656   1110 1111  20 20 0  Not a "Freeplay": you MUST insert a coin!
657
658   1111 0000  6  1  1
659   1111 0001  3  4  3
660   1111 0010  6  2  1
661   1111 0011  2  11 1
662   1111 0100  6  3  1
663   1111 0101  24 3  1
664   1111 0110  12 1  2
665   1111 0111  6  1  4
666   1111 1000  18 1  3
667   1111 1001  8  9  12
668   1111 1010  24 1  4
669   1111 1011  1  1  1
670   1111 1100  15 2  3
671   1111 1101  3  3  4
672   1111 1110  "Freeplay"
673   1111 1111  "Freeplay"
674
675
676468Table 2 (for 1 Coin Slot):
677469
678470   DSW1 DSW2
r31521r31522
721513   1101 1xxx  3  3  4
722514
723515   1110 0xxx  4  4  3
724   1110 1xxx  20 20 0  Not a "Freeplay": you MUST insert a coin!
516   1110 1xxx  20 20 0*
725517
726518   1111 xxxx  "Freeplay"
519   
520   0*: Not a "Freeplay": you MUST insert a coin!
727521
728522   */
729523
r31521r31522
767561   PORT_DIPSETTING(    0x0d, "1101" )
768562   PORT_DIPSETTING(    0x0e, "1110" )
769563   PORT_DIPSETTING(    0x0f, "1111" )
770   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, punchout_state,punchout_vlm5030_busy_r, NULL) /* VLM5030 busy signal */
564   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("vlm", vlm5030_device, bsy) /* VLM5030 busy signal */
771565   PORT_DIPNAME( 0x40, 0x00, "Coin Slots" )            PORT_DIPLOCATION("R18:!1") /* R18 resistor */
772566   PORT_DIPSETTING(    0x40, "1" )
773567   PORT_DIPSETTING(    0x00, "2" )

Previous 199869 Revisions Next


© 1997-2024 The MAME Team