~ubuntu-branches/ubuntu/precise/mame/precise-proposed

« back to all changes in this revision

Viewing changes to src/mame/drivers/taito_b.c

  • Committer: Package Import Robot
  • Author(s): Cesare Falco
  • Date: 2011-11-30 18:50:10 UTC
  • mfrom: (1.1.4)
  • Revision ID: package-import@ubuntu.com-20111130185010-02hcxybht1mn082w
Tags: 0.144-0ubuntu1
* New upstream release (LP: #913550)
* mame.install:
  - Added artwork/ images to be used with -effect switch
  - Be more selective with hash/ contents
* contrib/mame.ini: added /usr/share/games/mame/artwork/ to artpath

Show diffs side-by-side

added added

removed removed

Lines of Context:
15
15
- hitice: ice trails are incorrect.
16
16
- hitice: the pixel bitmap is not cleared on startup nor during attract mode. There's a
17
17
  kludge to fix it in the first case.
18
 
- rambo3a: has a lot of unmapped writes in the VCU area (log up to end of
 
18
- rambo3u: has a lot of unmapped writes in the VCU area (log up to end of
19
19
  round 2) [viofight also does a few]
20
20
- The eprom games could have a single io handler if it's confirmed all
21
21
  3 use a special 4 player I/O chip. Puzzle Bobble and qzshowby use TC0640FIO
23
23
  screen wiggles after the puck hits the wall shortly into the first round of attract mode)
24
24
- sprites are not in perfect sync with the background. Check ashura, they are almost
25
25
  tight during gameplay but completely off in attract mode.
 
26
- realpunc: missing camera emulation.
26
27
 
27
28
The Taito B system is a fairly flexible hardware platform. It supports 4
28
29
separate layers of graphics - one 64x64 tiled scrolling background plane
164
165
            Vsync: 60Hz
165
166
 
166
167
 
 
168
Real Puncher
 
169
Taito, 1994
 
170
 
 
171
PCB Layout
 
172
----------
 
173
 
 
174
TODO!
 
175
 
167
176
 
168
177
***************************************************************************/
169
178
 
178
187
#include "sound/2203intf.h"
179
188
#include "sound/2610intf.h"
180
189
#include "sound/okim6295.h"
 
190
#include "video/hd63484.h"
181
191
#include "video/taitoic.h"
182
192
#include "includes/taito_b.h"
183
193
 
186
196
        memory_set_bank(space->machine(), "bank1", (data - 1) & 3);
187
197
}
188
198
 
189
 
static TIMER_CALLBACK( rsaga2_interrupt2  )
 
199
static TIMER_CALLBACK( rsaga2_interrupt2 )
190
200
{
191
201
        taitob_state *state = machine.driver_data<taitob_state>();
192
202
        device_set_input_line(state->m_maincpu, 2, HOLD_LINE);
310
320
        device_set_input_line(device, 4, HOLD_LINE);
311
321
}
312
322
 
 
323
static TIMER_CALLBACK( realpunc_interrupt3 )//3
 
324
{
 
325
        taitob_state *state = machine.driver_data<taitob_state>();
 
326
        device_set_input_line(state->m_maincpu, 3, HOLD_LINE);
 
327
}
 
328
 
 
329
static INTERRUPT_GEN( realpunc_interrupt )//2
 
330
{
 
331
        device->machine().scheduler().timer_set(downcast<cpu_device *>(device)->cycles_to_attotime(10000), FUNC(realpunc_interrupt3));
 
332
        device_set_input_line(device, 2, HOLD_LINE);
 
333
}
 
334
 
313
335
 
314
336
 
315
337
static READ16_HANDLER( tracky1_hi_r )
371
393
        }
372
394
}
373
395
 
 
396
static INPUT_CHANGED( realpunc_sensor )
 
397
{
 
398
        taitob_state *state = field.machine().driver_data<taitob_state>();
 
399
        device_set_input_line(state->m_maincpu, 4, HOLD_LINE);
 
400
}
 
401
 
374
402
/***************************************************************************
375
403
 
376
404
  Puzzle Bobble, Qzshowby, Space DX   EEPROM
473
501
        }
474
502
}
475
503
 
 
504
static WRITE16_HANDLER( realpunc_output_w )
 
505
{
 
506
/*
 
507
   15 = Camera Enable?
 
508
   14 = Lamp 2?
 
509
   13 = Lamp 1?
 
510
*/
 
511
}
 
512
 
476
513
 
477
514
#define TC0180VCU_MEMRW( ADDR )                                                                                 \
478
515
        AM_RANGE(ADDR+0x00000, ADDR+0x0ffff) AM_DEVREADWRITE("tc0180vcu", tc0180vcu_word_r, tc0180vcu_word_w)   \
687
724
        TC0180VCU_MEMRW( 0x900000 )
688
725
ADDRESS_MAP_END
689
726
 
690
 
 
 
727
static ADDRESS_MAP_START( realpunc_map, AS_PROGRAM, 16 )
 
728
        AM_RANGE(0x000000, 0x0fffff) AM_ROM
 
729
        AM_RANGE(0x100000, 0x10ffff) AM_RAM
 
730
        AM_RANGE(0x110000, 0x12ffff) AM_RAM
 
731
        AM_RANGE(0x130000, 0x13ffff) AM_RAM // Check me
 
732
        AM_RANGE(0x180000, 0x18000f) AM_DEVREADWRITE("tc0510nio", tc0510nio_halfword_wordswap_r, tc0510nio_halfword_wordswap_w)
 
733
        AM_RANGE(0x184000, 0x184001) AM_WRITE(realpunc_video_ctrl_w)
 
734
        AM_RANGE(0x188000, 0x188001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_port_w, 0xff00)
 
735
        AM_RANGE(0x188002, 0x188003) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_comm_w, 0xff00)
 
736
        AM_RANGE(0x18c000, 0x18c001) AM_WRITE(realpunc_output_w)
 
737
        TC0180VCU_MEMRW( 0x200000 )
 
738
        AM_RANGE(0x280000, 0x281fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
 
739
        AM_RANGE(0x300000, 0x300001) AM_DEVREADWRITE("hd63484", hd63484_status_r, hd63484_address_w)
 
740
        AM_RANGE(0x300002, 0x300003) AM_DEVREADWRITE("hd63484", hd63484_data_r, hd63484_data_w)
 
741
//  AM_RANGE(0x320000, 0x320001) AM_READ(SMH_NOP) // ?
 
742
        AM_RANGE(0x320002, 0x320003) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_comm_r, 0xff00)
 
743
ADDRESS_MAP_END
691
744
 
692
745
static ADDRESS_MAP_START( masterw_sound_map, AS_PROGRAM, 8 )
693
746
        AM_RANGE(0x0000, 0x3fff) AM_ROM
740
793
        PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
741
794
 
742
795
 
743
 
static INPUT_PORTS_START( rastsag2 )
744
 
        PORT_START("DSWA")
745
 
        TAITO_MACHINE_NO_COCKTAIL  // all 2 "unused" in manual
746
 
        TAITO_COINAGE_JAPAN_OLD
747
 
 
748
 
        PORT_START("DSWB")
749
 
        TAITO_DIFFICULTY
750
 
        PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
751
 
        PORT_DIPSETTING(    0x0c, "100k only" )
752
 
        PORT_DIPSETTING(    0x08, "150k only" )
753
 
        PORT_DIPSETTING(    0x04, "200k only" )
754
 
        PORT_DIPSETTING(    0x00, "250k only" )
755
 
        PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
756
 
        PORT_DIPSETTING(    0x20, "1" )
757
 
        PORT_DIPSETTING(    0x10, "2" )
758
 
        PORT_DIPSETTING(    0x30, "3" )
759
 
        PORT_DIPSETTING(    0x00, "5" )
760
 
        PORT_DIPNAME( 0x40, 0x40, DEF_STR( Allow_Continue ) )
761
 
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
762
 
        PORT_DIPSETTING(    0x40, DEF_STR( On ) )
763
 
        PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
764
 
        PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
765
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
766
 
 
767
 
        PORT_START("IN0")
768
 
        TAITO_JOY_UDLR_2_BUTTONS( 1 )
769
 
 
770
 
        PORT_START("IN1")
771
 
        TAITO_JOY_UDLR_2_BUTTONS( 2 )
772
 
 
773
 
        TAITO_B_SYSTEM_INPUT
774
 
INPUT_PORTS_END
775
 
 
776
 
static INPUT_PORTS_START( nastar )
777
 
        PORT_START("DSWA")
778
 
        TAITO_MACHINE_NO_COCKTAIL
779
 
        TAITO_COINAGE_WORLD
780
 
 
781
 
        PORT_START("DSWB")
782
 
        TAITO_DIFFICULTY
783
 
        PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
784
 
        PORT_DIPSETTING(    0x0c, "100k only" )
785
 
        PORT_DIPSETTING(    0x08, "150k only" )
786
 
        PORT_DIPSETTING(    0x04, "200k only" )
787
 
        PORT_DIPSETTING(    0x00, "250k only" )
788
 
        PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
789
 
        PORT_DIPSETTING(    0x20, "1" )
790
 
        PORT_DIPSETTING(    0x10, "2" )
791
 
        PORT_DIPSETTING(    0x30, "3" )
792
 
        PORT_DIPSETTING(    0x00, "5" )
793
 
        PORT_DIPNAME( 0x40, 0x40, DEF_STR( Allow_Continue ) )
794
 
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
795
 
        PORT_DIPSETTING(    0x40, DEF_STR( On ) )
796
 
        PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
797
 
        PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
798
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
799
 
 
800
 
        PORT_START("IN0")
801
 
        TAITO_JOY_UDLR_2_BUTTONS( 1 )
802
 
 
803
 
        PORT_START("IN1")
804
 
        TAITO_JOY_UDLR_2_BUTTONS( 2 )
805
 
 
806
 
        TAITO_B_SYSTEM_INPUT
807
 
INPUT_PORTS_END
808
 
 
809
 
static INPUT_PORTS_START( nastarw )
810
 
        PORT_START("DSWA")
811
 
        TAITO_MACHINE_COCKTAIL
812
 
        TAITO_COINAGE_US
813
 
 
814
 
        PORT_START("DSWB")
815
 
        TAITO_DIFFICULTY
816
 
        PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
817
 
        PORT_DIPSETTING(    0x0c, "100k only" )
818
 
        PORT_DIPSETTING(    0x08, "150k only" )
819
 
        PORT_DIPSETTING(    0x04, "200k only" )
820
 
        PORT_DIPSETTING(    0x00, "250k only" )
821
 
        PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
822
 
        PORT_DIPSETTING(    0x20, "1" )
823
 
        PORT_DIPSETTING(    0x10, "2" )
824
 
        PORT_DIPSETTING(    0x30, "3" )
825
 
        PORT_DIPSETTING(    0x00, "5" )
826
 
        PORT_DIPNAME( 0x40, 0x40, DEF_STR( Allow_Continue ) )
827
 
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
828
 
        PORT_DIPSETTING(    0x40, DEF_STR( On ) )
829
 
        PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
830
 
        PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
831
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
832
 
 
833
 
        PORT_START("IN0")
834
 
        TAITO_JOY_UDLR_2_BUTTONS( 1 )
835
 
 
836
 
        PORT_START("IN1")
837
 
        TAITO_JOY_UDLR_2_BUTTONS( 2 )
838
 
 
839
 
        TAITO_B_SYSTEM_INPUT
 
796
static INPUT_PORTS_START( rastsag2 ) /* Japanese version */
 
797
        PORT_START("DSWA")
 
798
        TAITO_MACHINE_NO_COCKTAIL_LOC(SW1)  // all 2 "unused" in manual
 
799
        TAITO_COINAGE_JAPAN_OLD_LOC(SW1)
 
800
 
 
801
        PORT_START("DSWB")
 
802
        TAITO_DIFFICULTY_LOC(SW2)
 
803
        PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )       PORT_DIPLOCATION("SW2:3,4")
 
804
        PORT_DIPSETTING(    0x0c, "100k only" )
 
805
        PORT_DIPSETTING(    0x08, "150k only" )
 
806
        PORT_DIPSETTING(    0x04, "200k only" )
 
807
        PORT_DIPSETTING(    0x00, "250k only" )
 
808
        PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )            PORT_DIPLOCATION("SW2:5,6")
 
809
        PORT_DIPSETTING(    0x20, "1" )
 
810
        PORT_DIPSETTING(    0x10, "2" )
 
811
        PORT_DIPSETTING(    0x30, "3" )
 
812
        PORT_DIPSETTING(    0x00, "5" )
 
813
        PORT_DIPNAME( 0x40, 0x40, DEF_STR( Allow_Continue ) )   PORT_DIPLOCATION("SW2:7")
 
814
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
 
815
        PORT_DIPSETTING(    0x40, DEF_STR( On ) )
 
816
        PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:8" )            /* Listed as "Unused" */
 
817
 
 
818
        PORT_START("IN0")
 
819
        TAITO_JOY_UDLR_2_BUTTONS( 1 )
 
820
 
 
821
        PORT_START("IN1")
 
822
        TAITO_JOY_UDLR_2_BUTTONS( 2 )
 
823
 
 
824
        TAITO_B_SYSTEM_INPUT
 
825
INPUT_PORTS_END
 
826
 
 
827
static INPUT_PORTS_START( nastar ) /* World version */
 
828
        PORT_INCLUDE(rastsag2)
 
829
 
 
830
        PORT_MODIFY("DSWA")
 
831
        TAITO_COINAGE_WORLD_LOC(SW1)
 
832
INPUT_PORTS_END
 
833
 
 
834
static INPUT_PORTS_START( nastarw ) /* USA version */
 
835
        PORT_INCLUDE(rastsag2)
 
836
 
 
837
        PORT_MODIFY("DSWA")
 
838
        TAITO_COINAGE_US_LOC(SW1)
840
839
INPUT_PORTS_END
841
840
 
842
841
static INPUT_PORTS_START( masterw )
843
842
        PORT_START("DSWA")
844
 
        TAITO_MACHINE_COCKTAIL
845
 
        TAITO_COINAGE_WORLD
 
843
        TAITO_MACHINE_COCKTAIL_LOC(SW1)
 
844
        TAITO_COINAGE_WORLD_LOC(SW1)
846
845
 
847
846
        PORT_START("DSWB")
848
 
        TAITO_DIFFICULTY
849
 
        PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
 
847
        TAITO_DIFFICULTY_LOC(SW2)
 
848
        PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )       PORT_DIPLOCATION("SW2:3,4")
850
849
        PORT_DIPSETTING(    0x08, "500k, 1000k and 1500k" )
851
850
        PORT_DIPSETTING(    0x0c, "500k and 1000k" )
852
851
        PORT_DIPSETTING(    0x04, "500k only" )
853
852
        PORT_DIPSETTING(    0x00, DEF_STR( None ) )
854
 
        PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
 
853
        PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )            PORT_DIPLOCATION("SW2:5,6")
855
854
        PORT_DIPSETTING(    0x30, "3" )
856
855
        PORT_DIPSETTING(    0x20, "4" )
857
856
        PORT_DIPSETTING(    0x10, "5" )
858
857
        PORT_DIPSETTING(    0x00, "6" )
859
 
        PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) )
860
 
        PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
861
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
862
 
        PORT_DIPNAME( 0x80, 0x80, "Ship Type" )
 
858
        PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW2:7" )            /* Listed as "Unused" */
 
859
        PORT_DIPNAME( 0x80, 0x80, "Ship Type" )                 PORT_DIPLOCATION("SW2:8")
863
860
        PORT_DIPSETTING(    0x80, "Space Ship" )
864
861
        PORT_DIPSETTING(    0x00, "Hover Cycle" )
865
862
 
872
869
        TAITO_B_SYSTEM_INPUT
873
870
INPUT_PORTS_END
874
871
 
 
872
static INPUT_PORTS_START( masterwj )
 
873
        PORT_INCLUDE(masterw)
 
874
 
 
875
        PORT_MODIFY("DSWA")
 
876
        TAITO_COINAGE_JAPAN_OLD_LOC(SW1)
 
877
INPUT_PORTS_END
 
878
 
 
879
static INPUT_PORTS_START( masterwu )
 
880
        PORT_INCLUDE(masterw)
 
881
 
 
882
        PORT_MODIFY("DSWA")
 
883
        TAITO_COINAGE_US_LOC(SW1)
 
884
INPUT_PORTS_END
 
885
 
875
886
static INPUT_PORTS_START( crimec )
876
887
        PORT_START("DSWA")
877
 
        PORT_DIPNAME( 0x01, 0x01, "Hi Score" )
 
888
        PORT_DIPNAME( 0x01, 0x01, "Hi Score" )                  PORT_DIPLOCATION("SW1:1")
878
889
        PORT_DIPSETTING(    0x01, "Scribble" )
879
890
        PORT_DIPSETTING(    0x00, "3 Characters" )
880
 
        TAITO_DSWA_BITS_1_TO_3
881
 
        TAITO_COINAGE_WORLD
 
891
        TAITO_DSWA_BITS_1_TO_3_LOC(SW1)
 
892
        TAITO_COINAGE_WORLD_LOC(SW1)
882
893
 
883
894
        PORT_START("DSWB")
884
 
        TAITO_DIFFICULTY
885
 
        PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
 
895
        TAITO_DIFFICULTY_LOC(SW2)
 
896
        PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )       PORT_DIPLOCATION("SW2:3,4")
886
897
        PORT_DIPSETTING(    0x08, "every 80k" )
887
898
        PORT_DIPSETTING(    0x0c, "80k only" )
888
899
        PORT_DIPSETTING(    0x04, "160k only" )
889
900
        PORT_DIPSETTING(    0x00, DEF_STR( None ) )
890
 
        PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
 
901
        PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )            PORT_DIPLOCATION("SW2:5,6")
891
902
        PORT_DIPSETTING(    0x10, "1" )
892
903
        PORT_DIPSETTING(    0x20, "2" )
893
904
        PORT_DIPSETTING(    0x30, "3" )
894
905
        PORT_DIPSETTING(    0x00, "4" )
895
 
        PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Allow_Continue ) )
 
906
        PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Allow_Continue ) )   PORT_DIPLOCATION("SW2:7,8")
896
907
        PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
897
908
        PORT_DIPSETTING( 0x40, "5 Times" )
898
909
        PORT_DIPSETTING( 0x80, "8 Times" )
908
919
INPUT_PORTS_END
909
920
 
910
921
static INPUT_PORTS_START( crimecj )
911
 
        PORT_START("DSWA")
912
 
        PORT_DIPNAME( 0x01, 0x01, "Hi Score" )
913
 
        PORT_DIPSETTING(    0x01, "Scribble" )
914
 
        PORT_DIPSETTING(    0x00, "3 Characters" )
915
 
        TAITO_DSWA_BITS_1_TO_3
916
 
        TAITO_COINAGE_JAPAN_OLD
917
 
 
918
 
        PORT_START("DSWB")
919
 
        TAITO_DIFFICULTY
920
 
        PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
921
 
        PORT_DIPSETTING(    0x08, "every 80k" )
922
 
        PORT_DIPSETTING(    0x0c, "80k only" )
923
 
        PORT_DIPSETTING(    0x04, "160k only" )
924
 
        PORT_DIPSETTING(    0x00, DEF_STR( None ) )
925
 
        PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
926
 
        PORT_DIPSETTING(    0x10, "1" )
927
 
        PORT_DIPSETTING(    0x20, "2" )
928
 
        PORT_DIPSETTING(    0x30, "3" )
929
 
        PORT_DIPSETTING(    0x00, "4" )
930
 
        PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Allow_Continue ) )
931
 
        PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
932
 
        PORT_DIPSETTING( 0x40, "5 Times" )
933
 
        PORT_DIPSETTING( 0x80, "8 Times" )
934
 
        PORT_DIPSETTING( 0xc0, DEF_STR( On ) )
935
 
 
936
 
        PORT_START("IN0")
937
 
        TAITO_JOY_UDLR_2_BUTTONS( 1 )
938
 
 
939
 
        PORT_START("IN1")
940
 
        TAITO_JOY_UDLR_2_BUTTONS( 2 )
941
 
 
942
 
        TAITO_B_SYSTEM_INPUT
 
922
        PORT_INCLUDE(crimec)
 
923
 
 
924
        PORT_MODIFY("DSWA")
 
925
        TAITO_COINAGE_JAPAN_OLD_LOC(SW1)
943
926
INPUT_PORTS_END
944
927
 
945
928
static INPUT_PORTS_START( crimecu )
946
 
        PORT_START("DSWA")
947
 
        PORT_DIPNAME( 0x01, 0x01, "Hi Score" )
948
 
        PORT_DIPSETTING(    0x01, "Scribble" )
949
 
        PORT_DIPSETTING(    0x00, "3 Characters" )
950
 
        TAITO_DSWA_BITS_1_TO_3
951
 
        TAITO_COINAGE_US
952
 
 
953
 
        PORT_START("DSWB")
954
 
        TAITO_DIFFICULTY
955
 
        PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
956
 
        PORT_DIPSETTING(    0x08, "every 80k" )
957
 
        PORT_DIPSETTING(    0x0c, "80k only" )
958
 
        PORT_DIPSETTING(    0x04, "160k only" )
959
 
        PORT_DIPSETTING(    0x00, DEF_STR( None ) )
960
 
        PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
961
 
        PORT_DIPSETTING(    0x10, "1" )
962
 
        PORT_DIPSETTING(    0x20, "2" )
963
 
        PORT_DIPSETTING(    0x30, "3" )
964
 
        PORT_DIPSETTING(    0x00, "4" )
965
 
        PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Allow_Continue ) )
966
 
        PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
967
 
        PORT_DIPSETTING( 0x40, "5 Times" )
968
 
        PORT_DIPSETTING( 0x80, "8 Times" )
969
 
        PORT_DIPSETTING( 0xc0, DEF_STR( On ) )
970
 
 
971
 
        PORT_START("IN0")
972
 
        TAITO_JOY_UDLR_2_BUTTONS( 1 )
973
 
 
974
 
        PORT_START("IN1")
975
 
        TAITO_JOY_UDLR_2_BUTTONS( 2 )
976
 
 
977
 
        TAITO_B_SYSTEM_INPUT
 
929
        PORT_INCLUDE(crimec)
 
930
 
 
931
        PORT_MODIFY("DSWA")
 
932
        TAITO_COINAGE_US_LOC(SW1)
978
933
INPUT_PORTS_END
979
934
 
980
935
static INPUT_PORTS_START( tetrist )
981
936
        PORT_START("DSWA")
982
 
        PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
983
 
        PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
984
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
985
 
        TAITO_DSWA_BITS_1_TO_3
986
 
        TAITO_COINAGE_JAPAN_OLD
 
937
        TAITO_MACHINE_NO_COCKTAIL_LOC(SW1)
 
938
        TAITO_COINAGE_JAPAN_OLD_LOC(SW1)
987
939
 
988
940
        PORT_START("DSWB")
989
 
        TAITO_DIFFICULTY
990
 
        PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
991
 
        PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
992
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
993
 
        PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
994
 
        PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
995
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
996
 
        PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
997
 
        PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
998
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
999
 
        PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
1000
 
        PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
1001
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1002
 
        PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
1003
 
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1004
 
        PORT_DIPSETTING(    0x40, DEF_STR( On ) )
1005
 
        PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
1006
 
        PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
1007
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 
941
        TAITO_DIFFICULTY_LOC(SW2)
 
942
        PORT_DIPUNUSED_DIPLOC( 0x04, 0x04, "SW2:3" )            /* Listed as "Unused" */
 
943
        PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "SW2:4" )            /* Listed as "Unused" */
 
944
        PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "SW2:5" )            /* Listed as "Unused" */
 
945
        PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "SW2:6" )            /* Listed as "Unused" */
 
946
        PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW2:7" )            /* Listed as "Unused" */
 
947
        PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:8" )            /* Listed as "Unused" */
1008
948
 
1009
949
        PORT_START("IN0")
1010
950
        TAITO_JOY_UDLR_2_BUTTONS( 1 )
1017
957
 
1018
958
static INPUT_PORTS_START( ashura )
1019
959
        PORT_START("DSWA")
1020
 
        TAITO_MACHINE_COCKTAIL
1021
 
        TAITO_COINAGE_WORLD
 
960
        TAITO_MACHINE_COCKTAIL_LOC(SW1)
 
961
        TAITO_COINAGE_WORLD_LOC(SW1)
1022
962
 
1023
963
        PORT_START("DSWB")
1024
 
        TAITO_DIFFICULTY
1025
 
        PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
 
964
        TAITO_DIFFICULTY_LOC(SW2)
 
965
        PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )       PORT_DIPLOCATION("SW2:3,4")
1026
966
        PORT_DIPSETTING(    0x08, "every 100k" )
1027
967
        PORT_DIPSETTING(    0x0c, "every 150k" )
1028
968
        PORT_DIPSETTING(    0x04, "every 200k" )
1029
969
        PORT_DIPSETTING(    0x00, "every 250k" )
1030
 
        PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
 
970
        PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )            PORT_DIPLOCATION("SW2:5,6")
1031
971
        PORT_DIPSETTING(    0x00, "1" )
1032
972
        PORT_DIPSETTING(    0x10, "2" )
1033
973
        PORT_DIPSETTING(    0x30, "3" )
1034
974
        PORT_DIPSETTING(    0x20, "4" )
1035
 
        PORT_DIPNAME( 0x40, 0x40, DEF_STR( Allow_Continue ) )
 
975
        PORT_DIPNAME( 0x40, 0x40, DEF_STR( Allow_Continue ) )   PORT_DIPLOCATION("SW2:7") /* Listed as Unused in the manual */
1036
976
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1037
977
        PORT_DIPSETTING(    0x40, DEF_STR( On ) )
1038
 
        PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
 
978
        PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )          PORT_DIPLOCATION("SW2:8") /* Listed as Unused in the manual */
1039
979
        PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
1040
980
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1041
981
 
1049
989
INPUT_PORTS_END
1050
990
 
1051
991
static INPUT_PORTS_START( ashuraj )
1052
 
        PORT_START("DSWA")
1053
 
        TAITO_MACHINE_COCKTAIL
1054
 
        TAITO_COINAGE_JAPAN_OLD
1055
 
 
1056
 
        PORT_START("DSWB")
1057
 
        TAITO_DIFFICULTY
1058
 
        PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
1059
 
        PORT_DIPSETTING(    0x08, "every 100k" )
1060
 
        PORT_DIPSETTING(    0x0c, "every 150k" )
1061
 
        PORT_DIPSETTING(    0x04, "every 200k" )
1062
 
        PORT_DIPSETTING(    0x00, "every 250k" )
1063
 
        PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
1064
 
        PORT_DIPSETTING(    0x00, "1" )
1065
 
        PORT_DIPSETTING(    0x10, "2" )
1066
 
        PORT_DIPSETTING(    0x30, "3" )
1067
 
        PORT_DIPSETTING(    0x20, "4" )
1068
 
        PORT_DIPNAME( 0x40, 0x40, DEF_STR( Allow_Continue ) )
1069
 
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1070
 
        PORT_DIPSETTING(    0x40, DEF_STR( On ) )
1071
 
        PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
1072
 
        PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
1073
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1074
 
 
1075
 
        PORT_START("IN0")
1076
 
        TAITO_JOY_UDLR_2_BUTTONS( 1 )
1077
 
 
1078
 
        PORT_START("IN1")
1079
 
        TAITO_JOY_UDLR_2_BUTTONS( 2 )
1080
 
 
1081
 
        TAITO_B_SYSTEM_INPUT
 
992
        PORT_INCLUDE(ashura)
 
993
 
 
994
        PORT_MODIFY("DSWA")
 
995
        TAITO_COINAGE_JAPAN_OLD_LOC(SW1)
1082
996
INPUT_PORTS_END
1083
997
 
1084
998
static INPUT_PORTS_START( ashurau )
1085
 
        PORT_START("DSWA")
1086
 
        TAITO_MACHINE_COCKTAIL
1087
 
        TAITO_COINAGE_US
1088
 
 
1089
 
        PORT_START("DSWB")
1090
 
        TAITO_DIFFICULTY
1091
 
        PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
1092
 
        PORT_DIPSETTING(    0x08, "every 100k" )
1093
 
        PORT_DIPSETTING(    0x0c, "every 150k" )
1094
 
        PORT_DIPSETTING(    0x04, "every 200k" )
1095
 
        PORT_DIPSETTING(    0x00, "every 250k" )
1096
 
        PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
1097
 
        PORT_DIPSETTING(    0x00, "1" )
1098
 
        PORT_DIPSETTING(    0x10, "2" )
1099
 
        PORT_DIPSETTING(    0x30, "3" )
1100
 
        PORT_DIPSETTING(    0x20, "4" )
1101
 
        PORT_DIPNAME( 0x40, 0x40, DEF_STR( Allow_Continue ) )
1102
 
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1103
 
        PORT_DIPSETTING(    0x40, DEF_STR( On ) )
1104
 
        PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
1105
 
        PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
1106
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1107
 
 
1108
 
        PORT_START("IN0")
1109
 
        TAITO_JOY_UDLR_2_BUTTONS( 1 )
1110
 
 
1111
 
        PORT_START("IN1")
1112
 
        TAITO_JOY_UDLR_2_BUTTONS( 2 )
1113
 
 
1114
 
        TAITO_B_SYSTEM_INPUT
 
999
        PORT_INCLUDE(ashura)
 
1000
 
 
1001
        PORT_MODIFY("DSWA")
 
1002
        TAITO_COINAGE_US_LOC(SW1)
1115
1003
INPUT_PORTS_END
1116
1004
 
1117
 
/*
1118
 
Hit the Ice dipswitches
1119
 
(info from Kevin Watson)
1120
 
 
1121
 
[1 is switch on and 0 is switch off]
1122
 
 
1123
 
Dip switch A
1124
 
------------
1125
 
 
1126
 
Setting             Options          1 2 3 4 5 6 7 8
1127
 
cabinet style       4 player         0
1128
 
                    2 player         1
1129
 
Test mode           normal               0
1130
 
                    test mode            1
1131
 
Attract mode        on                     0
1132
 
                    off                    1
1133
 
Game price          1 coin 1 play            0 0 0 0
1134
 
                    2 coin 1 play            1 0 0 0
1135
 
                    3 coin 1 play            0 1 0 0
1136
 
           coin1    1 coin 2 play            0 0 1 0
1137
 
           coin2    1 coin 3 play            1 1 0 0
1138
 
                    1 coin 4 play            0 1 0 0
1139
 
                    1 coin 5 play            1 0 1 0
1140
 
                    1 coin 6 play            1 1 1 0
1141
 
 
1142
 
switch 2 and 8 are always set to off
1143
 
 
1144
 
Dip switch table B
1145
 
------------------
1146
 
 
1147
 
Setting             Options          1 2 3 4 5 6 7 8
1148
 
Difficulty          normal           0 0
1149
 
                    easy             1 0
1150
 
                    hard             0 1
1151
 
                    hardest          1 1
1152
 
Timer count         1 sec = 58/60        0 0
1153
 
                    1 sec = 56/60        1 0
1154
 
                    1 sec = 62/60        0 1
1155
 
                    1 sec = 45/60        1 1
1156
 
maximum credit      9                             0
1157
 
                    99                            1
1158
 
 
1159
 
5,6,7 are set to off
1160
 
*/
1161
 
 
1162
1005
static INPUT_PORTS_START( hitice )
1163
1006
        PORT_START("DSWA")
1164
 
        PORT_DIPNAME( 0x01, 0x01, "Cabinet Style" )
 
1007
        PORT_DIPNAME( 0x01, 0x01, "Cabinet Style" )             PORT_DIPLOCATION("SW1:1")
1165
1008
        PORT_DIPSETTING(    0x01, "4 Players")
1166
1009
        PORT_DIPSETTING(    0x00, "2 Players")
1167
 
        PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
1168
 
        PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
1169
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1170
 
        PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
1171
 
        PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
 
1010
        PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "SW1:2" )            /* Listed as "Unused" */
 
1011
        PORT_SERVICE_DIPLOC(  0x04, IP_ACTIVE_LOW, "SW1:3" )
 
1012
        PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )      PORT_DIPLOCATION("SW1:4")
1172
1013
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1173
1014
        PORT_DIPSETTING(    0x08, DEF_STR( On ) )
1174
 
        TAITO_COINAGE_JAPAN_OLD
 
1015
        PORT_DIPNAME( 0x70, 0x70, DEF_STR( Coinage ) )          PORT_DIPLOCATION("SW1:5,6,7")
 
1016
        PORT_DIPSETTING(    0x50, DEF_STR( 3C_1C ) )
 
1017
        PORT_DIPSETTING(    0x60, DEF_STR( 2C_1C ) )
 
1018
        PORT_DIPSETTING(    0x70, DEF_STR( 1C_1C ) )
 
1019
        PORT_DIPSETTING(    0x30, DEF_STR( 1C_2C ) )
 
1020
        PORT_DIPSETTING(    0x40, DEF_STR( 1C_3C ) )
 
1021
        PORT_DIPSETTING(    0x10, DEF_STR( 1C_4C ) )
 
1022
        PORT_DIPSETTING(    0x20, DEF_STR( 1C_5C ) )
 
1023
        PORT_DIPSETTING(    0x00, DEF_STR( 1C_6C ) )
 
1024
        PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW1:8" )            /* Listed as "Unused" */
1175
1025
 
1176
1026
        PORT_START("DSWB")
1177
 
        TAITO_DIFFICULTY
1178
 
        PORT_DIPNAME( 0x0c, 0x0c, "Timer count" )
 
1027
        TAITO_DIFFICULTY_LOC(SW2)
 
1028
        PORT_DIPNAME( 0x0c, 0x0c, "Timer count" )               PORT_DIPLOCATION("SW2:3,4")
1179
1029
        PORT_DIPSETTING(    0x0c, "1 sec = 58/60" )
1180
1030
        PORT_DIPSETTING(    0x04, "1 sec = 56/60" )
1181
1031
        PORT_DIPSETTING(    0x08, "1 sec = 62/60" )
1182
1032
        PORT_DIPSETTING(    0x00, "1 sec = 45/60" )
1183
 
        PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
1184
 
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1185
 
        PORT_DIPSETTING(    0x10, DEF_STR( On ) )
1186
 
        PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
1187
 
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1188
 
        PORT_DIPSETTING(    0x20, DEF_STR( On ) )
1189
 
        PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown) )
1190
 
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1191
 
        PORT_DIPSETTING(    0x40, DEF_STR( On ) )
1192
 
        PORT_DIPNAME( 0x80, 0x80, "Maximum credits" )
 
1033
        PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "SW2:5" )            /* Listed as "Unused" */
 
1034
        PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "SW2:6" )            /* Listed as "Unused" */
 
1035
        PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW2:7" )            /* Listed as "Unused" */
 
1036
        PORT_DIPNAME( 0x80, 0x80, "Maximum credits" )           PORT_DIPLOCATION("SW2:8")
1193
1037
        PORT_DIPSETTING(    0x00, "99" )
1194
1038
        PORT_DIPSETTING(    0x80, "9"  )
1195
1039
 
1242
1086
        PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START4 )
1243
1087
INPUT_PORTS_END
1244
1088
 
 
1089
static INPUT_PORTS_START( hiticej )
 
1090
        PORT_INCLUDE(hitice)
 
1091
 
 
1092
        PORT_MODIFY("DSWA")
 
1093
        TAITO_MACHINE_NO_COCKTAIL_LOC(SW1)
 
1094
        TAITO_COINAGE_JAPAN_NEW_LOC(SW1)
 
1095
INPUT_PORTS_END
 
1096
 
1245
1097
static INPUT_PORTS_START( rambo3 )
1246
 
        PORT_START("DSWA")
1247
 
        TAITO_MACHINE_NO_COCKTAIL       // all 5 "unused" in manual
1248
 
        TAITO_COINAGE_WORLD
1249
 
 
1250
 
        PORT_START("DSWB")
1251
 
        TAITO_DIFFICULTY
1252
 
        PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unused ) )
1253
 
        PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
1254
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1255
 
        PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
1256
 
        PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
1257
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1258
 
        PORT_DIPNAME( 0x10, 0x10, DEF_STR( Allow_Continue ) )
1259
 
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1260
 
        PORT_DIPSETTING(    0x10, DEF_STR( On ) )
1261
 
        PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unused ) )
1262
 
        PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
1263
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1264
 
        PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) )
1265
 
        PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
1266
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1267
 
        PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
1268
 
        PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
1269
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1270
 
 
1271
 
        PORT_START("IN0")
1272
 
        TAITO_JOY_UDLR_2_BUTTONS( 1 )
1273
 
 
1274
 
        PORT_START("IN1")
1275
 
        TAITO_JOY_UDLR_2_BUTTONS( 2 )
1276
 
 
1277
 
        TAITO_B_SYSTEM_INPUT
1278
 
INPUT_PORTS_END
1279
 
 
1280
 
static INPUT_PORTS_START( rambo3a )
1281
1098
        PORT_START("DSWA")      /* DSW A */
1282
 
        TAITO_MACHINE_NO_COCKTAIL
1283
 
        /* Coinage similar to US, but there are some differences */
1284
 
        PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coinage ) )
1285
 
        PORT_DIPSETTING(    0x10, DEF_STR( 3C_1C ) )
1286
 
        PORT_DIPSETTING(    0x20, DEF_STR( 2C_1C ) )
1287
 
        PORT_DIPSETTING(    0x00, DEF_STR( 4C_3C ) )
1288
 
        PORT_DIPSETTING(    0x30, DEF_STR( 1C_1C ) )
1289
 
        PORT_DIPNAME( 0xc0, 0xc0, "Price to Continue" )
1290
 
        PORT_DIPSETTING(    0x40, DEF_STR( 2C_1C ) )
1291
 
        PORT_DIPSETTING(    0x80, DEF_STR( 1C_1C ) )
1292
 
        PORT_DIPSETTING(    0xc0, "Same as Start" )
1293
 
        PORT_DIPSETTING(    0x00, "Same as Start or 1C/1C (if Coinage 4C/3C)" )
 
1099
        TAITO_MACHINE_NO_COCKTAIL_LOC(SW1)
 
1100
        TAITO_COINAGE_WORLD_LOC(SW1)
1294
1101
 
1295
1102
        PORT_START("DSWB")
1296
 
        TAITO_DIFFICULTY
1297
 
        PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unused ) )
1298
 
        PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
1299
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1300
 
        PORT_DIPNAME( 0x08, 0x08, "Control" )
 
1103
        TAITO_DIFFICULTY_LOC(SW2)
 
1104
        PORT_DIPUNUSED_DIPLOC( 0x04, 0x04, "SW2:3" )            /* Listed as "Unused" */
 
1105
        PORT_DIPNAME( 0x08, 0x08, "Control" )                   PORT_DIPLOCATION("SW2:4")
1301
1106
        PORT_DIPSETTING(    0x08, "8 way Joystick" )
1302
1107
        PORT_DIPSETTING(    0x00, DEF_STR( Trackball ) )
1303
 
        PORT_DIPNAME( 0x10, 0x10, DEF_STR( Allow_Continue ) )
 
1108
        PORT_DIPNAME( 0x10, 0x10, DEF_STR( Allow_Continue ) )   PORT_DIPLOCATION("SW2:5")
1304
1109
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1305
1110
        PORT_DIPSETTING(    0x10, DEF_STR( On ) )
1306
 
        PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unused ) )
1307
 
        PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
1308
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1309
 
        PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) )
1310
 
        PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
1311
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1312
 
        PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
1313
 
        PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
1314
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 
1111
        PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "SW2:6" )            /* Listed as "Unused" */
 
1112
        PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW2:7" )            /* Listed as "Unused" */
 
1113
        PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:8" )            /* Listed as "Unused" */
1315
1114
 
1316
1115
        PORT_START("IN0")
1317
1116
        PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
1356
1155
        PORT_BIT( 0xffff, 0x0000, IPT_TRACKBALL_X ) PORT_SENSITIVITY(70) PORT_KEYDELTA(30) PORT_PLAYER(2)
1357
1156
INPUT_PORTS_END
1358
1157
 
 
1158
static INPUT_PORTS_START( rambo3u )
 
1159
        PORT_INCLUDE(rambo3)
 
1160
 
 
1161
        PORT_MODIFY("DSWA")
 
1162
        TAITO_MACHINE_NO_COCKTAIL_LOC(SW1)
 
1163
        TAITO_COINAGE_US_LOC(SW1)
 
1164
INPUT_PORTS_END
 
1165
 
 
1166
static INPUT_PORTS_START( rambo3p )
 
1167
        PORT_START("DSWA")
 
1168
        TAITO_MACHINE_NO_COCKTAIL_LOC(SW1)      // all 5 "unused" in manual
 
1169
        TAITO_COINAGE_WORLD_LOC(SW1)
 
1170
 
 
1171
        PORT_START("DSWB")
 
1172
        TAITO_DIFFICULTY_LOC(SW2)
 
1173
        PORT_DIPUNUSED_DIPLOC( 0x04, 0x04, "SW2:3" )            /* Listed as "Unused" */
 
1174
        PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )          PORT_DIPLOCATION("SW2:4")
 
1175
        PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
 
1176
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 
1177
        PORT_DIPNAME( 0x10, 0x10, DEF_STR( Allow_Continue ) )   PORT_DIPLOCATION("SW2:5")
 
1178
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
 
1179
        PORT_DIPSETTING(    0x10, DEF_STR( On ) )
 
1180
        PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "SW2:6" )            /* Listed as "Unused" */
 
1181
        PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW2:7" )            /* Listed as "Unused" */
 
1182
        PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:8" )            /* Listed as "Unused" */
 
1183
 
 
1184
 
 
1185
        PORT_START("IN0")
 
1186
        TAITO_JOY_UDLR_2_BUTTONS( 1 )
 
1187
 
 
1188
        PORT_START("IN1")
 
1189
        TAITO_JOY_UDLR_2_BUTTONS( 2 )
 
1190
 
 
1191
        TAITO_B_SYSTEM_INPUT
 
1192
INPUT_PORTS_END
 
1193
 
1359
1194
 
1360
1195
/* Helps document the input ports. */
1361
1196
 
1438
1273
 
1439
1274
static INPUT_PORTS_START( spacedxo )
1440
1275
        PORT_START("DSWA")
1441
 
        TAITO_MACHINE_COCKTAIL
1442
 
        TAITO_COINAGE_JAPAN_NEW
 
1276
        TAITO_MACHINE_COCKTAIL_LOC(SW1)
 
1277
        TAITO_COINAGE_JAPAN_NEW_LOC(SW1)
1443
1278
 
1444
1279
        PORT_START("DSWB")
1445
 
        TAITO_DIFFICULTY
1446
 
        PORT_DIPNAME( 0x0c, 0x0c, "Match Point" )
 
1280
        TAITO_DIFFICULTY_LOC(SW2)
 
1281
        PORT_DIPNAME( 0x0c, 0x0c, "Match Point" )               PORT_DIPLOCATION("SW2:3,4")
1447
1282
        PORT_DIPSETTING(    0x08, "4" )
1448
1283
        PORT_DIPSETTING(    0x0c, "3" )
1449
1284
        PORT_DIPSETTING(    0x04, "5" )
1450
1285
        PORT_DIPSETTING(    0x00, "2" )
1451
 
        PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
 
1286
        PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )            PORT_DIPLOCATION("SW2:5,6")
1452
1287
        PORT_DIPSETTING(    0x30, "3" )
1453
1288
        PORT_DIPSETTING(    0x20, "4" )
1454
1289
        PORT_DIPSETTING(    0x10, "5" )
1455
1290
        PORT_DIPSETTING(    0x00, "6" )
1456
 
        PORT_DIPNAME( 0x40, 0x40, DEF_STR( Bonus_Life ) )
 
1291
        PORT_DIPNAME( 0x40, 0x40, DEF_STR( Bonus_Life ) )       PORT_DIPLOCATION("SW2:7")
1457
1292
        PORT_DIPSETTING(    0x40, "1500 Points" )
1458
1293
        PORT_DIPSETTING(    0x00, "1000 Points" )
1459
 
        PORT_DIPNAME( 0x80, 0x80, "Game Type" )
 
1294
        PORT_DIPNAME( 0x80, 0x80, "Game Type" )                 PORT_DIPLOCATION("SW2:8")
1460
1295
        PORT_DIPSETTING(    0x80, "Double Company" )
1461
1296
        PORT_DIPSETTING(    0x00, "Single Company" )
1462
1297
 
1600
1435
 
1601
1436
static INPUT_PORTS_START( viofight )
1602
1437
        PORT_START("DSWA")
1603
 
        TAITO_MACHINE_NO_COCKTAIL       // all 7 "unused" in manual
1604
 
        TAITO_COINAGE_WORLD
 
1438
        TAITO_MACHINE_NO_COCKTAIL_LOC(SW1)      // all 7 "unused" in manual
 
1439
        TAITO_COINAGE_WORLD_LOC(SW1)
1605
1440
 
1606
1441
        PORT_START("DSWB")
1607
 
        TAITO_DIFFICULTY
1608
 
        PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unused ) )
1609
 
        PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
1610
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1611
 
        PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) )
1612
 
        PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
1613
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1614
 
        PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) )
1615
 
        PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
1616
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1617
 
        PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unused ) )
1618
 
        PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
1619
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1620
 
        PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) )
1621
 
        PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
1622
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1623
 
        PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
1624
 
        PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
1625
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 
1442
        TAITO_DIFFICULTY_LOC(SW2)
 
1443
        PORT_DIPUNUSED_DIPLOC( 0x04, 0x04, "SW2:3" )            /* Listed as "Unused" */
 
1444
        PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "SW2:4" )            /* Listed as "Unused" */
 
1445
        PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "SW2:5" )            /* Listed as "Unused" */
 
1446
        PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "SW2:6" )            /* Listed as "Unused" */
 
1447
        PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW2:7" )            /* Listed as "Unused" */
 
1448
        PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:8" )            /* Listed as "Unused" */
1626
1449
 
1627
1450
        PORT_START("IN0")
1628
1451
        TAITO_JOY_UDLR_3_BUTTONS( 1 )
1633
1456
        TAITO_B_SYSTEM_INPUT
1634
1457
INPUT_PORTS_END
1635
1458
 
 
1459
static INPUT_PORTS_START( viofightj )
 
1460
        PORT_INCLUDE(viofight)
 
1461
 
 
1462
        PORT_MODIFY("DSWA")
 
1463
        TAITO_COINAGE_JAPAN_OLD_LOC(SW1)
 
1464
INPUT_PORTS_END
 
1465
 
 
1466
static INPUT_PORTS_START( viofightu )
 
1467
        PORT_INCLUDE(viofight)
 
1468
 
 
1469
        PORT_MODIFY("DSWA")
 
1470
        TAITO_COINAGE_US_LOC(SW1)
 
1471
INPUT_PORTS_END
 
1472
 
1636
1473
static INPUT_PORTS_START( silentd )     /* World Version */
1637
1474
        PORT_START("DSWA")
1638
 
        TAITO_MACHINE_NO_COCKTAIL       /* Listed as "NOT USED" in the manual and only shown as "OFF" */
1639
 
        PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coinage ) )
 
1475
        TAITO_MACHINE_NO_COCKTAIL_LOC(SW1)                      /* Listed as "NOT USED" in the manual and only shown as "OFF" */
 
1476
        PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coinage ) )          PORT_DIPLOCATION("SW1:5,6")
1640
1477
        PORT_DIPSETTING(    0x00, DEF_STR( 4C_1C ) )
1641
1478
        PORT_DIPSETTING(    0x10, DEF_STR( 3C_1C ) )
1642
1479
        PORT_DIPSETTING(    0x20, DEF_STR( 2C_1C ) )
1643
1480
        PORT_DIPSETTING(    0x30, DEF_STR( 1C_1C ) )
1644
 
 
1645
 
/* These next two are listed as Unused for "Oversea Versions"
1646
 
    For the USA version use this description:
1647
 
 
1648
 
  Buy-In Pricing    Same As Play Pricing    OFF OFF (Default)
1649
 
                    1 Coin  = Continue      ON  OFF
1650
 
                    2 Coins = Contniue      OFF ON
1651
 
                    3 Coins = Continue      ON  ON
1652
 
 */
1653
 
 
1654
 
        PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) )
1655
 
        PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
1656
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1657
 
        PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
1658
 
        PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
1659
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 
1481
        PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW1:7" )            /* Listed as "Unused" */
 
1482
        PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW1:8" )            /* Listed as "Unused" */
1660
1483
 
1661
1484
        PORT_START("DSWB")
1662
 
        TAITO_DIFFICULTY
1663
 
        PORT_DIPNAME( 0x04, 0x04, "Invulnerability (Cheat)" )
 
1485
        TAITO_DIFFICULTY_LOC(SW2)
 
1486
        PORT_DIPNAME( 0x04, 0x04, "Invulnerability (Cheat)" )   PORT_DIPLOCATION("SW2:3")
1664
1487
        PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
1665
1488
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1666
 
        PORT_DIPNAME( 0x08, 0x08, "Power-Up Bonus" )    /* Manual States "Power-Up at Stage Clear" */
 
1489
        PORT_DIPNAME( 0x08, 0x08, "Power-Up Bonus" )            PORT_DIPLOCATION("SW2:4") /* Manual States "Power-Up at Stage Clear" */
1667
1490
        PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
1668
1491
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1669
 
        PORT_DIPNAME( 0x10, 0x10, "Regain Power" )
 
1492
        PORT_DIPNAME( 0x10, 0x10, "Regain Power" )              PORT_DIPLOCATION("SW2:5")
1670
1493
        PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
1671
1494
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1672
1495
 
1678
1501
 
1679
1502
*/
1680
1503
 
1681
 
        PORT_DIPNAME( 0x20, 0x20, "Credits" )                   /* Only shows 4 separate credits with 4p/1m below */
 
1504
        PORT_DIPNAME( 0x20, 0x20, "Credits" )                   PORT_DIPLOCATION("SW2:6") /* Only shows 4 separate credits with 4p/1m below */
1682
1505
        PORT_DIPSETTING(    0x20, "Combined" )
1683
1506
        PORT_DIPSETTING(    0x00, "Separate" )                  /* When multiple credits show, Coin B will affect p2 credits */
1684
 
        PORT_DIPNAME( 0xc0, 0x80, "Cabinet Style" )
 
1507
        PORT_DIPNAME( 0xc0, 0x80, "Cabinet Style" )             PORT_DIPLOCATION("SW2:7,8")
1685
1508
        PORT_DIPSETTING(    0xc0, "3 Players" )
1686
1509
        PORT_DIPSETTING(    0x80, "2 Players" )
1687
1510
        PORT_DIPSETTING(    0x40, "4 Players/1 Machine" )       /* with bit6, shows 4 separate credits */
1749
1572
INPUT_PORTS_END
1750
1573
 
1751
1574
static INPUT_PORTS_START( silentdj )
1752
 
        PORT_START("DSWA")
1753
 
        TAITO_MACHINE_NO_COCKTAIL       /* Listed as "NOT USED" in the manual and only shown as "OFF" */
1754
 
        TAITO_COINAGE_JAPAN_OLD
1755
 
 
1756
 
        PORT_START("DSWB")
1757
 
        TAITO_DIFFICULTY
1758
 
        PORT_DIPNAME( 0x04, 0x04, "Invulnerability (Cheat)" )
1759
 
        PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
1760
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1761
 
        PORT_DIPNAME( 0x08, 0x08, "Power-Up Bonus" )    /* Manual States "Power-Up at Stage Clear" */
1762
 
        PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
1763
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1764
 
        PORT_DIPNAME( 0x10, 0x10, "Regain Power" )
1765
 
        PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
1766
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1767
 
        PORT_DIPNAME( 0x20, 0x20, "Credits" )                   /* Only shows 4 separate credits with 4p/1m below */
1768
 
        PORT_DIPSETTING(    0x20, "Combined" )
1769
 
        PORT_DIPSETTING(    0x00, "Separate" )                  /* When multiple credits show, Coin B will affect p2 credits */
1770
 
        PORT_DIPNAME( 0xc0, 0x80, "Cabinet Style" )
1771
 
        PORT_DIPSETTING(    0xc0, "3 Players")
1772
 
        PORT_DIPSETTING(    0x80, "2 Players")
1773
 
        PORT_DIPSETTING(    0x40, "4 Players/1 Machine")        /* with bit6, shows 4 separate credits */
1774
 
        PORT_DIPSETTING(    0x00, "4 Players/2 Machines")       /* with bit6 shows 2 separate credits */
1775
 
 
1776
 
        PORT_START("IN0")
1777
 
        PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
1778
 
        PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
1779
 
        PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
1780
 
        PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
1781
 
        PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
1782
 
        PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
1783
 
        PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
1784
 
        PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
1785
 
 
1786
 
        PORT_START("IN1")
1787
 
        PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
1788
 
        PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
1789
 
        PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 )
1790
 
        PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )
1791
 
        PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2)
1792
 
        PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2)
1793
 
        PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
1794
 
        PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
1795
 
 
1796
 
        PORT_START("IN2")
1797
 
        PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
1798
 
        PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
1799
 
        PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
1800
 
        PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
1801
 
        PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
1802
 
        PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
1803
 
        PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
1804
 
        PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
1805
 
 
1806
 
        PORT_START("IN3")
1807
 
        PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START3 )
1808
 
        PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(3)
1809
 
        PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(3)
1810
 
        PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(3)
1811
 
        PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(3)
1812
 
        PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
1813
 
        PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3)
1814
 
        PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(3)
1815
 
 
1816
 
        PORT_START("IN4")
1817
 
        PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START4 )
1818
 
        PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(4)
1819
 
        PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(4)
1820
 
        PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(4)
1821
 
        PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(4)
1822
 
        PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(4)
1823
 
        PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(4)
1824
 
        PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(4)
1825
 
 
1826
 
        PORT_START("IN5")
1827
 
        PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(2)
1828
 
        PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(2) PORT_NAME ("Coin 3 2nd input")/*not sure if this is legal under MAME*/
1829
 
        PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_IMPULSE(2)
1830
 
        PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_IMPULSE(2) PORT_NAME ("Coin 4 2nd input")/*not sure if this is legal under MAME*/
1831
 
        PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
1832
 
        PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
1833
 
        PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
1834
 
        PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
1835
 
INPUT_PORTS_END
 
1575
        PORT_INCLUDE(silentd)
 
1576
 
 
1577
        PORT_MODIFY("DSWA")
 
1578
        TAITO_COINAGE_JAPAN_OLD_LOC(SW1)
 
1579
INPUT_PORTS_END
 
1580
 
 
1581
static INPUT_PORTS_START( silentdu )
 
1582
        PORT_INCLUDE(silentd)
 
1583
 
 
1584
        PORT_MODIFY("DSWA")
 
1585
        TAITO_COINAGE_US_LOC(SW1)
 
1586
INPUT_PORTS_END
 
1587
 
1836
1588
 
1837
1589
static INPUT_PORTS_START( selfeena )
1838
1590
        PORT_START("DSWA")
1839
 
        TAITO_MACHINE_NO_COCKTAIL
1840
 
        TAITO_COINAGE_JAPAN_NEW
 
1591
        TAITO_MACHINE_NO_COCKTAIL_LOC(SW1)
 
1592
        TAITO_COINAGE_JAPAN_NEW_LOC(SW1)
1841
1593
 
1842
1594
        PORT_START("DSWB")
1843
 
        TAITO_DIFFICULTY
1844
 
        PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
 
1595
        TAITO_DIFFICULTY_LOC(SW2)
 
1596
        PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )       PORT_DIPLOCATION("SW2:3,4")
1845
1597
        PORT_DIPSETTING(    0x0c, "100k only" )
1846
1598
        PORT_DIPSETTING(    0x08, "200k only" )
1847
1599
        PORT_DIPSETTING(    0x04, "300k only" )
1848
1600
        PORT_DIPSETTING(    0x00, "400k only" )
1849
 
        PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
 
1601
        PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )            PORT_DIPLOCATION("SW2:5,6")
1850
1602
        PORT_DIPSETTING(    0x00, "1" )
1851
1603
        PORT_DIPSETTING(    0x10, "2" )
1852
1604
        PORT_DIPSETTING(    0x30, "3" )
1853
1605
        PORT_DIPSETTING(    0x20, "4" )
1854
 
        PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) )
1855
 
        PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
1856
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1857
 
        PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
1858
 
        PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
1859
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 
1606
        PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW2:7" )            /* Listed as "Unused" */
 
1607
        PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:8" )            /* Listed as "Unused" */
1860
1608
 
1861
1609
        PORT_START("IN0")
1862
1610
        PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
1891
1639
 
1892
1640
static INPUT_PORTS_START( ryujin )
1893
1641
        PORT_START("DSWA")
1894
 
        TAITO_MACHINE_NO_COCKTAIL
1895
 
        TAITO_COINAGE_JAPAN_NEW
 
1642
        TAITO_MACHINE_NO_COCKTAIL_LOC(SW1)
 
1643
        TAITO_COINAGE_JAPAN_NEW_LOC(SW1)
1896
1644
 
1897
1645
        PORT_START("DSWB")
1898
 
        TAITO_DIFFICULTY
1899
 
        PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
 
1646
        TAITO_DIFFICULTY_LOC(SW2)
 
1647
        PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )            PORT_DIPLOCATION("SW2:3,4")
1900
1648
        PORT_DIPSETTING(    0x00, "1" )
1901
1649
        PORT_DIPSETTING(    0x04, "2" )
1902
1650
        PORT_DIPSETTING(    0x0c, "3" )
1903
1651
        PORT_DIPSETTING(    0x08, "4" )
1904
 
        PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) )
1905
 
        PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
1906
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1907
 
        PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unused ) )
1908
 
        PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
1909
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1910
 
        PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) )
1911
 
        PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
1912
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1913
 
        PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
1914
 
        PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
1915
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 
1652
        PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "SW2:5" )            /* Listed as "Unused" */
 
1653
        PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "SW2:6" )            /* Listed as "Unused" */
 
1654
        PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW2:7" )            /* Listed as "Unused" */
 
1655
        PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:8" )            /* Listed as "Unused" */
1916
1656
 
1917
1657
        PORT_START("IN0")
1918
1658
        PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
1947
1687
 
1948
1688
static INPUT_PORTS_START( sbm )
1949
1689
        PORT_START("DSWA") //+-ok
1950
 
        PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
 
1690
        PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )          PORT_DIPLOCATION("SW1:1")
1951
1691
        PORT_DIPSETTING(    0x01, DEF_STR( Off ))
1952
1692
        PORT_DIPSETTING(    0x00, DEF_STR( On ))
1953
 
        PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
 
1693
        PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )          PORT_DIPLOCATION("SW1:2")
1954
1694
        PORT_DIPSETTING(    0x02, DEF_STR( Off ))
1955
1695
        PORT_DIPSETTING(    0x00, DEF_STR( On ))
1956
 
        PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
1957
 
        PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
 
1696
        PORT_SERVICE_DIPLOC(  0x04, IP_ACTIVE_LOW, "SW1:3" )
 
1697
        PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )      PORT_DIPLOCATION("SW1:4")
1958
1698
        PORT_DIPSETTING(    0x00, DEF_STR( Off ))
1959
1699
        PORT_DIPSETTING(    0x08, DEF_STR( On ))
1960
 
        PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coinage ) )
 
1700
        PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coinage ) )          PORT_DIPLOCATION("SW1:5,6")
1961
1701
        PORT_DIPSETTING(    0x00, DEF_STR( 4C_1C ) )
1962
1702
        PORT_DIPSETTING(    0x10, DEF_STR( 3C_1C ) )
1963
1703
        PORT_DIPSETTING(    0x20, DEF_STR( 2C_1C ) )
1964
1704
        PORT_DIPSETTING(    0x30, DEF_STR( 1C_1C ) )
1965
 
        PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
 
1705
        PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )          PORT_DIPLOCATION("SW1:7")
1966
1706
        PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
1967
1707
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1968
 
        PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
 
1708
        PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )          PORT_DIPLOCATION("SW1:8")
1969
1709
        PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
1970
1710
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1971
1711
 
1972
1712
        PORT_START("DSWB") //+-ok
1973
 
        TAITO_DIFFICULTY
1974
 
        PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
 
1713
        TAITO_DIFFICULTY_LOC(SW2)
 
1714
        PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )          PORT_DIPLOCATION("SW2:3")
1975
1715
        PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
1976
1716
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1977
 
        PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
 
1717
        PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )          PORT_DIPLOCATION("SW2:4")
1978
1718
        PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
1979
1719
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1980
 
        PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
 
1720
        PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )          PORT_DIPLOCATION("SW2:5")
1981
1721
        PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
1982
1722
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1983
 
        PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
 
1723
        PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )          PORT_DIPLOCATION("SW2:6")
1984
1724
        PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
1985
1725
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1986
 
        PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
 
1726
        PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )          PORT_DIPLOCATION("SW2:7")
1987
1727
        PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
1988
1728
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1989
 
        PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
 
1729
        PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )          PORT_DIPLOCATION("SW2:8")
1990
1730
        PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
1991
1731
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1992
1732
 
2029
1769
        PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1) PORT_NAME("Pad Photosensor 4")//PHOTO 4  ??? ACTIVE_LOW  ??? (punching pad photosensor 4)
2030
1770
INPUT_PORTS_END
2031
1771
 
 
1772
static INPUT_PORTS_START( realpunc )
 
1773
        PORT_START("DSWA")
 
1774
        PORT_DIPNAME( 0x01, 0x01, DEF_STR( Demo_Sounds ) )
 
1775
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
 
1776
        PORT_DIPSETTING(    0x01, DEF_STR( On ) )
 
1777
        PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
 
1778
        PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
 
1779
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 
1780
        PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_A ) )
 
1781
        PORT_DIPSETTING(    0x00, DEF_STR( 4C_1C ) )
 
1782
        PORT_DIPSETTING(    0x04, DEF_STR( 3C_1C ) )
 
1783
        PORT_DIPSETTING(    0x08, DEF_STR( 2C_1C ) )
 
1784
        PORT_DIPSETTING(    0x0c, DEF_STR( 1C_1C ) )
 
1785
        PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_B ) )
 
1786
        PORT_DIPSETTING(    0x00, DEF_STR( 4C_1C ) )
 
1787
        PORT_DIPSETTING(    0x10, DEF_STR( 3C_1C ) )
 
1788
        PORT_DIPSETTING(    0x20, DEF_STR( 2C_1C ) )
 
1789
        PORT_DIPSETTING(    0x30, DEF_STR( 1C_1C ) )
 
1790
        PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
 
1791
        PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
 
1792
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 
1793
        PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
 
1794
        PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
 
1795
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 
1796
 
 
1797
        PORT_START("DSWB")
 
1798
        PORT_DIPNAME( 0x01, 0x01, "Difficulty 1" )
 
1799
        PORT_DIPSETTING(    0x01, DEF_STR( Off ))
 
1800
        PORT_DIPSETTING(    0x00, DEF_STR( On ))
 
1801
        PORT_DIPNAME( 0x02, 0x02, "Difficulty 2" )
 
1802
        PORT_DIPSETTING(    0x02, DEF_STR( Off ))
 
1803
        PORT_DIPSETTING(    0x00, DEF_STR( On ))
 
1804
        PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
 
1805
        PORT_DIPSETTING(    0x04, DEF_STR( Off ))
 
1806
        PORT_DIPSETTING(    0x00, DEF_STR( On ))
 
1807
        PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
 
1808
        PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
 
1809
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 
1810
        PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
 
1811
        PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
 
1812
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 
1813
        PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
 
1814
        PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
 
1815
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 
1816
        PORT_DIPNAME( 0x40, 0x40, "Difficulty 3" )
 
1817
        PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
 
1818
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 
1819
        PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
 
1820
        PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
 
1821
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 
1822
 
 
1823
        PORT_START("IN0")
 
1824
        PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
 
1825
        PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
 
1826
        PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
 
1827
        PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE )
 
1828
        PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_TILT )
 
1829
        PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 )
 
1830
        PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2)
 
1831
        PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2)
 
1832
 
 
1833
        PORT_START("IN1")
 
1834
        PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
 
1835
        PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
 
1836
        PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
 
1837
        PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
 
1838
        PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
 
1839
        PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
 
1840
        PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
 
1841
        PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
 
1842
 
 
1843
        PORT_START("IN2")
 
1844
        PORT_BIT( 0x01, IP_ACTIVE_LOW,IPT_BUTTON1 ) PORT_NAME("Safety switch")
 
1845
        PORT_BIT( 0x02, IP_ACTIVE_LOW,IPT_UNKNOWN )
 
1846
        PORT_BIT( 0x04, IP_ACTIVE_LOW,IPT_UNKNOWN )
 
1847
        PORT_BIT( 0x08, IP_ACTIVE_LOW,IPT_UNKNOWN )
 
1848
        PORT_BIT( 0x10, IP_ACTIVE_LOW,IPT_BUTTON2 ) PORT_NAME("Pad Photosensor 1 (N)") PORT_CHANGED(realpunc_sensor, 0)
 
1849
        PORT_BIT( 0x20, IP_ACTIVE_LOW,IPT_BUTTON3 ) PORT_NAME("Pad Photosensor 2 (U)") PORT_CHANGED(realpunc_sensor, 0)
 
1850
        PORT_BIT( 0x40, IP_ACTIVE_LOW,IPT_BUTTON4 ) PORT_NAME("Pad Photosensor 3 (D)") PORT_CHANGED(realpunc_sensor, 0)
 
1851
        PORT_BIT( 0x80, IP_ACTIVE_LOW,IPT_UNKNOWN )
 
1852
INPUT_PORTS_END
 
1853
 
2032
1854
 
2033
1855
 
2034
1856
static const gfx_layout charlayout =
2162
1984
        DEVCB_INPUT_PORT("JOY"), DEVCB_INPUT_PORT("START"), DEVCB_INPUT_PORT("PHOTOSENSOR")     /* port read handlers */
2163
1985
};
2164
1986
 
 
1987
static const tc0510nio_interface realpunc_io_intf =
 
1988
{
 
1989
        DEVCB_INPUT_PORT("DSWA"), DEVCB_INPUT_PORT("DSWB"),
 
1990
        DEVCB_INPUT_PORT("IN0"), DEVCB_INPUT_PORT("IN1"), DEVCB_INPUT_PORT("IN2")       /* port read handlers */
 
1991
};
 
1992
 
 
1993
 
2165
1994
/* this is the basic layout used in: Nastar, Ashura Blaster, Hit the Ice, Rambo3, Tetris */
2166
1995
static const tc0180vcu_interface color0_tc0180vcu_intf =
2167
1996
{
2502
2331
MACHINE_CONFIG_END
2503
2332
 
2504
2333
 
 
2334
static MACHINE_CONFIG_START( rambo3p, taitob_state )
 
2335
 
 
2336
        /* basic machine hardware */
 
2337
        MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz/2)   /* verified on pcb */
 
2338
        MCFG_CPU_PROGRAM_MAP(rambo3_map)
 
2339
        MCFG_CPU_VBLANK_INT("screen", rambo3_interrupt)
 
2340
 
 
2341
        MCFG_CPU_ADD("audiocpu", Z80, XTAL_24MHz/6)     /* verified on pcb */
 
2342
        MCFG_CPU_PROGRAM_MAP(sound_map)
 
2343
 
 
2344
        MCFG_QUANTUM_TIME(attotime::from_hz(600))
 
2345
 
 
2346
        MCFG_MACHINE_START(taitob)
 
2347
        MCFG_MACHINE_RESET(taitob)
 
2348
 
 
2349
        MCFG_TC0220IOC_ADD("tc0220ioc", taitob_io_intf)
 
2350
 
 
2351
        /* video hardware */
 
2352
        MCFG_SCREEN_ADD("screen", RASTER)
 
2353
        MCFG_SCREEN_REFRESH_RATE(60)
 
2354
        MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
 
2355
        MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
 
2356
        MCFG_SCREEN_SIZE(64*8, 32*8)
 
2357
        MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
 
2358
        MCFG_SCREEN_UPDATE(taitob)
 
2359
        MCFG_SCREEN_EOF(taitob)
 
2360
 
 
2361
        MCFG_GFXDECODE(rambo3)
 
2362
        MCFG_PALETTE_LENGTH(4096)
 
2363
 
 
2364
        MCFG_VIDEO_START(taitob_color_order0)
 
2365
 
 
2366
        MCFG_TC0180VCU_ADD("tc0180vcu", color0_tc0180vcu_intf)
 
2367
 
 
2368
        /* sound hardware */
 
2369
        MCFG_SPEAKER_STANDARD_MONO("mono")
 
2370
 
 
2371
        MCFG_SOUND_ADD("ymsnd", YM2610, XTAL_16MHz/2)   /* verified on pcb */
 
2372
        MCFG_SOUND_CONFIG(ym2610_config)
 
2373
        MCFG_SOUND_ROUTE(0, "mono", 0.25)
 
2374
        MCFG_SOUND_ROUTE(1, "mono", 1.0)
 
2375
        MCFG_SOUND_ROUTE(2, "mono", 1.0)
 
2376
 
 
2377
        MCFG_TC0140SYT_ADD("tc0140syt", taitob_tc0140syt_intf)
 
2378
MACHINE_CONFIG_END
 
2379
 
 
2380
 
2505
2381
static MACHINE_CONFIG_START( rambo3, taitob_state )
2506
2382
 
2507
2383
        /* basic machine hardware */
2529
2405
        MCFG_SCREEN_UPDATE(taitob)
2530
2406
        MCFG_SCREEN_EOF(taitob)
2531
2407
 
2532
 
        MCFG_GFXDECODE(rambo3)
2533
 
        MCFG_PALETTE_LENGTH(4096)
2534
 
 
2535
 
        MCFG_VIDEO_START(taitob_color_order0)
2536
 
 
2537
 
        MCFG_TC0180VCU_ADD("tc0180vcu", color0_tc0180vcu_intf)
2538
 
 
2539
 
        /* sound hardware */
2540
 
        MCFG_SPEAKER_STANDARD_MONO("mono")
2541
 
 
2542
 
        MCFG_SOUND_ADD("ymsnd", YM2610, XTAL_16MHz/2)   /* verified on pcb */
2543
 
        MCFG_SOUND_CONFIG(ym2610_config)
2544
 
        MCFG_SOUND_ROUTE(0, "mono", 0.25)
2545
 
        MCFG_SOUND_ROUTE(1, "mono", 1.0)
2546
 
        MCFG_SOUND_ROUTE(2, "mono", 1.0)
2547
 
 
2548
 
        MCFG_TC0140SYT_ADD("tc0140syt", taitob_tc0140syt_intf)
2549
 
MACHINE_CONFIG_END
2550
 
 
2551
 
 
2552
 
static MACHINE_CONFIG_START( rambo3a, taitob_state )
2553
 
 
2554
 
        /* basic machine hardware */
2555
 
        MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz/2)   /* verified on pcb */
2556
 
        MCFG_CPU_PROGRAM_MAP(rambo3_map)
2557
 
        MCFG_CPU_VBLANK_INT("screen", rambo3_interrupt)
2558
 
 
2559
 
        MCFG_CPU_ADD("audiocpu", Z80, XTAL_24MHz/6)     /* verified on pcb */
2560
 
        MCFG_CPU_PROGRAM_MAP(sound_map)
2561
 
 
2562
 
        MCFG_QUANTUM_TIME(attotime::from_hz(600))
2563
 
 
2564
 
        MCFG_MACHINE_START(taitob)
2565
 
        MCFG_MACHINE_RESET(taitob)
2566
 
 
2567
 
        MCFG_TC0220IOC_ADD("tc0220ioc", taitob_io_intf)
2568
 
 
2569
 
        /* video hardware */
2570
 
        MCFG_SCREEN_ADD("screen", RASTER)
2571
 
        MCFG_SCREEN_REFRESH_RATE(60)
2572
 
        MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
2573
 
        MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
2574
 
        MCFG_SCREEN_SIZE(64*8, 32*8)
2575
 
        MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
2576
 
        MCFG_SCREEN_UPDATE(taitob)
2577
 
        MCFG_SCREEN_EOF(taitob)
2578
 
 
2579
2408
        MCFG_GFXDECODE(taito_b)
2580
2409
        MCFG_PALETTE_LENGTH(4096)
2581
2410
 
3096
2925
        MCFG_TC0140SYT_ADD("tc0140syt", taitob_tc0140syt_intf)
3097
2926
MACHINE_CONFIG_END
3098
2927
 
 
2928
/* TODO: Properly hook up the HD63484 */
 
2929
static const hd63484_interface realpunc_hd63484_intf =
 
2930
{
 
2931
        0
 
2932
};
 
2933
 
 
2934
static MACHINE_CONFIG_START( realpunc, taitob_state )
 
2935
 
 
2936
        /* basic machine hardware */
 
2937
        MCFG_CPU_ADD("maincpu", M68000, 12000000)
 
2938
        MCFG_CPU_PROGRAM_MAP(realpunc_map)
 
2939
        MCFG_CPU_VBLANK_INT("screen", realpunc_interrupt)
 
2940
 
 
2941
        MCFG_CPU_ADD("audiocpu", Z80, 6000000)
 
2942
        MCFG_CPU_PROGRAM_MAP(sound_map)
 
2943
 
 
2944
        MCFG_QUANTUM_TIME(attotime::from_hz(600))
 
2945
 
 
2946
        MCFG_MACHINE_START(taitob)
 
2947
        MCFG_MACHINE_RESET(taitob)
 
2948
 
 
2949
        MCFG_TC0510NIO_ADD("tc0510nio", realpunc_io_intf)
 
2950
 
 
2951
        /* video hardware */
 
2952
        MCFG_SCREEN_ADD("screen", RASTER)
 
2953
        MCFG_SCREEN_REFRESH_RATE(60)
 
2954
        MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
 
2955
        MCFG_SCREEN_FORMAT(BITMAP_FORMAT_RGB32)
 
2956
        MCFG_SCREEN_SIZE(64*8, 32*8)
 
2957
        MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
 
2958
        MCFG_SCREEN_UPDATE(taitob)
 
2959
        MCFG_SCREEN_EOF(taitob)
 
2960
 
 
2961
        MCFG_GFXDECODE(taito_b)
 
2962
        MCFG_PALETTE_LENGTH(4096)
 
2963
 
 
2964
        MCFG_VIDEO_START(realpunc)
 
2965
        MCFG_SCREEN_UPDATE(realpunc)
 
2966
 
 
2967
        MCFG_HD63484_ADD("hd63484", realpunc_hd63484_intf)
 
2968
 
 
2969
        MCFG_TC0180VCU_ADD("tc0180vcu", color0_tc0180vcu_intf)
 
2970
 
 
2971
        /* sound hardware */
 
2972
        MCFG_SPEAKER_STANDARD_MONO("mono")
 
2973
 
 
2974
        MCFG_SOUND_ADD("ymsnd", YM2610B, 8000000)
 
2975
        MCFG_SOUND_CONFIG(ym2610_config)
 
2976
        MCFG_SOUND_ROUTE(0, "mono", 0.25)
 
2977
        MCFG_SOUND_ROUTE(1, "mono", 1.0)
 
2978
        MCFG_SOUND_ROUTE(2, "mono", 1.0)
 
2979
 
 
2980
        MCFG_TC0140SYT_ADD("tc0140syt", taitob_tc0140syt_intf)
 
2981
MACHINE_CONFIG_END
 
2982
 
3099
2983
/***************************************************************************
3100
2984
 
3101
2985
  Game driver(s)
3300
3184
        ROM_REGION( 0x100000, "gfx1", ROMREGION_ERASE00 )
3301
3185
        /* empty (uses only pixel layer) */
3302
3186
 
3303
 
        ROM_REGION( 0x80000, "ymsnd", ROMREGION_ERASE00 )       /* adpcm samples */
 
3187
        ROM_REGION( 0x80000, "ymsnd", ROMREGION_ERASE00 )       /* ADPCM samples */
3304
3188
        /* empty */
3305
3189
 
3306
3190
        ROM_REGION( 0x80000, "ymsnd.deltat", ROMREGION_ERASE00 )        /* DELTA-T samples */
3331
3215
        ROM_LOAD( "b72-01.rom", 0x080000, 0x080000, CRC(a24ac26e) SHA1(895715a2bb0cb15334cba2283bd228b4fc08cd0c) )
3332
3216
ROM_END
3333
3217
 
3334
 
ROM_START( hitice )
 
3218
ROM_START( hitice ) /* 4 Player version */
3335
3219
        ROM_REGION( 0x80000, "maincpu", 0 )     /* 512k for 68000 code */
3336
3220
        ROM_LOAD16_BYTE( "c59-10.42", 0x00000, 0x20000, CRC(e4ffad15) SHA1(87da85e1489fe57bd012177a70434152e5475009) )
3337
3221
        ROM_LOAD16_BYTE( "c59-12.64", 0x00001, 0x20000, CRC(a080d7af) SHA1(9c68b78fbcc42a2f748d1b7f84f138be79f7c0c9) )
3356
3240
        ROM_LOAD( "pal16r4b-c59-07.61", 0x600, 0x104, CRC(cf64bd95) SHA1(5acada8bd6da40b5342bdd7ec494ee0e615492f0) )
3357
3241
ROM_END
3358
3242
 
3359
 
ROM_START( hiticej )
 
3243
ROM_START( hiticej ) /* 2 Player version */
3360
3244
        ROM_REGION( 0x80000, "maincpu", 0 )     /* 512k for 68000 code */
3361
3245
        ROM_LOAD16_BYTE( "c59-23.42", 0x00000, 0x20000, CRC(01958fcc) SHA1(adaf9b0a4658d4d8eb8cdd343b40643b4c05d09e) )
3362
3246
        ROM_LOAD16_BYTE( "c59-25.64", 0x00001, 0x20000, CRC(71984c76) SHA1(2e8bbfd01b0f229db5f10563a0864e8a2d1a515f) )
3383
3267
 
3384
3268
ROM_START( rambo3 )
3385
3269
        ROM_REGION( 0x80000, "maincpu", 0 )     /* 512k for 68000 code */
 
3270
        ROM_LOAD16_BYTE( "ramb3-11.bin",  0x00000, 0x20000, CRC(1cc42247) SHA1(e5a226a0016ec329fc23046c426c6303e452ef1d) )
 
3271
        ROM_LOAD16_BYTE( "ramb3-14.bin",  0x00001, 0x20000, CRC(7d917c21) SHA1(2850c46d6bdabfb76c40a7dc78ebc14b69ce95c9) )
 
3272
        ROM_LOAD16_BYTE( "ramb3-07.bin",  0x40000, 0x20000, CRC(c973ff6f) SHA1(d11f289f8559602783d97b831182e8c37954980f) )
 
3273
        ROM_LOAD16_BYTE( "ramb3-06.bin",  0x40001, 0x20000, CRC(a83d3fd5) SHA1(4f07d969af3b25e4ab8d0f2c03e0c0c8ada02991) )
 
3274
 
 
3275
        ROM_REGION( 0x1c000, "audiocpu", 0 )     /* 64k for Z80 code */
 
3276
        ROM_LOAD( "ramb3-10.bin", 0x00000, 0x4000, CRC(b18bc020) SHA1(5f3a108ad1f652103dda14672223529077a0924b) )
 
3277
        ROM_CONTINUE(             0x10000, 0xc000 ) /* banked stuff */
 
3278
 
 
3279
        ROM_REGION( 0x200000, "gfx1", 0 )
 
3280
        ROM_LOAD( "ramb3-03.bin",  0x000000, 0x80000, CRC(f5808c41) SHA1(73e129e87d7e240f96cb06d484fb19cd0ef49721) )
 
3281
        ROM_LOAD( "ramb3-04.bin",  0x080000, 0x80000, CRC(c57831ce) SHA1(85c203a858df34fe8663b2b16447d328cdb4145e) )
 
3282
        ROM_LOAD( "ramb3-01.bin",  0x100000, 0x80000, CRC(c55fcf54) SHA1(6a26ed2541be9e3341f20e74cc49b5366ce7d424) )
 
3283
        ROM_LOAD( "ramb3-02.bin",  0x180000, 0x80000, CRC(9dd014c6) SHA1(0f046d9de57db0272810adde7d49cc348b78f1f7) )
 
3284
 
 
3285
        ROM_REGION( 0x80000, "ymsnd", 0 )
 
3286
        ROM_LOAD( "ramb3-05.bin", 0x00000, 0x80000, CRC(0179dc40) SHA1(89feb708618ae7fa96883473d5c7a09dcc6f452a) )
 
3287
ROM_END
 
3288
 
 
3289
ROM_START( rambo3u )
 
3290
        ROM_REGION( 0x80000, "maincpu", 0 )     /* 512k for 68000 code */
 
3291
        ROM_LOAD16_BYTE( "ramb3-11.bin",  0x00000, 0x20000, CRC(1cc42247) SHA1(e5a226a0016ec329fc23046c426c6303e452ef1d) )
 
3292
        ROM_LOAD16_BYTE( "ramb3-13.bin",  0x00001, 0x20000, CRC(0a964cb7) SHA1(332fe23c33b1400c628e0c491f3e00820bde6696) )
 
3293
        ROM_LOAD16_BYTE( "ramb3-07.bin",  0x40000, 0x20000, CRC(c973ff6f) SHA1(d11f289f8559602783d97b831182e8c37954980f) )
 
3294
        ROM_LOAD16_BYTE( "ramb3-06.bin",  0x40001, 0x20000, CRC(a83d3fd5) SHA1(4f07d969af3b25e4ab8d0f2c03e0c0c8ada02991) )
 
3295
 
 
3296
        ROM_REGION( 0x1c000, "audiocpu", 0 )     /* 64k for Z80 code */
 
3297
        ROM_LOAD( "ramb3-10.bin", 0x00000, 0x4000, CRC(b18bc020) SHA1(5f3a108ad1f652103dda14672223529077a0924b) )
 
3298
        ROM_CONTINUE(             0x10000, 0xc000 ) /* banked stuff */
 
3299
 
 
3300
        ROM_REGION( 0x200000, "gfx1", 0 )
 
3301
        ROM_LOAD( "ramb3-03.bin",  0x000000, 0x80000, CRC(f5808c41) SHA1(73e129e87d7e240f96cb06d484fb19cd0ef49721) )
 
3302
        ROM_LOAD( "ramb3-04.bin",  0x080000, 0x80000, CRC(c57831ce) SHA1(85c203a858df34fe8663b2b16447d328cdb4145e) )
 
3303
        ROM_LOAD( "ramb3-01.bin",  0x100000, 0x80000, CRC(c55fcf54) SHA1(6a26ed2541be9e3341f20e74cc49b5366ce7d424) )
 
3304
        ROM_LOAD( "ramb3-02.bin",  0x180000, 0x80000, CRC(9dd014c6) SHA1(0f046d9de57db0272810adde7d49cc348b78f1f7) )
 
3305
 
 
3306
        ROM_REGION( 0x80000, "ymsnd", 0 )
 
3307
        ROM_LOAD( "ramb3-05.bin", 0x00000, 0x80000, CRC(0179dc40) SHA1(89feb708618ae7fa96883473d5c7a09dcc6f452a) )
 
3308
ROM_END
 
3309
 
 
3310
ROM_START( rambo3p ) /* Is this set a prototype or possible bootleg? */
 
3311
        ROM_REGION( 0x80000, "maincpu", 0 )     /* 512k for 68000 code */
3386
3312
        ROM_LOAD16_BYTE( "r3-0e.rom",  0x00000, 0x10000, CRC(3efa4177) SHA1(5e4995e34b92f625f7825238dfbc9e76d4090871) )
3387
3313
        ROM_LOAD16_BYTE( "r3-0o.rom",  0x00001, 0x10000, CRC(55c38d92) SHA1(4f712b4eb20ee176da83a5f1154d5890d1360398) )
3388
3314
 
3423
3349
        ROM_LOAD( "r3-a4.rom", 0x60000, 0x20000, CRC(9cf4c21b) SHA1(756fc6bbc798a39a18eab3829e032cac8fe3f8ed) )
3424
3350
ROM_END
3425
3351
 
3426
 
ROM_START( rambo3a )
3427
 
        ROM_REGION( 0x80000, "maincpu", 0 )     /* 512k for 68000 code */
3428
 
        ROM_LOAD16_BYTE( "ramb3-11.bin",  0x00000, 0x20000, CRC(1cc42247) SHA1(e5a226a0016ec329fc23046c426c6303e452ef1d) )
3429
 
        ROM_LOAD16_BYTE( "ramb3-13.bin",  0x00001, 0x20000, CRC(0a964cb7) SHA1(332fe23c33b1400c628e0c491f3e00820bde6696) )
3430
 
        ROM_LOAD16_BYTE( "ramb3-07.bin",  0x40000, 0x20000, CRC(c973ff6f) SHA1(d11f289f8559602783d97b831182e8c37954980f) )
3431
 
        ROM_LOAD16_BYTE( "ramb3-06.bin",  0x40001, 0x20000, CRC(a83d3fd5) SHA1(4f07d969af3b25e4ab8d0f2c03e0c0c8ada02991) )
3432
 
 
3433
 
        ROM_REGION( 0x1c000, "audiocpu", 0 )     /* 64k for Z80 code */
3434
 
        ROM_LOAD( "ramb3-10.bin", 0x00000, 0x4000, CRC(b18bc020) SHA1(5f3a108ad1f652103dda14672223529077a0924b) )
3435
 
        ROM_CONTINUE(             0x10000, 0xc000 ) /* banked stuff */
3436
 
 
3437
 
        ROM_REGION( 0x200000, "gfx1", 0 )
3438
 
        ROM_LOAD( "ramb3-03.bin",  0x000000, 0x80000, CRC(f5808c41) SHA1(73e129e87d7e240f96cb06d484fb19cd0ef49721) )
3439
 
        ROM_LOAD( "ramb3-04.bin",  0x080000, 0x80000, CRC(c57831ce) SHA1(85c203a858df34fe8663b2b16447d328cdb4145e) )
3440
 
        ROM_LOAD( "ramb3-01.bin",  0x100000, 0x80000, CRC(c55fcf54) SHA1(6a26ed2541be9e3341f20e74cc49b5366ce7d424) )
3441
 
        ROM_LOAD( "ramb3-02.bin",  0x180000, 0x80000, CRC(9dd014c6) SHA1(0f046d9de57db0272810adde7d49cc348b78f1f7) )
3442
 
 
3443
 
        ROM_REGION( 0x80000, "ymsnd", 0 )
3444
 
        ROM_LOAD( "ramb3-05.bin", 0x00000, 0x80000, CRC(0179dc40) SHA1(89feb708618ae7fa96883473d5c7a09dcc6f452a) )
3445
 
ROM_END
3446
 
 
3447
 
ROM_START( rambo3ae )
3448
 
        ROM_REGION( 0x80000, "maincpu", 0 )     /* 512k for 68000 code */
3449
 
        ROM_LOAD16_BYTE( "ramb3-11.bin",  0x00000, 0x20000, CRC(1cc42247) SHA1(e5a226a0016ec329fc23046c426c6303e452ef1d) )
3450
 
        ROM_LOAD16_BYTE( "ramb3-14.bin",  0x00001, 0x20000, CRC(7d917c21) SHA1(2850c46d6bdabfb76c40a7dc78ebc14b69ce95c9) )
3451
 
        ROM_LOAD16_BYTE( "ramb3-07.bin",  0x40000, 0x20000, CRC(c973ff6f) SHA1(d11f289f8559602783d97b831182e8c37954980f) )
3452
 
        ROM_LOAD16_BYTE( "ramb3-06.bin",  0x40001, 0x20000, CRC(a83d3fd5) SHA1(4f07d969af3b25e4ab8d0f2c03e0c0c8ada02991) )
3453
 
 
3454
 
        ROM_REGION( 0x1c000, "audiocpu", 0 )     /* 64k for Z80 code */
3455
 
        ROM_LOAD( "ramb3-10.bin", 0x00000, 0x4000, CRC(b18bc020) SHA1(5f3a108ad1f652103dda14672223529077a0924b) )
3456
 
        ROM_CONTINUE(             0x10000, 0xc000 ) /* banked stuff */
3457
 
 
3458
 
        ROM_REGION( 0x200000, "gfx1", 0 )
3459
 
        ROM_LOAD( "ramb3-03.bin",  0x000000, 0x80000, CRC(f5808c41) SHA1(73e129e87d7e240f96cb06d484fb19cd0ef49721) )
3460
 
        ROM_LOAD( "ramb3-04.bin",  0x080000, 0x80000, CRC(c57831ce) SHA1(85c203a858df34fe8663b2b16447d328cdb4145e) )
3461
 
        ROM_LOAD( "ramb3-01.bin",  0x100000, 0x80000, CRC(c55fcf54) SHA1(6a26ed2541be9e3341f20e74cc49b5366ce7d424) )
3462
 
        ROM_LOAD( "ramb3-02.bin",  0x180000, 0x80000, CRC(9dd014c6) SHA1(0f046d9de57db0272810adde7d49cc348b78f1f7) )
3463
 
 
3464
 
        ROM_REGION( 0x80000, "ymsnd", 0 )
3465
 
        ROM_LOAD( "ramb3-05.bin", 0x00000, 0x80000, CRC(0179dc40) SHA1(89feb708618ae7fa96883473d5c7a09dcc6f452a) )
3466
 
ROM_END
3467
 
 
3468
3352
ROM_START( pbobble )
3469
3353
        ROM_REGION( 0x80000, "maincpu", 0 )     /* 512k for 68000 code */
3470
3354
        ROM_LOAD16_BYTE( "pb-1c18.bin", 0x00000, 0x40000, CRC(5de14f49) SHA1(91d537748f26e19a5c32de4b8dad341750de39ef) )
3495
3379
        ROM_LOAD( "d89-02.14", 0x00000, 0x80000, CRC(c36544b9) SHA1(6bd5257dfb27532621b75f43e31aa351ad2192a2) )
3496
3380
        ROM_LOAD( "d89-01.9",  0x80000, 0x80000, CRC(fffa0660) SHA1(de1abe1b1e9d14405b5663103ea4a6119fce7cc5) )
3497
3381
 
3498
 
        ROM_REGION( 0x80000, "ymsnd", 0 )       /* adpcm samples */
 
3382
        ROM_REGION( 0x80000, "ymsnd", 0 )       /* ADPCM samples */
3499
3383
        ROM_LOAD( "d89-03.15", 0x00000, 0x80000, CRC(218f31a4) SHA1(9f52b9fa8f02003888180524a6e9ee7c9230f55d) )
3500
3384
 
3501
3385
        ROM_REGION( 0x0c00, "plds", 0 )
3502
 
        ROM_LOAD( "pal16l8b-d72-05.ic37",  0x0000, 0x0104, CRC(301bf435) SHA1(008112dba8385ef4caeb9300f4db5f079affc660) )
3503
 
        ROM_LOAD( "pal16l8b-d72-06.ic50",  0x0200, 0x0104, CRC(e4aa4b2b) SHA1(46710ec46e6753656e502007b5515a56b60deb55) )
3504
 
        ROM_LOAD( "palce20v8-d72-07.ic28", 0x0400, 0x0157, CRC(6359e64c) SHA1(83786f047aef591eb147a16a282f5312b36bc489) )
3505
 
        ROM_LOAD( "palce20v8-d72-09.ic47", 0x0600, 0x0157, CRC(de1760fd) SHA1(332156699408e5b0a698f031c01f8aa85c3d5d32) )
3506
 
        ROM_LOAD( "palce16v8-d72-10.ic12-read_1", 0x0800, 0x0117, BAD_DUMP CRC(a5181ba2) SHA1(8315d6efa26be2ed98d4c0b39a196033789ab947) ) /* One or both of these is bad */
3507
 
        ROM_LOAD( "palce16v8-d72-10.ic12-read_2", 0x0800, 0x0117, BAD_DUMP CRC(a01c8336) SHA1(25c0ec11e84d1b22c48bbe22f7a32cd7c5d69e94) ) /* we to need to verify this dump */
 
3386
        ROM_LOAD( "pal16l8-d72-05.ic37",   0x0000, 0x0104, CRC(c3d4cb7e) SHA1(1f3453a543dd98d02183595d66c67773fbf0ed07) ) /* Matches D72-05 in qzshowby */
 
3387
        ROM_LOAD( "pal16l8-d72-06.ic50",   0x0200, 0x0104, CRC(e96b7f37) SHA1(568087d0ab0ed55814deccc11630d3e26f765450) ) /* Differs from D72-06 in qzshowby */
 
3388
        ROM_LOAD( "palce20v8-d72-07.ic28", 0x0400, 0x0157, CRC(6359e64c) SHA1(83786f047aef591eb147a16a282f5312b36bc489) ) /* Matches D72-07 in qzshowby */
 
3389
        ROM_LOAD( "palce20v8-d72-09.ic47", 0x0600, 0x0157, CRC(de1760fd) SHA1(332156699408e5b0a698f031c01f8aa85c3d5d32) ) /* Differs from D72-09 in qzshowby */
 
3390
        ROM_LOAD( "palce16v8-d72-10.ic12", 0x0800, 0x0117, CRC(a5181ba2) SHA1(8315d6efa26be2ed98d4c0b39a196033789ab947) ) /* Matches D72-10 in qzshowby */
3508
3391
        ROM_LOAD( "pal20l8b-d89-04.ic40",  0x0a00, 0x0144, NO_DUMP ) /* PAL is read protected */
3509
3392
ROM_END
3510
3393
 
3521
3404
        ROM_LOAD( "d89-02.14", 0x00000, 0x80000, CRC(c36544b9) SHA1(6bd5257dfb27532621b75f43e31aa351ad2192a2) )
3522
3405
        ROM_LOAD( "d89-01.9" , 0x80000, 0x80000, CRC(fffa0660) SHA1(de1abe1b1e9d14405b5663103ea4a6119fce7cc5) )
3523
3406
 
3524
 
        ROM_REGION( 0x80000, "ymsnd", 0 )       /* adpcm samples */
 
3407
        ROM_REGION( 0x80000, "ymsnd", 0 )       /* ADPCM samples */
3525
3408
        ROM_LOAD( "d89-03.15", 0x00000, 0x80000, CRC(218f31a4) SHA1(9f52b9fa8f02003888180524a6e9ee7c9230f55d) )
3526
3409
 
3527
3410
        ROM_REGION( 0x0c00, "plds", 0 )
3528
 
        ROM_LOAD( "pal16l8-d72-05.ic37",   0x0000, 0x0104, CRC(c3d4cb7e) SHA1(1f3453a543dd98d02183595d66c67773fbf0ed07) )
3529
 
        ROM_LOAD( "pal16l8-d72-06.ic50",   0x0200, 0x0104, CRC(e96b7f37) SHA1(568087d0ab0ed55814deccc11630d3e26f765450) )
3530
 
        ROM_LOAD( "palce20v8-d72-07.ic28", 0x0400, 0x0157, CRC(6359e64c) SHA1(83786f047aef591eb147a16a282f5312b36bc489) )
3531
 
        ROM_LOAD( "palce20v8-d72-09.ic47", 0x0600, 0x0157, CRC(de1760fd) SHA1(332156699408e5b0a698f031c01f8aa85c3d5d32) )
3532
 
        ROM_LOAD( "palce16v8-d72-10.ic12-read_1", 0x0800, 0x0117, BAD_DUMP CRC(a5181ba2) SHA1(8315d6efa26be2ed98d4c0b39a196033789ab947) ) /* One or both of these is bad */
3533
 
        ROM_LOAD( "palce16v8-d72-10.ic12-read_2", 0x0800, 0x0117, BAD_DUMP CRC(a01c8336) SHA1(25c0ec11e84d1b22c48bbe22f7a32cd7c5d69e94) ) /* we to need to verify this dump */
 
3411
        ROM_LOAD( "pal16l8-d72-05.ic37",   0x0000, 0x0104, CRC(c3d4cb7e) SHA1(1f3453a543dd98d02183595d66c67773fbf0ed07) ) /* Matches D72-05 in qzshowby */
 
3412
        ROM_LOAD( "pal16l8-d72-06.ic50",   0x0200, 0x0104, CRC(e96b7f37) SHA1(568087d0ab0ed55814deccc11630d3e26f765450) ) /* Differs from D72-06 in qzshowby */
 
3413
        ROM_LOAD( "palce20v8-d72-07.ic28", 0x0400, 0x0157, CRC(6359e64c) SHA1(83786f047aef591eb147a16a282f5312b36bc489) ) /* Matches D72-07 in qzshowby */
 
3414
        ROM_LOAD( "palce20v8-d72-09.ic47", 0x0600, 0x0157, CRC(de1760fd) SHA1(332156699408e5b0a698f031c01f8aa85c3d5d32) ) /* Differs from D72-09 in qzshowby */
 
3415
        ROM_LOAD( "palce16v8-d72-10.ic12", 0x0800, 0x0117, CRC(a5181ba2) SHA1(8315d6efa26be2ed98d4c0b39a196033789ab947) ) /* Matches D72-10 in qzshowby */
3534
3416
        ROM_LOAD( "pal20l8b-d89-04.ic40",  0x0a00, 0x0144, NO_DUMP ) /* PAL is read protected */
3535
3417
ROM_END
3536
3418
 
3547
3429
        ROM_LOAD( "d89-12.bin",0x00000, 0x80000, CRC(53df86f1) SHA1(f03d77dd54eb455462133a29dd8fec007abedcfd) )
3548
3430
        ROM_LOAD( "d89-13.bin",0x80000, 0x80000, CRC(c44c1352) SHA1(78a04fe0ade6e8f9e6bbda7652a54a79b6208fdd) )
3549
3431
 
3550
 
        ROM_REGION( 0x80000, "ymsnd", 0 )       /* adpcm samples */
 
3432
        ROM_REGION( 0x80000, "ymsnd", 0 )       /* ADPCM samples */
3551
3433
        ROM_LOAD( "d89-03.15", 0x00000, 0x80000, CRC(218f31a4) SHA1(9f52b9fa8f02003888180524a6e9ee7c9230f55d) )
3552
3434
ROM_END
3553
3435
 
3569
3451
 
3570
3452
        ROM_REGION( 0x0c00, "plds", 0 )
3571
3453
        ROM_LOAD( "pal16l8-d72-05.bin",   0x0000, 0x0104, CRC(c3d4cb7e) SHA1(1f3453a543dd98d02183595d66c67773fbf0ed07) )
3572
 
        ROM_LOAD( "pal16l8-d72-06.bin",   0x0200, 0x0104, CRC(27580efc) SHA1(11b3c0e2b344926dd068672a952574f06989d30a) )
 
3454
        ROM_LOAD( "pal16l8-d72-06.bin",   0x0200, 0x0104, CRC(27580efc) SHA1(11b3c0e2b344926dd068672a952574f06989d30a) ) /* This one or spacedx's D72-06 is a bad dump, should match */
3573
3455
        ROM_LOAD( "palce20v8-d72-07.bin", 0x0400, 0x0157, CRC(6359e64c) SHA1(83786f047aef591eb147a16a282f5312b36bc489) )
3574
3456
        ROM_LOAD( "palce20v8-d72-08.bin", 0x0600, 0x0157, CRC(746a6474) SHA1(f6c45ff53a01c03b1fc622dc161843b5faf0d2e4) )
3575
 
        ROM_LOAD( "palce20v8-d72-09.bin", 0x0800, 0x0157, CRC(9f680800) SHA1(2fa41ead85136e851d465432a7b9d3ec848c7a22) )
3576
 
        ROM_LOAD( "palce16v8-d72-10.bin", 0x0a00, 0x0117, BAD_DUMP CRC(a5181ba2) SHA1(8315d6efa26be2ed98d4c0b39a196033789ab947) ) /* Matches possible bad dump in spacedx/spacedx */
 
3457
        ROM_LOAD( "palce20v8-d72-09.bin", 0x0800, 0x0157, CRC(9f680800) SHA1(2fa41ead85136e851d465432a7b9d3ec848c7a22) ) /* This one or spacedx's D72-09 is a bad dump, should match */
 
3458
        ROM_LOAD( "palce16v8-d72-10.bin", 0x0a00, 0x0117, CRC(a5181ba2) SHA1(8315d6efa26be2ed98d4c0b39a196033789ab947) )
3577
3459
ROM_END
3578
3460
 
3579
3461
ROM_START( viofight )
3747
3629
        ROM_LOAD( "east-02.ic3", 0x00000, 0x80000, CRC(e0de5c39) SHA1(75d0e193d882e67921c216c3293454e34304d25e) )
3748
3630
ROM_END
3749
3631
 
3750
 
ROM_START( silentdu )
3751
 
// Dumped from an original Taito PCB (ET910000B)
 
3632
ROM_START( silentdu ) /* Dumped from an original Taito PCB (ET910000B) */
3752
3633
        ROM_REGION( 0x80000, "maincpu", 0 )     /* 256k for 68000 code */
3753
3634
        ROM_LOAD16_BYTE( "east-12-1.ic32", 0x00000, 0x20000, CRC(5883d362) SHA1(21c3af053fa92c26f119466ecd655697cc72ff3a) )
3754
3635
        ROM_LOAD16_BYTE( "east-14-1.ic10", 0x00001, 0x20000, CRC(3267bcd5) SHA1(358a717d0cdd22d84eb0d928c36e4e72a40c2882) )
3785
3666
        ROM_LOAD( "se-04.2",  0x000000, 0x80000, CRC(920ad100) SHA1(69cd2af6218db90632f09a131d2956ab69034643) )
3786
3667
        ROM_LOAD( "se-05.1",  0x080000, 0x80000, CRC(d297c995) SHA1(e5ad5a8ce222621c9156c2949916bee6b3099c4e) )
3787
3668
 
3788
 
        ROM_REGION( 0x80000, "ymsnd", 0 )       /* adpcm samples */
 
3669
        ROM_REGION( 0x80000, "ymsnd", 0 )       /* ADPCM samples */
3789
3670
        ROM_LOAD( "se-06.11", 0x00000, 0x80000, CRC(80d5e772) SHA1(bee4982a3d65210ff86495e36a0b656934b00c7d) )
3790
3671
ROM_END
3791
3672
 
3804
3685
        ROM_LOAD( "ryujin07.2", 0x000000, 0x100000, CRC(34f50980) SHA1(432384bd283389bca17611602eb310726c9d78a4) )
3805
3686
        ROM_LOAD( "ryujin06.1", 0x100000, 0x100000, CRC(1b85ff34) SHA1(5ad259e6f7aa4a0c08975da73bf41400495f2e61) )
3806
3687
 
3807
 
        ROM_REGION( 0x80000, "ymsnd", 0 )       /* adpcm samples */
 
3688
        ROM_REGION( 0x80000, "ymsnd", 0 )       /* ADPCM samples */
3808
3689
        ROM_LOAD( "ryujin08.11", 0x00000, 0x80000, CRC(480d040d) SHA1(50add2f304ef34f7f45f25a2a2cf0568d58259ad) )
3809
3690
ROM_END
3810
3691
 
3829
3710
        ROM_LOAD16_BYTE( "c69-14.ic3", 0x300001, 0x020000, CRC(0ed0272a) SHA1(03b15654213ff71ffc96d3a87657bdeb724e9269) )
3830
3711
        /* 340000-3fffff empty */
3831
3712
 
3832
 
        ROM_REGION( 0x80000, "ymsnd", 0 )       /* adpcm samples */
 
3713
        ROM_REGION( 0x80000, "ymsnd", 0 )       /* ADPCM samples */
3833
3714
        ROM_LOAD( "c69-03.36", 0x00000, 0x80000, CRC(63e6b6e7) SHA1(72574ca7505eee15fabc4996f253505d9dd65898) )
3834
3715
ROM_END
3835
3716
 
 
3717
ROM_START( realpunc )
 
3718
        ROM_REGION( 0x100000, "maincpu", 0 )    /* 1024k for 68000 code */
 
3719
        ROM_LOAD16_BYTE( "d76_05.47", 0x00000, 0x80000, CRC(879b7e6a) SHA1(2b06fb4b92d4c23edba97974161da1cb88e0daf5) )
 
3720
        ROM_LOAD16_BYTE( "d76_18.48", 0x00001, 0x80000, CRC(46ed7a9f) SHA1(5af7f23e79b9a947f15d36fe54111aa76bc1037b) )
 
3721
 
 
3722
        ROM_REGION( 0x1c000, "audiocpu", 0 )    /* 64k for Z80 code */
 
3723
        ROM_LOAD( "d76_06.106",0x00000, 0x4000, CRC(72c799fd) SHA1(ab086be38b890152b33f0c4e33d0f02d0a5321bc) )
 
3724
        ROM_CONTINUE(         0x10000, 0xc000 ) /* banked stuff */
 
3725
 
 
3726
        ROM_REGION( 0x400000, "gfx1", 0 )
 
3727
        ROM_LOAD( "d76_02.76", 0x000000, 0x100000, CRC(57691b93) SHA1(570dbefda40f8be5f1da58c5433b8a8084f49cac) )
 
3728
        ROM_LOAD( "d76_03.45", 0x200000, 0x100000, CRC(9f0aefd8) SHA1(d516c64baabd268f99dc5e67b7adf135b4eb45fd) )
 
3729
 
 
3730
        ROM_REGION( 0x200000, "ymsnd", 0 )              /* ADPCM samples */
 
3731
        ROM_LOAD( "d76_01.93", 0x000000, 0x200000, CRC(2bc265f2) SHA1(409b822989e2aad50872f80f5160d4909c42206c) )
 
3732
ROM_END
 
3733
 
 
3734
 
3836
3735
static DRIVER_INIT( taito_b )
3837
3736
{
3838
3737
        memory_configure_bank(machine, "bank1", 0, 4, machine.region("audiocpu")->base() + 0x10000, 0x4000);
3839
3738
}
3840
3739
 
3841
3740
GAME( 1989, masterw,  0,       masterw,  masterw,  taito_b, ROT270, "Taito Corporation Japan", "Master of Weapon (World)", GAME_SUPPORTS_SAVE )
3842
 
GAME( 1989, masterwu, masterw, masterw,  masterw,  taito_b, ROT270, "Taito America Corporation", "Master of Weapon (US)", GAME_SUPPORTS_SAVE )
3843
 
GAME( 1989, masterwj, masterw, masterw,  masterw,  taito_b, ROT270, "Taito Corporation", "Master of Weapon (Japan)", GAME_SUPPORTS_SAVE )
 
3741
GAME( 1989, masterwu, masterw, masterw,  masterwu, taito_b, ROT270, "Taito America Corporation", "Master of Weapon (US)", GAME_SUPPORTS_SAVE )
 
3742
GAME( 1989, masterwj, masterw, masterw,  masterwj, taito_b, ROT270, "Taito Corporation", "Master of Weapon (Japan)", GAME_SUPPORTS_SAVE )
3844
3743
GAME( 1988, nastar,   0,       rastsag2, nastar,   taito_b, ROT0,   "Taito Corporation Japan", "Nastar (World)", GAME_SUPPORTS_SAVE )
3845
3744
GAME( 1988, nastarw,  nastar,  rastsag2, nastarw,  taito_b, ROT0,   "Taito America Corporation", "Nastar Warrior (US)", GAME_SUPPORTS_SAVE )
3846
3745
GAME( 1988, rastsag2, nastar,  rastsag2, rastsag2, taito_b, ROT0,   "Taito Corporation", "Rastan Saga 2 (Japan)", GAME_SUPPORTS_SAVE )
3847
 
GAME( 1989, rambo3,   0,       rambo3,   rambo3,   taito_b, ROT0,   "Taito Europe Corporation", "Rambo III (Europe set 1)", GAME_SUPPORTS_SAVE )
3848
 
GAME( 1989, rambo3ae, rambo3,  rambo3a,  rambo3a,  taito_b, ROT0,   "Taito Europe Corporation", "Rambo III (Europe set 2)", GAME_SUPPORTS_SAVE )
3849
 
GAME( 1989, rambo3a,  rambo3,  rambo3a,  rambo3a,  taito_b, ROT0,   "Taito America Corporation", "Rambo III (US)", GAME_SUPPORTS_SAVE )
 
3746
GAME( 1989, rambo3,   0,       rambo3,   rambo3,   taito_b, ROT0,   "Taito Europe Corporation", "Rambo III (Europe)", GAME_SUPPORTS_SAVE )
 
3747
GAME( 1989, rambo3u,  rambo3,  rambo3,   rambo3u,  taito_b, ROT0,   "Taito America Corporation", "Rambo III (US)", GAME_SUPPORTS_SAVE )
 
3748
GAME( 1989, rambo3p,  rambo3,  rambo3p,  rambo3p,  taito_b, ROT0,   "Taito Europe Corporation", "Rambo III (Europe, Proto?)", GAME_SUPPORTS_SAVE )
3850
3749
GAME( 1989, crimec,   0,       crimec,   crimec,   taito_b, ROT0,   "Taito Corporation Japan", "Crime City (World)", GAME_SUPPORTS_SAVE )
3851
3750
GAME( 1989, crimecu,  crimec,  crimec,   crimecu,  taito_b, ROT0,   "Taito America Corporation", "Crime City (US)", GAME_SUPPORTS_SAVE )
3852
3751
GAME( 1989, crimecj,  crimec,  crimec,   crimecj,  taito_b, ROT0,   "Taito Corporation", "Crime City (Japan)", GAME_SUPPORTS_SAVE )
3853
3752
GAME( 1989, tetrist,  tetris,  tetrist,  tetrist,  taito_b, ROT0,   "Sega", "Tetris (Japan, B-System, YM2610)", GAME_SUPPORTS_SAVE )
3854
3753
GAME( 1989, tetrista, tetris,  tetrista, tetrist,  taito_b, ROT0,   "Sega", "Tetris (Japan, B-System, YM2203)", GAME_SUPPORTS_SAVE )
3855
3754
GAME( 1989, viofight, 0,       viofight, viofight, taito_b, ROT0,   "Taito Corporation Japan", "Violence Fight (World)", GAME_SUPPORTS_SAVE )
3856
 
GAME( 1989, viofightu,viofight,viofight, viofight, taito_b, ROT0,   "Taito America Corporation", "Violence Fight (US)", GAME_SUPPORTS_SAVE )
3857
 
GAME( 1989, viofightj,viofight,viofight, viofight, taito_b, ROT0,   "Taito Corporation", "Violence Fight (Japan)", GAME_SUPPORTS_SAVE )
 
3755
GAME( 1989, viofightu,viofight,viofight, viofightu,taito_b, ROT0,   "Taito America Corporation", "Violence Fight (US)", GAME_SUPPORTS_SAVE )
 
3756
GAME( 1989, viofightj,viofight,viofight, viofightj,taito_b, ROT0,   "Taito Corporation", "Violence Fight (Japan)", GAME_SUPPORTS_SAVE )
3858
3757
GAME( 1990, ashura,   0,       ashura,   ashura,   taito_b, ROT270, "Taito Corporation Japan", "Ashura Blaster (World)", GAME_SUPPORTS_SAVE )
3859
3758
GAME( 1990, ashuraj,  ashura,  ashura,   ashuraj,  taito_b, ROT270, "Taito Corporation", "Ashura Blaster (Japan)", GAME_SUPPORTS_SAVE )
3860
3759
GAME( 1990, ashurau,  ashura,  ashura,   ashurau,  taito_b, ROT270, "Taito America Corporation", "Ashura Blaster (US)", GAME_SUPPORTS_SAVE )
3861
3760
GAME( 1990, hitice,   0,       hitice,   hitice,   taito_b, ROT0,   "Williams", "Hit the Ice (US)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
3862
 
GAME( 1990, hiticej,  hitice,  hitice,   hitice,   taito_b, ROT0,   "Midway / Taito Corporation", "Hit the Ice (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
 
3761
GAME( 1990, hiticej,  hitice,  hitice,   hiticej,  taito_b, ROT0,   "Midway / Taito Corporation", "Hit the Ice (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
3863
3762
GAME( 1991, selfeena, 0,       selfeena, selfeena, taito_b, ROT0,   "East Technology", "Sel Feena", GAME_SUPPORTS_SAVE )
3864
3763
GAME( 1992, silentd,  0,       silentd,  silentd,  taito_b, ROT0,   "Taito Corporation Japan", "Silent Dragon (World)", GAME_SUPPORTS_SAVE )
3865
3764
GAME( 1992, silentdj, silentd, silentd,  silentdj, taito_b, ROT0,   "Taito Corporation", "Silent Dragon (Japan)", GAME_SUPPORTS_SAVE )
3866
 
GAME( 1992, silentdu, silentd, silentd,  silentdj, taito_b, ROT0,   "Taito America Corporation", "Silent Dragon (US)", GAME_SUPPORTS_SAVE )
 
3765
GAME( 1992, silentdu, silentd, silentd,  silentdu, taito_b, ROT0,   "Taito America Corporation", "Silent Dragon (US)", GAME_SUPPORTS_SAVE )
3867
3766
GAME( 1993, ryujin,   0,       ryujin,   ryujin,   taito_b, ROT270, "Taito Corporation", "Ryu Jin (Japan)", GAME_SUPPORTS_SAVE )
3868
3767
GAME( 1993, qzshowby, 0,       qzshowby, qzshowby, taito_b, ROT0,   "Taito Corporation", "Quiz Sekai wa SHOW by shobai (Japan)", GAME_SUPPORTS_SAVE )
3869
3768
GAME( 1994, pbobble,  0,       pbobble,  pbobble,  taito_b, ROT0,   "Taito Corporation", "Puzzle Bobble (Japan, B-System)", GAME_SUPPORTS_SAVE )
3877
3776
    in that it has a punching pad that player needs to punch to hit
3878
3777
    the enemy.
3879
3778
*/
3880
 
GAME(  1990, sbm,      0,       sbm,      sbm,      taito_b, ROT0,   "Taito Corporation", "Sonic Blast Man (Japan)", GAME_SUPPORTS_SAVE | GAME_MECHANICAL )
 
3779
GAME( 1990, sbm,      0,       sbm,      sbm,      taito_b, ROT0,   "Taito Corporation", "Sonic Blast Man (Japan)", GAME_SUPPORTS_SAVE | GAME_MECHANICAL )
 
3780
GAME( 1994, realpunc, 0,       realpunc, realpunc, taito_b, ROT0,   "Taito Corporation Japan", "Real Puncher",       GAME_SUPPORTS_SAVE | GAME_MECHANICAL )