Previous 199869 Revisions Next

r33570 Friday 28th November, 2014 at 13:45:32 UTC by Alex W. Jackson
ssv.c: use core palette handling; use rombank instead of custom handler for eaglshot's CPU-mapped gfx roms; fix eaglshot gfx_element counts (nw)
[src/mame/drivers]ssv.c
[src/mame/includes]ssv.h
[src/mame/video]ssv.c

trunk/src/mame/drivers/ssv.c
r242081r242082
315315void ssv_state::machine_reset()
316316{
317317   m_requested_int = 0;
318   membank("bank1")->set_base(memregion("user1")->base());
319318}
320319
321320
r242081r242082
395394#define SSV_MAP( _ROM  )                                                                                            \
396395   AM_RANGE(0x000000, 0x00ffff) AM_RAM AM_SHARE("mainram")                                     /*  RAM     */  \
397396   AM_RANGE(0x100000, 0x13ffff) AM_RAM AM_SHARE("spriteram")                                       /*  Sprites */  \
398   AM_RANGE(0x140000, 0x15ffff) AM_RAM_WRITE(paletteram16_xrgb_swap_word_w) AM_SHARE("paletteram") /* Palette */  \
397   AM_RANGE(0x140000, 0x15ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") /* Palette */\
399398   AM_RANGE(0x160000, 0x17ffff) AM_RAM                                                             /*          */  \
400399   AM_RANGE(0x1c0000, 0x1c0001) AM_READ(ssv_vblank_r           )                                   /*  Vblank? */  \
401400/**/AM_RANGE(0x1c0002, 0x1c007f) AM_READONLY                                    /*  Scroll  */  \
r242081r242082
410409   AM_RANGE(0x230000, 0x230071) AM_WRITEONLY AM_SHARE("irq_vectors")                       /*  IRQ Vec */  \
411410   AM_RANGE(0x240000, 0x240071) AM_WRITE(ssv_irq_ack_w )                                           /*  IRQ Ack */  \
412411   AM_RANGE(0x260000, 0x260001) AM_WRITE(ssv_irq_enable_w)                                         /*  IRQ En  */  \
413   AM_RANGE(0x300000, 0x30007f) AM_DEVREADWRITE8("ensoniq", es5506_device, read, write, 0x00ff)         /*  Sound   */  \
414   AM_RANGE(_ROM, 0xffffff) AM_ROMBANK("bank1")                                                        /*  ROM     */
412   AM_RANGE(0x300000, 0x30007f) AM_DEVREADWRITE8("ensoniq", es5506_device, read, write, 0x00ff)    /*  Sound   */  \
413   AM_RANGE(_ROM, 0xffffff) AM_ROM AM_REGION("maincpu", 0)                                         /*  ROM     */
415414/***************************************************************************
416415                                Drift Out '94
417416***************************************************************************/
r242081r242082
850849  Eagle Shot Golf
851850***************************************************************************/
852851
853READ16_MEMBER(ssv_state::eaglshot_gfxrom_r)
852WRITE16_MEMBER(ssv_state::eaglshot_gfxrom_bank_w)
854853{
855   offset = offset * 2 + m_gfxrom_select * 0x200000;
856
857   if (offset > m_gfx1_rom.length())
858      return 0xffff;
859
860   return m_gfx1_rom[offset] + (m_gfx1_rom[offset+1]<<8);
861}
862
863WRITE16_MEMBER(ssv_state::eaglshot_gfxrom_w)
864{
865854   if (ACCESSING_BITS_0_7)
866855   {
867      m_gfxrom_select = data;
856      membank("gfxrom")->set_entry(data < 6 ? data : 6);
868857   }
869858}
870859
r242081r242082
910899   AM_RANGE(0x210000, 0x210001) AM_READNOP /*AM_READ(watchdog_reset16_r)*/                 // Watchdog
911900//  AM_RANGE(0x210002, 0x210003) AM_WRITENOP                                      // ? 0,4 at the start
912901   AM_RANGE(0x21000e, 0x21000f) AM_WRITE(ssv_lockout_inv_w)                            // Inverted lockout lines
913   AM_RANGE(0x800000, 0x800001) AM_WRITE(eaglshot_gfxrom_w)
902   AM_RANGE(0x800000, 0x800001) AM_WRITE(eaglshot_gfxrom_bank_w)
914903   AM_RANGE(0x900000, 0x900001) AM_WRITE(eaglshot_trackball_w)
915   AM_RANGE(0xa00000, 0xbfffff) AM_READ(eaglshot_gfxrom_r)
904   AM_RANGE(0xa00000, 0xbfffff) AM_ROMBANK("gfxrom")
916905   AM_RANGE(0xc00000, 0xc007ff) AM_RAM AM_SHARE("nvram")   // NVRAM
917906   AM_RANGE(0xd00000, 0xd00001) AM_READ(eaglshot_trackball_r)
918907   SSV_MAP( 0xf00000 )
r242081r242082
24292418   GFXDECODE_ENTRY( "gfx1", 0, layout_16x8x6, 0, 0x8000/64 ) // [1] Sprites (64 colors)
24302419GFXDECODE_END
24312420
2432static const gfx_layout layout_16x8x8_2 =
2421static const gfx_layout layout_16x8x8_ram =
24332422{
24342423   16,8,
2435   RGN_FRAC(1,1),
2424   0x40000 * 16 / (16 * 8),
24362425   8,
24372426   {   STEP8(0,1)      },
24382427   {   STEP16(0,8)     },
r242081r242082
24402429   16*8*8
24412430};
24422431
2443static const gfx_layout layout_16x8x6_2 =
2432static const gfx_layout layout_16x8x6_ram =
24442433{
24452434   16,8,
2446   RGN_FRAC(1,1),
2435   0x40000 * 16 / (16 * 8),
24472436   6,
24482437   {   2,3,4,5,6,7     },
24492438   {   STEP16(0,8)     },
r242081r242082
24522441};
24532442
24542443static GFXDECODE_START( eaglshot )
2455   GFXDECODE_ENTRY( "gfx1", 0, layout_16x8x8_2, 0, 0x8000/64 ) // [0] Sprites (256 colors, decoded from ram)
2456   GFXDECODE_ENTRY( "gfx1", 0, layout_16x8x6_2, 0, 0x8000/64 ) // [1] Sprites (64 colors, decoded from ram)
2444   GFXDECODE_ENTRY( NULL, 0, layout_16x8x8_ram, 0, 0x8000/64 ) // [0] Sprites (256 colors, decoded from ram)
2445   GFXDECODE_ENTRY( NULL, 0, layout_16x8x6_ram, 0, 0x8000/64 ) // [1] Sprites (64 colors, decoded from ram)
24572446GFXDECODE_END
24582447
24592448static const gfx_layout layout_16x16x8 =
r242081r242082
25122501      m_tile_code[i]   =   (i << 16);
25132502}
25142503
2504void ssv_state::init_eaglshot_banking()
2505{
2506   init_hypreac2_common();
2507   membank("gfxrom")->configure_entries(0, 6+1, memregion("gfxdata")->base(), 0x200000);
2508}
2509
25152510// massages the data from the BPMicro-compatible dump to runnable form
25162511void ssv_state::init_st010()
25172512{
r242081r242082
25342529}
25352530
25362531DRIVER_INIT_MEMBER(ssv_state,drifto94)     {    init_ssv(0); init_st010();  }
2537DRIVER_INIT_MEMBER(ssv_state,eaglshot)     {    init_ssv(0); init_hypreac2_common();    }
2532DRIVER_INIT_MEMBER(ssv_state,eaglshot)     {    init_ssv(0); init_eaglshot_banking();    }
25382533DRIVER_INIT_MEMBER(ssv_state,gdfs)         {    init_ssv(0); }
25392534DRIVER_INIT_MEMBER(ssv_state,hypreact)     {    init_ssv(0); }
25402535DRIVER_INIT_MEMBER(ssv_state,hypreac2)     {    init_ssv(0); init_hypreac2_common();    }
r242081r242082
25442539DRIVER_INIT_MEMBER(ssv_state,mslider)       {   init_ssv(0); }
25452540DRIVER_INIT_MEMBER(ssv_state,ryorioh)       {   init_ssv(0); }
25462541DRIVER_INIT_MEMBER(ssv_state,srmp4)        {    init_ssv(0);
2547//  ((UINT16 *)memregion("user1")->base())[0x2b38/2] = 0x037a;   /* patch to see gal test mode */
2542//  ((UINT16 *)memregion("maincpu")->base())[0x2b38/2] = 0x037a;   /* patch to see gal test mode */
25482543}
25492544DRIVER_INIT_MEMBER(ssv_state,srmp7)        {    init_ssv(0); }
25502545DRIVER_INIT_MEMBER(ssv_state,stmblade)     {    init_ssv(0); init_st010(); }
r242081r242082
25842579
25852580   MCFG_GFXDECODE_ADD("gfxdecode", "palette", ssv)
25862581   MCFG_PALETTE_ADD("palette", 0x8000)
2582   MCFG_PALETTE_FORMAT(XRGB)
25872583
25882584   /* sound hardware */
25892585   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
r242081r242082
29492945***************************************************************************/
29502946
29512947ROM_START( cairblad )
2952   ROM_REGION16_LE( 0x200000, "user1", 0 )     /* V60 Code */
2948   ROM_REGION( 0x200000, "maincpu", 0 )     /* V60 Code */
29532949   ROM_LOAD16_WORD( "ac1810e0.u32",  0x000000, 0x200000, CRC(13a0b4c2) SHA1(3498303e9b186ab329ee761cee9d4cb8ed552455) ) // AC1810E01.U32    27C160
29542950
29552951   ROM_REGION( 0x2000000, "gfx1", 0 )  /* Sprites */
r242081r242082
30533049***************************************************************************/
30543050
30553051ROM_START( drifto94 )
3056   ROM_REGION16_LE( 0x400000, "user1", 0 )     /* V60 Code */
3052   ROM_REGION( 0x400000, "maincpu", 0 )     /* V60 Code */
30573053   ROM_LOAD16_WORD( "vg003-19.u26", 0x000000, 0x200000, CRC(238e5e2b) SHA1(fe58f571857804263642d7d089df962327a007b6) ) // "SoundDriverV1.1a"
30583054   ROM_LOAD16_BYTE( "visco-37.u37", 0x200000, 0x080000, CRC(78fa3ccb) SHA1(0c79ff1aa31e7ca1eeb14fbef7774278fa83ba44) )
30593055   ROM_RELOAD(                      0x300000, 0x080000)
r242081r242082
31743170***************************************************************************/
31753171
31763172ROM_START( eaglshot )
3177   ROM_REGION16_LE( 0x100000, "user1", 0 )     /* V60 Code */
3173   ROM_REGION( 0x100000, "maincpu", 0 )     /* V60 Code */
31783174   ROM_LOAD16_BYTE( "si003-09.u18",  0x000000, 0x080000, CRC(219c71ce) SHA1(4f8996b4c5b267a90073d67857358147732f8c0d) )
31793175   ROM_LOAD16_BYTE( "si003-10.u20",  0x000001, 0x080000, CRC(c8872e48) SHA1(c8e1e712d5fa380f8fc1447502f21d2ae592811a) )
31803176
3181   ROM_REGION( 0x0c00000, "gfx1", /*0*/0 ) /* Sprites - Read by the CPU */
3177   ROM_REGION16_LE( 0xe00000, "gfxdata", ROMREGION_ERASEFF ) /* Sprites - Read by the CPU */
31823178   ROM_LOAD( "si003-01.u13", 0x0000000, 0x200000, CRC(d7df0d52) SHA1(d7b79a186f4272334c2297666c52f32c05787c29) )
31833179   ROM_LOAD( "si003-02.u12", 0x0200000, 0x200000, CRC(92b4d50d) SHA1(9dc2f2961b088824d8370ac83dff796345fe4158) )
31843180   ROM_LOAD( "si003-03.u11", 0x0400000, 0x200000, CRC(6ede4012) SHA1(6663990c6ee8e500cb8c51ad2102761ee0b3351d) )
r242081r242082
32123208***************************************************************************/
32133209
32143210ROM_START( hypreact )
3215   ROM_REGION16_LE( 0x100000, "user1", 0 )     /* V60 Code */
3211   ROM_REGION( 0x100000, "maincpu", 0 )     /* V60 Code */
32163212   ROM_LOAD16_BYTE( "s14-1-02.u2", 0x000000, 0x080000, CRC(d90a383c) SHA1(9945f60ce6e1f50c24c2ae3c2c5d0df9ec3b8926) )
32173213   ROM_LOAD16_BYTE( "s14-1-01.u1", 0x000001, 0x080000, CRC(80481401) SHA1(4b1b7050893b6659762297d0f6496c7193ea6c4e) )
32183214
r242081r242082
32503246***************************************************************************/
32513247
32523248ROM_START( hypreac2 )
3253   ROM_REGION16_LE( 0x200000, "user1", 0 )     /* V60 Code */
3249   ROM_REGION( 0x200000, "maincpu", 0 )     /* V60 Code */
32543250   ROM_LOAD16_BYTE( "u2.bin",  0x000000, 0x080000, CRC(05c93266) SHA1(0833e80f67ccb4ac17e771fa04dc6f433554a34f) )
32553251   ROM_LOAD16_BYTE( "u1.bin",  0x000001, 0x080000, CRC(80cf9e59) SHA1(7025321539891e1a3354ca233255f5395d716933) )
32563252   ROM_LOAD16_BYTE( "u47.bin", 0x100000, 0x080000, CRC(a3e9bfee) SHA1(1e897646bafd07ab48eda2883926506c6bedab87) )
r242081r242082
32913287***************************************************************************/
32923288
32933289ROM_START( janjans1 )
3294   ROM_REGION16_LE( 0x400000, "user1", 0 )     /* V60 Code */
3290   ROM_REGION( 0x400000, "maincpu", 0 )     /* V60 Code */
32953291   ROM_LOAD16_WORD( "jj1-data.bin", 0x000000, 0x200000, CRC(6734537e) SHA1(a40f84479141a6f33ce465e66ba9313b54915002) )
32963292   ROM_LOAD16_BYTE( "jj1-prol.bin", 0x200000, 0x080000, CRC(4231d928) SHA1(820d1233cd1a8d0c4ece15b94bd9be976b383fe2) )
32973293   ROM_RELOAD(                      0x300000, 0x080000)
r242081r242082
33383334***************************************************************************/
33393335
33403336ROM_START( janjans2 )
3341   ROM_REGION16_LE( 0x400000, "user1", 0 )        /* V60 Code */
3337   ROM_REGION( 0x400000, "maincpu", 0 )        /* V60 Code */
33423338   ROM_LOAD16_WORD( "jan2-dat.u28",  0x000000, 0x200000, CRC(0c9c62bf) SHA1(17c6eea7cec05860c238cc22706fec1a8e3d9263) )
33433339   ROM_LOAD16_BYTE( "jan2-prol.u26", 0x200000, 0x080000, CRC(758a7249) SHA1(1126e8527bad000bdfbd59da46d72ed256cb0fa9) )
33443340   ROM_RELOAD(                       0x300000, 0x080000)
r242081r242082
34113407***************************************************************************/
34123408
34133409ROM_START( jsk )
3414   ROM_REGION16_LE( 0x100000, "user1", 0 )
3410   ROM_REGION( 0x100000, "maincpu", 0 )
34153411   ROM_LOAD16_BYTE( "jsk-u72.bin", 0x00000, 0x80000, CRC(db6b2554) SHA1(c4c6617461e1d3f8660a2b97fd2c38ef245f0d4a) )
34163412   ROM_LOAD16_BYTE( "jsk-u71.bin", 0x00001, 0x80000, CRC(f6774fba) SHA1(3a74e5091d9d72e4f92c7c637cfe5c0dcc60bbe1) )
34173413
r242081r242082
34523448***************************************************************************/
34533449
34543450ROM_START( keithlcy )
3455   ROM_REGION16_LE( 0x200000, "user1", 0 )     /* V60 Code */
3451   ROM_REGION( 0x200000, "maincpu", 0 )     /* V60 Code */
34563452   ROM_LOAD16_WORD( "vg002-07.u28", 0x000000, 0x100000, CRC(57f80ff5) SHA1(9dcc35a79d3799407190d113e0f1b57864d6c56a) ) // "SETA SoundDriver"
34573453   ROM_LOAD16_BYTE( "kl-p0l.u26",   0x100000, 0x080000, CRC(d7b177fb) SHA1(2a3533b952a7b2404720916662743c144e870c0b) )
34583454   ROM_LOAD16_BYTE( "kl-p0h.u27",   0x100001, 0x080000, CRC(9de7add4) SHA1(16f4405b12734cb6a83cff8be21d03bb3c2e2266) )
r242081r242082
34993495***************************************************************************/
35003496
35013497ROM_START( koikois2 )
3502   ROM_REGION16_LE( 0x400000, "user1", 0 )     /* V60 Code */
3498   ROM_REGION( 0x400000, "maincpu", 0 )     /* V60 Code */
35033499//  socket for DATA ROM is empty
35043500   ROM_LOAD16_BYTE( "u26.bin", 0x200000, 0x080000, CRC(4be937a1) SHA1(b2c22ec12fc110984bd1914f8e3e16a8cb866816) )
35053501   ROM_RELOAD(                 0x300000, 0x080000)
r242081r242082
35493545***************************************************************************/
35503546
35513547ROM_START( meosism )
3552   ROM_REGION16_LE( 0x100000, "user1", 0 )     /* V60 Code */
3548   ROM_REGION( 0x100000, "maincpu", 0 )     /* V60 Code */
35533549   ROM_LOAD16_BYTE( "s15-2-2.u47", 0x000000, 0x080000, CRC(2ab0373f) SHA1(826aec3b9698ec5db5d7a72c3a24b1ef779fb227) )
35543550   ROM_LOAD16_BYTE( "s15-2-1.u46", 0x000001, 0x080000, CRC(a4bce148) SHA1(17ec4d91e215bd38258329b1a71e7f135c5733ad) )
35553551
r242081r242082
35983594***************************************************************************/
35993595
36003596ROM_START( mslider )
3601   ROM_REGION16_LE( 0x100000, "user1", 0 )     /* V60 Code */
3597   ROM_REGION( 0x100000, "maincpu", 0 )     /* V60 Code */
36023598   ROM_LOAD16_BYTE( "ms-pl.bin", 0x000000, 0x080000, CRC(70b2a05d) SHA1(387cf67e3e505c4cc1b5cd0b6c9fb3bc27d07e24) )
36033599   ROM_LOAD16_BYTE( "ms-ph.bin", 0x000001, 0x080000, CRC(34a64e9f) SHA1(acf3d8490f3ec99b6171e71328a991fcc9c5a8b1) )
36043600
r242081r242082
36293625***************************************************************************/
36303626
36313627ROM_START( ryorioh )
3632   ROM_REGION16_LE( 0x400000, "user1", 0 )     /* V60 Code */
3628   ROM_REGION( 0x400000, "maincpu", 0 )     /* V60 Code */
36333629   ROM_LOAD( "ryorioh.dat",      0x000000, 0x200000, CRC(d1335a6a) SHA1(a5670ab3c399736232baaabc59573bdb3bf762da) )
36343630   ROM_LOAD16_BYTE( "ryorioh.l", 0x200000, 0x080000, CRC(9ad60e7d) SHA1(572b84bab08eb8293d93e03182d9871d8973b7dd) )
36353631   ROM_RELOAD(                   0x300000, 0x080000)
r242081r242082
36903686***************************************************************************/
36913687
36923688ROM_START( srmp4 )
3693   ROM_REGION16_LE( 0x100000, "user1", 0 )     /* V60 Code */
3689   ROM_REGION( 0x100000, "maincpu", 0 )     /* V60 Code */
36943690   ROM_LOAD16_BYTE( "sx001-14.prl", 0x000000, 0x080000, CRC(19aaf46e) SHA1(0c0f5acc1880971c56e7e2c2e3ad7c2932b82d4b) )
36953691   ROM_LOAD16_BYTE( "sx001-15.prh", 0x000001, 0x080000, CRC(dbd31399) SHA1(a77dc85f481454b10223d7f4e0395e07d2f8d4f3) )
36963692
r242081r242082
37153711ROM_END
37163712
37173713ROM_START( srmp4o )
3718   ROM_REGION16_LE( 0x100000, "user1", 0 )     /* V60 Code */
3714   ROM_REGION( 0x100000, "maincpu", 0 )     /* V60 Code */
37193715   ROM_LOAD16_BYTE( "sx001-11.prl", 0x000000, 0x080000, CRC(dede3e64) SHA1(6fe998babfd2ad8f268c59bd365115a2d7cfc8f9) )
37203716   ROM_LOAD16_BYTE( "sx001-12.prh", 0x000001, 0x080000, CRC(739c53c3) SHA1(68f12cf42177df208ff6499ccc7ccc1423e3ad5f) )
37213717
r242081r242082
37493745***************************************************************************/
37503746
37513747ROM_START( srmp7 )
3752   ROM_REGION16_LE( 0x400000, "user1", 0 )     /* V60 Code */
3748   ROM_REGION( 0x400000, "maincpu", 0 )     /* V60 Code */
37533749   ROM_LOAD16_WORD( "sx015-10.dat", 0x000000, 0x200000, CRC(fad3ac6a) SHA1(9a4695c06bc74ca4de0c1a83bdf38f6651c0e2a1) )
37543750   ROM_LOAD16_BYTE( "sx015-07.pr0", 0x200000, 0x080000, CRC(08d7f841) SHA1(67567acff0ce278576290a896005de0397605eef) )
37553751   ROM_RELOAD(                      0x300000, 0x080000)
r242081r242082
38983894***************************************************************************/
38993895
39003896ROM_START( survarts )
3901   ROM_REGION16_LE( 0x100000, "user1", 0 )     /* V60 Code */
3897   ROM_REGION( 0x100000, "maincpu", 0 )     /* V60 Code */
39023898   ROM_LOAD16_BYTE( "prl-r6.u4", 0x000000, 0x080000, CRC(ef5f6e17) SHA1(1857beb15d2214c7ecb60b59e696ba24b2791734) )
39033899   ROM_LOAD16_BYTE( "prh-r5.u3", 0x000001, 0x080000, CRC(d446f010) SHA1(fb6c349edb2e6d1fcf8ed360dbe82be6d74f91d2) )
39043900
r242081r242082
39303926ROM_END
39313927
39323928ROM_START( survartsu )
3933   ROM_REGION16_LE( 0x100000, "user1", 0 )     /* V60 Code */
3929   ROM_REGION( 0x100000, "maincpu", 0 )     /* V60 Code */
39343930   ROM_LOAD16_BYTE( "usa-pr-l.u4", 0x000000, 0x080000, CRC(fa328673) SHA1(f7217eaa2a8d3fb7f706fa1aecaaa5b1b8d5e32c) )
39353931   ROM_LOAD16_BYTE( "usa-pr-h.u3", 0x000001, 0x080000, CRC(6bee2635) SHA1(a2d0517bf599331ef47beb8a902589039e4502e0) )
39363932
r242081r242082
39593955ROM_END
39603956
39613957ROM_START( survartsj )
3962   ROM_REGION16_LE( 0x100000, "user1", 0 )     /* V60 Code */
3958   ROM_REGION( 0x100000, "maincpu", 0 )     /* V60 Code */
39633959   ROM_LOAD16_BYTE( "jpn-pr-l.u4", 0x000000, 0x080000, CRC(e5a52e8c) SHA1(0a51c16d23d99c3e6a12f8a96c62fe8c72179a22) )
39643960   ROM_LOAD16_BYTE( "jan-pr-h.u3", 0x000001, 0x080000, CRC(051c9bca) SHA1(b8a7c5e4cb12cb0f05b5ba15394bd1fcf0476bf0) )  // jan typo on sticker
39653961
r242081r242082
40324028***************************************************************************/
40334029
40344030ROM_START( dynagear )
4035   ROM_REGION16_LE( 0x100000, "user1", 0 )     /* V60 Code */
4031   ROM_REGION( 0x100000, "maincpu", 0 )     /* V60 Code */
40364032   ROM_LOAD16_BYTE( "si002-prl.u4", 0x000000, 0x080000, CRC(71ba29c6) SHA1(ef43ab665daa4fc9ee01996d03f2f0b4c74c8435) )
40374033   ROM_LOAD16_BYTE( "si002-prh.u3", 0x000001, 0x080000, CRC(d0947a12) SHA1(95b54ed9dc51c952ad123103b8633a821cde05e9) )
40384034
r242081r242082
40734069***************************************************************************/
40744070
40754071ROM_START( sxyreact )
4076   ROM_REGION16_LE( 0x200000, "user1", 0 )     /* V60 Code */
4072   ROM_REGION( 0x200000, "maincpu", 0 )     /* V60 Code */
40774073   ROM_LOAD16_BYTE( "ac414e00.u2",  0x000000, 0x080000, CRC(d5dd7593) SHA1(ad1c7c2f27e0423ab346172a5c91316c9c0b3620) )
40784074   ROM_LOAD16_BYTE( "ac413e00.u1",  0x000001, 0x080000, CRC(f46aee4a) SHA1(8336304797987321903977373dec027cfca2e211) )
40794075   ROM_LOAD16_BYTE( "ac416e00.u47", 0x100000, 0x080000, CRC(e0f7bba9) SHA1(5eafd72c9fa4588f18fa02113a93abdcaf8d8693) )
r242081r242082
41614157***************************************************************************/
41624158
41634159ROM_START( sxyreac2 )
4164   ROM_REGION16_LE( 0x200000, "user1", 0 )     /* V60 Code */
4160   ROM_REGION( 0x200000, "maincpu", 0 )     /* V60 Code */
41654161   ROM_LOAD16_WORD( "ac1714e00.u32",  0x000000, 0x200000, CRC(78075d70) SHA1(05c84bb32c6f97fceb5436d192c14cac79d9ab07) )
41664162
41674163   ROM_REGION( 0x2000000, "gfx1", 0 )  /* Sprites */
r242081r242082
42544250***************************************************************************/
42554251
42564252ROM_START( stmblade )
4257   ROM_REGION16_LE( 0x400000, "user1", 0 )     /* V60 Code */
4253   ROM_REGION( 0x400000, "maincpu", 0 )     /* V60 Code */
42584254   ROM_LOAD16_WORD( "sb-pd0.u26",  0x000000, 0x100000, CRC(91c4fbf7) SHA1(68e57ea2a9756a95a81c6688905352d631e9f2de) )
42594255   ROM_LOAD16_BYTE( "s-blade.u37", 0x200000, 0x080000, CRC(a6a42cc7) SHA1(4bff79ff03b81a7ed96d3ad285242580146976be) )
42604256   ROM_RELOAD(                     0x300000, 0x080000)
r242081r242082
42834279ROM_END
42844280
42854281ROM_START( stmbladej )
4286   ROM_REGION16_LE( 0x400000, "user1", 0 )     /* V60 Code */
4282   ROM_REGION( 0x400000, "maincpu", 0 )     /* V60 Code */
42874283   ROM_LOAD16_WORD( "sb-pd0.u26",  0x000000, 0x100000, CRC(91c4fbf7) SHA1(68e57ea2a9756a95a81c6688905352d631e9f2de) )
42884284   ROM_LOAD16_BYTE( "u37j.u37", 0x200000, 0x080000, CRC(dce20df8) SHA1(d589bf7bebbf6b3c76ddb4b1f8d0c7d6bee34561) )
42894285   ROM_RELOAD(                  0x300000, 0x080000)
r242081r242082
43504346***************************************************************************/
43514347
43524348ROM_START( twineag2 )
4353   ROM_REGION16_LE( 0x200000, "user1", 0 )     /* V60 Code */
4349   ROM_REGION( 0x200000, "maincpu", 0 )     /* V60 Code */
43544350   ROM_LOAD16_WORD( "sx002-12.u22", 0x000000, 0x200000, CRC(846044dc) SHA1(c1c85de1c466fb7c3580824baa1571cd0fed6ec6) )
43554351
43564352   ROM_REGION( 0x1800000, "gfx1", 0 )  /* Sprites */
r242081r242082
43974393****************************************************************************/
43984394
43994395ROM_START( ultrax )
4400   ROM_REGION16_LE( 0x200000, "user1", 0 )  /* V60 Code */
4396   ROM_REGION( 0x200000, "maincpu", 0 )  /* V60 Code */
44014397   ROM_LOAD16_BYTE( "71047-11.u64", 0x000000, 0x080000, CRC(593b2678) SHA1(3b24b59a21386a4688502c5f0a2dd4eb0ec92544) )
44024398   ROM_LOAD16_BYTE( "71047-09.u65", 0x000001, 0x080000, CRC(08ea8d91) SHA1(5d2672f6c96fbbe9d80bd6539c1400b62745892a) )
44034399   ROM_LOAD16_BYTE( "71047-12.u62", 0x100000, 0x080000, CRC(76a77ab2) SHA1(0cf2f293defc23c807556ff92ea99f963fafed40) )
r242081r242082
45134509****************************************************************************/
45144510
45154511ROM_START( vasara )
4516   ROM_REGION16_LE( 0x400000, "user1", 0 )     /* V60 Code */
4512   ROM_REGION( 0x400000, "maincpu", 0 )     /* V60 Code */
45174513   ROM_LOAD16_WORD( "data.u34",  0x000000, 0x200000, CRC(7704cc7e) SHA1(62bb018b7f0c7ee67fee37de17bb22a73bb9e420) )
45184514   ROM_LOAD16_BYTE( "prg-l.u30", 0x200000, 0x080000, CRC(f0547886) SHA1(6a3717f8b89575d3cb4c7d56dd9df5052faa3c7f) )
45194515   ROM_RELOAD(                   0x300000, 0x080000)
r242081r242082
45344530ROM_END
45354531
45364532ROM_START( vasara2 )
4537   ROM_REGION16_LE( 0x400000, "user1", 0 )     /* V60 Code */
4533   ROM_REGION( 0x400000, "maincpu", 0 )     /* V60 Code */
45384534   ROM_LOAD16_WORD( "data.u34",  0x000000, 0x200000, CRC(493d0103) SHA1(fda68fb089328cabb3bbd52f8703b445a9509bf1) )
45394535   ROM_LOAD16_BYTE( "prg-l.u30", 0x200000, 0x080000, CRC(40e6f5f6) SHA1(05fee4535ffe8403e86ba92a58e5f2d040489c8e) )
45404536   ROM_RELOAD(                   0x300000, 0x080000)
r242081r242082
45554551ROM_END
45564552
45574553ROM_START( vasara2a )
4558   ROM_REGION16_LE( 0x400000, "user1", 0 )     /* V60 Code */
4554   ROM_REGION( 0x400000, "maincpu", 0 )     /* V60 Code */
45594555   ROM_LOAD16_WORD( "data.u34",     0x000000, 0x200000, CRC(493d0103) SHA1(fda68fb089328cabb3bbd52f8703b445a9509bf1) )
45604556   ROM_LOAD16_BYTE( "basara-l.u30", 0x200000, 0x080000, CRC(fd88b068) SHA1(a86e3ffc870e6f6f7f18273428b24d938d6b9c3d) )
45614557   ROM_RELOAD(                      0x300000, 0x080000)
r242081r242082
46314627****************************************************************************/
46324628
46334629ROM_START( gdfs )
4634   ROM_REGION16_LE( 0x400000, "user1", 0 )     /* V60 Code */
4630   ROM_REGION( 0x400000, "maincpu", 0 )     /* V60 Code */
46354631   ROM_LOAD16_WORD( "vg004-14.u3",   0x000000, 0x100000, CRC(d88254df) SHA1(ccdfd42e4ce3941018f83e300da8bf7a5950f65c) )
46364632   ROM_RELOAD(                       0x100000, 0x100000)
46374633   ROM_LOAD16_BYTE( "ssv2set0.u1",   0x200000, 0x080000, CRC(c23b9e2c) SHA1(9026e065252981fb403255ddc5782359c0088e8a) )
trunk/src/mame/includes/ssv.h
r242081r242082
1414      m_dsp(*this, "dsp"),
1515      m_mainram(*this, "mainram"),
1616      m_spriteram(*this, "spriteram"),
17      m_paletteram(*this, "paletteram"),
1817      m_scroll(*this, "scroll"),
1918      m_irq_vectors(*this, "irq_vectors"),
2019      m_gdfs_tmapram(*this, "gdfs_tmapram"),
2120      m_gdfs_tmapscroll(*this, "gdfs_tmapscroll"),
2221      m_gdfs_st0020(*this, "st0020_spr"),
2322      m_input_sel(*this, "input_sel"),
24      m_gfx1_rom(*this, "gfx1"),
2523      m_io_gunx1(*this, "GUNX1"),
2624      m_io_guny1(*this, "GUNY1"),
2725      m_io_gunx2(*this, "GUNX2"),
r242081r242082
4644
4745   required_shared_ptr<UINT16> m_mainram;
4846   required_shared_ptr<UINT16> m_spriteram;
49   required_shared_ptr<UINT16> m_paletteram;
5047   required_shared_ptr<UINT16> m_scroll;
5148   required_shared_ptr<UINT16> m_irq_vectors;
5249   optional_shared_ptr<UINT16> m_gdfs_tmapram;
r242081r242082
7875   UINT32 m_latches[8];
7976
8077   UINT8 m_trackball_select;
81   UINT8 m_gfxrom_select;
8278   DECLARE_WRITE16_MEMBER(ssv_irq_ack_w);
8379   DECLARE_WRITE16_MEMBER(ssv_irq_enable_w);
8480   DECLARE_WRITE16_MEMBER(ssv_lockout_w);
r242081r242082
108104   DECLARE_WRITE32_MEMBER(latch32_w);
109105   DECLARE_READ16_MEMBER(latch16_r);
110106   DECLARE_WRITE16_MEMBER(latch16_w);
111   DECLARE_READ16_MEMBER(eaglshot_gfxrom_r);
112   DECLARE_WRITE16_MEMBER(eaglshot_gfxrom_w);
107   DECLARE_WRITE16_MEMBER(eaglshot_gfxrom_bank_w);
113108   DECLARE_READ16_MEMBER(eaglshot_trackball_r);
114109   DECLARE_WRITE16_MEMBER(eaglshot_trackball_w);
115110   DECLARE_READ16_MEMBER(eaglshot_gfxram_r);
r242081r242082
117112   DECLARE_WRITE16_MEMBER(gdfs_tmapram_w);
118113   DECLARE_READ16_MEMBER(ssv_vblank_r);
119114   DECLARE_WRITE16_MEMBER(ssv_scroll_w);
120   DECLARE_WRITE16_MEMBER(paletteram16_xrgb_swap_word_w);
121115   DECLARE_READ16_MEMBER(gdfs_eeprom_r);
122116   DECLARE_WRITE16_MEMBER(gdfs_eeprom_w);
123117   DECLARE_DRIVER_INIT(gdfs);
r242081r242082
161155   void ssv_enable_video(int enable);
162156   void init_ssv(int interrupt_ultrax);
163157   void init_hypreac2_common();
158   void init_eaglshot_banking();
164159   void init_st010();
165160
166161protected:
167   required_region_ptr<UINT8> m_gfx1_rom;
168162   optional_ioport m_io_gunx1;
169163   optional_ioport m_io_guny1;
170164   optional_ioport m_io_gunx2;
trunk/src/mame/video/ssv.c
r242081r242082
385385//      printf("%04x %04x\n",data,offset*2);
386386}
387387
388WRITE16_MEMBER(ssv_state::paletteram16_xrgb_swap_word_w)
389{
390   int r, g, b;
391   UINT16 data0, data1;
392
393   COMBINE_DATA(m_paletteram + offset);
394
395   offset &= ~1;
396
397   data0 = m_paletteram[offset + 1];
398   data1 = m_paletteram[offset];
399
400   r = data0 & 0xff;
401   g = data1 >> 8;
402   b = data1 & 0xff;
403
404   m_palette->set_pen_color(offset>>1, rgb_t(r, g, b));
405}
406
407388/***************************************************************************
408389
409390


Previous 199869 Revisions Next


© 1997-2024 The MAME Team