Previous 199869 Revisions Next

r32622 Friday 10th October, 2014 at 13:32:22 UTC by Alex Jackson
Minor rom loading/banking cleanups (nw)
[src/mame/drivers]darius.c rastan.c
[src/mame/includes]darius.h

trunk/src/mame/drivers/rastan.c
r32621r32622
335335
336336void rastan_state::machine_start()
337337{
338   UINT8 *ROM = memregion("audiocpu")->base();
338   membank("bank1")->configure_entries(0, 4, memregion("audiocpu")->base(), 0x4000);
339339
340   membank("bank1")->configure_entry(0, &ROM[0x00000]);
341   membank("bank1")->configure_entries(1, 3, &ROM[0x10000], 0x4000);
342
343340   save_item(NAME(m_sprite_ctrl));
344341   save_item(NAME(m_sprites_flipscreen));
345342
r32621r32622
434431   ROM_LOAD16_BYTE( "b04-42.21",  0x40000, 0x10000, CRC(1857a7cb) SHA1(7d967d04ade648c6ddb19aad9e184b6e272856da) )
435432   ROM_LOAD16_BYTE( "b04-43-1.9", 0x40001, 0x10000, CRC(ca4702ff) SHA1(0f8c2d7d332c4e35884c48d87ba9fd26924d1692) )
436433
437   ROM_REGION( 0x1c000, "audiocpu", 0 )
438   ROM_LOAD( "b04-19.49", 0x00000, 0x4000, CRC(ee81fdd8) SHA1(fa59dac2583a7d2979550dffc6f9c6c2bd67bfd5) )
439   ROM_CONTINUE(          0x10000, 0xc000 )
434   ROM_REGION( 0x10000, "audiocpu", 0 )
435   ROM_LOAD( "b04-19.49", 0x00000, 0x10000, CRC(ee81fdd8) SHA1(fa59dac2583a7d2979550dffc6f9c6c2bd67bfd5) )
440436
441437   ROM_REGION( 0x080000, "gfx1", 0 )
442438   ROM_LOAD( "b04-01.40", 0x00000, 0x20000, CRC(cd30de19) SHA1(f8d158d38cd07a24cb5ddefd4ce90beec706924d) )
r32621r32622
463459   ROM_LOAD16_BYTE( "b04-42.21", 0x40000, 0x10000, CRC(1857a7cb) SHA1(7d967d04ade648c6ddb19aad9e184b6e272856da) )
464460   ROM_LOAD16_BYTE( "b04-43.9",  0x40001, 0x10000, CRC(c34b9152) SHA1(6ed9247ad455bc3b71d78b541591b269969830cb) )
465461
466   ROM_REGION( 0x1c000, "audiocpu", 0 )
467   ROM_LOAD( "b04-19.49", 0x00000, 0x4000, CRC(ee81fdd8) SHA1(fa59dac2583a7d2979550dffc6f9c6c2bd67bfd5) )
468   ROM_CONTINUE(          0x10000, 0xc000 )
462   ROM_REGION( 0x10000, "audiocpu", 0 )
463   ROM_LOAD( "b04-19.49", 0x00000, 0x10000, CRC(ee81fdd8) SHA1(fa59dac2583a7d2979550dffc6f9c6c2bd67bfd5) )
469464
470465   ROM_REGION( 0x080000, "gfx1", 0 )
471466   ROM_LOAD( "b04-01.40", 0x00000, 0x20000, CRC(cd30de19) SHA1(f8d158d38cd07a24cb5ddefd4ce90beec706924d) )
r32621r32622
499494   ROM_LOAD16_BYTE( "b04-42.21",  0x40000, 0x10000, CRC(1857a7cb) SHA1(7d967d04ade648c6ddb19aad9e184b6e272856da) )
500495   ROM_LOAD16_BYTE( "b04-41-1.9", 0x40001, 0x10000, CRC(bd403269) SHA1(14aee828d5efb65370a5e453c8fd1c7b3e718074) )
501496
502   ROM_REGION( 0x1c000, "audiocpu", 0 )
503   ROM_LOAD( "b04-19.49", 0x00000, 0x4000, CRC(ee81fdd8) SHA1(fa59dac2583a7d2979550dffc6f9c6c2bd67bfd5) )
504   ROM_CONTINUE(          0x10000, 0xc000 )
497   ROM_REGION( 0x10000, "audiocpu", 0 )
498   ROM_LOAD( "b04-19.49", 0x00000, 0x10000, CRC(ee81fdd8) SHA1(fa59dac2583a7d2979550dffc6f9c6c2bd67bfd5) )
505499
506500   ROM_REGION( 0x080000, "gfx1", 0 )
507501   ROM_LOAD( "b04-01.40", 0x00000, 0x20000, CRC(cd30de19) SHA1(f8d158d38cd07a24cb5ddefd4ce90beec706924d) )
r32621r32622
528522   ROM_LOAD16_BYTE( "b04-42.21", 0x40000, 0x10000, CRC(1857a7cb) SHA1(7d967d04ade648c6ddb19aad9e184b6e272856da) )
529523   ROM_LOAD16_BYTE( "b04-41.9",  0x40001, 0x10000, CRC(b44ca1c4) SHA1(11f1ccc35b6b24aaf253c7994014f08007aba76b) )
530524
531   ROM_REGION( 0x1c000, "audiocpu", 0 )
532   ROM_LOAD( "b04-19.49", 0x00000, 0x4000, CRC(ee81fdd8) SHA1(fa59dac2583a7d2979550dffc6f9c6c2bd67bfd5) )
533   ROM_CONTINUE(          0x10000, 0xc000 )
525   ROM_REGION( 0x10000, "audiocpu", 0 )
526   ROM_LOAD( "b04-19.49", 0x00000, 0x10000, CRC(ee81fdd8) SHA1(fa59dac2583a7d2979550dffc6f9c6c2bd67bfd5) )
534527
535528   ROM_REGION( 0x080000, "gfx1", 0 )
536529   ROM_LOAD( "b04-01.40", 0x00000, 0x20000, CRC(cd30de19) SHA1(f8d158d38cd07a24cb5ddefd4ce90beec706924d) )
r32621r32622
567560   ROM_LOAD16_BYTE( "b04-25.21", 0x40000, 0x10000, CRC(d1e5adee) SHA1(eafc275a0023aecb2efaff14cd890915fa162624) )
568561   ROM_LOAD16_BYTE( "b04-24.9",  0x40001, 0x10000, CRC(a3dcc106) SHA1(3a8854530b08864a1f7f46c427e49ceec8297806) )
569562
570   ROM_REGION( 0x1c000, "audiocpu", 0 )
571   ROM_LOAD( "b04-19.49", 0x00000, 0x4000, CRC(ee81fdd8) SHA1(fa59dac2583a7d2979550dffc6f9c6c2bd67bfd5) )
572   ROM_CONTINUE(          0x10000, 0xc000 )
563   ROM_REGION( 0x10000, "audiocpu", 0 )
564   ROM_LOAD( "b04-19.49", 0x00000, 0x10000, CRC(ee81fdd8) SHA1(fa59dac2583a7d2979550dffc6f9c6c2bd67bfd5) )
573565
574566   ROM_REGION( 0x080000, "gfx1", 0 )
575567   ROM_LOAD( "b04-01.40", 0x00000, 0x20000, CRC(cd30de19) SHA1(f8d158d38cd07a24cb5ddefd4ce90beec706924d) )
r32621r32622
596588   ROM_LOAD16_BYTE( "b04-18-1.21", 0x40000, 0x10000, CRC(b626c439) SHA1(976e820edc4ba107c5b579edaaee1e354e85fb67) )
597589   ROM_LOAD16_BYTE( "b04-17-1.9",  0x40001, 0x10000, CRC(c928a516) SHA1(fe87fdf2d1b7ba93e1986460eb6af648b58f42e4) )
598590
599   ROM_REGION( 0x1c000, "audiocpu", 0 )
600   ROM_LOAD( "b04-19.49", 0x00000, 0x4000, CRC(ee81fdd8) SHA1(fa59dac2583a7d2979550dffc6f9c6c2bd67bfd5) )
601   ROM_CONTINUE(          0x10000, 0xc000 )
591   ROM_REGION( 0x10000, "audiocpu", 0 )
592   ROM_LOAD( "b04-19.49", 0x00000, 0x10000, CRC(ee81fdd8) SHA1(fa59dac2583a7d2979550dffc6f9c6c2bd67bfd5) )
602593
603594   ROM_REGION( 0x080000, "gfx1", 0 )
604595   ROM_LOAD( "b04-01.40", 0x00000, 0x20000, CRC(cd30de19) SHA1(f8d158d38cd07a24cb5ddefd4ce90beec706924d) )
r32621r32622
625616   ROM_LOAD16_BYTE( "b04-18-1.21", 0x40000, 0x10000, CRC(b626c439) SHA1(976e820edc4ba107c5b579edaaee1e354e85fb67) ) /* Dumped as "RS21_42.BIN", corrected to B04-18-1 */
626617   ROM_LOAD16_BYTE( "b04-17-1.9",  0x40001, 0x10000, CRC(c928a516) SHA1(fe87fdf2d1b7ba93e1986460eb6af648b58f42e4) ) /* Dumped as "RS09_43.BIN", corrected to B04-17-1 */
627618
628   ROM_REGION( 0x1c000, "audiocpu", 0 )
629   ROM_LOAD( "b04-19.49", 0x00000, 0x4000, CRC(ee81fdd8) SHA1(fa59dac2583a7d2979550dffc6f9c6c2bd67bfd5) )
630   ROM_CONTINUE(          0x10000, 0xc000 )
619   ROM_REGION( 0x10000, "audiocpu", 0 )
620   ROM_LOAD( "b04-19.49", 0x00000, 0x10000, CRC(ee81fdd8) SHA1(fa59dac2583a7d2979550dffc6f9c6c2bd67bfd5) )
631621
632622   ROM_REGION( 0x080000, "gfx1", 0 )
633623   ROM_LOAD( "b04-01.40", 0x00000, 0x20000, CRC(cd30de19) SHA1(f8d158d38cd07a24cb5ddefd4ce90beec706924d) )
trunk/src/mame/drivers/darius.c
r32621r32622
265265                        SOUND
266266*****************************************************/
267267
268void darius_state::reset_sound_region(  )
269{
270   membank("bank1")->set_entry(m_banknum);
271}
272
273268WRITE8_MEMBER(darius_state::sound_bankswitch_w)
274269{
275   m_banknum = data & 0x03;
276   reset_sound_region();
277//  banknum = data;
278//  reset_sound_region();
270   membank("bank1")->set_entry(data & 3);
279271}
280272
281273WRITE8_MEMBER(darius_state::adpcm_command_w)
r32621r32622
460452*****************************************************/
461453
462454static ADDRESS_MAP_START( darius_sound_map, AS_PROGRAM, 8, darius_state )
463   AM_RANGE(0x0000, 0x7fff) AM_ROMBANK("bank1")
455   AM_RANGE(0x0000, 0x3fff) AM_ROM
456   AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
464457   AM_RANGE(0x8000, 0x8fff) AM_RAM
465458   AM_RANGE(0x9000, 0x9001) AM_DEVREADWRITE("ym1", ym2203_device, read, write)
466459   AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE("ym2", ym2203_device, read, write)
r32621r32622
766759void darius_state::darius_postload()
767760{
768761   parse_control();
769   reset_sound_region();
770762}
771763
772764void darius_state::machine_start()
773765{
774   membank("bank1")->configure_entries(0, 4, memregion("audiocpu")->base() + 0x10000, 0x8000);
775   membank("bank1")->configure_entry(4, memregion("audiocpu")->base());
776   membank("bank1")->set_entry(4);
766   membank("bank1")->configure_entries(0, 4, memregion("audiocpu")->base(), 0x4000);
777767
778768   save_item(NAME(m_cpua_ctrl));
779769   save_item(NAME(m_coin_word));
780770
781   save_item(NAME(m_banknum));
782771   save_item(NAME(m_adpcm_command));
783772   save_item(NAME(m_nmi_enable));
784773   save_item(NAME(m_vol));
r32621r32622
789778
790779void darius_state::machine_reset()
791780{
792   int  i;
781   membank("bank1")->set_entry(0);
793782
794783   m_cpua_ctrl = 0xff;
795   m_banknum = 0;
796784   m_coin_word = 0;
797785   m_adpcm_command = 0;
798786   m_nmi_enable = 0;
799787
800788   machine().sound().system_enable(true);  /* mixer enabled */
801789
802   for (i = 0; i < DARIUS_VOL_MAX; i++)
790   for (int i = 0; i < DARIUS_VOL_MAX; i++)
803791      m_vol[i] = 0x00;    /* min volume */
804792
805   for (i = 0; i < DARIUS_PAN_MAX; i++)
793   for (int i = 0; i < DARIUS_PAN_MAX; i++)
806794      m_pan[i] = 0x80;    /* center */
807795
808   for (i = 0; i < 0x10; i++)
796   for (int i = 0; i < 0x10; i++)
809797   {
810798      //logerror( "calc %d = %d\n", i, (int)(100.0f / (float)pow(10.0f, (32.0f - (i * (32.0f / (float)(0xf)))) / 20.0f)) );
811799      m_def_vol[i] = (int)(100.0f / (float)pow(10.0f, (32.0f - (i * (32.0f / (float)(0xf)))) / 20.0f));
r32621r32622
965953   ROM_LOAD16_BYTE( "a96_31.187",  0x40000, 0x10000, CRC(e9bb5d89) SHA1(a5d08129c32b97e2cce84496945766fd32b6506e) )    /* 2 data roms */
966954   ROM_LOAD16_BYTE( "a96_30.154",  0x40001, 0x10000, CRC(9eb5e127) SHA1(50e2fe5ec7f79ecf1fb5107298da13ef5ab37162) )
967955
968   ROM_REGION( 0x30000, "audiocpu", 0 )    /* Z80 sound cpu */
956   ROM_REGION( 0x10000, "audiocpu", 0 )    /* Z80 sound cpu */
969957   ROM_LOAD( "a96_57.33",  0x00000, 0x10000, CRC(33ceb730) SHA1(05070ea503ac57ff8445145d6f97115f7aad90a5) )
970958
971959   ROM_REGION( 0x80000, "cpub", 0 )    /* 68000 code */
r32621r32622
10231011   ROM_LOAD16_BYTE( "a96_31.187",   0x40000, 0x10000, CRC(e9bb5d89) SHA1(a5d08129c32b97e2cce84496945766fd32b6506e) )   /* 2 data roms */
10241012   ROM_LOAD16_BYTE( "a96_30.154",   0x40001, 0x10000, CRC(9eb5e127) SHA1(50e2fe5ec7f79ecf1fb5107298da13ef5ab37162) )
10251013
1026   ROM_REGION( 0x30000, "audiocpu", 0 )    /* Z80 sound cpu */
1014   ROM_REGION( 0x10000, "audiocpu", 0 )    /* Z80 sound cpu */
10271015   ROM_LOAD( "a96_57.33",  0x00000, 0x10000, CRC(33ceb730) SHA1(05070ea503ac57ff8445145d6f97115f7aad90a5) )
10281016
10291017   ROM_REGION( 0x80000, "cpub", 0 )    /* 68000 code */
r32621r32622
10781066   ROM_LOAD16_BYTE( "a96_31.187",   0x40000, 0x10000, CRC(e9bb5d89) SHA1(a5d08129c32b97e2cce84496945766fd32b6506e) )   /* 2 data roms */
10791067   ROM_LOAD16_BYTE( "a96_30.154",   0x40001, 0x10000, CRC(9eb5e127) SHA1(50e2fe5ec7f79ecf1fb5107298da13ef5ab37162) )
10801068
1081   ROM_REGION( 0x30000, "audiocpu", 0 )    /* Z80 sound cpu */
1069   ROM_REGION( 0x10000, "audiocpu", 0 )    /* Z80 sound cpu */
10821070   ROM_LOAD( "a96_57.33",  0x00000, 0x10000, CRC(33ceb730) SHA1(05070ea503ac57ff8445145d6f97115f7aad90a5) )
10831071
10841072   ROM_REGION( 0x80000, "cpub", 0 )    /* 68000 code */
r32621r32622
11331121   ROM_LOAD16_BYTE( "dae-70.bin",   0x40000, 0x10000, CRC(54590b31) SHA1(2b89846f14a5cb19b58ab4999bc5ae11671bbb5a) )   /* 2 data roms */
11341122   ROM_LOAD16_BYTE( "a96_30.154",   0x40001, 0x10000, CRC(9eb5e127) SHA1(50e2fe5ec7f79ecf1fb5107298da13ef5ab37162) )   // dae-69.bin
11351123
1136   ROM_REGION( 0x30000, "audiocpu", 0 )    /* Z80 sound cpu */
1124   ROM_REGION( 0x10000, "audiocpu", 0 )    /* Z80 sound cpu */
11371125   ROM_LOAD( "a96_57.33",  0x00000, 0x10000, CRC(33ceb730) SHA1(05070ea503ac57ff8445145d6f97115f7aad90a5) )
11381126
11391127   ROM_REGION( 0x80000, "cpub", 0 )    /* 68000 code */
r32621r32622
11801168ROM_END
11811169
11821170
1183DRIVER_INIT_MEMBER(darius_state,darius)
1184{
1185   /**** setup sound bank image ****/
1186   UINT8 *RAM = memregion("audiocpu")->base();
1187   int  i;
1188
1189   for (i = 3; i >= 0; i--)
1190   {
1191      memcpy(RAM + 0x8000 * i + 0x10000, RAM,              0x4000);
1192      memcpy(RAM + 0x8000 * i + 0x14000, RAM + 0x4000 * i, 0x4000);
1193   }
1194}
1195
1196
1197GAME( 1986, darius,   0,        darius,   darius, darius_state,   darius,   ROT0, "Taito Corporation Japan", "Darius (World)", GAME_SUPPORTS_SAVE )
1198GAME( 1986, dariusj,  darius,   darius,   dariusj, darius_state,  darius,   ROT0, "Taito Corporation", "Darius (Japan)", GAME_SUPPORTS_SAVE )
1199GAME( 1986, dariuso,  darius,   darius,   dariusj, darius_state,  darius,   ROT0, "Taito Corporation", "Darius (Japan old version)", GAME_SUPPORTS_SAVE )
1200GAME( 1986, dariuse,  darius,   darius,   dariuse, darius_state,  darius,   ROT0, "Taito Corporation", "Darius (Extra) (Japan)", GAME_SUPPORTS_SAVE )
1171GAME( 1986, darius,   0,        darius,   darius,  driver_device, 0, ROT0, "Taito Corporation Japan", "Darius (World)", GAME_SUPPORTS_SAVE )
1172GAME( 1986, dariusj,  darius,   darius,   dariusj, driver_device, 0, ROT0, "Taito Corporation", "Darius (Japan)", GAME_SUPPORTS_SAVE )
1173GAME( 1986, dariuso,  darius,   darius,   dariusj, driver_device, 0, ROT0, "Taito Corporation", "Darius (Japan old version)", GAME_SUPPORTS_SAVE )
1174GAME( 1986, dariuse,  darius,   darius,   dariuse, driver_device, 0, ROT0, "Taito Corporation", "Darius (Extra) (Japan)", GAME_SUPPORTS_SAVE )
trunk/src/mame/includes/darius.h
r32621r32622
5757   /* misc */
5858   UINT16     m_cpua_ctrl;
5959   UINT16     m_coin_word;
60   INT32      m_banknum;
6160   UINT8      m_adpcm_command;
6261   UINT8      m_nmi_enable;
6362   UINT32     m_def_vol[0x10];
r32621r32622
117116   DECLARE_WRITE8_MEMBER(darius_write_portB0);
118117   DECLARE_WRITE8_MEMBER(darius_write_portB1);
119118   DECLARE_WRITE8_MEMBER(adpcm_data_w);
120   DECLARE_DRIVER_INIT(darius);
121119   TILE_GET_INFO_MEMBER(get_fg_tile_info);
122120   virtual void machine_start();
123121   virtual void machine_reset();
r32621r32622
130128   void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect, int primask, int x_offs, int y_offs );
131129   UINT32 update_screen(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int xoffs);
132130   void parse_control(  )   /* assumes Z80 sandwiched between 68Ks */;
133   void reset_sound_region(  );
134131   void update_fm0(  );
135132   void update_fm1(  );
136133   void update_psg0( int port );

Previous 199869 Revisions Next


© 1997-2024 The MAME Team