354
/* verified from 5A22 code */
403
355
static INPUT_PORTS_START( kinstb )
404
356
PORT_INCLUDE(snes_common)
359
PORT_DIPNAME( 0x0f, 0x00, DEF_STR( Difficulty ) )
360
PORT_DIPSETTING( 0x00, "0 (Easiest)" ) /* "EASY" (0 star) */
361
PORT_DIPSETTING( 0x01, "1" ) /* (1 star) */
362
PORT_DIPSETTING( 0x02, "2" ) /* (2 stars) */
363
PORT_DIPSETTING( 0x03, "3" ) /* (3 stars) */
364
PORT_DIPSETTING( 0x04, "4" ) /* (4 stars) */
365
PORT_DIPSETTING( 0x05, "5" ) /* "HARD" (5 stars) */
366
PORT_DIPSETTING( 0x06, "6" ) /* undefined */
367
PORT_DIPSETTING( 0x07, "7" ) /* undefined */
368
PORT_DIPSETTING( 0x08, "8" ) /* undefined */
369
PORT_DIPSETTING( 0x09, "9" ) /* undefined */
370
PORT_DIPSETTING( 0x0a, "10" ) /* undefined */
371
PORT_DIPSETTING( 0x0b, "11" ) /* undefined */
372
PORT_DIPSETTING( 0x0c, "12" ) /* undefined */
373
PORT_DIPSETTING( 0x0d, "13" ) /* undefined */
374
PORT_DIPSETTING( 0x0e, "14" ) /* undefined */
375
PORT_DIPSETTING( 0x0f, "15 (Hardest)" ) /* undefined */
376
PORT_DIPUNUSED( 0x10, IP_ACTIVE_LOW )
377
PORT_DIPUNUSED( 0x20, IP_ACTIVE_LOW )
378
PORT_DIPUNUSED( 0x40, IP_ACTIVE_LOW )
379
PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW )
382
PORT_DIPNAME( 0x0f, 0x01, DEF_STR( Coinage ) )
383
PORT_DIPSETTING( 0x0f, "15 Coins/1 Credit" )
384
PORT_DIPSETTING( 0x0e, "14 Coins/1 Credit" )
385
PORT_DIPSETTING( 0x0d, "13 Coins/1 Credit" )
386
PORT_DIPSETTING( 0x0c, "12 Coins/1 Credit" )
387
PORT_DIPSETTING( 0x0b, "11 Coins/1 Credit" )
388
PORT_DIPSETTING( 0x0a, "10 Coins/1 Credit" )
389
PORT_DIPSETTING( 0x09, DEF_STR( 9C_1C ) )
390
PORT_DIPSETTING( 0x08, DEF_STR( 8C_1C ) )
391
PORT_DIPSETTING( 0x07, DEF_STR( 7C_1C ) )
392
PORT_DIPSETTING( 0x06, DEF_STR( 6C_1C ) )
393
PORT_DIPSETTING( 0x05, DEF_STR( 5C_1C ) )
394
PORT_DIPSETTING( 0x04, DEF_STR( 4C_1C ) )
395
PORT_DIPSETTING( 0x03, DEF_STR( 3C_1C ) )
396
PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) )
397
PORT_DIPSETTING( 0x01, DEF_STR( 1C_1C ) )
398
PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) )
399
PORT_DIPUNUSED( 0x10, IP_ACTIVE_LOW )
400
PORT_DIPUNUSED( 0x20, IP_ACTIVE_LOW )
401
PORT_DIPUNUSED( 0x40, IP_ACTIVE_LOW )
402
PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW )
408
404
PORT_START("COIN")
409
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
410
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
405
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
406
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
409
/* verified from 5A22 code */
415
410
static INPUT_PORTS_START( ffight2b )
416
411
PORT_INCLUDE(snes_common)
419
PORT_DIPNAME( 0x01, 0x01, "Player Bonus" ) PORT_DIPLOCATION("SW1:1")
420
PORT_DIPSETTING( 0x01, DEF_STR( No ) )
421
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
422
PORT_DIPNAME( 0x06, 0x04, "Game Level" ) PORT_DIPLOCATION("SW1:2,3")
423
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
414
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) )
415
PORT_DIPSETTING( 0x01, DEF_STR( 4C_1C ) )
416
PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) )
417
PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ) )
418
PORT_DIPSETTING( 0x07, DEF_STR( 1C_1C ) )
419
// PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) /* duplicate setting */
420
PORT_DIPSETTING( 0x06, DEF_STR( 1C_2C ) )
421
PORT_DIPSETTING( 0x05, DEF_STR( 1C_3C ) )
422
PORT_DIPSETTING( 0x04, DEF_STR( 1C_4C ) )
423
PORT_DIPNAME( 0x18, 0x08, DEF_STR( Lives ) )
424
PORT_DIPSETTING( 0x18, "1" )
425
PORT_DIPSETTING( 0x10, "2" )
426
PORT_DIPSETTING( 0x08, "3" )
427
PORT_DIPSETTING( 0x00, "4" )
428
PORT_DIPNAME( 0x60, 0x60, DEF_STR( Difficulty ) ) /* "GAME LEVEL" */
429
PORT_DIPSETTING( 0x60, DEF_STR( Easy ) )
430
PORT_DIPSETTING( 0x40, DEF_STR( Normal ) )
431
PORT_DIPSETTING( 0x20, DEF_STR( Hard ) )
432
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) ) /* "EXPERT" */
433
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Bonus_Life ) )
434
PORT_DIPSETTING( 0x00, "100k 300k 200k+" )
435
PORT_DIPSETTING( 0x80, DEF_STR( None ) )
438
PORT_DIPUNUSED( 0x01, IP_ACTIVE_LOW )
439
PORT_DIPUNUSED( 0x02, IP_ACTIVE_LOW )
440
PORT_DIPUNUSED( 0x04, IP_ACTIVE_LOW )
441
PORT_DIPUNUSED( 0x08, IP_ACTIVE_LOW )
442
PORT_DIPUNUSED( 0x10, IP_ACTIVE_LOW )
443
PORT_DIPUNUSED( 0x20, IP_ACTIVE_LOW )
444
PORT_DIPUNUSED( 0x40, IP_ACTIVE_LOW )
445
PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW )
448
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
449
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
452
/* verified from 5A22 code */
453
static INPUT_PORTS_START( iron )
454
PORT_INCLUDE(snes_common)
457
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) )
458
PORT_DIPSETTING( 0x01, DEF_STR( 4C_1C ) )
459
PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) )
460
PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ) )
461
PORT_DIPSETTING( 0x07, DEF_STR( 1C_1C ) )
462
// PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) /* duplicate setting */
463
PORT_DIPSETTING( 0x06, DEF_STR( 1C_2C ) )
464
PORT_DIPSETTING( 0x05, DEF_STR( 1C_3C ) )
465
PORT_DIPSETTING( 0x04, DEF_STR( 1C_4C ) )
466
PORT_DIPUNUSED( 0x10, IP_ACTIVE_LOW )
467
PORT_DIPUNUSED( 0x20, IP_ACTIVE_LOW )
468
PORT_DIPUNUSED( 0x40, IP_ACTIVE_LOW )
469
PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW )
472
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) ) /* "LEVEL" */
473
PORT_DIPSETTING( 0x01, DEF_STR( Easy ) )
474
PORT_DIPSETTING( 0x03, DEF_STR( Normal ) ) /* "MEDIUM" */
424
475
PORT_DIPSETTING( 0x02, DEF_STR( Hard ) )
476
PORT_DIPSETTING( 0x00, DEF_STR( Hard ) ) /* duplicate setting */
477
PORT_DIPNAME( 0x04, 0x04, "Suffered Damages" ) /* code at 0x(8)082d0 */
425
478
PORT_DIPSETTING( 0x04, DEF_STR( Normal ) )
426
PORT_DIPSETTING( 0x06, DEF_STR( Easy ) )
427
PORT_DIPNAME( 0x18, 0x08, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:4,5")
428
PORT_DIPSETTING( 0x00, "4" )
429
PORT_DIPSETTING( 0x08, "3" )
430
PORT_DIPSETTING( 0x10, "2" )
431
PORT_DIPSETTING( 0x18, "1" )
432
PORT_DIPNAME( 0xe0, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:6,7,8")
433
PORT_DIPSETTING( 0x20, DEF_STR( 4C_1C ) )
434
PORT_DIPSETTING( 0x40, DEF_STR( 3C_1C ) )
435
PORT_DIPSETTING( 0x60, DEF_STR( 2C_1C ) )
436
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
437
/* PORT_DIPSETTING( 0xe0, DEF_STR( 1C_1C ) ) */
438
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_2C ) )
439
PORT_DIPSETTING( 0xa0, DEF_STR( 1C_3C ) )
440
PORT_DIPSETTING( 0x80, DEF_STR( 1C_4C ) )
443
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
444
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
479
PORT_DIPSETTING( 0x00, "More" )
480
PORT_DIPNAME( 0x18, 0x18, DEF_STR( Lives ) ) /* table at 0x(8)3ffda (4 * 1 word) gives 02 03 04 05 (add 1) but extra LSRA before TAY at 0x(8)3ffcf */
481
PORT_DIPSETTING( 0x18, "3" )
482
PORT_DIPSETTING( 0x08, "4" )
483
PORT_DIPSETTING( 0x10, "769 (Bug)" )
484
PORT_DIPSETTING( 0x00, "1025 (Bug)" )
485
PORT_DIPUNUSED( 0x20, IP_ACTIVE_LOW )
486
PORT_DIPUNUSED( 0x40, IP_ACTIVE_LOW )
487
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Demo_Sounds ) )
488
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
489
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
492
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
493
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
496
/* verified from 5A22 code */
497
static INPUT_PORTS_START( denseib )
498
PORT_INCLUDE(snes_common)
501
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) )
502
PORT_DIPSETTING( 0x01, DEF_STR( 4C_1C ) )
503
PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) )
504
PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ) )
505
PORT_DIPSETTING( 0x07, DEF_STR( 1C_1C ) )
506
// PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) /* duplicate setting */
507
PORT_DIPSETTING( 0x06, DEF_STR( 1C_2C ) )
508
PORT_DIPSETTING( 0x05, DEF_STR( 1C_3C ) )
509
PORT_DIPSETTING( 0x04, DEF_STR( 1C_4C ) )
510
PORT_DIPNAME( 0x18, 0x10, DEF_STR( Difficulty ) ) /* "RANK" */
511
PORT_DIPSETTING( 0x18, DEF_STR( Easy ) )
512
PORT_DIPSETTING( 0x10, DEF_STR( Normal ) )
513
PORT_DIPSETTING( 0x08, DEF_STR( Hard ) )
514
// PORT_DIPSETTING( 0x00, DEF_STR( Hard ) ) /* duplicate setting */
515
PORT_DIPUNUSED( 0x20, IP_ACTIVE_LOW )
516
PORT_DIPUNUSED( 0x40, IP_ACTIVE_LOW )
517
PORT_DIPNAME( 0x80, 0x00, "Mode" )
518
PORT_DIPSETTING( 0x00, DEF_STR( Normal ) )
519
PORT_DIPSETTING( 0x80, "Battle" )
522
PORT_DIPNAME( 0x07, 0x07, "Suffered Damages" ) /* code at 0x(8)0f810 */
523
PORT_DIPSETTING( 0x07, DEF_STR( Normal ) )
524
PORT_DIPSETTING( 0x06, "x1.5" )
525
PORT_DIPSETTING( 0x05, "x2.5" )
526
PORT_DIPSETTING( 0x04, "x3.5" )
527
PORT_DIPSETTING( 0x03, "x4.5" )
528
PORT_DIPSETTING( 0x02, "x5.5" )
529
PORT_DIPSETTING( 0x01, "x6.5" )
530
PORT_DIPSETTING( 0x00, "x7.5" )
531
PORT_DIPUNUSED( 0x10, IP_ACTIVE_LOW )
532
PORT_DIPUNUSED( 0x20, IP_ACTIVE_LOW )
533
PORT_DIPUNUSED( 0x40, IP_ACTIVE_LOW )
534
PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW )
537
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
538
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
541
/* verified from 5A22 code */
448
542
static INPUT_PORTS_START( sblast2b )
449
543
PORT_INCLUDE(snes_common)
452
PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x01, "SW1:1" )
453
PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x02, "SW1:2" )
454
PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "SW1:3" )
455
PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "SW1:4" )
456
PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "SW1:5" )
457
PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "SW1:6" )
458
PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x40, "SW1:7" )
459
PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x80, "SW1:8" )
462
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
463
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
468
static INPUT_PORTS_START( iron )
469
PORT_INCLUDE(snes_common)
472
PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x01, "SW1:1" )
473
PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x02, "SW1:2" )
474
PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "SW1:3" )
475
PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "SW1:4" )
476
PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "SW1:5" )
477
PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "SW1:6" )
478
PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x40, "SW1:7" )
479
PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x80, "SW1:8" )
482
PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x01, "SW2:1" )
483
PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x02, "SW2:2" )
484
PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "SW2:3" )
485
PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "SW2:4" )
486
PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "SW2:5" )
487
PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "SW2:6" )
488
PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x40, "SW2:7" )
489
PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x80, "SW2:8" )
492
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
493
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
496
static INPUT_PORTS_START( denseib )
497
PORT_INCLUDE(snes_common)
500
PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x01, "SW1:1" )
501
PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x02, "SW1:2" )
502
PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "SW1:3" )
503
PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "SW1:4" )
504
PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "SW1:5" )
505
PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "SW1:6" )
506
PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x40, "SW1:7" )
507
PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x80, "SW1:8" )
546
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) )
547
PORT_DIPSETTING( 0x01, DEF_STR( 4C_1C ) )
548
PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) )
549
PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ) )
550
PORT_DIPSETTING( 0x07, DEF_STR( 1C_1C ) )
551
// PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) /* duplicate setting */
552
PORT_DIPSETTING( 0x06, DEF_STR( 1C_2C ) )
553
PORT_DIPSETTING( 0x05, DEF_STR( 1C_3C ) )
554
PORT_DIPSETTING( 0x04, DEF_STR( 1C_4C ) )
555
PORT_DIPNAME( 0x38, 0x38, DEF_STR( Difficulty ) ) /* "LEVEL" */
556
PORT_DIPSETTING( 0x38, "0 (Easiest)" ) /* "NORMAL" */
557
PORT_DIPSETTING( 0x30, "1" ) /* "HARD" */
558
PORT_DIPSETTING( 0x28, "2" ) /* undefined */
559
PORT_DIPSETTING( 0x20, "3" ) /* undefined */
560
PORT_DIPSETTING( 0x18, "4" ) /* undefined */
561
PORT_DIPSETTING( 0x10, "5" ) /* undefined */
562
PORT_DIPSETTING( 0x08, "6" ) /* undefined */
563
PORT_DIPSETTING( 0x00, "7 (Hardest)" ) /* undefined */
564
PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Lives ) )
565
PORT_DIPSETTING( 0xc0, "1" )
566
PORT_DIPSETTING( 0x80, "2" )
567
PORT_DIPSETTING( 0x40, "3" )
568
PORT_DIPSETTING( 0x00, "4" )
571
PORT_DIPNAME( 0x0f, 0x04, "Power" )
572
PORT_DIPSETTING( 0x07, "0" )
573
PORT_DIPSETTING( 0x06, "1" )
574
PORT_DIPSETTING( 0x05, "2" )
575
PORT_DIPSETTING( 0x04, "3" )
576
PORT_DIPSETTING( 0x03, "4" )
577
PORT_DIPSETTING( 0x02, "5" )
578
PORT_DIPSETTING( 0x01, "6" )
579
PORT_DIPSETTING( 0x00, "7" )
580
PORT_DIPUNUSED( 0x10, IP_ACTIVE_LOW )
581
PORT_DIPUNUSED( 0x20, IP_ACTIVE_LOW )
582
PORT_DIPUNUSED( 0x40, IP_ACTIVE_LOW )
583
PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW )
586
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
587
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
591
static INPUT_PORTS_START( endless )
592
PORT_INCLUDE(snes_common)
595
PORT_DIPUNKNOWN( 0x01, IP_ACTIVE_LOW )
596
PORT_DIPUNKNOWN( 0x02, IP_ACTIVE_LOW )
597
PORT_DIPUNKNOWN( 0x04, IP_ACTIVE_LOW )
598
PORT_DIPUNKNOWN( 0x08, IP_ACTIVE_LOW )
599
PORT_DIPUNKNOWN( 0x10, IP_ACTIVE_LOW )
600
PORT_DIPUNKNOWN( 0x20, IP_ACTIVE_LOW )
601
PORT_DIPUNKNOWN( 0x40, IP_ACTIVE_LOW )
602
PORT_DIPUNKNOWN( 0x80, IP_ACTIVE_LOW )
605
PORT_DIPUNKNOWN( 0x01, IP_ACTIVE_LOW )
606
PORT_DIPUNKNOWN( 0x02, IP_ACTIVE_LOW )
607
PORT_DIPUNKNOWN( 0x04, IP_ACTIVE_LOW )
608
PORT_DIPUNKNOWN( 0x08, IP_ACTIVE_LOW )
609
PORT_DIPUNKNOWN( 0x10, IP_ACTIVE_LOW )
610
PORT_DIPUNKNOWN( 0x20, IP_ACTIVE_LOW )
611
PORT_DIPUNKNOWN( 0x40, IP_ACTIVE_LOW )
612
PORT_DIPUNKNOWN( 0x80, IP_ACTIVE_LOW )
509
614
PORT_START("COIN")
510
615
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
594
703
rom[0x7ffd] = 0x89;
595
704
rom[0x7ffc] = 0x54;
597
state->m_ffight2b_coins = 0;
598
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x7eadce, 0x7eadce, FUNC(ffight2b_coin_r));
600
DRIVER_INIT_CALL(snes);
707
snesb_state *state = machine.driver_data<snesb_state>();
708
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770071, 0x770071, read8_delegate(FUNC(snesb_state::snesb_dsw1_r),state));
709
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770073, 0x770073, read8_delegate(FUNC(snesb_state::snesb_dsw2_r),state));
710
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770079, 0x770079, read8_delegate(FUNC(snesb_state::snesb_coin_r),state));
712
DRIVER_INIT_CALL(snes);
715
static DRIVER_INIT( iron )
718
UINT8 *rom = machine.root_device().memregion("user3")->base();
720
for (i = 0; i < 0x140000; i++)
724
rom[i] = BITSWAP8(rom[i]^0xff,2,7,1,6,3,0,5,4);
728
rom[i] = BITSWAP8(rom[i],6,3,0,5,1,4,7,2);
733
snesb_state *state = machine.driver_data<snesb_state>();
734
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770071, 0x770071, read8_delegate(FUNC(snesb_state::snesb_dsw1_r),state));
735
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770073, 0x770073, read8_delegate(FUNC(snesb_state::snesb_dsw2_r),state));
736
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770079, 0x770079, read8_delegate(FUNC(snesb_state::snesb_coin_r),state));
738
DRIVER_INIT_CALL(snes);
741
static DRIVER_INIT( denseib )
743
UINT8 *rom = machine.root_device().memregion("user3")->base();
746
for (i = 0; i < 0x200000; i++)
748
rom[i] = rom[i] ^ 0xff;
751
case 0x00: rom[i] = BITSWAP8(rom[i],1,7,0,6,3,4,5,2); break;
752
case 0x01: rom[i] = BITSWAP8(rom[i],3,4,7,2,0,6,5,1); break;
753
case 0x02: rom[i] = BITSWAP8(rom[i],5,4,2,1,7,0,6,3); break;
754
case 0x03: rom[i] = BITSWAP8(rom[i],0,1,3,7,2,6,5,4); break;
756
default: rom[i] = BITSWAP8(rom[i],4,5,1,0,2,3,7,6); break;
765
snesb_state *state = machine.driver_data<snesb_state>();
766
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770071, 0x770071, read8_delegate(FUNC(snesb_state::snesb_dsw1_r),state));
767
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770073, 0x770073, read8_delegate(FUNC(snesb_state::snesb_dsw2_r),state));
768
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x770079, 0x770079, read8_delegate(FUNC(snesb_state::snesb_coin_r),state));
770
DRIVER_INIT_CALL(snes_hirom);
604
773
static const UINT8 data_substitution0[] = {0x88,0x02,0x2a,0x08,0x28,0xaa,0x8a,0x0a,0xa2,0x00,0x80,0xa0,0x22,0xa8,0x82,0x20,};
605
774
static const UINT8 data_substitution1[] = {0x44,0x01,0x51,0x40,0x50,0x55,0x45,0x41,0x15,0x00,0x04,0x14,0x11,0x54,0x05,0x10,};