298
300
required_device<cpu_device> m_maincpu;
299
301
required_device<cpu_device> m_mcu;
302
DECLARE_WRITE32_MEMBER(keycus_w);
303
DECLARE_READ32_MEMBER(keycus_c406_r);
304
DECLARE_READ32_MEMBER(keycus_c409_r);
305
DECLARE_READ32_MEMBER(keycus_c410_r);
306
DECLARE_READ32_MEMBER(keycus_c411_r);
307
DECLARE_READ32_MEMBER(keycus_c430_r);
308
DECLARE_READ32_MEMBER(keycus_c431_r);
309
DECLARE_READ32_MEMBER(keycus_c432_r);
310
DECLARE_READ32_MEMBER(keycus_c442_r);
311
DECLARE_READ32_MEMBER(keycus_c443_r);
312
DECLARE_WRITE32_MEMBER(bankswitch_rom32_w);
313
DECLARE_WRITE32_MEMBER(bankswitch_rom64_upper_w);
314
DECLARE_WRITE32_MEMBER(bankswitch_rom64_w);
315
DECLARE_WRITE32_MEMBER(lightgun_w);
316
DECLARE_READ32_MEMBER(lightgun_r);
317
DECLARE_READ16_MEMBER(c76_shared_r);
318
DECLARE_WRITE16_MEMBER(c76_shared_w);
319
DECLARE_READ16_MEMBER(c76_inputs_r);
320
DECLARE_READ8_MEMBER(dac7_r);
321
DECLARE_READ8_MEMBER(dac6_r);
322
DECLARE_READ8_MEMBER(dac5_r);
323
DECLARE_READ8_MEMBER(dac4_r);
324
DECLARE_READ8_MEMBER(dac3_r);
325
DECLARE_READ8_MEMBER(dac2_r);
326
DECLARE_READ8_MEMBER(dac1_r);
327
DECLARE_READ8_MEMBER(dac0_r);
328
DECLARE_READ8_MEMBER(pocketrc_gas_r);
329
DECLARE_READ8_MEMBER(pocketrc_steer_r);
330
DECLARE_READ16_MEMBER(c76_speedup_r);
331
DECLARE_WRITE16_MEMBER(c76_speedup_w);
302
334
INLINE void ATTR_PRINTF(3,4) verboselog( running_machine &machine, int n_level, const char *s_fmt, ... )
315
static WRITE32_HANDLER( keycus_w )
347
WRITE32_MEMBER(namcos11_state::keycus_w)
317
namcos11_state *state = space->machine().driver_data<namcos11_state>();
319
verboselog( space->machine(), 1, "keycus_w( %08x, %08x, %08x )\n", offset, data, mem_mask );
320
COMBINE_DATA( &state->m_keycus[ offset ] );
350
verboselog( machine(), 1, "keycus_w( %08x, %08x, %08x )\n", offset, data, mem_mask );
351
COMBINE_DATA( &m_keycus[ offset ] );
324
static READ32_HANDLER( keycus_c406_r )
355
READ32_MEMBER(namcos11_state::keycus_c406_r)
326
357
/* todo: verify behaviour */
327
namcos11_state *state = space->machine().driver_data<namcos11_state>();
328
UINT32 *namcos11_keycus = state->m_keycus;
358
UINT32 *namcos11_keycus = m_keycus;
331
361
data = namcos11_keycus[ offset ];
339
369
( ( namcos11_keycus[ 1 ] >> 8 ) & 0xf );
342
verboselog( space->machine(), 1, "keycus_c406_r( %08x, %08x, %08x )\n", offset, data, mem_mask );
372
verboselog( machine(), 1, "keycus_c406_r( %08x, %08x, %08x )\n", offset, data, mem_mask );
347
static READ32_HANDLER( keycus_c409_r )
377
READ32_MEMBER(namcos11_state::keycus_c409_r)
349
379
/* todo: verify behaviour */
350
namcos11_state *state = space->machine().driver_data<namcos11_state>();
353
data = state->m_keycus[ offset ];
382
data = m_keycus[ offset ];
357
386
data = ( data & 0x0000ffff ) | 0x000f0000;
360
verboselog( space->machine(), 1, "keycus_c409_r( %08x, %08x, %08x )\n", offset, data, mem_mask );
389
verboselog( machine(), 1, "keycus_c409_r( %08x, %08x, %08x )\n", offset, data, mem_mask );
365
static READ32_HANDLER( keycus_c410_r )
394
READ32_MEMBER(namcos11_state::keycus_c410_r)
367
namcos11_state *state = space->machine().driver_data<namcos11_state>();
368
UINT32 *namcos11_keycus = state->m_keycus;
396
UINT32 *namcos11_keycus = m_keycus;
592
verboselog( space->machine(), 1, "keycus_c443_r( %08x, %08x, %08x )\n", offset, data, mem_mask );
614
verboselog( machine(), 1, "keycus_c443_r( %08x, %08x, %08x )\n", offset, data, mem_mask );
596
618
INLINE void bankswitch_rom8( address_space *space, const char *bank, int n_data )
598
memory_set_bank( space->machine(), bank, ( ( n_data & 0xc0 ) >> 4 ) + ( n_data & 0x03 ) );
620
space->machine().root_device().membank( bank )->set_entry( ( ( n_data & 0xc0 ) >> 4 ) + ( n_data & 0x03 ) );
601
623
static const char * const bankname[] = { "bank1", "bank2", "bank3", "bank4", "bank5", "bank6", "bank7", "bank8" };
603
static WRITE32_HANDLER( bankswitch_rom32_w )
625
WRITE32_MEMBER(namcos11_state::bankswitch_rom32_w)
605
verboselog( space->machine(), 2, "bankswitch_rom32_w( %08x, %08x, %08x )\n", offset, data, mem_mask );
627
verboselog( machine(), 2, "bankswitch_rom32_w( %08x, %08x, %08x )\n", offset, data, mem_mask );
607
629
if( ACCESSING_BITS_0_15 )
609
bankswitch_rom8( space, bankname[offset * 2], data & 0xffff );
631
bankswitch_rom8( &space, bankname[offset * 2], data & 0xffff );
611
633
if( ACCESSING_BITS_16_31 )
613
bankswitch_rom8( space, bankname[offset * 2 + 1], data >> 16 );
635
bankswitch_rom8( &space, bankname[offset * 2 + 1], data >> 16 );
617
static WRITE32_HANDLER( bankswitch_rom64_upper_w )
639
WRITE32_MEMBER(namcos11_state::bankswitch_rom64_upper_w)
619
namcos11_state *state = space->machine().driver_data<namcos11_state>();
621
verboselog( space->machine(), 2, "bankswitch_rom64_upper_w( %08x, %08x, %08x )\n", offset, data, mem_mask );
642
verboselog( machine(), 2, "bankswitch_rom64_upper_w( %08x, %08x, %08x )\n", offset, data, mem_mask );
623
644
if( ACCESSING_BITS_0_15 )
625
state->m_n_bankoffset = 0;
627
648
if( ACCESSING_BITS_16_31 )
629
state->m_n_bankoffset = 16;
635
656
namcos11_state *state = space->machine().driver_data<namcos11_state>();
637
658
/* todo: verify behaviour */
638
memory_set_bank( space->machine(), bank, ( ( ( ( n_data & 0xc0 ) >> 3 ) + ( n_data & 0x07 ) ) ^ state->m_n_bankoffset ) );
659
state->membank( bank )->set_entry( ( ( ( ( n_data & 0xc0 ) >> 3 ) + ( n_data & 0x07 ) ) ^ state->m_n_bankoffset ) );
641
static WRITE32_HANDLER( bankswitch_rom64_w )
662
WRITE32_MEMBER(namcos11_state::bankswitch_rom64_w)
643
verboselog( space->machine(), 2, "bankswitch_rom64_w( %08x, %08x, %08x )\n", offset, data, mem_mask );
664
verboselog( machine(), 2, "bankswitch_rom64_w( %08x, %08x, %08x )\n", offset, data, mem_mask );
645
666
if( ACCESSING_BITS_0_15 )
647
bankswitch_rom64( space, bankname[offset * 2], data & 0xffff );
668
bankswitch_rom64( &space, bankname[offset * 2], data & 0xffff );
649
670
if( ACCESSING_BITS_16_31 )
651
bankswitch_rom64( space, bankname[offset * 2 + 1], data >> 16 );
672
bankswitch_rom64( &space, bankname[offset * 2 + 1], data >> 16 );
655
static WRITE32_HANDLER( lightgun_w )
676
WRITE32_MEMBER(namcos11_state::lightgun_w)
657
678
if( ACCESSING_BITS_0_15 )
661
682
output_set_value( "recoil0", !( data & 0x02 ) );
662
683
output_set_value( "recoil1", !( data & 0x01 ) );
664
verboselog( space->machine(), 1, "lightgun_w: outputs (%08x %08x)\n", data, mem_mask );
685
verboselog( machine(), 1, "lightgun_w: outputs (%08x %08x)\n", data, mem_mask );
666
687
if( ACCESSING_BITS_16_31 )
668
verboselog( space->machine(), 2, "lightgun_w: start reading (%08x %08x)\n", data, mem_mask );
689
verboselog( machine(), 2, "lightgun_w: start reading (%08x %08x)\n", data, mem_mask );
672
static READ32_HANDLER( lightgun_r )
693
READ32_MEMBER(namcos11_state::lightgun_r)
678
data = input_port_read( space->machine(), "GUN1X" );
699
data = ioport( "GUN1X" )->read();
681
data = ( input_port_read( space->machine(), "GUN1Y" ) ) | ( ( input_port_read( space->machine(), "GUN1Y" ) + 1 ) << 16 );
702
data = ( ioport( "GUN1Y" )->read() ) | ( ( ioport( "GUN1Y" )->read() + 1 ) << 16 );
684
data = input_port_read( space->machine(), "GUN2X" );
705
data = ioport( "GUN2X" )->read();
687
data = ( input_port_read( space->machine(), "GUN2Y" ) ) | ( ( input_port_read( space->machine(), "GUN2Y" ) + 1 ) << 16 );
708
data = ( ioport( "GUN2Y" )->read() ) | ( ( ioport( "GUN2Y" )->read() + 1 ) << 16 );
690
verboselog( space->machine(), 2, "lightgun_r( %08x, %08x ) %08x\n", offset, mem_mask, data );
711
verboselog( machine(), 2, "lightgun_r( %08x, %08x ) %08x\n", offset, mem_mask, data );
694
static ADDRESS_MAP_START( namcos11_map, AS_PROGRAM, 32 )
715
static ADDRESS_MAP_START( namcos11_map, AS_PROGRAM, 32, namcos11_state )
695
716
AM_RANGE(0x00000000, 0x003fffff) AM_RAM AM_SHARE("share1") /* ram */
696
AM_RANGE(0x1fa04000, 0x1fa0ffff) AM_RAM AM_BASE_MEMBER(namcos11_state, m_sharedram) /* shared ram with C76 */
697
AM_RANGE(0x1fa20000, 0x1fa2ffff) AM_WRITE(keycus_w) AM_BASE_SIZE_MEMBER(namcos11_state, m_keycus, m_keycus_size) /* keycus */
698
AM_RANGE(0x1fa30000, 0x1fa30fff) AM_DEVREADWRITE8("at28c16", at28c16_r, at28c16_w, 0x00ff00ff) /* eeprom */
717
AM_RANGE(0x1fa04000, 0x1fa0ffff) AM_RAM AM_SHARE("sharedram") /* shared ram with C76 */
718
AM_RANGE(0x1fa20000, 0x1fa2ffff) AM_WRITE(keycus_w) AM_SHARE("keycus") /* keycus */
719
AM_RANGE(0x1fa30000, 0x1fa30fff) AM_DEVREADWRITE8_LEGACY("at28c16", at28c16_r, at28c16_w, 0x00ff00ff) /* eeprom */
699
720
AM_RANGE(0x1fb00000, 0x1fb00003) AM_WRITENOP /* ?? */
700
721
AM_RANGE(0x1fbf6000, 0x1fbf6003) AM_WRITENOP /* ?? */
701
722
AM_RANGE(0x1fc00000, 0x1fffffff) AM_ROM AM_SHARE("share2") AM_REGION("user1", 0) /* bios */
706
727
AM_RANGE(0xfffe0130, 0xfffe0133) AM_WRITENOP
709
static READ16_HANDLER( c76_shared_r )
730
READ16_MEMBER(namcos11_state::c76_shared_r)
711
namcos11_state *state = space->machine().driver_data<namcos11_state>();
712
UINT16 *share16 = (UINT16 *)state->m_sharedram;
732
// ERROR: This cast is NOT endian-safe without the use of BYTE/WORD/DWORD_XOR_* macros!
733
UINT16 *share16 = reinterpret_cast<UINT16 *>(m_sharedram.target());
714
735
return share16[offset];
717
static WRITE16_HANDLER( c76_shared_w )
738
WRITE16_MEMBER(namcos11_state::c76_shared_w)
719
namcos11_state *state = space->machine().driver_data<namcos11_state>();
720
UINT16 *share16 = (UINT16 *)state->m_sharedram;
740
// ERROR: This cast is NOT endian-safe without the use of BYTE/WORD/DWORD_XOR_* macros!
741
UINT16 *share16 = reinterpret_cast<UINT16 *>(m_sharedram.target());
722
743
COMBINE_DATA(&share16[offset]);
725
static READ16_HANDLER( c76_inputs_r )
746
READ16_MEMBER(namcos11_state::c76_inputs_r)
727
// logerror("'c76' Read port %d @ %06X\n", offset, cpu_get_pc(&space->device()));
748
// logerror("'c76' Read port %d @ %06X\n", offset, cpu_get_pc(&space.device()));
732
return input_port_read(space->machine(), "PLAYER4");
753
return ioport("PLAYER4")->read();
735
return input_port_read(space->machine(), "SWITCH");
756
return ioport("SWITCH")->read();
738
return input_port_read(space->machine(), "PLAYER1");
759
return ioport("PLAYER1")->read();
741
return input_port_read(space->machine(), "PLAYER2");
762
return ioport("PLAYER2")->read();
747
ADDRESS_MAP_START( c76_map, AS_PROGRAM, 16 )
748
AM_RANGE(0x002000, 0x002fff) AM_DEVREADWRITE_MODERN("c352", c352_device, read, write)
749
AM_RANGE(0x001000, 0x001007) AM_READ( c76_inputs_r )
750
AM_RANGE(0x004000, 0x00bfff) AM_READWRITE( c76_shared_r, c76_shared_w )
768
ADDRESS_MAP_START( c76_map, AS_PROGRAM, 16, namcos11_state )
769
AM_RANGE(0x002000, 0x002fff) AM_DEVREADWRITE("c352", c352_device, read, write)
770
AM_RANGE(0x001000, 0x001007) AM_READ(c76_inputs_r )
771
AM_RANGE(0x004000, 0x00bfff) AM_READWRITE(c76_shared_r, c76_shared_w )
751
772
AM_RANGE(0x00c000, 0x00ffff) AM_ROM AM_REGION("c76", 0x40000)
752
773
AM_RANGE(0x080000, 0x0fffff) AM_ROM AM_REGION("c76", 0)
753
774
AM_RANGE(0x200000, 0x27ffff) AM_ROM AM_REGION("c76", 0)
756
777
AM_RANGE(0x301000, 0x301001) AM_WRITENOP
759
static READ8_HANDLER(dac7_r) // bit 7
761
return input_port_read_safe(space->machine(), "PLAYER3", 0xff)&0x80;
764
static READ8_HANDLER(dac6_r) // bit 3
766
return (input_port_read_safe(space->machine(), "PLAYER3", 0xff)<<4)&0x80;
769
static READ8_HANDLER(dac5_r) // bit 2
771
return (input_port_read_safe(space->machine(), "PLAYER3", 0xff)<<5)&0x80;
774
static READ8_HANDLER(dac4_r) // bit 1
776
return (input_port_read_safe(space->machine(), "PLAYER3", 0xff)<<6)&0x80;
779
static READ8_HANDLER(dac3_r) // bit 0
781
return (input_port_read_safe(space->machine(), "PLAYER3", 0xff)<<7)&0x80;
784
static READ8_HANDLER(dac2_r) // bit 4
786
return (input_port_read_safe(space->machine(), "PLAYER3", 0xff)<<3)&0x80;
789
static READ8_HANDLER(dac1_r) // bit 5
791
return (input_port_read_safe(space->machine(), "PLAYER3", 0xff)<<2)&0x80;
794
static READ8_HANDLER(dac0_r) // bit 6
796
return (input_port_read_safe(space->machine(), "PLAYER3", 0xff)<<1)&0x80;
799
static READ8_HANDLER(pocketrc_gas_r)
801
return input_port_read(space->machine(), "GAS");
804
static READ8_HANDLER(pocketrc_steer_r)
806
return input_port_read(space->machine(), "STEERING");
809
ADDRESS_MAP_START( c76_io_map, AS_IO, 8 )
780
READ8_MEMBER(namcos11_state::dac7_r)// bit 7
782
return ioport("PLAYER3")->read_safe(0xff)&0x80;
785
READ8_MEMBER(namcos11_state::dac6_r)// bit 3
787
return (ioport("PLAYER3")->read_safe(0xff)<<4)&0x80;
790
READ8_MEMBER(namcos11_state::dac5_r)// bit 2
792
return (ioport("PLAYER3")->read_safe(0xff)<<5)&0x80;
795
READ8_MEMBER(namcos11_state::dac4_r)// bit 1
797
return (ioport("PLAYER3")->read_safe(0xff)<<6)&0x80;
800
READ8_MEMBER(namcos11_state::dac3_r)// bit 0
802
return (ioport("PLAYER3")->read_safe(0xff)<<7)&0x80;
805
READ8_MEMBER(namcos11_state::dac2_r)// bit 4
807
return (ioport("PLAYER3")->read_safe(0xff)<<3)&0x80;
810
READ8_MEMBER(namcos11_state::dac1_r)// bit 5
812
return (ioport("PLAYER3")->read_safe(0xff)<<2)&0x80;
815
READ8_MEMBER(namcos11_state::dac0_r)// bit 6
817
return (ioport("PLAYER3")->read_safe(0xff)<<1)&0x80;
820
READ8_MEMBER(namcos11_state::pocketrc_gas_r)
822
return ioport("GAS")->read();
825
READ8_MEMBER(namcos11_state::pocketrc_steer_r)
827
return ioport("STEERING")->read();
830
ADDRESS_MAP_START( c76_io_map, AS_IO, 8, namcos11_state )
810
831
AM_RANGE(M37710_ADC7_L, M37710_ADC7_L) AM_READ(dac7_r)
811
832
AM_RANGE(M37710_ADC6_L, M37710_ADC6_L) AM_READ(dac6_r)
812
833
AM_RANGE(M37710_ADC5_L, M37710_ADC5_L) AM_READ(dac5_r)
873
892
for (bank = 0; bank < 8; bank++)
875
memory_configure_bank(machine, bankname[bank], 0, len / ( 1024 * 1024 ), rgn, 1024 * 1024 );
876
memory_set_bank(machine, bankname[bank], 0 );
894
state->membank(bankname[bank])->configure_entries(0, len / ( 1024 * 1024 ), rgn, 1024 * 1024 );
895
state->membank(bankname[bank])->set_entry(0 );
879
898
if (n_daughterboard == 32)
881
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x1fa10020, 0x1fa1002f, FUNC(bankswitch_rom32_w) );
900
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x1fa10020, 0x1fa1002f, write32_delegate(FUNC(namcos11_state::bankswitch_rom32_w),state));
883
902
if (n_daughterboard == 64)
885
904
state->m_n_bankoffset = 0;
886
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x1f080000, 0x1f080003, FUNC(bankswitch_rom64_upper_w) );
905
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x1f080000, 0x1f080003, write32_delegate(FUNC(namcos11_state::bankswitch_rom64_upper_w),state));
887
906
machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_read(0x1fa10020, 0x1fa1002f);
888
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x1fa10020, 0x1fa1002f, FUNC(bankswitch_rom64_w) );
907
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x1fa10020, 0x1fa1002f, write32_delegate(FUNC(namcos11_state::bankswitch_rom64_w),state));
889
908
state->save_item( NAME(state->m_n_bankoffset) );
898
917
static DRIVER_INIT( tekken2 )
900
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler( 0x1fa20000, 0x1fa2ffff, FUNC(keycus_c406_r) );
919
namcos11_state *state = machine.driver_data<namcos11_state>();
920
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler( 0x1fa20000, 0x1fa2ffff, read32_delegate(FUNC(namcos11_state::keycus_c406_r),state));
901
921
namcos11_init_common(machine, 32);
904
924
static DRIVER_INIT( souledge )
906
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler( 0x1fa20000, 0x1fa2ffff, FUNC(keycus_c409_r) );
926
namcos11_state *state = machine.driver_data<namcos11_state>();
927
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler( 0x1fa20000, 0x1fa2ffff, read32_delegate(FUNC(namcos11_state::keycus_c409_r),state));
907
928
namcos11_init_common(machine, 32);
910
931
static DRIVER_INIT( dunkmnia )
912
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler( 0x1fa20000, 0x1fa2ffff, FUNC(keycus_c410_r) );
933
namcos11_state *state = machine.driver_data<namcos11_state>();
934
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler( 0x1fa20000, 0x1fa2ffff, read32_delegate(FUNC(namcos11_state::keycus_c410_r),state));
913
935
namcos11_init_common(machine, 32);
916
938
static DRIVER_INIT( primglex )
918
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler( 0x1fa20000, 0x1fa2ffff, FUNC(keycus_c411_r) );
940
namcos11_state *state = machine.driver_data<namcos11_state>();
941
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler( 0x1fa20000, 0x1fa2ffff, read32_delegate(FUNC(namcos11_state::keycus_c411_r),state));
919
942
namcos11_init_common(machine, 32);
922
945
static DRIVER_INIT( xevi3dg )
924
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler( 0x1fa20000, 0x1fa2ffff, FUNC(keycus_c430_r) );
947
namcos11_state *state = machine.driver_data<namcos11_state>();
948
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler( 0x1fa20000, 0x1fa2ffff, read32_delegate(FUNC(namcos11_state::keycus_c430_r),state));
925
949
namcos11_init_common(machine, 32);
928
952
static DRIVER_INIT( danceyes )
930
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler( 0x1fa20000, 0x1fa2ffff, FUNC(keycus_c431_r) );
954
namcos11_state *state = machine.driver_data<namcos11_state>();
955
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler( 0x1fa20000, 0x1fa2ffff, read32_delegate(FUNC(namcos11_state::keycus_c431_r),state));
931
956
namcos11_init_common(machine, 32);
934
959
static DRIVER_INIT( pocketrc )
936
machine.device("c76")->memory().space(AS_IO)->install_legacy_read_handler(M37710_ADC0_L, M37710_ADC0_L, FUNC(pocketrc_steer_r));
937
machine.device("c76")->memory().space(AS_IO)->install_legacy_read_handler(M37710_ADC1_L, M37710_ADC1_L, FUNC(pocketrc_gas_r));
961
namcos11_state *state = machine.driver_data<namcos11_state>();
962
machine.device("c76")->memory().space(AS_IO)->install_read_handler(M37710_ADC0_L, M37710_ADC0_L, read8_delegate(FUNC(namcos11_state::pocketrc_steer_r),state));
963
machine.device("c76")->memory().space(AS_IO)->install_read_handler(M37710_ADC1_L, M37710_ADC1_L, read8_delegate(FUNC(namcos11_state::pocketrc_gas_r),state));
939
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler( 0x1fa20000, 0x1fa2ffff, FUNC(keycus_c432_r) );
965
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler( 0x1fa20000, 0x1fa2ffff, read32_delegate(FUNC(namcos11_state::keycus_c432_r),state));
940
966
namcos11_init_common(machine, 32);
943
969
static DRIVER_INIT( starswep )
945
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler( 0x1fa20000, 0x1fa2ffff, FUNC(keycus_c442_r) );
971
namcos11_state *state = machine.driver_data<namcos11_state>();
972
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler( 0x1fa20000, 0x1fa2ffff, read32_delegate(FUNC(namcos11_state::keycus_c442_r),state));
946
973
namcos11_init_common(machine, 0);
949
976
static DRIVER_INIT( myangel3 )
951
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler( 0x1fa20000, 0x1fa2ffff, FUNC(keycus_c443_r) );
978
namcos11_state *state = machine.driver_data<namcos11_state>();
979
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler( 0x1fa20000, 0x1fa2ffff, read32_delegate(FUNC(namcos11_state::keycus_c443_r),state));
952
980
namcos11_init_common(machine, 64);
955
983
static DRIVER_INIT( ptblank2ua )
957
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler( 0x1fa20000, 0x1fa2ffff, FUNC(keycus_c443_r) );
985
namcos11_state *state = machine.driver_data<namcos11_state>();
986
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler( 0x1fa20000, 0x1fa2ffff, read32_delegate(FUNC(namcos11_state::keycus_c443_r),state));
958
987
namcos11_init_common(machine, 64);
960
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x1f788000, 0x1f788003, FUNC(lightgun_w) );
961
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler (0x1f780000, 0x1f78000f, FUNC(lightgun_r) );
989
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x1f788000, 0x1f788003, write32_delegate(FUNC(namcos11_state::lightgun_w),state));
990
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler (0x1f780000, 0x1f78000f, read32_delegate(FUNC(namcos11_state::lightgun_r),state));
964
993
static MACHINE_RESET( namcos11 )