Previous 199869 Revisions Next

r33632 Tuesday 2nd December, 2014 at 20:16:43 UTC by David Haywood
use rombank instead of custom handler (nw)
[src/mame/drivers]galpani2.c
[src/mame/includes]galpani2.h

trunk/src/mame/drivers/galpani2.c
r242143r242144
120120
121121***************************************************************************/
122122
123void galpani2_state::machine_start()
124{
125   UINT8 *ROM = memregion("subdata")->base();
126   membank("subdatabank")->configure_entries(0, 0x2000000/0x0800000, ROM, 0x0800000);
127   membank("subdatabank")->set_entry(0);
123128
129}
130
124131void galpani2_state::machine_reset()
125132{
126133   machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(50)); //initial mcu xchk
r242143r242144
389396***************************************************************************/
390397
391398
392READ16_MEMBER(galpani2_state::galpani2_bankedrom_r)
399WRITE16_MEMBER(galpani2_state::subdatabank_select_w)
393400{
394   UINT16 *ROM = (UINT16 *) memregion( "user1" )->base();
395   size_t    len = memregion( "user1" )->bytes() / 2;
401   data &= mem_mask;
396402
397   offset += (0x800000/2) * (*m_rombank & 0x0003);
398
399   if ( offset < len ) return ROM[offset];
400   else                return 0xffff; //floating bus for absent ROMs
403   if (data & 0xfffc) printf("subdatabank_select_w %04x\n", data);
404   membank("subdatabank")->set_entry(data&3);
401405}
402406
407
403408static ADDRESS_MAP_START( galpani2_mem2, AS_PROGRAM, 16, galpani2_state )
404409   AM_RANGE(0x000000, 0x03ffff) AM_ROM                                                             // ROM
405410   AM_RANGE(0x100000, 0x13ffff) AM_RAM AM_SHARE("ram2")                                        // Work RAM
r242143r242144
411416   AM_RANGE(0x700000, 0x700001) AM_NOP                                 // Watchdog
412417//  AM_RANGE(0x740000, 0x740001) AM_WRITENOP                                // ? Reset mcu
413418   AM_RANGE(0x780000, 0x780001) AM_WRITE8(galpani2_mcu_nmi2_w, 0x00ff)             // ? 0 -> 1 -> 0 (lev 5)
414   AM_RANGE(0x7c0000, 0x7c0001) AM_WRITEONLY AM_SHARE("rombank")   // Rom Bank
415   AM_RANGE(0x800000, 0xffffff) AM_READ(galpani2_bankedrom_r       )       // Banked ROM
419   AM_RANGE(0x7c0000, 0x7c0001) AM_WRITE(subdatabank_select_w)   // Rom Bank
420   AM_RANGE(0x800000, 0xffffff) AM_ROMBANK("subdatabank")
416421ADDRESS_MAP_END
417422
418423/***************************************************************************
r242143r242144
735740   ROM_LOAD16_BYTE( "g002a2.u64-1", 0x000000, 0x020000, CRC(c0b94eaf) SHA1(4f3a65b238b31ee8d256b7025253f01eaf6e55d5) )
736741   ROM_LOAD16_BYTE( "g003a2.u63-1", 0x000001, 0x020000, CRC(0d30725d) SHA1(d4614f9ffb930c4ea36cb3fbacffe63060e92402) )
737742
738   ROM_REGION16_BE( 0x2000000, "user1", 0 )    /* Backgrounds (CPU2) */
743   ROM_REGION16_BE( 0x2000000, "subdata", ROMREGION_ERASEFF )    /* Backgrounds (CPU2) */
739744   ROM_LOAD( "gp2-300a.052", 0x0000000, 0x100000, CRC(09ebedba) SHA1(3c06614633f0da03facb5199deac492b8ce07257) )
740745   ROM_LOAD( "gp2-300b.053", 0x0100000, 0x100000, CRC(d7d12920) SHA1(4b6e01cc0ac5192758f4b3d26f102905b2b5e8ac) )
741746   ROM_LOAD( "gp2-301.035", 0x0200000, 0x200000, CRC(e71e749d) SHA1(420c4c085e89d9641a84e34fa870df2bc02165b6) )
r242143r242144
781786   ROM_LOAD16_BYTE( "g002a1-u125-1.bin", 0x000000, 0x020000, CRC(100e76b3) SHA1(24a259ee427cd7a6e487520a712dc7ef632dc5d6) )
782787   ROM_LOAD16_BYTE( "g003a1-u126-1.bin", 0x000001, 0x020000, CRC(0efe7835) SHA1(c7eecacdf101c0515da504cc77512f27b61b2ab7) )
783788
784   ROM_REGION16_BE( 0x2000000, "user1", 0 )    /* Backgrounds (CPU2) */
789   ROM_REGION16_BE( 0x2000000, "subdata", ROMREGION_ERASEFF )    /* Backgrounds (CPU2) */
785790   ROM_LOAD( "gp2-300a.052", 0x0000000, 0x100000, CRC(09ebedba) SHA1(3c06614633f0da03facb5199deac492b8ce07257) )
786791   ROM_LOAD( "gp2-300b.053", 0x0100000, 0x100000, CRC(d7d12920) SHA1(4b6e01cc0ac5192758f4b3d26f102905b2b5e8ac) )
787792   ROM_LOAD( "gp2-301.035", 0x0200000, 0x200000, CRC(e71e749d) SHA1(420c4c085e89d9641a84e34fa870df2bc02165b6) )
r242143r242144
828833   ROM_LOAD16_BYTE( "g002a2.u64-1", 0x000000, 0x020000, CRC(c0b94eaf) SHA1(4f3a65b238b31ee8d256b7025253f01eaf6e55d5) )
829834   ROM_LOAD16_BYTE( "g003a2.u63-1", 0x000001, 0x020000, CRC(0d30725d) SHA1(d4614f9ffb930c4ea36cb3fbacffe63060e92402) )
830835
831   ROM_REGION16_BE( 0x2000000, "user1", 0 )    /* Backgrounds (CPU2) */
836   ROM_REGION16_BE( 0x2000000, "subdata", ROMREGION_ERASEFF )    /* Backgrounds (CPU2) */
832837   ROM_LOAD( "gp2-300a.052", 0x0000000, 0x100000, CRC(09ebedba) SHA1(3c06614633f0da03facb5199deac492b8ce07257) )
833838   ROM_LOAD( "gp2-300b.053", 0x0100000, 0x100000, CRC(d7d12920) SHA1(4b6e01cc0ac5192758f4b3d26f102905b2b5e8ac) )
834839   ROM_LOAD( "gp2-301.035", 0x0200000, 0x200000, CRC(e71e749d) SHA1(420c4c085e89d9641a84e34fa870df2bc02165b6) )
r242143r242144
877882   ROM_LOAD16_BYTE( "g003g1.u65-2", 0x000000, 0x020000, CRC(c0b94eaf) SHA1(4f3a65b238b31ee8d256b7025253f01eaf6e55d5) )
878883   ROM_LOAD16_BYTE( "g002g1.u64-2", 0x000001, 0x020000, CRC(0d30725d) SHA1(d4614f9ffb930c4ea36cb3fbacffe63060e92402) )
879884
880   ROM_REGION16_BE( 0x2000000, "user1", 0 )    /* Backgrounds (CPU2) */
885   ROM_REGION16_BE( 0x2000000, "subdata", ROMREGION_ERASEFF )    /* Backgrounds (CPU2) */
881886   ROM_LOAD( "gp2-300a.052", 0x0000000, 0x100000, CRC(09ebedba) SHA1(3c06614633f0da03facb5199deac492b8ce07257) )
882887   ROM_LOAD( "gp2-300b.053", 0x0100000, 0x100000, CRC(d7d12920) SHA1(4b6e01cc0ac5192758f4b3d26f102905b2b5e8ac) )
883888   ROM_LOAD( "gp2-301.035", 0x0200000, 0x200000, CRC(e71e749d) SHA1(420c4c085e89d9641a84e34fa870df2bc02165b6) )
r242143r242144
925930   ROM_LOAD16_BYTE( "g002t1.125", 0x000000, 0x020000, CRC(a3034e1c) SHA1(493e4be36f2aea0083d5d37e16486ed66dab952e) )
926931   ROM_LOAD16_BYTE( "g003t1.126", 0x000001, 0x020000, CRC(20d3a2ad) SHA1(93450e5a23456c242ebf1a3560013a17c6b05354) )
927932
928   ROM_REGION16_BE( 0x2000000, "user1", 0 )    /* Backgrounds (CPU2) */
933   ROM_REGION16_BE( 0x2000000, "subdata", ROMREGION_ERASEFF )    /* Backgrounds (CPU2) */
929934   ROM_LOAD16_BYTE( "g300a0.u44-00", 0x0000000, 0x080000, CRC(50406294) SHA1(fc1165b7b31a44ab204cd5ac3e7b2733ed6b1534) )
930935   ROM_LOAD16_BYTE( "g300a1.u41-00", 0x0000001, 0x080000, CRC(d26b7c4f) SHA1(b491170010977ba1e5111893937cc6bab0539e7d) )
931936   ROM_LOAD16_BYTE( "g300b0.u45-00", 0x0100000, 0x080000, CRC(9637934c) SHA1(d3b39d9f44825bdf24d4aa39ca32035bc5af4905) )
r242143r242144
977982   ROM_LOAD16_BYTE( "g002i1.125", 0x000000, 0x020000, CRC(a3034e1c) SHA1(493e4be36f2aea0083d5d37e16486ed66dab952e) )
978983   ROM_LOAD16_BYTE( "g003i1.126", 0x000001, 0x020000, CRC(20d3a2ad) SHA1(93450e5a23456c242ebf1a3560013a17c6b05354) )
979984
980   ROM_REGION16_BE( 0x2000000, "user1", 0 )    /* Backgrounds (CPU2) */
985   ROM_REGION16_BE( 0x2000000, "subdata", ROMREGION_ERASEFF )    /* Backgrounds (CPU2) */
981986   ROM_LOAD16_BYTE( "g300a0.u44-00", 0x0000000, 0x080000, CRC(50406294) SHA1(fc1165b7b31a44ab204cd5ac3e7b2733ed6b1534) )
982987   ROM_LOAD16_BYTE( "g300a1.u41-00", 0x0000001, 0x080000, CRC(d26b7c4f) SHA1(b491170010977ba1e5111893937cc6bab0539e7d) )
983988   ROM_LOAD16_BYTE( "g300b0.u45-00", 0x0100000, 0x080000, CRC(9637934c) SHA1(d3b39d9f44825bdf24d4aa39ca32035bc5af4905) )
r242143r242144
10291034   ROM_LOAD16_BYTE( "g002t1.125", 0x000000, 0x020000, CRC(a3034e1c) SHA1(493e4be36f2aea0083d5d37e16486ed66dab952e) )
10301035   ROM_LOAD16_BYTE( "g003t1.126", 0x000001, 0x020000, CRC(20d3a2ad) SHA1(93450e5a23456c242ebf1a3560013a17c6b05354) )
10311036
1032   ROM_REGION16_BE( 0x2000000, "user1", 0 )    /* Backgrounds (CPU2) */
1037   ROM_REGION16_BE( 0x2000000, "subdata", ROMREGION_ERASEFF )    /* Backgrounds (CPU2) */
10331038   ROM_LOAD( "gp2-300a.052", 0x0000000, 0x100000, CRC(09ebedba) SHA1(3c06614633f0da03facb5199deac492b8ce07257) )
10341039   ROM_LOAD( "gp2-300b.053", 0x0100000, 0x100000, CRC(d7d12920) SHA1(4b6e01cc0ac5192758f4b3d26f102905b2b5e8ac) )
10351040   ROM_LOAD( "gp2-301.035", 0x0200000, 0x200000, CRC(e71e749d) SHA1(420c4c085e89d9641a84e34fa870df2bc02165b6) )
r242143r242144
10941099   ROM_LOAD16_BYTE( "g002j1.64",  0x000000, 0x020000, CRC(5e523829) SHA1(dad11e4a3348c988ff658609cf78a3fbee58064e) )
10951100   ROM_LOAD16_BYTE( "g003j1.63",  0x000001, 0x020000, CRC(2a0d5f89) SHA1(0a7031c4b8b7bc757da25250dbb5fa1004205aeb) )
10961101
1097   ROM_REGION16_BE( 0x2000000, "user1", 0 )    /* Backgrounds (CPU2) */
1102   ROM_REGION16_BE( 0x2000000, "subdata", ROMREGION_ERASEFF )    /* Backgrounds (CPU2) */
10981103   ROM_LOAD( "gp2-300j.175", 0x000000, 0x200000, CRC(3a0afc1d) SHA1(91fba9074cc3c28e919053f0ea07b28d88b2ce5f) )
10991104   ROM_LOAD( "gp2-301j.176", 0x200000, 0x200000, CRC(5b6d1709) SHA1(a7d35247fe71895f2b6169409aa0bdaef446804c) )
11001105   ROM_LOAD16_BYTE( "gp2-302a.177", 0x400000, 0x100000, CRC(311fa273) SHA1(c2adeac45be701f6f474841755fac4347d44f844) )
r242143r242144
11251130   ROM_LOAD16_BYTE( "g002j4.u64",  0x000000, 0x020000, CRC(bcd4edd9) SHA1(17ae6fbf75d8e5333133737de926a36f5cd29661) )
11261131   ROM_LOAD16_BYTE( "g003j4.u63",  0x000001, 0x020000, CRC(2fbe0194) SHA1(52da771ba813b27ec1a996b237c14dab9b33db82) )
11271132
1128   ROM_REGION16_BE( 0x2000000, "user1", 0 )    /* Backgrounds (CPU2) */
1133   ROM_REGION16_BE( 0x2000000, "subdata", ROMREGION_ERASEFF )    /* Backgrounds (CPU2) */
11291134   ROM_LOAD( "gp2-300-j-0071.u175", 0x000000, 0x200000, CRC(3a0afc1d) SHA1(91fba9074cc3c28e919053f0ea07b28d88b2ce5f) )
11301135   ROM_LOAD( "gp2-301-j-0072.u176", 0x200000, 0x200000, CRC(5b6d1709) SHA1(a7d35247fe71895f2b6169409aa0bdaef446804c) )
11311136   ROM_LOAD16_BYTE( "gp2-302a-0057.u177", 0x400000, 0x100000, CRC(311fa273) SHA1(c2adeac45be701f6f474841755fac4347d44f844) )
r242143r242144
11621167   ROM_LOAD16_BYTE( "g002e3.u64-3",  0x000000, 0x020000, CRC(5e523829) SHA1(dad11e4a3348c988ff658609cf78a3fbee58064e) )
11631168   ROM_LOAD16_BYTE( "g003e3.u63-3",  0x000001, 0x020000, CRC(2a0d5f89) SHA1(0a7031c4b8b7bc757da25250dbb5fa1004205aeb) )
11641169
1165   ROM_REGION16_BE( 0x2000000, "user1", 0 )    /* Backgrounds (CPU2) */
1170   ROM_REGION16_BE( 0x2000000, "subdata", ROMREGION_ERASEFF )    /* Backgrounds (CPU2) */
11661171   ROM_LOAD( "gp2-300-j-0071.u175", 0x000000, 0x200000, CRC(3a0afc1d) SHA1(91fba9074cc3c28e919053f0ea07b28d88b2ce5f) )
11671172   ROM_LOAD( "gp2-301-j-0072.u176", 0x200000, 0x200000, CRC(5b6d1709) SHA1(a7d35247fe71895f2b6169409aa0bdaef446804c) )
11681173   ROM_LOAD16_BYTE( "gp2-302a-0057.u177", 0x400000, 0x100000, CRC(311fa273) SHA1(c2adeac45be701f6f474841755fac4347d44f844) )
trunk/src/mame/includes/galpani2.h
r242143r242144
1414      m_bg15(*this, "bg15"),
1515      m_ram(*this, "ram"),
1616      m_ram2(*this, "ram2"),
17      m_rombank(*this, "rombank"),
1817      m_maincpu(*this,"maincpu"),
1918      m_subcpu(*this,"sub"),
2019      m_kaneko_spr(*this, "kan_spr"),
r242143r242144
3635   required_shared_ptr<UINT16> m_ram2;
3736   UINT16 m_old_mcu_nmi1;
3837   UINT16 m_old_mcu_nmi2;
39   required_shared_ptr<UINT16> m_rombank;
4038
4139   required_device<cpu_device> m_maincpu;
4240   required_device<cpu_device> m_subcpu;
r242143r242144
4745   DECLARE_WRITE8_MEMBER(galpani2_mcu_nmi1_w);
4846   DECLARE_WRITE8_MEMBER(galpani2_mcu_nmi2_w);
4947   DECLARE_WRITE8_MEMBER(galpani2_coin_lockout_w);
50   DECLARE_READ16_MEMBER(galpani2_bankedrom_r);
5148   DECLARE_READ16_MEMBER(galpani2_eeprom_r);
5249   DECLARE_WRITE16_MEMBER(galpani2_eeprom_w);
5350   DECLARE_WRITE8_MEMBER(galpani2_oki1_bank_w);
5451   DECLARE_WRITE8_MEMBER(galpani2_oki2_bank_w);
52   DECLARE_WRITE16_MEMBER(subdatabank_select_w);
53   virtual void machine_start();
5554   virtual void machine_reset();
5655   virtual void video_start();
5756   DECLARE_PALETTE_INIT(galpani2);


Previous 199869 Revisions Next


© 1997-2024 The MAME Team