Previous 199869 Revisions Next

r23899 Monday 24th June, 2013 at 08:41:58 UTC by hap
not much, most of it is cleanup work
and added savestates too
[src/mame/drivers]seibuspi.c
[src/mame/includes]seibuspi.h
[src/mame/video]seibuspi.c

trunk/src/mame/video/seibuspi.c
r23898r23899
1/***************************************************************************
1/******************************************************************************
22
33    Seibu SPI hardware
44
55    Functions to emulate the video hardware
66
7***************************************************************************/
7******************************************************************************/
88
99#include "emu.h"
1010#include "includes/seibuspi.h"
1111
1212
13READ32_MEMBER(seibuspi_state::spi_layer_bank_r)
14{
15   return m_layer_bank;
16}
13/*****************************************************************************/
1714
18WRITE32_MEMBER(seibuspi_state::spi_layer_bank_w)
15void seibuspi_state::set_layer_offsets()
1916{
20   COMBINE_DATA( &m_layer_bank );
21
22   if (m_layer_bank & 0x80000000)
17   if (m_rowscroll_enable)
2318   {
2419      m_fore_layer_offset = 0x1000 / 4;
25      m_mid_layer_offset = 0x2000 / 4;
20      m_midl_layer_offset = 0x2000 / 4;
2621      m_text_layer_offset = 0x3000 / 4;
2722   }
2823   else
2924   {
30      m_fore_layer_offset = 0x800 / 4;
31      m_mid_layer_offset = 0x1000 / 4;
32      m_text_layer_offset = 0x1800 / 4;
25      m_fore_layer_offset = 0x1000 / 4 / 2;
26      m_midl_layer_offset = 0x2000 / 4 / 2;
27      m_text_layer_offset = 0x3000 / 4 / 2;
3328   }
3429}
3530
36WRITE8_MEMBER(seibuspi_state::spi_set_layer_banks_w)
31READ32_MEMBER(seibuspi_state::spi_layer_bank_r)
3732{
38   if (m_rf2_layer_bank[0] != BIT(data,0))
39   {
40      m_rf2_layer_bank[0] = BIT(data,0);
41      m_back_layer->mark_all_dirty();
42   }
33   return m_layer_bank;
34}
4335
44   if (m_rf2_layer_bank[1] != BIT(data,1))
36WRITE32_MEMBER(seibuspi_state::spi_layer_bank_w)
37{
38   // r000f000 0010100x 00000000 00000000
39   // r: rowscroll enable
40   // f: fore layer d13
41   // x: ? (0 in ejanhs, 1 in all other games)
42   UINT32 prev = m_layer_bank;
43   COMBINE_DATA(&m_layer_bank);
44   
45   if ((prev ^ m_layer_bank) & 0x80000000)
4546   {
46      m_rf2_layer_bank[1] = BIT(data,1);
47      m_mid_layer->mark_all_dirty();
47      m_rowscroll_enable = m_layer_bank >> 31 & 1;
48      set_layer_offsets();
4849   }
49
50   if (m_rf2_layer_bank[2] != BIT(data,2))
51   {
52      m_rf2_layer_bank[2] = BIT(data,2);
50   
51   if ((prev ^ m_layer_bank) & 0x08000000)
5352      m_fore_layer->mark_all_dirty();
54   }
5553}
5654
57#ifdef UNUSED_FUNCTION
58READ32_MEMBER(seibuspi_state::spi_layer_enable_r)
55
56WRITE8_MEMBER(seibuspi_state::spi_set_layer_banks_w)
5957{
60   return m_layer_enable;
58   if ((m_rf2_layer_bank ^ data) & 1)
59      m_back_layer->mark_all_dirty();
60
61   if ((m_rf2_layer_bank ^ data) & 2)
62      m_midl_layer->mark_all_dirty();
63
64   if ((m_rf2_layer_bank ^ data) & 4)
65      m_fore_layer->mark_all_dirty();
66   
67   m_rf2_layer_bank = data;
6168}
62#endif
6369
6470WRITE32_MEMBER(seibuspi_state::spi_layer_enable_w)
6571{
66   COMBINE_DATA( &m_layer_enable );
67   m_back_layer->enable((m_layer_enable & 0x1) ^ 0x1);
68   m_mid_layer->enable(((m_layer_enable >> 1) & 0x1) ^ 0x1);
69   m_fore_layer->enable(((m_layer_enable >> 2) & 0x1) ^ 0x1);
72   // 00000000 00000000 00000000 000stfmb (0=on, 1=off)
73   // s: sprite layer
74   // t: text layer
75   // f: fore layer
76   // m: middle layer
77   // b: back layer
78   COMBINE_DATA(&m_layer_enable);
7079}
7180
72WRITE32_MEMBER(seibuspi_state::tilemap_dma_start_w)
81WRITE32_MEMBER(seibuspi_state::video_dma_length_w)
7382{
74   if (m_video_dma_address != 0)
75   {
76      int i;
77      int index = (m_video_dma_address / 4) - 0x200;
83   COMBINE_DATA(&m_video_dma_length);
84}
7885
79      if (m_layer_bank & 0x80000000)
80      {
81         /* back layer */
82         for (i=0; i < 0x800/4; i++)
83         {
84            UINT32 tile = m_mainram[index];
85            if (m_tilemap_ram[i] != tile)
86            {
87               m_tilemap_ram[i] = tile;
88               m_back_layer->mark_tile_dirty((i * 2) );
89               m_back_layer->mark_tile_dirty((i * 2) + 1 );
90            }
91            index++;
92         }
86WRITE32_MEMBER(seibuspi_state::video_dma_address_w)
87{
88   COMBINE_DATA(&m_video_dma_address);
89}
9390
94         /* back layer row scroll */
95         memcpy(&m_tilemap_ram[0x800/4], &m_mainram[index], 0x800/4);
96         index += 0x800/4;
9791
98         /* fore layer */
99         for (i=0; i < 0x800/4; i++)
100         {
101            UINT32 tile = m_mainram[index];
102            if (m_tilemap_ram[i+m_fore_layer_offset] != tile)
103            {
104               m_tilemap_ram[i+m_fore_layer_offset] = tile;
105               m_fore_layer->mark_tile_dirty((i * 2) );
106               m_fore_layer->mark_tile_dirty((i * 2) + 1 );
107            }
108            index++;
109         }
92/*****************************************************************************/
11093
111         /* fore layer row scroll */
112         memcpy(&m_tilemap_ram[0x1800/4], &m_mainram[index], 0x800/4);
113         index += 0x800/4;
94WRITE32_MEMBER(seibuspi_state::tilemap_dma_start_w)
95{
96   if (!m_tilemap_ram)
97      return;
11498
115         /* mid layer */
116         for (i=0; i < 0x800/4; i++)
117         {
118            UINT32 tile = m_mainram[index];
119            if (m_tilemap_ram[i+m_mid_layer_offset] != tile)
120            {
121               m_tilemap_ram[i+m_mid_layer_offset] = tile;
122               m_mid_layer->mark_tile_dirty((i * 2) );
123               m_mid_layer->mark_tile_dirty((i * 2) + 1 );
124            }
125            index++;
126         }
99   // safety check
100   if ((m_video_dma_address & 3) != 0 || (m_video_dma_length & 3) != 3 || (m_video_dma_address + ((m_rowscroll_enable) ? 0x4000 : 0x2800)) > 0x40000)
101      popmessage("Tile DMA %X %X, contact MAMEdev", m_video_dma_address, m_video_dma_length); // shouldn't happen
102   if (m_video_dma_address < 0x800)
103      logerror("tilemap_dma_start_w in I/O area: %X\n", m_video_dma_address);
127104
128         /* mid layer row scroll */
129         memcpy(&m_tilemap_ram[0x1800/4], &m_mainram[index], 0x800/4);
130         index += 0x800/4;
105   int index = m_video_dma_address / 4;
131106
132         /* text layer */
133         for (i=0; i < 0x1000/4; i++)
134         {
135            UINT32 tile = m_mainram[index];
136            if (m_tilemap_ram[i+m_text_layer_offset] != tile)
137            {
138               m_tilemap_ram[i+m_text_layer_offset] = tile;
139               m_text_layer->mark_tile_dirty((i * 2) );
140               m_text_layer->mark_tile_dirty((i * 2) + 1 );
141            }
142            index++;
143         }
107   /* back layer */
108   for (int i = 0; i < 0x800/4; i++)
109   {
110      UINT32 tile = m_mainram[index];
111      if (m_tilemap_ram[i] != tile)
112      {
113         m_tilemap_ram[i] = tile;
114         m_back_layer->mark_tile_dirty((i * 2));
115         m_back_layer->mark_tile_dirty((i * 2) + 1);
144116      }
145      else
117      index++;
118   }
119
120   /* back layer row scroll */
121   if (m_rowscroll_enable)
122   {
123      memcpy(&m_tilemap_ram[0x800/4], &m_mainram[index], 0x800/4);
124      index += 0x800/4;
125   }
126
127   /* fore layer */
128   for (int i = 0; i < 0x800/4; i++)
129   {
130      UINT32 tile = m_mainram[index];
131      if (m_tilemap_ram[i+m_fore_layer_offset] != tile)
146132      {
147         /* back layer */
148         for (i=0; i < 0x800/4; i++)
149         {
150            UINT32 tile = m_mainram[index];
151            if (m_tilemap_ram[i] != tile)
152            {
153               m_tilemap_ram[i] = tile;
154               m_back_layer->mark_tile_dirty((i * 2) );
155               m_back_layer->mark_tile_dirty((i * 2) + 1 );
156            }
157            index++;
158         }
133         m_tilemap_ram[i+m_fore_layer_offset] = tile;
134         m_fore_layer->mark_tile_dirty((i * 2));
135         m_fore_layer->mark_tile_dirty((i * 2) + 1);
136      }
137      index++;
138   }
159139
160         /* fore layer */
161         for (i=0; i < 0x800/4; i++)
162         {
163            UINT32 tile = m_mainram[index];
164            if (m_tilemap_ram[i+m_fore_layer_offset] != tile)
165            {
166               m_tilemap_ram[i+m_fore_layer_offset] = tile;
167               m_fore_layer->mark_tile_dirty((i * 2) );
168               m_fore_layer->mark_tile_dirty((i * 2) + 1 );
169            }
170            index++;
171         }
140   /* fore layer row scroll */
141   if (m_rowscroll_enable)
142   {
143      memcpy(&m_tilemap_ram[0x1800/4], &m_mainram[index], 0x800/4);
144      index += 0x800/4;
145   }
172146
173         /* mid layer */
174         for (i=0; i < 0x800/4; i++)
175         {
176            UINT32 tile = m_mainram[index];
177            if (m_tilemap_ram[i+m_mid_layer_offset] != tile)
178            {
179               m_tilemap_ram[i+m_mid_layer_offset] = tile;
180               m_mid_layer->mark_tile_dirty((i * 2) );
181               m_mid_layer->mark_tile_dirty((i * 2) + 1 );
182            }
183            index++;
184         }
185
186         /* text layer */
187         for (i=0; i < 0x1000/4; i++)
188         {
189            UINT32 tile = m_mainram[index];
190            if (m_tilemap_ram[i+m_text_layer_offset] != tile)
191            {
192               m_tilemap_ram[i+m_text_layer_offset] = tile;
193               m_text_layer->mark_tile_dirty((i * 2) );
194               m_text_layer->mark_tile_dirty((i * 2) + 1 );
195            }
196            index++;
197         }
147   /* middle layer */
148   for (int i = 0; i < 0x800/4; i++)
149   {
150      UINT32 tile = m_mainram[index];
151      if (m_tilemap_ram[i+m_midl_layer_offset] != tile)
152      {
153         m_tilemap_ram[i+m_midl_layer_offset] = tile;
154         m_midl_layer->mark_tile_dirty((i * 2));
155         m_midl_layer->mark_tile_dirty((i * 2) + 1);
198156      }
157      index++;
199158   }
200}
201159
202WRITE32_MEMBER(seibuspi_state::palette_dma_start_w)
203{
204   if (m_video_dma_address != 0)
160   /* middle layer row scroll */
161   if (m_rowscroll_enable)
205162   {
206      int i;
207      for (i=0; i < ((m_video_dma_length+1) * 2) / 4; i++)
163      memcpy(&m_tilemap_ram[0x1800/4], &m_mainram[index], 0x800/4);
164      index += 0x800/4;
165   }
166
167   /* text layer */
168   for (int i = 0; i < 0x1000/4; i++)
169   {
170      UINT32 tile = m_mainram[index];
171      if (m_tilemap_ram[i+m_text_layer_offset] != tile)
208172      {
209         UINT32 color = m_mainram[(m_video_dma_address / 4) + i - 0x200];
210         if (m_palette_ram[i] != color)
211         {
212            m_palette_ram[i] = color;
213            palette_set_color_rgb( machine(), (i * 2), pal5bit(m_palette_ram[i] >> 0), pal5bit(m_palette_ram[i] >> 5), pal5bit(m_palette_ram[i] >> 10) );
214            palette_set_color_rgb( machine(), (i * 2) + 1, pal5bit(m_palette_ram[i] >> 16), pal5bit(m_palette_ram[i] >> 21), pal5bit(m_palette_ram[i] >> 26) );
215         }
173         m_tilemap_ram[i+m_text_layer_offset] = tile;
174         m_text_layer->mark_tile_dirty((i * 2));
175         m_text_layer->mark_tile_dirty((i * 2) + 1);
216176      }
177      index++;
217178   }
218179}
219180
220WRITE32_MEMBER(seibuspi_state::sprite_dma_start_w)
181
182WRITE32_MEMBER(seibuspi_state::palette_dma_start_w)
221183{
222   if (m_video_dma_address != 0)
184   int dma_length = (m_video_dma_length + 1) * 2;
185   
186   // safety check
187   if ((m_video_dma_address & 3) != 0 || (m_video_dma_length & 3) != 3 || dma_length > m_palette_ram_size || (m_video_dma_address + dma_length) > 0x40000)
188      popmessage("Pal DMA %X %X, contact MAMEdev", m_video_dma_address, m_video_dma_length); // shouldn't happen
189   if (m_video_dma_address < 0x800)
190      logerror("palette_dma_start_w in I/O area: %X\n", m_video_dma_address);
191   
192   for (int i = 0; i < dma_length / 4; i++)
223193   {
224      memcpy( m_sprite_ram, &m_mainram[(m_video_dma_address / 4) - 0x200], m_sprite_dma_length);
194      UINT32 color = m_mainram[m_video_dma_address / 4 + i];
195      if (m_palette_ram[i] != color)
196      {
197         m_palette_ram[i] = color;
198         palette_set_color_rgb(machine(), (i * 2), pal5bit(m_palette_ram[i] >> 0), pal5bit(m_palette_ram[i] >> 5), pal5bit(m_palette_ram[i] >> 10));
199         palette_set_color_rgb(machine(), (i * 2) + 1, pal5bit(m_palette_ram[i] >> 16), pal5bit(m_palette_ram[i] >> 21), pal5bit(m_palette_ram[i] >> 26));
200      }
225201   }
226202}
227203
228WRITE32_MEMBER(seibuspi_state::video_dma_length_w)
204
205WRITE16_MEMBER(seibuspi_state::sprite_dma_start_w)
229206{
230   COMBINE_DATA( &m_video_dma_length );
231}
207   // safety check
208   if ((m_video_dma_address & 3) != 0 || (m_video_dma_address + m_sprite_ram_size) > 0x40000)
209      popmessage("Sprite DMA %X, contact MAMEdev", m_video_dma_address); // shouldn't happen
210   if (m_video_dma_address < 0x800)
211      logerror("sprite_dma_start_w in I/O area: %X\n", m_video_dma_address);
232212
233WRITE32_MEMBER(seibuspi_state::video_dma_address_w)
234{
235   COMBINE_DATA( &m_video_dma_address );
213   memcpy(m_sprite_ram, &m_mainram[m_video_dma_address / 4], m_sprite_ram_size);
236214}
237215
216
217/*****************************************************************************/
218
238219void seibuspi_state::drawgfx_blend(bitmap_rgb32 &bitmap, const rectangle &cliprect, gfx_element *gfx, UINT32 code, UINT32 color, int flipx, int flipy, int sx, int sy)
239220{
240221   const pen_t *pens = &gfx->machine().pens[gfx->colorbase()];
r23898r23899
320301   dp = gfx->get_data(code);
321302
322303   // draw
323   for (j=y1; j <= y2; j++)
304   for (j = y1; j <= y2; j++)
324305   {
325306      UINT32 *p = &bitmap.pix32(j);
326307      UINT8 trans_pen = (1 << m_sprite_bpp) - 1;
327308      int dp_i = (py * width) + px;
328309      py += yd;
329310
330      for (i=x1; i <= x2; i++)
311      for (i = x1; i <= x2; i++)
331312      {
332313         UINT8 pen = dp[dp_i];
333314         if (pen != trans_pen)
r23898r23899
348329   }
349330}
350331
351static const int sprite_xtable[2][8] =
352{
353   { 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16 },
354   { 7*16, 6*16, 5*16, 4*16, 3*16, 2*16, 1*16, 0*16 }
355};
356static const int sprite_ytable[2][8] =
357{
358   { 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16 },
359   { 7*16, 6*16, 5*16, 4*16, 3*16, 2*16, 1*16, 0*16 }
360};
361
362332void seibuspi_state::draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cliprect, int pri_mask)
363333{
364334   INT16 xpos, ypos;
365335   int tile_num, color;
366336   int width, height;
367   int flip_x = 0, flip_y = 0;
368   int a;
337   int flip_x, flip_y;
369338   int priority;
370   int x,y, x1, y1;
339   int x1, y1;
371340   gfx_element *gfx = machine().gfx[2];
372341
373   if( m_layer_enable & 0x10 )
342   static const int sprite_xtable[2][8] =
343   {
344      { 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16 },
345      { 7*16, 6*16, 5*16, 4*16, 3*16, 2*16, 1*16, 0*16 }
346   };
347   static const int sprite_ytable[2][8] =
348   {
349      { 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16 },
350      { 7*16, 6*16, 5*16, 4*16, 3*16, 2*16, 1*16, 0*16 }
351   };
352
353   if (m_layer_enable & 0x10)
374354      return;
375355
376   for( a = (m_sprite_dma_length / 4) - 2; a >= 0; a -= 2 )
356   for (int a = m_sprite_ram_size / 4 - 2; a >= 0; a -= 2)
377357   {
378      tile_num = (m_sprite_ram[a + 0] >> 16) & 0xffff;
379      if( m_sprite_ram[a + 1] & 0x1000 )
380         tile_num |= 0x10000;
381
382      if( !tile_num )
358      /*
359         Word 0
360         xxxxxxxx xxxxxxxx -------- --------  tile_num low
361         -------- -------- x------- --------  flip_y
362         -------- -------- -xxx---- --------  height
363         -------- -------- ----x--- --------  flip_x
364         -------- -------- -----xxx --------  width
365         -------- -------- -------- xx------  priority
366         -------- -------- -------- --xxxxxx  color
367         
368         Word 1, unmarked bits have no function
369         -------x xxxxxxxx -------- --------  ypos
370         -------- -------- ---x---- --------  tile_num high (only on RISE10/11 chip)
371         -------- -------- ------xx xxxxxxxx  xpos
372      */
373      tile_num = (m_sprite_ram[a + 0] >> 16 & 0xffff) | (m_sprite_ram[a + 1] << 4 & 0x10000);
374      if (tile_num == 0)
383375         continue;
384376
385      priority = (m_sprite_ram[a + 0] >> 6) & 0x3;
386      if( pri_mask != priority )
377      priority = m_sprite_ram[a + 0] >> 6 & 0x3;
378      if (pri_mask != priority)
387379         continue;
388380
389381      xpos = m_sprite_ram[a + 1] & 0x3ff;
390      if( xpos & 0x200 )
382      if (xpos & 0x200)
391383         xpos |= 0xfc00;
392      ypos = (m_sprite_ram[a + 1] >> 16) & 0x1ff;
393      if( ypos & 0x100 )
384      ypos = m_sprite_ram[a + 1] >> 16 & 0x1ff;
385      if (ypos & 0x100)
394386         ypos |= 0xfe00;
395      color = (m_sprite_ram[a + 0] & 0x3f);
387      color = m_sprite_ram[a + 0] & 0x3f;
396388
397      width = ((m_sprite_ram[a + 0] >> 8) & 0x7) + 1;
398      height = ((m_sprite_ram[a + 0] >> 12) & 0x7) + 1;
399      flip_x = (m_sprite_ram[a + 0] >> 11) & 0x1;
400      flip_y = (m_sprite_ram[a + 0] >> 15) & 0x1;
389      width = (m_sprite_ram[a + 0] >> 8 & 0x7) + 1;
390      height = (m_sprite_ram[a + 0] >> 12 & 0x7) + 1;
391      flip_x = m_sprite_ram[a + 0] >> 11 & 0x1;
392      flip_y = m_sprite_ram[a + 0] >> 15 & 0x1;
401393      x1 = 0;
402394      y1 = 0;
403395
404      if( flip_x )
396      if (flip_x)
405397      {
406398         x1 = 8 - width;
407399         width = width + x1;
408400      }
409      if( flip_y )
401      if (flip_y)
410402      {
411403         y1 = 8 - height;
412404         height = height + y1;
413405      }
414406
415      for( x=x1; x < width; x++ )
407      for (int x = x1; x < width; x++)
416408      {
417         for( y=y1; y < height; y++ )
409         for (int y = y1; y < height; y++)
418410         {
419411            drawgfx_blend(bitmap, cliprect, gfx, tile_num, color, flip_x, flip_y, xpos + sprite_xtable[flip_x][x], ypos + sprite_ytable[flip_y][y]);
420412
421413            /* xpos seems to wrap-around to 0 at 512 */
422            if( (xpos + (16 * x) + 16) >= 512 )
414            if ((xpos + (16 * x) + 16) >= 512)
423415            {
424416               drawgfx_blend(bitmap, cliprect, gfx, tile_num, color, flip_x, flip_y, xpos - 512 + sprite_xtable[flip_x][x], ypos + sprite_ytable[flip_y][y]);
425417            }
r23898r23899
430422   }
431423}
432424
433TILE_GET_INFO_MEMBER(seibuspi_state::get_text_tile_info)
434{
435   int offs = tile_index / 2;
436   int tile = (m_tilemap_ram[offs + m_text_layer_offset] >> ((tile_index & 0x1) ? 16 : 0)) & 0xffff;
437   int color = (tile >> 12) & 0xf;
438
439   tile &= 0xfff;
440
441   SET_TILE_INFO_MEMBER(0, tile, color, 0);
442}
443
444TILE_GET_INFO_MEMBER(seibuspi_state::get_back_tile_info)
445{
446   int offs = tile_index / 2;
447   int tile = (m_tilemap_ram[offs] >> ((tile_index & 0x1) ? 16 : 0)) & 0xffff;
448   int color = (tile >> 13) & 0x7;
449
450   tile &= 0x1fff;
451
452   if( m_rf2_layer_bank[0] )
453      tile |= 0x4000;
454
455   SET_TILE_INFO_MEMBER(1, tile, color, 0);
456}
457
458TILE_GET_INFO_MEMBER(seibuspi_state::get_mid_tile_info)
459{
460   int offs = tile_index / 2;
461   int tile = (m_tilemap_ram[offs + m_mid_layer_offset] >> ((tile_index & 0x1) ? 16 : 0)) & 0xffff;
462   int color = (tile >> 13) & 0x7;
463
464   tile &= 0x1fff;
465   tile |= 0x2000;
466
467   if( m_rf2_layer_bank[1] )
468      tile |= 0x4000;
469
470   SET_TILE_INFO_MEMBER(1, tile, color + 16, 0);
471}
472
473TILE_GET_INFO_MEMBER(seibuspi_state::get_fore_tile_info)
474{
475   int offs = tile_index / 2;
476   int tile = (m_tilemap_ram[offs + m_fore_layer_offset] >> ((tile_index & 0x1) ? 16 : 0)) & 0xffff;
477   int color = (tile >> 13) & 0x7;
478
479   tile &= 0x1fff;
480   tile |= m_bg_fore_layer_position;
481
482   if( m_rf2_layer_bank[2] )
483      tile |= 0x4000;
484
485   tile |= ((m_layer_bank >> 27) & 0x1) << 13;
486
487   SET_TILE_INFO_MEMBER(1, tile, color + 8, 0);
488}
489
490VIDEO_START_MEMBER(seibuspi_state,spi)
491{
492   int i;
493   int region_length;
494
495   m_text_layer    = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(seibuspi_state::get_text_tile_info),this), TILEMAP_SCAN_ROWS,  8, 8, 64,32 );
496   m_back_layer    = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(seibuspi_state::get_back_tile_info),this), TILEMAP_SCAN_COLS,  16,16,32,32 );
497   m_mid_layer     = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(seibuspi_state::get_mid_tile_info), this), TILEMAP_SCAN_COLS,  16,16,32,32 );
498   m_fore_layer    = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(seibuspi_state::get_fore_tile_info),this), TILEMAP_SCAN_COLS,  16,16,32,32 );
499
500   m_text_layer->set_transparent_pen(31);
501   m_mid_layer->set_transparent_pen(63);
502   m_fore_layer->set_transparent_pen(63);
503
504   m_tilemap_ram = auto_alloc_array_clear(machine(), UINT32, 0x4000/4);
505   m_palette_ram = auto_alloc_array_clear(machine(), UINT32, 0x3000/4);
506   m_sprite_ram = auto_alloc_array_clear(machine(), UINT32, 0x1000/4);
507
508   m_sprite_bpp = 6;
509   m_sprite_dma_length = 0x1000;
510
511   for (i=0; i < 6144; i++)
512   {
513      palette_set_color(machine(), i, MAKE_RGB(0, 0, 0));
514   }
515
516   memset(m_alpha_table, 0, 6144 * sizeof(UINT8));
517
518   // sprites
519   //for (i = 1792; i < 1808; i++) { m_alpha_table[i] = 1; } // breaks rdft
520   for (i = 1840; i < 1856; i++) { m_alpha_table[i] = 1; }
521   for (i = 1920; i < 1952; i++) { m_alpha_table[i] = 1; }
522   //for (i = 1984; i < 2048; i++) { m_alpha_table[i] = 1; } // breaks batlball
523   //for (i = 3840; i < 3904; i++) { m_alpha_table[i] = 1; } // breaks rdft
524   for (i = 4032; i < 4096; i++) { m_alpha_table[i] = 1; }
525
526   // mid layer
527   for (i = 4960; i < 4992; i++) { m_alpha_table[i] = 1; } // breaks ejanhs
528   for (i = 5040; i < 5056; i++) { m_alpha_table[i] = 1; } // breaks ejanhs
529   for (i = 5104; i < 5120; i++) { m_alpha_table[i] = 1; }
530   // fore layer
531   for (i = 5552; i < 5568; i++) { m_alpha_table[i] = 1; } // breaks ejanhs
532   for (i = 5616; i < 5632; i++) { m_alpha_table[i] = 1; } // breaks ejanhs
533   // text layer
534   for (i = 6000; i < 6016; i++) { m_alpha_table[i] = 1; }
535   for (i = 6128; i < 6144; i++) { m_alpha_table[i] = 1; }
536
537   region_length = memregion("gfx2")->bytes();
538
539   if (region_length <= 0x300000)
540   {
541      m_bg_fore_layer_position = 0x2000;
542   }
543   else if (region_length <= 0x600000)
544   {
545      m_bg_fore_layer_position = 0x4000;
546   }
547   else
548   {
549      m_bg_fore_layer_position = 0x8000;
550   }
551}
552
553
554425void seibuspi_state::combine_tilemap(bitmap_rgb32 &bitmap, const rectangle &cliprect, tilemap_t *tile, int x, int y, int opaque, INT16 *rowscroll)
555426{
556   int i,j;
557427   UINT16 *s;
558428   UINT32 *d;
559429   UINT8 *t;
r23898r23899
564434   xscroll_mask = pen_bitmap.width() - 1;
565435   yscroll_mask = pen_bitmap.height() - 1;
566436
567   for (j=cliprect.min_y; j <= cliprect.max_y; j++)
437   for (int j = cliprect.min_y; j <= cliprect.max_y; j++)
568438   {
569439      int rx = x;
570440      if (rowscroll)
r23898r23899
575445      d = &bitmap.pix32(j);
576446      s = &pen_bitmap.pix16((j+y) & yscroll_mask);
577447      t = &flags_bitmap.pix8((j+y) & yscroll_mask);
578      for (i=cliprect.min_x+rx; i <= cliprect.max_x+rx; i++)
448      for (int i = cliprect.min_x+rx; i <= cliprect.max_x+rx; i++)
579449      {
580450         if (opaque || (t[i & xscroll_mask] & (TILEMAP_PIXEL_LAYER0 | TILEMAP_PIXEL_LAYER1)))
581451         {
r23898r23899
596466}
597467
598468
599
600469UINT32 seibuspi_state::screen_update_spi(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
601470{
602   INT16 *back_rowscroll, *mid_rowscroll, *fore_rowscroll;
603   if( m_layer_bank & 0x80000000 )
471   INT16 *back_rowscroll, *midl_rowscroll, *fore_rowscroll;
472   if (m_rowscroll_enable)
604473   {
605      back_rowscroll  = (INT16*)&m_tilemap_ram[0x200];
606      mid_rowscroll   = (INT16*)&m_tilemap_ram[0x600];
607      fore_rowscroll  = (INT16*)&m_tilemap_ram[0xa00];
474      back_rowscroll = (INT16*)&m_tilemap_ram[0x200];
475      midl_rowscroll = (INT16*)&m_tilemap_ram[0x600];
476      fore_rowscroll = (INT16*)&m_tilemap_ram[0xa00];
608477   }
609478   else
610479   {
611      back_rowscroll  = NULL;
612      mid_rowscroll   = NULL;
613      fore_rowscroll  = NULL;
480      back_rowscroll = NULL;
481      midl_rowscroll = NULL;
482      fore_rowscroll = NULL;
614483   }
615484
616   if( m_layer_enable & 0x1 )
485   m_back_layer->enable((m_layer_enable & 1) ? false : true);
486   m_midl_layer->enable((m_layer_enable & 2) ? false : true);
487   m_fore_layer->enable((m_layer_enable & 4) ? false : true);
488   m_text_layer->enable((m_layer_enable & 8) ? false : true);
489
490   if (m_layer_enable & 1)
617491      bitmap.fill(0, cliprect);
618492
619   if (!(m_layer_enable & 0x1))
493   if (~m_layer_enable & 1)
620494      combine_tilemap(bitmap, cliprect, m_back_layer, m_scrollram[0] & 0xffff, (m_scrollram[0] >> 16) & 0xffff, 1, back_rowscroll);
621495
622496   draw_sprites(bitmap, cliprect, 0);
623497
624   // if fore layer is enabled, draw priority 1 sprites behind mid layer
625   if (!(m_layer_enable & 0x4))
498   // if fore layer is enabled, draw priority 1 sprites behind middle layer
499   if (~m_layer_enable & 4)
626500      draw_sprites(bitmap, cliprect, 1);
627501
628   if (!(m_layer_enable & 0x2))
629      combine_tilemap(bitmap, cliprect, m_mid_layer, m_scrollram[1] & 0xffff, (m_scrollram[1] >> 16) & 0xffff, 0, mid_rowscroll);
502   if (~m_layer_enable & 2)
503      combine_tilemap(bitmap, cliprect, m_midl_layer, m_scrollram[1] & 0xffff, (m_scrollram[1] >> 16) & 0xffff, 0, midl_rowscroll);
630504
631   // if fore layer is disabled, draw priority 1 sprites above mid layer
632   if ((m_layer_enable & 0x4))
505   // if fore layer is disabled, draw priority 1 sprites above middle layer
506   if (m_layer_enable & 4)
633507      draw_sprites(bitmap, cliprect, 1);
634508
635509   draw_sprites(bitmap, cliprect, 2);
636510
637   if (!(m_layer_enable & 0x4))
511   if (~m_layer_enable & 4)
638512      combine_tilemap(bitmap, cliprect, m_fore_layer, m_scrollram[2] & 0xffff, (m_scrollram[2] >> 16) & 0xffff, 0, fore_rowscroll);
639513
640514   draw_sprites(bitmap, cliprect, 3);
641515
642   combine_tilemap(bitmap, cliprect, m_text_layer, 0, 0, 0, NULL);
516   if (~m_layer_enable & 8)
517      combine_tilemap(bitmap, cliprect, m_text_layer, 0, 0, 0, NULL);
518
643519   return 0;
644520}
645521
646VIDEO_START_MEMBER(seibuspi_state,sys386f)
522UINT32 seibuspi_state::screen_update_sys386f(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
647523{
648   int i;
524   bitmap.fill(0, cliprect);
649525
650   m_palette_ram = auto_alloc_array_clear(machine(), UINT32, 0x4000/4);
651   m_sprite_ram = auto_alloc_array_clear(machine(), UINT32, 0x2000/4);
526   draw_sprites(bitmap, cliprect, 0);
527   draw_sprites(bitmap, cliprect, 1);
528   draw_sprites(bitmap, cliprect, 2);
529   draw_sprites(bitmap, cliprect, 3);
652530
653   m_sprite_bpp = 8;
654   m_sprite_dma_length = 0x2000;
655   m_layer_enable = 0;
531   return 0;
532}
656533
657   for (i=0; i < 8192; i++)
534
535/*****************************************************************************/
536
537void seibuspi_state::palette_init()
538{
539   for (int i = 0; i < palette_get_num_colors(machine().palette); i++)
658540   {
659541      palette_set_color(machine(), i, MAKE_RGB(0, 0, 0));
542      m_alpha_table[i] = 0;
660543   }
544}
661545
662   memset(m_alpha_table, 0, 8192 * sizeof(UINT8));
546
547TILE_GET_INFO_MEMBER(seibuspi_state::get_text_tile_info)
548{
549   int offs = tile_index / 2;
550   int tile = (m_tilemap_ram[offs + m_text_layer_offset] >> ((tile_index & 0x1) ? 16 : 0)) & 0xffff;
551   int color = (tile >> 12) & 0xf;
552
553   tile &= 0xfff;
554
555   SET_TILE_INFO_MEMBER(0, tile, color, 0);
663556}
664557
665UINT32 seibuspi_state::screen_update_sys386f(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
558TILE_GET_INFO_MEMBER(seibuspi_state::get_back_tile_info)
666559{
667   bitmap.fill(0, cliprect);
668   draw_sprites(bitmap, cliprect, 0);
669   draw_sprites(bitmap, cliprect, 1);
670   draw_sprites(bitmap, cliprect, 2);
671   draw_sprites(bitmap, cliprect, 3);
672   return 0;
560   int offs = tile_index / 2;
561   int tile = (m_tilemap_ram[offs] >> ((tile_index & 0x1) ? 16 : 0)) & 0xffff;
562   int color = (tile >> 13) & 0x7;
563
564   tile &= 0x1fff;
565   tile |= m_rf2_layer_bank << 14 & 0x4000; // (d0)
566
567   SET_TILE_INFO_MEMBER(1, tile, color, 0);
673568}
569
570TILE_GET_INFO_MEMBER(seibuspi_state::get_midl_tile_info)
571{
572   int offs = tile_index / 2;
573   int tile = (m_tilemap_ram[offs + m_midl_layer_offset] >> ((tile_index & 0x1) ? 16 : 0)) & 0xffff;
574   int color = (tile >> 13) & 0x7;
575
576   tile &= 0x1fff;
577   tile |= 0x2000;
578   tile |= m_rf2_layer_bank << 13 & 0x4000; // (d1)
579
580   SET_TILE_INFO_MEMBER(1, tile, color + 16, 0);
581}
582
583TILE_GET_INFO_MEMBER(seibuspi_state::get_fore_tile_info)
584{
585   int offs = tile_index / 2;
586   int tile = (m_tilemap_ram[offs + m_fore_layer_offset] >> ((tile_index & 0x1) ? 16 : 0)) & 0xffff;
587   int color = (tile >> 13) & 0x7;
588
589   tile &= 0x1fff;
590   tile |= m_bg_fore_layer_position;
591   tile |= m_layer_bank >> 14 & 0x2000; // (d27)
592   tile |= m_rf2_layer_bank << 12 & 0x4000; // (d2)
593
594   SET_TILE_INFO_MEMBER(1, tile, color + 8, 0);
595}
596
597
598VIDEO_START_MEMBER(seibuspi_state,spi)
599{
600   int i;
601
602   m_video_dma_length = 0;
603   m_video_dma_address = 0;
604   m_layer_enable = 0;
605   m_layer_bank = 0;
606   m_rf2_layer_bank = 0;
607   set_layer_offsets();
608
609   UINT32 region_length = memregion("gfx2")->bytes();
610
611   if (region_length <= 0x300000)
612      m_bg_fore_layer_position = 0x2000;
613   else if (region_length <= 0x600000)
614      m_bg_fore_layer_position = 0x4000;
615   else
616      m_bg_fore_layer_position = 0x8000;
617
618   m_tilemap_ram_size = 0x4000;
619   m_palette_ram_size = 0x3000;
620   m_sprite_ram_size = 0x1000;
621   m_sprite_bpp = 6;
622   
623   m_tilemap_ram = auto_alloc_array_clear(machine(), UINT32, m_tilemap_ram_size/4);
624   m_palette_ram = auto_alloc_array_clear(machine(), UINT32, m_palette_ram_size/4);
625   m_sprite_ram = auto_alloc_array_clear(machine(), UINT32, m_sprite_ram_size/4);
626
627   m_text_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(seibuspi_state::get_text_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64,32);
628   m_back_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(seibuspi_state::get_back_tile_info),this), TILEMAP_SCAN_COLS, 16,16,32,32);
629   m_midl_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(seibuspi_state::get_midl_tile_info),this), TILEMAP_SCAN_COLS, 16,16,32,32);
630   m_fore_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(seibuspi_state::get_fore_tile_info),this), TILEMAP_SCAN_COLS, 16,16,32,32);
631
632   m_text_layer->set_transparent_pen(31);
633   m_midl_layer->set_transparent_pen(63);
634   m_fore_layer->set_transparent_pen(63);
635
636   // sprites
637   //for (i = 1792; i < 1808; i++) { m_alpha_table[i] = 1; } // breaks rdft
638   for (i = 1840; i < 1856; i++) { m_alpha_table[i] = 1; }
639   for (i = 1920; i < 1952; i++) { m_alpha_table[i] = 1; }
640   //for (i = 1984; i < 2048; i++) { m_alpha_table[i] = 1; } // breaks batlball
641   //for (i = 3840; i < 3904; i++) { m_alpha_table[i] = 1; } // breaks rdft
642   for (i = 4032; i < 4096; i++) { m_alpha_table[i] = 1; }
643
644   // middle layer
645   for (i = 4960; i < 4992; i++) { m_alpha_table[i] = 1; } // breaks ejanhs
646   for (i = 5040; i < 5056; i++) { m_alpha_table[i] = 1; } // breaks ejanhs
647   for (i = 5104; i < 5120; i++) { m_alpha_table[i] = 1; }
648   // fore layer
649   for (i = 5552; i < 5568; i++) { m_alpha_table[i] = 1; } // breaks ejanhs
650   for (i = 5616; i < 5632; i++) { m_alpha_table[i] = 1; } // breaks ejanhs
651   // text layer
652   for (i = 6000; i < 6016; i++) { m_alpha_table[i] = 1; }
653   for (i = 6128; i < 6144; i++) { m_alpha_table[i] = 1; }
654   
655   register_video_state();
656}
657
658VIDEO_START_MEMBER(seibuspi_state,sys386f)
659{
660   m_video_dma_length = 0;
661   m_video_dma_address = 0;
662   m_layer_enable = 0;
663   m_layer_bank = 0;
664   m_rf2_layer_bank = 0;
665
666   m_tilemap_ram_size = 0;
667   m_palette_ram_size = 0x4000;
668   m_sprite_ram_size = 0x2000;
669   m_sprite_bpp = 8;
670   
671   m_tilemap_ram = NULL;
672   m_palette_ram = auto_alloc_array_clear(machine(), UINT32, m_palette_ram_size/4);
673   m_sprite_ram = auto_alloc_array_clear(machine(), UINT32, m_sprite_ram_size/4);
674   
675   register_video_state();
676}
677
678void seibuspi_state::register_video_state()
679{
680   save_item(NAME(m_video_dma_length));
681   save_item(NAME(m_video_dma_address));
682   save_item(NAME(m_layer_enable));
683   save_item(NAME(m_layer_bank));
684   save_item(NAME(m_rf2_layer_bank));
685   save_item(NAME(m_rowscroll_enable));
686   save_item(NAME(m_midl_layer_offset));
687   save_item(NAME(m_fore_layer_offset));
688   save_item(NAME(m_text_layer_offset));
689   
690   if (m_tilemap_ram != NULL) save_pointer(NAME(m_tilemap_ram), m_tilemap_ram_size/4);
691   save_pointer(NAME(m_palette_ram), m_palette_ram_size/4);
692   save_pointer(NAME(m_sprite_ram), m_sprite_ram_size/4);
693}
trunk/src/mame/includes/seibuspi.h
r23898r23899
1/***************************************************************************
1/******************************************************************************
22
33    Seibu SPI hardware
44
5***************************************************************************/
5******************************************************************************/
66
77#include "machine/intelfsh.h"
88#include "machine/eeprom.h"
r23898r23899
4747   UINT8 m_ejsakura_input_port;
4848   tilemap_t *m_text_layer;
4949   tilemap_t *m_back_layer;
50   tilemap_t *m_mid_layer;
50   tilemap_t *m_midl_layer;
5151   tilemap_t *m_fore_layer;
52   UINT32 m_layer_bank;
53   UINT32 m_layer_enable;
5452   UINT32 m_video_dma_length;
5553   UINT32 m_video_dma_address;
56   UINT32 m_sprite_dma_length;
57   int m_rf2_layer_bank[3];
54   UINT32 m_layer_enable;
55   UINT32 m_layer_bank;
56   int m_rf2_layer_bank;
57   int m_rowscroll_enable;
58   int m_midl_layer_offset;
59   int m_fore_layer_offset;
60   int m_text_layer_offset;
5861   UINT32 *m_tilemap_ram;
5962   UINT32 *m_palette_ram;
6063   UINT32 *m_sprite_ram;
61   int m_mid_layer_offset;
62   int m_fore_layer_offset;
63   int m_text_layer_offset;
64   UINT32 m_tilemap_ram_size;
65   UINT32 m_palette_ram_size;
66   UINT32 m_sprite_ram_size;
6467   UINT32 m_bg_fore_layer_position;
6568   UINT8 m_alpha_table[8192];
66   UINT8 m_sprite_bpp;
69   int m_sprite_bpp;
6770
68   DECLARE_READ32_MEMBER(ejanhs_speedup_r);
6971   DECLARE_READ32_MEMBER(spi_layer_bank_r);
7072   DECLARE_WRITE32_MEMBER(spi_layer_bank_w);
7173   DECLARE_READ32_MEMBER(spi_layer_enable_r);
r23898r23899
7375   DECLARE_WRITE8_MEMBER(spi_set_layer_banks_w);
7476   DECLARE_WRITE32_MEMBER(tilemap_dma_start_w);
7577   DECLARE_WRITE32_MEMBER(palette_dma_start_w);
76   DECLARE_WRITE32_MEMBER(sprite_dma_start_w);
78   DECLARE_WRITE16_MEMBER(sprite_dma_start_w);
7779   DECLARE_WRITE32_MEMBER(video_dma_length_w);
7880   DECLARE_WRITE32_MEMBER(video_dma_address_w);
79   DECLARE_READ32_MEMBER(ejsakura_keyboard_r);
80   DECLARE_CUSTOM_INPUT_MEMBER(ejanhs_encode);
81   DECLARE_READ8_MEMBER(spi_status_r);
8182   DECLARE_READ8_MEMBER(sb_coin_r);
8283   DECLARE_WRITE8_MEMBER(spi_coin_w);
8384   DECLARE_READ8_MEMBER(sound_fifo_status_r);
84   DECLARE_READ8_MEMBER(spi_int_r);
85   DECLARE_READ32_MEMBER(spi_nop_r);
8685   DECLARE_WRITE8_MEMBER(z80_prg_transfer_w);
8786   DECLARE_WRITE8_MEMBER(z80_enable_w);
8887   DECLARE_READ8_MEMBER(z80_soundfifo_status_r);
8988   DECLARE_WRITE8_MEMBER(z80_bank_w);
89   DECLARE_READ32_MEMBER(ejsakura_keyboard_r);
9090   DECLARE_WRITE32_MEMBER(ejsakura_input_select_w);
91   DECLARE_WRITE8_MEMBER(eeprom_w);
92   DECLARE_WRITE8_MEMBER(spi_layerbanks_eeprom_w);
93   DECLARE_WRITE8_MEMBER(oki_bank_w);
94   DECLARE_READ8_MEMBER(flashrom_read);
95   DECLARE_WRITE8_MEMBER(flashrom_write);
96
97   DECLARE_READ32_MEMBER(ejanhs_speedup_r);
9198   DECLARE_READ32_MEMBER(senkyu_speedup_r);
9299   DECLARE_READ32_MEMBER(senkyua_speedup_r);
93100   DECLARE_READ32_MEMBER(batlball_speedup_r);
r23898r23899
96103   DECLARE_READ32_MEMBER(viprp1o_speedup_r);
97104   DECLARE_READ32_MEMBER(rf2_speedup_r);
98105   DECLARE_READ32_MEMBER(rfjet_speedup_r);
99   DECLARE_WRITE8_MEMBER(eeprom_w);
100   DECLARE_WRITE8_MEMBER(spi_layerbanks_eeprom_w);
101   DECLARE_WRITE8_MEMBER(oki_bank_w);
102   DECLARE_READ8_MEMBER(flashrom_read);
103   DECLARE_WRITE8_MEMBER(flashrom_write);
106
107   DECLARE_CUSTOM_INPUT_MEMBER(ejanhs_encode);
108
109   DECLARE_WRITE_LINE_MEMBER(ymf_irqhandler);
110   IRQ_CALLBACK_MEMBER(spi_irq_callback);
111   INTERRUPT_GEN_MEMBER(spi_interrupt);
112
113   void set_layer_offsets();
114   void drawgfx_blend(bitmap_rgb32 &bitmap, const rectangle &cliprect, gfx_element *gfx, UINT32 code, UINT32 color, int flipx, int flipy, int sx, int sy);
115   void draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cliprect, int pri_mask);
116   void set_rowscroll(tilemap_t *layer, int scroll, INT16* rows);
117   void set_scroll(tilemap_t *layer, int scroll);
118   void combine_tilemap(bitmap_rgb32 &bitmap, const rectangle &cliprect, tilemap_t *tile, int x, int y, int opaque, INT16 *rowscroll);
119
120   virtual void palette_init();
121   virtual void machine_start();
122   DECLARE_MACHINE_RESET(spi);
123   DECLARE_MACHINE_RESET(sxx2e);
124   DECLARE_VIDEO_START(spi);
125   DECLARE_VIDEO_START(sys386f);
126   TILE_GET_INFO_MEMBER(get_text_tile_info);
127   TILE_GET_INFO_MEMBER(get_back_tile_info);
128   TILE_GET_INFO_MEMBER(get_midl_tile_info);
129   TILE_GET_INFO_MEMBER(get_fore_tile_info);
130   UINT32 screen_update_spi(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
131   UINT32 screen_update_sys386f(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
132
133   void register_video_state();
134   void init_spi_common();
135   void init_sei252();
136   void init_rise10();
137   void init_rise11();
104138   DECLARE_DRIVER_INIT(batlball);
105139   DECLARE_DRIVER_INIT(senkyu);
106140   DECLARE_DRIVER_INIT(viprp1);
r23898r23899
111145   DECLARE_DRIVER_INIT(rdft2);
112146   DECLARE_DRIVER_INIT(ejanhs);
113147   DECLARE_DRIVER_INIT(sys386f);
114   TILE_GET_INFO_MEMBER(get_text_tile_info);
115   TILE_GET_INFO_MEMBER(get_back_tile_info);
116   TILE_GET_INFO_MEMBER(get_mid_tile_info);
117   TILE_GET_INFO_MEMBER(get_fore_tile_info);
118   DECLARE_MACHINE_START(spi);
119   DECLARE_MACHINE_RESET(spi);
120   DECLARE_VIDEO_START(spi);
121   DECLARE_VIDEO_START(sys386f);
122   DECLARE_MACHINE_RESET(sxx2e);
123   UINT32 screen_update_spi(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
124   UINT32 screen_update_sys386f(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
125   INTERRUPT_GEN_MEMBER(spi_interrupt);
126   IRQ_CALLBACK_MEMBER(spi_irq_callback);
127   DECLARE_WRITE_LINE_MEMBER(ymf_irqhandler);
128   void drawgfx_blend(bitmap_rgb32 &bitmap, const rectangle &cliprect, gfx_element *gfx, UINT32 code, UINT32 color, int flipx, int flipy, int sx, int sy);
129   void draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cliprect, int pri_mask);
130   void set_rowscroll(tilemap_t *layer, int scroll, INT16* rows);
131   void set_scroll(tilemap_t *layer, int scroll);
132   void combine_tilemap(bitmap_rgb32 &bitmap, const rectangle &cliprect, tilemap_t *tile, int x, int y, int opaque, INT16 *rowscroll);
133   void init_spi_common();
134   void init_sei252();
135   void init_rise10();
136   void init_rise11();
137148};
138149
139150/*----------- defined in machine/spisprit.c -----------*/
trunk/src/mame/drivers/seibuspi.c
r23898r23899
5353  "push 1 or 2 players button" screen. Note that the alpha blended red logo on the
5454  title screen is tiles(that effect is emulated), this blue logo is sprites.
5555  The current implementation is a crude hack.
56- not sure if sprite priorities are completely right
5657
5758*/
5859
r23898r23899
852853#define ENABLE_SPEEDUP_HACKS 1 /* speed up at idle loops */
853854
854855
855/********************************************************************/
856/*****************************************************************************/
856857
857858READ8_MEMBER(seibuspi_state::sound_fifo_status_r)
858859{
859   // d0: ?
860   // d1: fifo empty flag
860   // d0: fifo full flag (z80)
861   // d1: fifo empty flag (main)
861862   // other bits: unused?
862   return (~m_soundfifo2->ef_r() << 1 & 0x02) | 0x01;
863   int d1 = (m_soundfifo2 != NULL) ? ~m_soundfifo2->ef_r() << 1 & 0x02 : 0;
864   return d1 | (~m_soundfifo1->ff_r() & 0x01);
863865}
864866
865READ8_MEMBER(seibuspi_state::spi_int_r)
867READ8_MEMBER(seibuspi_state::spi_status_r)
866868{
867   m_maincpu->set_input_line(0, CLEAR_LINE);
868   return 0xff;
869   // d0: unknown status
870   // other bits: unused?
871   return 0x01;
869872}
870873
871READ32_MEMBER(seibuspi_state::spi_nop_r)
872{
873   // use this if return val must be high
874   return 0xffffffff;
875}
876
877874WRITE8_MEMBER(seibuspi_state::eeprom_w)
878875{
879876   m_eeprom->write_bit((data & 0x80) ? 1 : 0);
r23898r23899
906903
907904WRITE8_MEMBER(seibuspi_state::z80_enable_w)
908905{
909   if (data & 1)
910   {
911      m_z80_prg_transfer_pos = 0;
912      m_audiocpu->set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
913   }
914   else
915   {
916      m_audiocpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
917   }
906   // d0: reset z80
907   // other bits: unused
908   m_z80_prg_transfer_pos = 0;
909   m_audiocpu->set_input_line(INPUT_LINE_RESET, (data & 0x01) ? CLEAR_LINE : ASSERT_LINE);
918910}
919911
920912READ8_MEMBER(seibuspi_state::sb_coin_r)
r23898r23899
954946static ADDRESS_MAP_START( base_map, AS_PROGRAM, 32, seibuspi_state )
955947//  AM_RANGE(0x00000104, 0x00000107) AM_WRITENOP // ?
956948//  AM_RANGE(0x00000108, 0x0000010b) AM_WRITENOP // ?
957   AM_RANGE(0x00000000, 0x000003ff) AM_RAM
958949   AM_RANGE(0x00000414, 0x00000417) AM_WRITENOP // bg gfx decryption key, see machine/seibuspi.c
959950   AM_RANGE(0x00000418, 0x0000041b) AM_READWRITE(spi_layer_bank_r, spi_layer_bank_w)
960   AM_RANGE(0x0000041c, 0x0000041f) AM_READNOP
961951   AM_RANGE(0x0000041c, 0x0000041f) AM_WRITE(spi_layer_enable_w)
962952   AM_RANGE(0x00000420, 0x0000042b) AM_RAM AM_SHARE("scrollram")
963953   AM_RANGE(0x00000480, 0x00000483) AM_WRITE(tilemap_dma_start_w)
964954   AM_RANGE(0x00000484, 0x00000487) AM_WRITE(palette_dma_start_w)
965955   AM_RANGE(0x00000490, 0x00000493) AM_WRITE(video_dma_length_w)
966956   AM_RANGE(0x00000494, 0x00000497) AM_WRITE(video_dma_address_w)
967   AM_RANGE(0x00000498, 0x0000049b) AM_WRITENOP // ?
968   AM_RANGE(0x0000050c, 0x0000050f) AM_WRITE(sprite_dma_start_w)
957   AM_RANGE(0x00000498, 0x0000049b) AM_WRITENOP // ? dma address high bits? (always writes 0)
958   AM_RANGE(0x0000050c, 0x0000050f) AM_WRITE16(sprite_dma_start_w, 0xffff0000)
969959   AM_RANGE(0x00000524, 0x00000527) AM_WRITENOP // SEI252 sprite decryption key, see machine/spisprit.c
970960   AM_RANGE(0x00000530, 0x00000533) AM_WRITENOP // SEI252 sprite decryption table key, see machine/spisprit.c
971961   AM_RANGE(0x0000053c, 0x0000053f) AM_WRITENOP // SEI252 sprite decryption table index, see machine/spisprit.c
972962   AM_RANGE(0x0000054c, 0x0000054f) AM_WRITENOP // RISE10/11 sprite decryption key, see machine/seibuspi.c
973   AM_RANGE(0x00000560, 0x00000563) AM_WRITE(sprite_dma_start_w)
974   AM_RANGE(0x00000600, 0x00000603) AM_READ8(spi_int_r, 0x000000ff)
963   AM_RANGE(0x00000560, 0x00000563) AM_WRITE16(sprite_dma_start_w, 0xffff0000)
964   AM_RANGE(0x00000600, 0x00000603) AM_READ8(spi_status_r, 0x000000ff)
975965   AM_RANGE(0x00000600, 0x00000603) AM_WRITENOP // ?
976966   AM_RANGE(0x00000604, 0x00000607) AM_READ_PORT("INPUTS")
977967   AM_RANGE(0x00000608, 0x0000060b) AM_READ_PORT("UNKNOWN")
978968   AM_RANGE(0x0000060c, 0x0000060f) AM_READ_PORT("SYSTEM")
979969   AM_RANGE(0x00000684, 0x00000687) AM_WRITENOP // ?
980   AM_RANGE(0x00000688, 0x0000068b) AM_READNOP // ?
981   AM_RANGE(0x0000068c, 0x0000068f) AM_WRITE8(spi_set_layer_banks_w, 0x00ff0000)
970   AM_RANGE(0x00000688, 0x0000068b) AM_NOP // ?
982971   AM_RANGE(0x00000690, 0x00000693) AM_WRITENOP // ?
983   AM_RANGE(0x00000800, 0x0003ffff) AM_RAM AM_SHARE("mainram")
972   AM_RANGE(0x00000400, 0x000007ff) AM_UNMAP
973   AM_RANGE(0x00000000, 0x0003ffff) AM_RAM AM_SHARE("mainram")
984974   AM_RANGE(0x00200000, 0x003fffff) AM_ROM AM_SHARE("share1")
985975   AM_RANGE(0xffe00000, 0xffffffff) AM_ROM AM_REGION("maincpu", 0) AM_SHARE("share1") // ROM location in real-mode
986976ADDRESS_MAP_END
r23898r23899
1003993static ADDRESS_MAP_START( sxx2e_map, AS_PROGRAM, 32, seibuspi_state )
1004994   AM_RANGE(0x00000680, 0x00000683) AM_READ8(sb_coin_r, 0x000000ff)
1005995   AM_RANGE(0x00000680, 0x00000683) AM_DEVWRITE8("soundfifo1", fifo7200_device, data_byte_w, 0x000000ff)
1006   AM_RANGE(0x00000684, 0x00000687) AM_READ(spi_nop_r) // ?
1007   AM_RANGE(0x00000688, 0x0000068b) AM_WRITENOP // ?
996   AM_RANGE(0x00000684, 0x00000687) AM_READ8(sound_fifo_status_r, 0x000000ff)
1008997   AM_RANGE(0x000006d0, 0x000006d3) AM_DEVWRITE8("ds2404", ds2404_device, ds2404_1w_reset_w, 0x000000ff)
1009998   AM_RANGE(0x000006d4, 0x000006d7) AM_DEVWRITE8("ds2404", ds2404_device, ds2404_data_w, 0x000000ff)
1010999   AM_RANGE(0x000006d8, 0x000006db) AM_DEVWRITE8("ds2404", ds2404_device, ds2404_clk_w, 0x000000ff)
r23898r23899
10151004static ADDRESS_MAP_START( sxx2f_map, AS_PROGRAM, 32, seibuspi_state )
10161005   AM_RANGE(0x00000680, 0x00000683) AM_READ8(sb_coin_r, 0x000000ff)
10171006   AM_RANGE(0x00000680, 0x00000683) AM_DEVWRITE8("soundfifo1", fifo7200_device, data_byte_w, 0x000000ff)
1018   AM_RANGE(0x00000684, 0x00000687) AM_READ(spi_nop_r) // ?
1019   AM_RANGE(0x00000688, 0x0000068b) AM_WRITENOP // ?
1007   AM_RANGE(0x00000684, 0x00000687) AM_READ8(sound_fifo_status_r, 0x000000ff)
10201008   AM_RANGE(0x0000068c, 0x0000068f) AM_WRITE8(spi_layerbanks_eeprom_w, 0x00ff0000)
10211009   AM_IMPORT_FROM( base_map )
10221010ADDRESS_MAP_END
r23898r23899
10301018ADDRESS_MAP_END
10311019
10321020static ADDRESS_MAP_START( sys386f_map, AS_PROGRAM, 32, seibuspi_state )
1033   AM_RANGE(0x00000010, 0x00000013) AM_READ8(spi_int_r, 0x000000ff)
10341021   AM_RANGE(0x00000400, 0x00000403) AM_WRITE(ejsakura_input_select_w)
10351022   AM_RANGE(0x00000404, 0x00000407) AM_WRITE8(eeprom_w, 0x000000ff)
10361023   AM_RANGE(0x00000408, 0x0000040f) AM_DEVWRITE8("ymz", ymz280b_device, write, 0x000000ff)
r23898r23899
10401027ADDRESS_MAP_END
10411028
10421029
1043/********************************************************************/
1030/*****************************************************************************/
10441031
10451032READ8_MEMBER(seibuspi_state::z80_soundfifo_status_r)
10461033{
1047   // d0: ?
1048   // d1: fifo empty flag
1034   // d0: fifo full flag (main)
1035   // d1: fifo empty flag (z80)
10491036   // other bits: unused?
1050   return (~m_soundfifo1->ef_r() << 1 & 0x02) | 0x01;
1037   int d0 = (m_soundfifo2 != NULL) ? ~m_soundfifo2->ff_r() & 0x01 : 0;
1038   return d0 | (~m_soundfifo1->ef_r() << 1 & 0x02);
10511039}
10521040
10531041WRITE8_MEMBER(seibuspi_state::z80_bank_w)
r23898r23899
11001088ADDRESS_MAP_END
11011089
11021090
1103/********************************************************************/
1091/*****************************************************************************/
11041092
11051093READ8_MEMBER(seibuspi_state::flashrom_read)
11061094{
r23898r23899
11631151}
11641152
11651153
1166/********************************************************************/
1154/*****************************************************************************/
11671155
11681156static INPUT_PORTS_START( sxx2e )
11691157   PORT_START("INPUTS")
r23898r23899
11901178   PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_START2 )
11911179   PORT_SERVICE_NO_TOGGLE( 0x00000004, IP_ACTIVE_LOW)
11921180   PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_SERVICE )
1193   PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_UNUSED )
1194   PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_UNUSED )
1181   PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_UNKNOWN )
1182   PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_UNKNOWN )
11951183   PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_UNUSED )
11961184   PORT_BIT( 0x00000080, IP_ACTIVE_LOW, IPT_UNUSED )
11971185   PORT_BIT( 0xffffff00, IP_ACTIVE_LOW, IPT_UNUSED )
r23898r23899
12101198   PORT_INCLUDE( sxx2e )
12111199
12121200   PORT_START("JP1")
1213   PORT_DIPNAME( 0x03, 0x03, "JP1" )
1214   PORT_DIPSETTING(    0x03, "Update" )
1215   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
1216   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1201   PORT_CONFNAME( 0x03, 0x03, "JP1" )
1202   PORT_CONFSETTING(    0x03, "Update" )
1203   PORT_CONFSETTING(    0x01, DEF_STR( Off ) )
1204   PORT_CONFSETTING(    0x00, DEF_STR( On ) )
12171205   PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED )
12181206INPUT_PORTS_END
12191207
r23898r23899
12671255   PORT_BIT( 0xffffffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
12681256
12691257   PORT_START("JP1")
1270   PORT_DIPNAME( 0x03, 0x03, "JP1" )
1271   PORT_DIPSETTING(    0x03, "Update"  )
1272   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
1273   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1258   PORT_CONFNAME( 0x03, 0x03, "JP1" )
1259   PORT_CONFSETTING(    0x03, "Update" )
1260   PORT_CONFSETTING(    0x01, DEF_STR( Off ) )
1261   PORT_CONFSETTING(    0x00, DEF_STR( On ) )
12741262   PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED )
12751263
12761264   PORT_START("COIN")
r23898r23899
13641352INPUT_PORTS_END
13651353
13661354
1367/********************************************************************/
1355/*****************************************************************************/
13681356
13691357#define PLANE_CHAR 0
13701358#define PLANE_TILE 0
r23898r23899
17351723   GFXDECODE_ENTRY( "gfx3", 0, sys386f_spritelayout,       0, 96 )
17361724GFXDECODE_END
17371725
1738/********************************************************************************/
17391726
1727/*****************************************************************************/
1728
17401729/* this is a 93C46 but with reset delay */
17411730static const eeprom_interface eeprom_intf =
17421731{
r23898r23899
17531742
17541743INTERRUPT_GEN_MEMBER(seibuspi_state::spi_interrupt)
17551744{
1756   device.execute().set_input_line(0, ASSERT_LINE );
1745   device.execute().set_input_line(0, HOLD_LINE); // where is ack?
17571746}
17581747
17591748IRQ_CALLBACK_MEMBER(seibuspi_state::spi_irq_callback)
r23898r23899
17671756void seibuspi_state::init_spi_common()
17681757{
17691758   if (m_z80_rom != NULL)
1770      membank("bank1")->configure_entries(0, 7, m_z80_rom->base(), 0x8000);
1759      membank("bank1")->configure_entries(0, 8, m_z80_rom->base(), 0x8000);
17711760}
17721761
17731762void seibuspi_state::init_sei252()
r23898r23899
17951784}
17961785
17971786
1798MACHINE_START_MEMBER(seibuspi_state,spi)
1787void seibuspi_state::machine_start()
17991788{
18001789   m_maincpu->set_irq_acknowledge_callback(device_irq_acknowledge_delegate(FUNC(seibuspi_state::spi_irq_callback),this));
18011790
18021791   // use this to determine the region code when adding a new SPI cartridge clone set
18031792   logerror("Game region code: %02X\n", memregion("maincpu")->base()[0x1ffffc]);
1793   
1794   // savestates
1795   save_item(NAME(m_z80_prg_transfer_pos));
1796   save_item(NAME(m_z80_lastbank));
1797   save_item(NAME(m_sb_coin_latch));
1798   save_item(NAME(m_ejsakura_input_port));
1799   if (m_z80_rom != NULL) save_pointer(NAME(m_z80_rom->base()), m_z80_rom->bytes());
18041800}
18051801
18061802MACHINE_RESET_MEMBER(seibuspi_state,spi)
r23898r23899
18241820
18251821   MCFG_QUANTUM_TIME(attotime::from_hz(12000))
18261822
1827   MCFG_MACHINE_START_OVERRIDE(seibuspi_state, spi)
18281823   MCFG_MACHINE_RESET_OVERRIDE(seibuspi_state, spi)
18291824
18301825   MCFG_DS2404_ADD("ds2404", 1995, 1, 1)
r23898r23899
18791874   MCFG_CPU_MODIFY("audiocpu")
18801875   MCFG_CPU_PROGRAM_MAP(sxx2e_soundmap)
18811876
1882   MCFG_MACHINE_START_OVERRIDE(seibuspi_state, spi)
18831877   MCFG_MACHINE_RESET_OVERRIDE(seibuspi_state, sxx2e)
18841878
18851879   MCFG_DEVICE_REMOVE("soundflash1")
r23898r23899
19361930   MCFG_CPU_PROGRAM_MAP(sys386i_map)
19371931   MCFG_CPU_VBLANK_INT_DRIVER("screen", seibuspi_state, spi_interrupt)
19381932
1939   MCFG_MACHINE_START_OVERRIDE(seibuspi_state, spi)
1940
19411933   MCFG_EEPROM_ADD("eeprom", eeprom_intf)
19421934
19431935   /* video hardware */
r23898r23899
19921984   MCFG_CPU_PROGRAM_MAP(sys386f_map)
19931985   MCFG_CPU_VBLANK_INT_DRIVER("screen", seibuspi_state, spi_interrupt)
19941986
1995   MCFG_MACHINE_START_OVERRIDE(seibuspi_state, spi)
1996
19971987   MCFG_EEPROM_ADD("eeprom", eeprom_intf)
19981988
19991989   /* video hardware */
r23898r23899
20182008MACHINE_CONFIG_END
20192009
20202010
2021/*******************************************************************/
2011/*****************************************************************************/
20222012
20232013DRIVER_INIT_MEMBER(seibuspi_state,senkyu)
20242014{
r23898r23899
20802070{
20812071   if (space.device().safe_pc()==0x00305bb2) space.device().execute().spin_until_interrupt(); // idle
20822072
2083   return m_mainram[(0x0018cb4-0x800)/4];
2073   return m_mainram[0x0018cb4/4];
20842074}
20852075
20862076READ32_MEMBER(seibuspi_state::senkyua_speedup_r)
20872077{
20882078   if (space.device().safe_pc()== 0x30582e) space.device().execute().spin_until_interrupt(); // idle
20892079
2090   return m_mainram[(0x0018c9c-0x800)/4];
2080   return m_mainram[0x0018c9c/4];
20912081}
20922082
20932083READ32_MEMBER(seibuspi_state::batlball_speedup_r)
r23898r23899
21002090   /* batlball */
21012091   if (space.device().safe_pc()==0x003058aa) space.device().execute().spin_until_interrupt(); // idle
21022092
2103   return m_mainram[(0x0018db4-0x800)/4];
2093   return m_mainram[0x0018db4/4];
21042094}
21052095
21062096READ32_MEMBER(seibuspi_state::viprp1_speedup_r)
r23898r23899
21162106
21172107//  mame_printf_debug("%08x\n",space.device().safe_pc());
21182108
2119   return m_mainram[(0x001e2e0-0x800)/4];
2109   return m_mainram[0x001e2e0/4];
21202110}
21212111
21222112READ32_MEMBER(seibuspi_state::viprp1o_speedup_r)
r23898r23899
21242114   /* viperp1o */
21252115   if (space.device().safe_pc()==0x0201f99) space.device().execute().spin_until_interrupt(); // idle
21262116//  mame_printf_debug("%08x\n",space.device().safe_pc());
2127   return m_mainram[(0x001d49c-0x800)/4];
2117   return m_mainram[0x001d49c/4];
21282118}
21292119
21302120#ifdef UNUSED_FUNCTION
r23898r23899
21332123{
21342124// mame_printf_debug("%08x\n",space.device().safe_pc());
21352125   if (space.device().safe_pc()==0x03032c7) space.device().execute().spin_until_interrupt(); // idle
2136   return m_mainram[(0x002d224-0x800)/4];
2126   return m_mainram[0x002d224/4];
21372127}
21382128#endif
21392129
r23898r23899
21562146
21572147//  mame_printf_debug("%08x\n",space.device().safe_pc());
21582148
2159   return m_mainram[(0x00298d0-0x800)/4];
2149   return m_mainram[0x00298d0/4];
21602150}
21612151
21622152READ32_MEMBER(seibuspi_state::rf2_speedup_r)
r23898r23899
21752165
21762166//  mame_printf_debug("%08x\n",space.device().safe_pc());
21772167
2178   return m_mainram[(0x0282ac-0x800)/4];
2168   return m_mainram[0x0282ac/4];
21792169}
21802170
21812171READ32_MEMBER(seibuspi_state::rfjet_speedup_r)
r23898r23899
21892179      UINT32 r;
21902180      space.device().execute().spin_until_interrupt(); // idle
21912181      // Hack to enter test mode
2192      r = m_mainram[(0x002894c-0x800)/4] & (~0x400);
2182      r = m_mainram[0x002894c/4] & (~0x400);
21932183      return r | (((ioport("SYSTEM")->read() ^ 0xff)<<8) & 0x400);
21942184   }
21952185
r23898r23899
21982188
21992189//  mame_printf_debug("%08x\n",space.device().safe_pc());
22002190
2201   return m_mainram[(0x002894c-0x800)/4];
2191   return m_mainram[0x002894c/4];
22022192}
22032193
22042194
2205/*******************************************************************/
2195/*****************************************************************************/
22062196
22072197#define ROM_LOAD24_BYTE(name,offset,length,hash)        ROMX_LOAD(name, offset, length, hash, ROM_SKIP(2))
22082198#define ROM_LOAD24_WORD(name,offset,length,hash)        ROMX_LOAD(name, offset, length, hash, ROM_GROUPWORD | ROM_SKIP(1) | ROM_REVERSE)
r23898r23899
22112201/* SPI games */
22122202
22132203ROM_START( senkyu )
2214   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
2204   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
22152205   ROM_LOAD32_BYTE("fb_1.211", 0x100000, 0x40000, CRC(20a3e5db) SHA1(f1109aeceac7993abc9093d09429718ffc292c77) )
22162206   ROM_LOAD32_BYTE("fb_2.212", 0x100001, 0x40000, CRC(38e90619) SHA1(451ab5f4a5935bb779f9c245c1c4358e80d93c15) )
22172207   ROM_LOAD32_BYTE("fb_3.210", 0x100002, 0x40000, CRC(226f0429) SHA1(69d0fe6671278d7fe215e455bb50abf631cdb484) )
r23898r23899
22192209
22202210   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
22212211
2222   ROM_REGION( 0x30000, "gfx1", 0 )
2212   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
22232213   ROM_LOAD24_WORD("fb_6.413", 0x000000, 0x20000, CRC(b57115c9) SHA1(eb95f416f522032ca949bfb6348f1ff824101f2d) )
22242214   ROM_LOAD24_BYTE("fb_5.48",  0x000002, 0x10000, CRC(440a9ae3) SHA1(3f57e6da91f0dac2d816c873759f1e1d3259caf1) )
22252215
2226   ROM_REGION( 0x300000, "gfx2", 0 )    /* background layer roms */
2216   ROM_REGION( 0x300000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
22272217   ROM_LOAD24_WORD("fb_bg-1d.415", 0x000000, 0x200000, CRC(eae7a1fc) SHA1(26d8a9f4e554848977ec1f6a8aad8751b558a8d4) )
22282218   ROM_LOAD24_BYTE("fb_bg-1p.410", 0x000002, 0x100000, CRC(b46e774e) SHA1(00b6c1d0b0ea37f4354acab543b270c0bf45896d) )
22292219
2230   ROM_REGION( 0xc00000, "gfx3", 0 )    /* sprites */
2220   ROM_REGION( 0xc00000, "gfx3", 0 ) /* sprites */
22312221   ROM_LOAD("fb_obj-1.322", 0x000000, 0x400000, CRC(29f86f68) SHA1(1afe809ce00a25f8b27543e4188edc3e3e604951) )
22322222   ROM_LOAD("fb_obj-2.324", 0x400000, 0x400000, CRC(c9e3130b) SHA1(12b5d5363142e8efb3b7fc44289c0afffa5011c6) )
22332223   ROM_LOAD("fb_obj-3.323", 0x800000, 0x400000, CRC(f6c3bc49) SHA1(d0eb9c6aa3954d94e3a442a48e0fe6cc279f5513) )
22342224
2235   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
2225   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
22362226   ROM_LOAD32_BYTE("fb_pcm-1.215",  0x000000, 0x080000, CRC(1d83891c) SHA1(09502437562275c14c0f3a0e62b19e91bedb4693) )
22372227   ROM_CONTINUE(                    0x400000, 0x080000 )
22382228   ROM_LOAD32_BYTE("fb_7.216",      0x800000, 0x080000, CRC(874d7b59) SHA1(0236753636c9a818780b23f5f506697b9f6d93c7) )
r23898r23899
22422232ROM_END
22432233
22442234ROM_START( senkyua )
2245   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
2235   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
22462236   ROM_LOAD32_BYTE("1.bin", 0x100000, 0x40000, CRC(6102c3fb) SHA1(4a55b41d916768f9601513db973b82077bca47c5) )
22472237   ROM_LOAD32_BYTE("2.bin", 0x100001, 0x40000, CRC(d5b8ce46) SHA1(f6e4b8f51146179efb52ecb2b72fdeaee10b7282) )
22482238   ROM_LOAD32_BYTE("3.bin", 0x100002, 0x40000, CRC(e27ceccd) SHA1(3d6b8e97e89939c72d1a5a4a3856025b5f548645) )
r23898r23899
22502240
22512241   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
22522242
2253   ROM_REGION( 0x30000, "gfx1", 0 )
2243   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
22542244   ROM_LOAD24_WORD("fb_6.413", 0x000000, 0x20000, CRC(b57115c9) SHA1(eb95f416f522032ca949bfb6348f1ff824101f2d) )
22552245   ROM_LOAD24_BYTE("fb_5.48",  0x000002, 0x10000, CRC(440a9ae3) SHA1(3f57e6da91f0dac2d816c873759f1e1d3259caf1) )
22562246
2257   ROM_REGION( 0x300000, "gfx2", 0 )    /* background layer roms */
2247   ROM_REGION( 0x300000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
22582248   ROM_LOAD24_WORD("fb_bg-1d.415", 0x000000, 0x200000, CRC(eae7a1fc) SHA1(26d8a9f4e554848977ec1f6a8aad8751b558a8d4) )
22592249   ROM_LOAD24_BYTE("fb_bg-1p.410", 0x000002, 0x100000, CRC(b46e774e) SHA1(00b6c1d0b0ea37f4354acab543b270c0bf45896d) )
22602250
2261   ROM_REGION( 0xc00000, "gfx3", 0 )    /* sprites */
2251   ROM_REGION( 0xc00000, "gfx3", 0 ) /* sprites */
22622252   ROM_LOAD("fb_obj-1.322", 0x000000, 0x400000, CRC(29f86f68) SHA1(1afe809ce00a25f8b27543e4188edc3e3e604951) )
22632253   ROM_LOAD("fb_obj-2.324", 0x400000, 0x400000, CRC(c9e3130b) SHA1(12b5d5363142e8efb3b7fc44289c0afffa5011c6) )
22642254   ROM_LOAD("fb_obj-3.323", 0x800000, 0x400000, CRC(f6c3bc49) SHA1(d0eb9c6aa3954d94e3a442a48e0fe6cc279f5513) )
22652255
2266   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
2256   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
22672257   ROM_LOAD32_BYTE("fb_pcm-1.215",  0x000000, 0x080000, CRC(1d83891c) SHA1(09502437562275c14c0f3a0e62b19e91bedb4693) )
22682258   ROM_CONTINUE(                    0x400000, 0x080000 )
22692259   ROM_LOAD32_BYTE("fb_7.216",      0x800000, 0x080000, CRC(874d7b59) SHA1(0236753636c9a818780b23f5f506697b9f6d93c7) )
r23898r23899
22732263ROM_END
22742264
22752265ROM_START( batlball )
2276   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
2266   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
22772267   ROM_LOAD32_BYTE("1.211", 0x100000, 0x40000, CRC(d4e48f89) SHA1(10e43a9ff3f6f169de6352280a8a06e7f482271a) )
22782268   ROM_LOAD32_BYTE("2.212", 0x100001, 0x40000, CRC(3077720b) SHA1(b65c3d02ac75eb56e0c5dc1bf6bb6a4e445a41cf) )
22792269   ROM_LOAD32_BYTE("3.210", 0x100002, 0x40000, CRC(520d31e1) SHA1(998ae968113ab5b2891044187d93793903c13452) )
r23898r23899
22812271
22822272   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
22832273
2284   ROM_REGION( 0x30000, "gfx1", 0 )
2274   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
22852275   ROM_LOAD24_WORD("fb_6.413", 0x000000, 0x20000, CRC(b57115c9) SHA1(eb95f416f522032ca949bfb6348f1ff824101f2d) )
22862276   ROM_LOAD24_BYTE("fb_5.48",  0x000002, 0x10000, CRC(440a9ae3) SHA1(3f57e6da91f0dac2d816c873759f1e1d3259caf1) )
22872277
2288   ROM_REGION( 0x300000, "gfx2", 0 )    /* background layer roms */
2278   ROM_REGION( 0x300000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
22892279   ROM_LOAD24_WORD("fb_bg-1d.415", 0x000000, 0x200000, CRC(eae7a1fc) SHA1(26d8a9f4e554848977ec1f6a8aad8751b558a8d4) )
22902280   ROM_LOAD24_BYTE("fb_bg-1p.410", 0x000002, 0x100000, CRC(b46e774e) SHA1(00b6c1d0b0ea37f4354acab543b270c0bf45896d) )
22912281
2292   ROM_REGION( 0xc00000, "gfx3", 0 )    /* sprites */
2282   ROM_REGION( 0xc00000, "gfx3", 0 ) /* sprites */
22932283   ROM_LOAD("fb_obj-1.322", 0x000000, 0x400000, CRC(29f86f68) SHA1(1afe809ce00a25f8b27543e4188edc3e3e604951) )
22942284   ROM_LOAD("fb_obj-2.324", 0x400000, 0x400000, CRC(c9e3130b) SHA1(12b5d5363142e8efb3b7fc44289c0afffa5011c6) )
22952285   ROM_LOAD("fb_obj-3.323", 0x800000, 0x400000, CRC(f6c3bc49) SHA1(d0eb9c6aa3954d94e3a442a48e0fe6cc279f5513) )
22962286
2297   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
2287   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
22982288   ROM_LOAD32_BYTE("fb_pcm-1.215",  0x000000, 0x080000, CRC(1d83891c) SHA1(09502437562275c14c0f3a0e62b19e91bedb4693) )
22992289   ROM_CONTINUE(                    0x400000, 0x080000 )
23002290   ROM_LOAD32_BYTE("fb_7.216",      0x800000, 0x080000, CRC(874d7b59) SHA1(0236753636c9a818780b23f5f506697b9f6d93c7) )
r23898r23899
23042294ROM_END
23052295
23062296ROM_START( batlballa )
2307   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
2297   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
23082298   ROM_LOAD32_BYTE("senkyua1.bin", 0x100000, 0x40000, CRC(ec3c4d4d) SHA1(6c57b8fbb77ce1615850842d06c054e88e240eef) )
23092299   ROM_LOAD32_BYTE("2.212",        0x100001, 0x40000, CRC(3077720b) SHA1(b65c3d02ac75eb56e0c5dc1bf6bb6a4e445a41cf) )
23102300   ROM_LOAD32_BYTE("3.210",        0x100002, 0x40000, CRC(520d31e1) SHA1(998ae968113ab5b2891044187d93793903c13452) )
r23898r23899
23122302
23132303   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
23142304
2315   ROM_REGION( 0x30000, "gfx1", 0 )
2305   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
23162306   ROM_LOAD24_WORD("fb_6.413", 0x000000, 0x20000, CRC(b57115c9) SHA1(eb95f416f522032ca949bfb6348f1ff824101f2d) )
23172307   ROM_LOAD24_BYTE("fb_5.48",  0x000002, 0x10000, CRC(440a9ae3) SHA1(3f57e6da91f0dac2d816c873759f1e1d3259caf1) )
23182308
2319   ROM_REGION( 0x300000, "gfx2", 0 )    /* background layer roms */
2309   ROM_REGION( 0x300000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
23202310   ROM_LOAD24_WORD("fb_bg-1d.415", 0x000000, 0x200000, CRC(eae7a1fc) SHA1(26d8a9f4e554848977ec1f6a8aad8751b558a8d4) )
23212311   ROM_LOAD24_BYTE("fb_bg-1p.410", 0x000002, 0x100000, CRC(b46e774e) SHA1(00b6c1d0b0ea37f4354acab543b270c0bf45896d) )
23222312
2323   ROM_REGION( 0xc00000, "gfx3", 0 )    /* sprites */
2313   ROM_REGION( 0xc00000, "gfx3", 0 ) /* sprites */
23242314   ROM_LOAD("fb_obj-1.322", 0x000000, 0x400000, CRC(29f86f68) SHA1(1afe809ce00a25f8b27543e4188edc3e3e604951) )
23252315   ROM_LOAD("fb_obj-2.324", 0x400000, 0x400000, CRC(c9e3130b) SHA1(12b5d5363142e8efb3b7fc44289c0afffa5011c6) )
23262316   ROM_LOAD("fb_obj-3.323", 0x800000, 0x400000, CRC(f6c3bc49) SHA1(d0eb9c6aa3954d94e3a442a48e0fe6cc279f5513) )
23272317
2328   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
2318   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
23292319   ROM_LOAD32_BYTE("fb_pcm-1.215",  0x000000, 0x080000, CRC(1d83891c) SHA1(09502437562275c14c0f3a0e62b19e91bedb4693) )
23302320   ROM_CONTINUE(                    0x400000, 0x080000 )
23312321   ROM_LOAD32_BYTE("fb_7.216",      0x800000, 0x080000, CRC(874d7b59) SHA1(0236753636c9a818780b23f5f506697b9f6d93c7) )
r23898r23899
23352325ROM_END
23362326
23372327ROM_START( batlballe ) /* Early version, PCB serial number of 19, hand written labels dated 10/16 (Oct 16, 1995) */
2338   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
2328   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
23392329   ROM_LOAD32_BYTE("1_10-16", 0x100000, 0x40000, CRC(6b1baa07) SHA1(29b8f4016e9bffdcdb6ec405cd443ca0a80de5d5) )
23402330   ROM_LOAD32_BYTE("2_10-16", 0x100001, 0x40000, CRC(3c890639) SHA1(968c4a5efc5ebbe4e4cc81f834c286c02596c24e) )
23412331   ROM_LOAD32_BYTE("3_10-16", 0x100002, 0x40000, CRC(8c30180e) SHA1(47b99b04e2e74f1ee5095aed3f45aba66cd3da3f) )
r23898r23899
23432333
23442334   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
23452335
2346   ROM_REGION( 0x30000, "gfx1", 0 )
2336   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
23472337   ROM_LOAD24_WORD("fb_6.413", 0x000000, 0x20000, CRC(b57115c9) SHA1(eb95f416f522032ca949bfb6348f1ff824101f2d) )
23482338   ROM_LOAD24_BYTE("fb_5.48",  0x000002, 0x10000, CRC(440a9ae3) SHA1(3f57e6da91f0dac2d816c873759f1e1d3259caf1) )
23492339
2350   ROM_REGION( 0x300000, "gfx2", 0 )    /* background layer roms */
2340   ROM_REGION( 0x300000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
23512341   ROM_LOAD24_WORD("fb_bg-1d.415", 0x000000, 0x200000, CRC(eae7a1fc) SHA1(26d8a9f4e554848977ec1f6a8aad8751b558a8d4) )
23522342   ROM_LOAD24_BYTE("fb_bg-1p.410", 0x000002, 0x100000, CRC(b46e774e) SHA1(00b6c1d0b0ea37f4354acab543b270c0bf45896d) )
23532343
2354   ROM_REGION( 0xc00000, "gfx3", 0 )    /* sprites */
2344   ROM_REGION( 0xc00000, "gfx3", 0 ) /* sprites */
23552345   ROM_LOAD("fb_obj-1.322", 0x000000, 0x400000, CRC(29f86f68) SHA1(1afe809ce00a25f8b27543e4188edc3e3e604951) )
23562346   ROM_LOAD("fb_obj-2.324", 0x400000, 0x400000, CRC(c9e3130b) SHA1(12b5d5363142e8efb3b7fc44289c0afffa5011c6) )
23572347   ROM_LOAD("fb_obj-3.323", 0x800000, 0x400000, CRC(f6c3bc49) SHA1(d0eb9c6aa3954d94e3a442a48e0fe6cc279f5513) )
23582348
2359   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
2349   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
23602350   ROM_LOAD32_BYTE("fb_pcm-1.215",  0x000000, 0x080000, CRC(1d83891c) SHA1(09502437562275c14c0f3a0e62b19e91bedb4693) )
23612351   ROM_CONTINUE(                    0x400000, 0x080000 )
23622352   ROM_LOAD32_BYTE("fb_7.216",      0x800000, 0x080000, CRC(874d7b59) SHA1(0236753636c9a818780b23f5f506697b9f6d93c7) )
r23898r23899
23662356ROM_END
23672357
23682358ROM_START( batlballu )
2369   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
2359   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
23702360   ROM_LOAD32_BYTE("sen1.bin", 0x100000, 0x40000, CRC(13849bf0) SHA1(ffa829a8b8a05a8fbaf883a30759f2ad8071a85b) )
23712361   ROM_LOAD32_BYTE("sen2.bin", 0x100001, 0x40000, CRC(2ae5f7e2) SHA1(cef9ddea8b1d21f20a48c2523c9420c1800720c8) )
23722362   ROM_LOAD32_BYTE("sen3.bin", 0x100002, 0x40000, CRC(98e6f19f) SHA1(433f8463e63bba32730d3c098354f8c95257df3f) )
r23898r23899
23742364
23752365   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
23762366
2377   ROM_REGION( 0x30000, "gfx1", 0 )
2367   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
23782368   ROM_LOAD24_WORD("fb_6.413", 0x000000, 0x20000, CRC(b57115c9) SHA1(eb95f416f522032ca949bfb6348f1ff824101f2d) )
23792369   ROM_LOAD24_BYTE("fb_5.48",  0x000002, 0x10000, CRC(440a9ae3) SHA1(3f57e6da91f0dac2d816c873759f1e1d3259caf1) )
23802370
2381   ROM_REGION( 0x300000, "gfx2", 0 )    /* background layer roms */
2371   ROM_REGION( 0x300000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
23822372   ROM_LOAD24_WORD("fb_bg-1d.415", 0x000000, 0x200000, CRC(eae7a1fc) SHA1(26d8a9f4e554848977ec1f6a8aad8751b558a8d4) )
23832373   ROM_LOAD24_BYTE("fb_bg-1p.410", 0x000002, 0x100000, CRC(b46e774e) SHA1(00b6c1d0b0ea37f4354acab543b270c0bf45896d) )
23842374
2385   ROM_REGION( 0xc00000, "gfx3", 0 )    /* sprites */
2375   ROM_REGION( 0xc00000, "gfx3", 0 ) /* sprites */
23862376   ROM_LOAD("fb_obj-1.322", 0x000000, 0x400000, CRC(29f86f68) SHA1(1afe809ce00a25f8b27543e4188edc3e3e604951) )
23872377   ROM_LOAD("fb_obj-2.324", 0x400000, 0x400000, CRC(c9e3130b) SHA1(12b5d5363142e8efb3b7fc44289c0afffa5011c6) )
23882378   ROM_LOAD("fb_obj-3.323", 0x800000, 0x400000, CRC(f6c3bc49) SHA1(d0eb9c6aa3954d94e3a442a48e0fe6cc279f5513) )
23892379
2390   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
2380   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
23912381   ROM_LOAD32_BYTE("fb_pcm-1.215",  0x000000, 0x080000, CRC(1d83891c) SHA1(09502437562275c14c0f3a0e62b19e91bedb4693) )
23922382   ROM_CONTINUE(                    0x400000, 0x080000 )
23932383   ROM_LOAD32_BYTE("fb_7.216",      0x800000, 0x080000, CRC(874d7b59) SHA1(0236753636c9a818780b23f5f506697b9f6d93c7) )
r23898r23899
23982388
23992389
24002390ROM_START( ejanhs )
2401   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
2391   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
24022392   ROM_LOAD32_BYTE("ejan3_1.211", 0x100000, 0x40000, CRC(e626d3d2) SHA1(d23cb5e218a85e09de98fa966afbfd43090b396e) )
24032393   ROM_LOAD32_BYTE("ejan3_2.212", 0x100001, 0x40000, CRC(83c39da2) SHA1(9526ffb5d5becccf0aa2e338ab4a3c873d575e6f) )
24042394   ROM_LOAD32_BYTE("ejan3_3.210", 0x100002, 0x40000, CRC(46897b7d) SHA1(a22e0467c016e72bf99df2c1e6ecc792b2151b15) )
r23898r23899
24062396
24072397   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
24082398
2409   ROM_REGION( 0x30000, "gfx1", 0 )
2399   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
24102400   ROM_LOAD24_WORD("ejan3_6.413", 0x000000, 0x20000, CRC(837e012c) SHA1(815452083b65885d6e66dfc058ceec81bb3e6678) )
24112401   ROM_LOAD24_BYTE("ejan3_5.48",  0x000002, 0x10000, CRC(d62db7bf) SHA1(c88f1bb6106c59179b914962ed8cdd4095fd9ce8) )
24122402
2413   ROM_REGION( 0x600000, "gfx2", 0 )    /* background layer roms */
2403   ROM_REGION( 0x600000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
24142404   ROM_LOAD24_WORD("ej3_bg1d.415", 0x000000, 0x200000, CRC(bcacabe0) SHA1(b73581cf923196326b5b0b99e6aedb915bab0880) )
24152405   ROM_LOAD24_BYTE("ej3_bg1p.410", 0x000002, 0x100000, CRC(1fd0eb5e) SHA1(ca64c8020b246128232f4f6c0a0a2dd9cd3efeae) )
24162406   ROM_LOAD24_WORD("ej3_bg2d.416", 0x300000, 0x100000, CRC(ea2acd69) SHA1(b796e9e4b7342bf452f5ffdbce32cfefc603ba0f) )
24172407   ROM_LOAD24_BYTE("ej3_bg2p.49",  0x300002, 0x080000, CRC(a4a9cb0f) SHA1(da177d13bb95bf6b987d3ca13bcdc86570807b2c) )
24182408
2419   ROM_REGION( 0xc00000, "gfx3", 0 )    /* sprites */
2409   ROM_REGION( 0xc00000, "gfx3", 0 ) /* sprites */
24202410   ROM_LOAD("ej3_obj1.322", 0x000000, 0x400000, CRC(852f180e) SHA1(d4845dace45c05a68f3b38ccb301c5bf5dce4174) )
24212411   ROM_LOAD("ej3_obj2.324", 0x400000, 0x400000, CRC(1116ad08) SHA1(d5c81383b3f9ede7dd03e6be35487b40740b1f8f) )
24222412   ROM_LOAD("ej3_obj3.323", 0x800000, 0x400000, CRC(ccfe02b6) SHA1(368bc8efe9d6677ba3d0cfc0f450a4bda32988be) )
24232413
2424   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
2414   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
24252415   ROM_LOAD32_BYTE("ej3_pcm1.215",  0x000000, 0x080000, CRC(a92a3a82) SHA1(b86c27c5a2831ddd2a1c2b071018a99afec14018) )
24262416   ROM_CONTINUE(                    0x400000, 0x080000 )
24272417   ROM_LOAD32_BYTE("ejan3_7.216",   0x800000, 0x080000, CRC(c6fc6bcf) SHA1(d4d8c06d295f8eacfa10c21dbab5858f936121f3) )
r23898r23899
24322422
24332423
24342424ROM_START( viprp1 )
2435   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
2425   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
24362426   ROM_LOAD32_BYTE("seibu1.211", 0x000000, 0x80000, CRC(e5caf4ff) SHA1(7c87a4e8e8dacfb7cc0be8f778352bce2801e59b) )
24372427   ROM_LOAD32_BYTE("seibu2.212", 0x000001, 0x80000, CRC(688a998e) SHA1(0c48374b6800cd00e3ee96c0fb12119a680b091d) )
24382428   ROM_LOAD32_BYTE("seibu3.210", 0x000002, 0x80000, CRC(990fa76a) SHA1(7619a631d6f83b3677eb47f984aff684e9518d6d) )
r23898r23899
24402430
24412431   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
24422432
2443   ROM_REGION( 0x30000, "gfx1", 0 )
2433   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
24442434   ROM_LOAD24_WORD("seibu5.u0413", 0x000000, 0x20000, CRC(5ece677c) SHA1(b782cf3296f866f79fafa69ff719211c9d4026df) )
24452435   ROM_LOAD24_BYTE("seibu6.u048",  0x000002, 0x10000, CRC(44844ef8) SHA1(bcbe24d2ffb64f9165ba4ab7de27f44b99b5ff5a) )
24462436
2447   ROM_REGION( 0x600000, "gfx2", 0 )    /* background layer roms */
2437   ROM_REGION( 0x600000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
24482438   ROM_LOAD24_WORD("v_bg-11.415",  0x000000, 0x200000, CRC(6fc96736) SHA1(12df47d8af2c1febc1bce5bcf3218766447885bd) )
24492439   ROM_LOAD24_BYTE("v_bg-12.415",  0x000002, 0x100000, CRC(d3c7281c) SHA1(340bca1f31486609b3c34dd7830362a216ff648e) )
24502440   ROM_LOAD24_WORD("v_bg-21.410",  0x300000, 0x100000, CRC(d65b4318) SHA1(6522970d95ffa7fa2f32e0b5b4f0eb69e0286b36) )
24512441   ROM_LOAD24_BYTE("v_bg-22.416",  0x300002, 0x080000, CRC(24a0a23a) SHA1(0b0330717620e3f3274a25845d9edaf8023b9db2) )
24522442
2453   ROM_REGION( 0xc00000, "gfx3", 0 )    /* sprites */
2443   ROM_REGION( 0xc00000, "gfx3", 0 ) /* sprites */
24542444   ROM_LOAD("v_obj-1.322",  0x000000, 0x400000, CRC(3be5b631) SHA1(fd1064428d28ca166a9267b968c0ba846cfed656) )
24552445   ROM_LOAD("v_obj-2.324",  0x400000, 0x400000, CRC(924153b4) SHA1(db5dadcfb4cd5e6efe9d995085936ce4f4eb4254) )
24562446   ROM_LOAD("v_obj-3.323",  0x800000, 0x400000, CRC(e9fb9062) SHA1(18e97b4c5cced2b529e6e72d8041c6f78fcec76e) )
24572447
2458   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
2448   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
24592449   ROM_LOAD32_BYTE("v_pcm.215",  0x000000, 0x080000, CRC(e3111b60) SHA1(f7a7747f29c392876e43efcb4e6c0741454082f2) )
24602450   ROM_CONTINUE(                 0x400000, 0x080000 )
24612451
r23898r23899
24642454ROM_END
24652455
24662456ROM_START( viprp1u )
2467   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
2457   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
24682458   ROM_LOAD32_BYTE("seibu1.u0211", 0x000000, 0x80000, CRC(3f412b80) SHA1(ccffce101d20971278c0f6c5f4efcf3ab687aba6) ) /* New version, "=U.S.A=" seems part of title */
24692459   ROM_LOAD32_BYTE("seibu2.u0212", 0x000001, 0x80000, CRC(2e6c2376) SHA1(b6e660dc7c89cf565c6e055683e84ffcf8179709) )
24702460   ROM_LOAD32_BYTE("seibu3.u0210", 0x000002, 0x80000, CRC(c38f7b4e) SHA1(d5bf2c7f2f6c812c65005facfd40ac6d3b61f29d) )
r23898r23899
24722462
24732463   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
24742464
2475   ROM_REGION( 0x30000, "gfx1", 0 )
2465   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
24762466   ROM_LOAD24_WORD("seibu5.u0413", 0x000000, 0x20000, CRC(5ece677c) SHA1(b782cf3296f866f79fafa69ff719211c9d4026df) )
24772467   ROM_LOAD24_BYTE("seibu6.u048",  0x000002, 0x10000, CRC(44844ef8) SHA1(bcbe24d2ffb64f9165ba4ab7de27f44b99b5ff5a) )
24782468
2479   ROM_REGION( 0x600000, "gfx2", 0 )    /* background layer roms */
2469   ROM_REGION( 0x600000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
24802470   ROM_LOAD24_WORD("v_bg-11.415",  0x000000, 0x200000, CRC(6fc96736) SHA1(12df47d8af2c1febc1bce5bcf3218766447885bd) )
24812471   ROM_LOAD24_BYTE("v_bg-12.415",  0x000002, 0x100000, CRC(d3c7281c) SHA1(340bca1f31486609b3c34dd7830362a216ff648e) )
24822472   ROM_LOAD24_WORD("v_bg-21.410",  0x300000, 0x100000, CRC(d65b4318) SHA1(6522970d95ffa7fa2f32e0b5b4f0eb69e0286b36) )
24832473   ROM_LOAD24_BYTE("v_bg-22.416",  0x300002, 0x080000, CRC(24a0a23a) SHA1(0b0330717620e3f3274a25845d9edaf8023b9db2) )
24842474
2485   ROM_REGION( 0xc00000, "gfx3", 0 )    /* sprites */
2475   ROM_REGION( 0xc00000, "gfx3", 0 ) /* sprites */
24862476   ROM_LOAD("v_obj-1.322",  0x000000, 0x400000, CRC(3be5b631) SHA1(fd1064428d28ca166a9267b968c0ba846cfed656) )
24872477   ROM_LOAD("v_obj-2.324",  0x400000, 0x400000, CRC(924153b4) SHA1(db5dadcfb4cd5e6efe9d995085936ce4f4eb4254) )
24882478   ROM_LOAD("v_obj-3.323",  0x800000, 0x400000, CRC(e9fb9062) SHA1(18e97b4c5cced2b529e6e72d8041c6f78fcec76e) )
24892479
2490   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
2480   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
24912481   ROM_LOAD32_BYTE("v_pcm.215",  0x000000, 0x080000, CRC(e3111b60) SHA1(f7a7747f29c392876e43efcb4e6c0741454082f2) )
24922482   ROM_CONTINUE(                 0x400000, 0x080000 )
24932483
r23898r23899
24962486ROM_END
24972487
24982488ROM_START( viprp1ua )
2499   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
2489   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
25002490   ROM_LOAD32_BYTE("seibus_1", 0x000000, 0x80000, CRC(882c299c) SHA1(36309b99764c684bd17eb512e661bafd3f3298e2) ) /* New version, "=U.S.A=" seems part of title */
25012491   ROM_LOAD32_BYTE("seibus_2", 0x000001, 0x80000, CRC(6ce586e9) SHA1(511731996638666cbe81a1d97affce855e255bf7) )
25022492   ROM_LOAD32_BYTE("seibus_3", 0x000002, 0x80000, CRC(f9dd9128) SHA1(ff7460699424de9e9d953343c42e0ef0fa1f0e30) )
r23898r23899
25042494
25052495   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
25062496
2507   ROM_REGION( 0x30000, "gfx1", 0 )
2497   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
25082498   ROM_LOAD24_WORD("seibu5.u0413", 0x000000, 0x20000, CRC(5ece677c) SHA1(b782cf3296f866f79fafa69ff719211c9d4026df) )
25092499   ROM_LOAD24_BYTE("seibu6.u048",  0x000002, 0x10000, CRC(44844ef8) SHA1(bcbe24d2ffb64f9165ba4ab7de27f44b99b5ff5a) )
25102500
2511   ROM_REGION( 0x600000, "gfx2", 0 )    /* background layer roms */
2501   ROM_REGION( 0x600000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
25122502   ROM_LOAD24_WORD("v_bg-11.415",  0x000000, 0x200000, CRC(6fc96736) SHA1(12df47d8af2c1febc1bce5bcf3218766447885bd) )
25132503   ROM_LOAD24_BYTE("v_bg-12.415",  0x000002, 0x100000, CRC(d3c7281c) SHA1(340bca1f31486609b3c34dd7830362a216ff648e) )
25142504   ROM_LOAD24_WORD("v_bg-21.410",  0x300000, 0x100000, CRC(d65b4318) SHA1(6522970d95ffa7fa2f32e0b5b4f0eb69e0286b36) )
25152505   ROM_LOAD24_BYTE("v_bg-22.416",  0x300002, 0x080000, CRC(24a0a23a) SHA1(0b0330717620e3f3274a25845d9edaf8023b9db2) )
25162506
2517   ROM_REGION( 0xc00000, "gfx3", 0 )    /* sprites */
2507   ROM_REGION( 0xc00000, "gfx3", 0 ) /* sprites */
25182508   ROM_LOAD("v_obj-1.322",  0x000000, 0x400000, CRC(3be5b631) SHA1(fd1064428d28ca166a9267b968c0ba846cfed656) )
25192509   ROM_LOAD("v_obj-2.324",  0x400000, 0x400000, CRC(924153b4) SHA1(db5dadcfb4cd5e6efe9d995085936ce4f4eb4254) )
25202510   ROM_LOAD("v_obj-3.323",  0x800000, 0x400000, CRC(e9fb9062) SHA1(18e97b4c5cced2b529e6e72d8041c6f78fcec76e) )
25212511
2522   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
2512   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
25232513   ROM_LOAD32_BYTE("v_pcm.215",  0x000000, 0x080000, CRC(e3111b60) SHA1(f7a7747f29c392876e43efcb4e6c0741454082f2) )
25242514   ROM_CONTINUE(                 0x400000, 0x080000 )
25252515
r23898r23899
25282518ROM_END
25292519
25302520ROM_START( viprp1j )
2531   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
2521   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
25322522   ROM_LOAD32_BYTE("v_1-n.211", 0x000000, 0x80000, CRC(55f10b72) SHA1(2a1ebaa969f346bf3659ed8b0f469dce9eaf3b4b) )
25332523   ROM_LOAD32_BYTE("v_2-n.212", 0x000001, 0x80000, CRC(0f888283) SHA1(7e5ac81279b9c7a06f07cb8ae76938cdd5c9beee) )
25342524   ROM_LOAD32_BYTE("v_3-n.210", 0x000002, 0x80000, CRC(842434ac) SHA1(982d219c1d329122789c552208db2f4aaa4af7e4) )
r23898r23899
25362526
25372527   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
25382528
2539   ROM_REGION( 0x30000, "gfx1", 0 )
2529   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
25402530   ROM_LOAD24_WORD("seibu5.u0413", 0x000000, 0x20000, CRC(5ece677c) SHA1(b782cf3296f866f79fafa69ff719211c9d4026df) )
25412531   ROM_LOAD24_BYTE("seibu6.u048",  0x000002, 0x10000, CRC(44844ef8) SHA1(bcbe24d2ffb64f9165ba4ab7de27f44b99b5ff5a) )
25422532
2543   ROM_REGION( 0x600000, "gfx2", 0 )    /* background layer roms */
2533   ROM_REGION( 0x600000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
25442534   ROM_LOAD24_WORD("v_bg-11.415",  0x000000, 0x200000, CRC(6fc96736) SHA1(12df47d8af2c1febc1bce5bcf3218766447885bd) )
25452535   ROM_LOAD24_BYTE("v_bg-12.415",  0x000002, 0x100000, CRC(d3c7281c) SHA1(340bca1f31486609b3c34dd7830362a216ff648e) )
25462536   ROM_LOAD24_WORD("v_bg-21.410",  0x300000, 0x100000, CRC(d65b4318) SHA1(6522970d95ffa7fa2f32e0b5b4f0eb69e0286b36) )
25472537   ROM_LOAD24_BYTE("v_bg-22.416",  0x300002, 0x080000, CRC(24a0a23a) SHA1(0b0330717620e3f3274a25845d9edaf8023b9db2) )
25482538
2549   ROM_REGION( 0xc00000, "gfx3", 0 )    /* sprites */
2539   ROM_REGION( 0xc00000, "gfx3", 0 ) /* sprites */
25502540   ROM_LOAD("v_obj-1.322",  0x000000, 0x400000, CRC(3be5b631) SHA1(fd1064428d28ca166a9267b968c0ba846cfed656) )
25512541   ROM_LOAD("v_obj-2.324",  0x400000, 0x400000, CRC(924153b4) SHA1(db5dadcfb4cd5e6efe9d995085936ce4f4eb4254) )
25522542   ROM_LOAD("v_obj-3.323",  0x800000, 0x400000, CRC(e9fb9062) SHA1(18e97b4c5cced2b529e6e72d8041c6f78fcec76e) )
25532543
2554   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
2544   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
25552545   ROM_LOAD32_BYTE("v_pcm.215",  0x000000, 0x080000, CRC(e3111b60) SHA1(f7a7747f29c392876e43efcb4e6c0741454082f2) )
25562546   ROM_CONTINUE(                 0x400000, 0x080000 )
25572547
r23898r23899
25602550ROM_END
25612551
25622552ROM_START( viprp1s )
2563   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
2553   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
25642554   ROM_LOAD32_BYTE("viper_prg0.bin", 0x000000, 0x80000, CRC(ed9980b8) SHA1(bc324e9121ee1e55237bd91681f163ec7790de4c) )
25652555   ROM_LOAD32_BYTE("viper_prg1.bin", 0x000001, 0x80000, CRC(9d4d3486) SHA1(ded6fa32b973046e50c40c40c446590b5f6d0b76) )
25662556   ROM_LOAD32_BYTE("viper_prg2.bin", 0x000002, 0x80000, CRC(d7ea460b) SHA1(aed10adacd073f7d2b35f12ba4b7876e5c99d142) )
r23898r23899
25682558
25692559   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
25702560
2571   ROM_REGION( 0x30000, "gfx1", 0 )
2561   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
25722562   ROM_LOAD24_WORD("seibu5.u0413", 0x000000, 0x20000, CRC(5ece677c) SHA1(b782cf3296f866f79fafa69ff719211c9d4026df) )
25732563   ROM_LOAD24_BYTE("seibu6.u048",  0x000002, 0x10000, CRC(44844ef8) SHA1(bcbe24d2ffb64f9165ba4ab7de27f44b99b5ff5a) )
25742564
2575   ROM_REGION( 0x600000, "gfx2", 0 )    /* background layer roms */
2565   ROM_REGION( 0x600000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
25762566   ROM_LOAD24_WORD("v_bg-11.415",  0x000000, 0x200000, CRC(6fc96736) SHA1(12df47d8af2c1febc1bce5bcf3218766447885bd) )
25772567   ROM_LOAD24_BYTE("v_bg-12.415",  0x000002, 0x100000, CRC(d3c7281c) SHA1(340bca1f31486609b3c34dd7830362a216ff648e) )
25782568   ROM_LOAD24_WORD("v_bg-21.410",  0x300000, 0x100000, CRC(d65b4318) SHA1(6522970d95ffa7fa2f32e0b5b4f0eb69e0286b36) )
25792569   ROM_LOAD24_BYTE("v_bg-22.416",  0x300002, 0x080000, CRC(24a0a23a) SHA1(0b0330717620e3f3274a25845d9edaf8023b9db2) )
25802570
2581   ROM_REGION( 0xc00000, "gfx3", 0 )    /* sprites */
2571   ROM_REGION( 0xc00000, "gfx3", 0 ) /* sprites */
25822572   ROM_LOAD("v_obj-1.322",  0x000000, 0x400000, CRC(3be5b631) SHA1(fd1064428d28ca166a9267b968c0ba846cfed656) )
25832573   ROM_LOAD("v_obj-2.324",  0x400000, 0x400000, CRC(924153b4) SHA1(db5dadcfb4cd5e6efe9d995085936ce4f4eb4254) )
25842574   ROM_LOAD("v_obj-3.323",  0x800000, 0x400000, CRC(e9fb9062) SHA1(18e97b4c5cced2b529e6e72d8041c6f78fcec76e) )
25852575
2586   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
2576   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
25872577   ROM_LOAD32_BYTE("v_pcm.215",  0x000000, 0x080000, CRC(e3111b60) SHA1(f7a7747f29c392876e43efcb4e6c0741454082f2) )
25882578   ROM_CONTINUE(                 0x400000, 0x080000 )
25892579
r23898r23899
25922582ROM_END
25932583
25942584ROM_START( viprp1hk )
2595   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
2585   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
25962586   ROM_LOAD32_BYTE("seibu_1", 0x000000, 0x80000, CRC(283ba7b7) SHA1(28122e04b72f1163c69f3f845f6a493fdb6ed652) ) /* Old Version, "=HONG KONG=" seems part of title */
25972587   ROM_LOAD32_BYTE("seibu_2", 0x000001, 0x80000, CRC(2c4db249) SHA1(a6372c9a3cde5f262ec5ef446945f6d3ad506e88) )
25982588   ROM_LOAD32_BYTE("seibu_3", 0x000002, 0x80000, CRC(91989503) SHA1(8c215fac200cc693396dbd57e0939e7efe883342) )
r23898r23899
26002590
26012591   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
26022592
2603   ROM_REGION( 0x30000, "gfx1", 0 )
2593   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
26042594   ROM_LOAD24_WORD("seibu_5", 0x000000, 0x20000, CRC(80920fed) SHA1(b35ed080925f6d0a0b6d2d1ab4fa919f625b1e6a) ) /* Different from both "new" & "old" versions */
26052595   ROM_LOAD24_BYTE("seibu_6", 0x000002, 0x10000, CRC(e71a8722) SHA1(3e0133fe1f85058ca6d9ac59d731f342c6b50e92) )
26062596
2607   ROM_REGION( 0x600000, "gfx2", 0 )    /* background layer roms */
2597   ROM_REGION( 0x600000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
26082598   ROM_LOAD24_WORD("v_bg-11.415",  0x000000, 0x200000, CRC(6fc96736) SHA1(12df47d8af2c1febc1bce5bcf3218766447885bd) )
26092599   ROM_LOAD24_BYTE("v_bg-12.415",  0x000002, 0x100000, CRC(d3c7281c) SHA1(340bca1f31486609b3c34dd7830362a216ff648e) )
26102600   ROM_LOAD24_WORD("v_bg-21.410",  0x300000, 0x100000, CRC(d65b4318) SHA1(6522970d95ffa7fa2f32e0b5b4f0eb69e0286b36) )
26112601   ROM_LOAD24_BYTE("v_bg-22.416",  0x300002, 0x080000, CRC(24a0a23a) SHA1(0b0330717620e3f3274a25845d9edaf8023b9db2) )
26122602
2613   ROM_REGION( 0xc00000, "gfx3", 0 )    /* sprites */
2603   ROM_REGION( 0xc00000, "gfx3", 0 ) /* sprites */
26142604   ROM_LOAD("v_obj-1.322",  0x000000, 0x400000, CRC(3be5b631) SHA1(fd1064428d28ca166a9267b968c0ba846cfed656) )
26152605   ROM_LOAD("v_obj-2.324",  0x400000, 0x400000, CRC(924153b4) SHA1(db5dadcfb4cd5e6efe9d995085936ce4f4eb4254) )
26162606   ROM_LOAD("v_obj-3.323",  0x800000, 0x400000, CRC(e9fb9062) SHA1(18e97b4c5cced2b529e6e72d8041c6f78fcec76e) )
26172607
2618   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
2608   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
26192609   ROM_LOAD32_BYTE("v_pcm.215",  0x000000, 0x080000, CRC(e3111b60) SHA1(f7a7747f29c392876e43efcb4e6c0741454082f2) )
26202610   ROM_CONTINUE(                 0x400000, 0x080000 )
26212611
r23898r23899
26242614ROM_END
26252615
26262616ROM_START( viprp1oj )
2627   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
2617   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
26282618   ROM_LOAD32_BYTE("v_1-o.211", 0x000000, 0x80000, CRC(4430be64) SHA1(96501a490042c289060d8510f6f79fbf64f79c1a) )
26292619   ROM_LOAD32_BYTE("v_2-o.212", 0x000001, 0x80000, CRC(ffbd88f7) SHA1(cd7f291117dd18bd80fb1130eb87936ff7517ee3) )
26302620   ROM_LOAD32_BYTE("v_3-o.210", 0x000002, 0x80000, CRC(6146db39) SHA1(04e68bfff320a3ffcb47686fa012a038538adc1a) )
r23898r23899
26322622
26332623   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
26342624
2635   ROM_REGION( 0x30000, "gfx1", 0 )
2625   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
26362626   ROM_LOAD24_WORD("v_5-o.413", 0x000000, 0x20000, CRC(6d863acc) SHA1(3e3e14f51b9394b24d7cbf562f1cfffc9ec2216d) )
26372627   ROM_LOAD24_BYTE("v_6-o.48",  0x000002, 0x10000, CRC(fe7cb8f7) SHA1(55c7ab977c3666c8770deb62718d535673ffd4f8) )
26382628
2639   ROM_REGION( 0x600000, "gfx2", 0 )    /* background layer roms */
2629   ROM_REGION( 0x600000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
26402630   ROM_LOAD24_WORD("v_bg-11.415",  0x000000, 0x200000, CRC(6fc96736) SHA1(12df47d8af2c1febc1bce5bcf3218766447885bd) )
26412631   ROM_LOAD24_BYTE("v_bg-12.415",  0x000002, 0x100000, CRC(d3c7281c) SHA1(340bca1f31486609b3c34dd7830362a216ff648e) )
26422632   ROM_LOAD24_WORD("v_bg-21.410",  0x300000, 0x100000, CRC(d65b4318) SHA1(6522970d95ffa7fa2f32e0b5b4f0eb69e0286b36) )
26432633   ROM_LOAD24_BYTE("v_bg-22.416",  0x300002, 0x080000, CRC(24a0a23a) SHA1(0b0330717620e3f3274a25845d9edaf8023b9db2) )
26442634
2645   ROM_REGION( 0xc00000, "gfx3", 0 )    /* sprites */
2635   ROM_REGION( 0xc00000, "gfx3", 0 ) /* sprites */
26462636   ROM_LOAD("v_obj-1.322",  0x000000, 0x400000, CRC(3be5b631) SHA1(fd1064428d28ca166a9267b968c0ba846cfed656) )
26472637   ROM_LOAD("v_obj-2.324",  0x400000, 0x400000, CRC(924153b4) SHA1(db5dadcfb4cd5e6efe9d995085936ce4f4eb4254) )
26482638   ROM_LOAD("v_obj-3.323",  0x800000, 0x400000, CRC(e9fb9062) SHA1(18e97b4c5cced2b529e6e72d8041c6f78fcec76e) )
26492639
2650   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
2640   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
26512641   ROM_LOAD32_BYTE("v_pcm.215",  0x000000, 0x080000, CRC(e3111b60) SHA1(f7a7747f29c392876e43efcb4e6c0741454082f2) )
26522642   ROM_CONTINUE(                 0x400000, 0x080000 )
26532643
r23898r23899
26562646ROM_END
26572647
26582648ROM_START( viprp1ot )
2659   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
2649   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
26602650   ROM_LOAD32_BYTE("ov1.bin", 0x000000, 0x80000, CRC(cbad0e28) SHA1(fbc9b3b243ae0d556f41e8bef5f09489bb9e302b) )
26612651   ROM_LOAD32_BYTE("ov2.bin", 0x000001, 0x80000, CRC(0e2bbcb5) SHA1(5e53d60357fb0f9efa441261fac79e153eb35f3d) )
26622652   ROM_LOAD32_BYTE("ov3.bin", 0x000002, 0x80000, CRC(0e86686b) SHA1(0af207ea77ef378364d80d20ecbfba2f043f2405) )
r23898r23899
26642654
26652655   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
26662656
2667   ROM_REGION( 0x30000, "gfx1", 0 )
2657   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
26682658   ROM_LOAD24_WORD("v_5-o.413", 0x000000, 0x20000, CRC(6d863acc) SHA1(3e3e14f51b9394b24d7cbf562f1cfffc9ec2216d) )
26692659   ROM_LOAD24_BYTE("v_6-o.48",  0x000002, 0x10000, CRC(fe7cb8f7) SHA1(55c7ab977c3666c8770deb62718d535673ffd4f8) )
26702660
2671   ROM_REGION( 0x600000, "gfx2", 0 )    /* background layer roms */
2661   ROM_REGION( 0x600000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
26722662   ROM_LOAD24_WORD("v_bg-11.415",  0x000000, 0x200000, CRC(6fc96736) SHA1(12df47d8af2c1febc1bce5bcf3218766447885bd) )
26732663   ROM_LOAD24_BYTE("v_bg-12.415",  0x000002, 0x100000, CRC(d3c7281c) SHA1(340bca1f31486609b3c34dd7830362a216ff648e) )
26742664   ROM_LOAD24_WORD("v_bg-21.410",  0x300000, 0x100000, CRC(d65b4318) SHA1(6522970d95ffa7fa2f32e0b5b4f0eb69e0286b36) )
26752665   ROM_LOAD24_BYTE("v_bg-22.416",  0x300002, 0x080000, CRC(24a0a23a) SHA1(0b0330717620e3f3274a25845d9edaf8023b9db2) )
26762666
2677   ROM_REGION( 0xc00000, "gfx3", 0 )    /* sprites */
2667   ROM_REGION( 0xc00000, "gfx3", 0 ) /* sprites */
26782668   ROM_LOAD("v_obj-1.322",  0x000000, 0x400000, CRC(3be5b631) SHA1(fd1064428d28ca166a9267b968c0ba846cfed656) )
26792669   ROM_LOAD("v_obj-2.324",  0x400000, 0x400000, CRC(924153b4) SHA1(db5dadcfb4cd5e6efe9d995085936ce4f4eb4254) )
26802670   ROM_LOAD("v_obj-3.323",  0x800000, 0x400000, CRC(e9fb9062) SHA1(18e97b4c5cced2b529e6e72d8041c6f78fcec76e) )
26812671
2682   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
2672   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
26832673   ROM_LOAD32_BYTE("v_pcm.215",  0x000000, 0x080000, CRC(e3111b60) SHA1(f7a7747f29c392876e43efcb4e6c0741454082f2) )
26842674   ROM_CONTINUE(                 0x400000, 0x080000 )
26852675
r23898r23899
26892679
26902680
26912681ROM_START( rdft )
2692   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
2682   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
26932683   ROM_LOAD32_BYTE("gd_1.211", 0x000000, 0x80000, CRC(f6b2cbdc) SHA1(040c4ff961c8be388c8279b06b777d528c2acc1b) )
26942684   ROM_LOAD32_BYTE("gd_2.212", 0x000001, 0x80000, CRC(1982f812) SHA1(4f12fc3fd7f7a4beda4d29cc81e3a58d255e441f) )
26952685   ROM_LOAD32_BYTE("gd_3.210", 0x000002, 0x80000, CRC(b0f59f44) SHA1(d44fe074ddab35cd0190535cd9fbd7f9e49312a4) )
r23898r23899
26972687
26982688   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
26992689
2700   ROM_REGION( 0x30000, "gfx1", 0 ) /* text layer roms */
2690   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
27012691   ROM_LOAD24_BYTE("gd_5.423", 0x000000, 0x10000, CRC(8f8d4e14) SHA1(06c803975767ae98f40ba7ac5764a5bc8baa3a30) )
27022692   ROM_LOAD24_BYTE("gd_6.424", 0x000001, 0x10000, CRC(6ac64968) SHA1(ec395205c24c4f864a1f805bb0d4641562d4faa9) )
27032693   ROM_LOAD24_BYTE("gd_7.48",  0x000002, 0x10000, CRC(4d87e1ea) SHA1(3230e9b643fad773e61ab8ce09c0cd7d4d0558e3) )
27042694
2705   ROM_REGION( 0x600000, "gfx2", 0 )    /* background layer roms */
2695   ROM_REGION( 0x600000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
27062696   ROM_LOAD24_WORD("gd_bg1-d.415", 0x000000, 0x200000, CRC(6a68054c) SHA1(5cbfc4ac90045f1401c2dda7a51936558c9de07e) )
27072697   ROM_LOAD24_BYTE("gd_bg1-p.410", 0x000002, 0x100000, CRC(3400794a) SHA1(719808f7442bac612cefd7b7fffcd665e6337ad0) )
27082698   ROM_LOAD24_WORD("gd_bg2-d.416", 0x300000, 0x200000, CRC(61cd2991) SHA1(bb608e3948bf9ea35b5e1615d2ba6858d029dcbe) )
27092699   ROM_LOAD24_BYTE("gd_bg2-p.49",  0x300002, 0x100000, CRC(502d5799) SHA1(c3a0e1a4f5a7b35572ae1ff31315da4ed08aa2fe) )
27102700
2711   ROM_REGION( 0xc00000, "gfx3", 0 )    /* sprites */
2701   ROM_REGION( 0xc00000, "gfx3", 0 ) /* sprites */
27122702   ROM_LOAD("gd_obj-1.322", 0x000000, 0x400000, CRC(59d86c99) SHA1(d3c9241e7b51fe21f8351051b063f91dc69bf905) )
27132703   ROM_LOAD("gd_obj-2.324", 0x400000, 0x400000, CRC(1ceb0b6f) SHA1(97225a9b3e7be18080aa52f6570af2cce8f25c06) )
27142704   ROM_LOAD("gd_obj-3.323", 0x800000, 0x400000, CRC(36e93234) SHA1(51917a80b7da5c32a9434a1076fc2916d62e6a3e) )
27152705
2716   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
2706   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
27172707   ROM_LOAD32_WORD("gd_pcm.217", 0x000000, 0x100000, CRC(31253ad7) SHA1(c81c8d50f8f287f5cbfaec77b30d969b01ce11a9) )
27182708   ROM_CONTINUE(                 0x400000, 0x100000 )
27192709   ROM_LOAD32_BYTE("gd_8.216",   0x800000, 0x080000, CRC(f88cb6e4) SHA1(fb35b41307b490d5d08e4b8a70f8ff4ce2ca8105) )
r23898r23899
27232713ROM_END
27242714
27252715ROM_START( rdftu )
2726   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
2716   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
27272717   ROM_LOAD32_BYTE("rdftu_gd_1.211", 0x000000, 0x80000, CRC(47810c48) SHA1(8dc8848d3e7467ea887c50fd5675fba2cc741121) )
27282718   ROM_LOAD32_BYTE("rdftu_gd_2.212", 0x000001, 0x80000, CRC(13911750) SHA1(8899accb059ed84170924750bb39ae7383ebd959) )
27292719   ROM_LOAD32_BYTE("rdftu_gd_3.210", 0x000002, 0x80000, CRC(10761b03) SHA1(e67db2e7c2176987419158fc4cee00fd9b99d03f) )
r23898r23899
27312721
27322722   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
27332723
2734   ROM_REGION( 0x30000, "gfx1", 0 ) /* text layer roms */
2724   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
27352725   ROM_LOAD24_BYTE("gd_5.423", 0x000000, 0x10000, CRC(8f8d4e14) SHA1(06c803975767ae98f40ba7ac5764a5bc8baa3a30) )
27362726   ROM_LOAD24_BYTE("gd_6.424", 0x000001, 0x10000, CRC(6ac64968) SHA1(ec395205c24c4f864a1f805bb0d4641562d4faa9) )
27372727   ROM_LOAD24_BYTE("gd_7.48",  0x000002, 0x10000, CRC(4d87e1ea) SHA1(3230e9b643fad773e61ab8ce09c0cd7d4d0558e3) )
27382728
2739   ROM_REGION( 0x600000, "gfx2", 0 )    /* background layer roms */
2729   ROM_REGION( 0x600000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
27402730   ROM_LOAD24_WORD("gd_bg1-d.415", 0x000000, 0x200000, CRC(6a68054c) SHA1(5cbfc4ac90045f1401c2dda7a51936558c9de07e) )
27412731   ROM_LOAD24_BYTE("gd_bg1-p.410", 0x000002, 0x100000, CRC(3400794a) SHA1(719808f7442bac612cefd7b7fffcd665e6337ad0) )
27422732   ROM_LOAD24_WORD("gd_bg2-d.416", 0x300000, 0x200000, CRC(61cd2991) SHA1(bb608e3948bf9ea35b5e1615d2ba6858d029dcbe) )
27432733   ROM_LOAD24_BYTE("gd_bg2-p.49",  0x300002, 0x100000, CRC(502d5799) SHA1(c3a0e1a4f5a7b35572ae1ff31315da4ed08aa2fe) )
27442734
2745   ROM_REGION( 0xc00000, "gfx3", 0 )    /* sprites */
2735   ROM_REGION( 0xc00000, "gfx3", 0 ) /* sprites */
27462736   ROM_LOAD("gd_obj-1.322", 0x000000, 0x400000, CRC(59d86c99) SHA1(d3c9241e7b51fe21f8351051b063f91dc69bf905) )
27472737   ROM_LOAD("gd_obj-2.324", 0x400000, 0x400000, CRC(1ceb0b6f) SHA1(97225a9b3e7be18080aa52f6570af2cce8f25c06) )
27482738   ROM_LOAD("gd_obj-3.323", 0x800000, 0x400000, CRC(36e93234) SHA1(51917a80b7da5c32a9434a1076fc2916d62e6a3e) )
27492739
2750   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
2740   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
27512741   ROM_LOAD32_WORD("gd_pcm.217", 0x000000, 0x100000, CRC(31253ad7) SHA1(c81c8d50f8f287f5cbfaec77b30d969b01ce11a9) )
27522742   ROM_CONTINUE(                 0x400000, 0x100000 )
27532743   ROM_LOAD32_BYTE("gd_8.216",   0x800000, 0x080000, CRC(f88cb6e4) SHA1(fb35b41307b490d5d08e4b8a70f8ff4ce2ca8105) )
r23898r23899
27572747ROM_END
27582748
27592749ROM_START( rdftj )
2760   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
2750   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
27612751   ROM_LOAD32_BYTE("rf1.bin", 0x000000, 0x80000, CRC(46861b75) SHA1(079c589c490d49f7ec97a7e68c5b6e7e37872827) )
27622752   ROM_LOAD32_BYTE("rf2.bin", 0x000001, 0x80000, CRC(6388ed11) SHA1(aebbccfb0f704cdceb45ea71216275dd83880e15) )
27632753   ROM_LOAD32_BYTE("rf3.bin", 0x000002, 0x80000, CRC(beafcd24) SHA1(2dbc47ecef6f898a371a841df2c72151da9c5a8d) )
r23898r23899
27652755
27662756   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
27672757
2768   ROM_REGION( 0x30000, "gfx1", 0 ) /* text layer roms */
2758   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
27692759   ROM_LOAD24_BYTE("gd_5.423", 0x000000, 0x10000, CRC(8f8d4e14) SHA1(06c803975767ae98f40ba7ac5764a5bc8baa3a30) )
27702760   ROM_LOAD24_BYTE("gd_6.424", 0x000001, 0x10000, CRC(6ac64968) SHA1(ec395205c24c4f864a1f805bb0d4641562d4faa9) )
27712761   ROM_LOAD24_BYTE("gd_7.48",  0x000002, 0x10000, CRC(4d87e1ea) SHA1(3230e9b643fad773e61ab8ce09c0cd7d4d0558e3) )
27722762
2773   ROM_REGION( 0x600000, "gfx2", 0 )    /* background layer roms */
2763   ROM_REGION( 0x600000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
27742764   ROM_LOAD24_WORD("gd_bg1-d.415", 0x000000, 0x200000, CRC(6a68054c) SHA1(5cbfc4ac90045f1401c2dda7a51936558c9de07e) )
27752765   ROM_LOAD24_BYTE("gd_bg1-p.410", 0x000002, 0x100000, CRC(3400794a) SHA1(719808f7442bac612cefd7b7fffcd665e6337ad0) )
27762766   ROM_LOAD24_WORD("gd_bg2-d.416", 0x300000, 0x200000, CRC(61cd2991) SHA1(bb608e3948bf9ea35b5e1615d2ba6858d029dcbe) )
27772767   ROM_LOAD24_BYTE("gd_bg2-p.49",  0x300002, 0x100000, CRC(502d5799) SHA1(c3a0e1a4f5a7b35572ae1ff31315da4ed08aa2fe) )
27782768
2779   ROM_REGION( 0xc00000, "gfx3", 0 )    /* sprites */
2769   ROM_REGION( 0xc00000, "gfx3", 0 ) /* sprites */
27802770   ROM_LOAD("gd_obj-1.322", 0x000000, 0x400000, CRC(59d86c99) SHA1(d3c9241e7b51fe21f8351051b063f91dc69bf905) )
27812771   ROM_LOAD("gd_obj-2.324", 0x400000, 0x400000, CRC(1ceb0b6f) SHA1(97225a9b3e7be18080aa52f6570af2cce8f25c06) )
27822772   ROM_LOAD("gd_obj-3.323", 0x800000, 0x400000, CRC(36e93234) SHA1(51917a80b7da5c32a9434a1076fc2916d62e6a3e) )
27832773
2784   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
2774   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
27852775   ROM_LOAD32_WORD("gd_pcm.217", 0x000000, 0x100000, CRC(31253ad7) SHA1(c81c8d50f8f287f5cbfaec77b30d969b01ce11a9) )
27862776   ROM_CONTINUE(                 0x400000, 0x100000 )
27872777   ROM_LOAD32_BYTE("gd_8.216",   0x800000, 0x080000, CRC(f88cb6e4) SHA1(fb35b41307b490d5d08e4b8a70f8ff4ce2ca8105) )
r23898r23899
27912781ROM_END
27922782
27932783ROM_START( rdftau )
2794   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
2784   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
27952785   ROM_LOAD32_BYTE("1.u0211", 0x000000, 0x80000, CRC(6339c60d) SHA1(871d5bc9fc695651ceb6fcfdab32084320fe239d) )
27962786   ROM_LOAD32_BYTE("2.u0212", 0x000001, 0x80000, CRC(a88bda02) SHA1(27dc720d28f56cf443a4eb0bbaaf4bf3b194056d) )
27972787   ROM_LOAD32_BYTE("3.u0210", 0x000002, 0x80000, CRC(a73e337e) SHA1(93323875c676f38eca3298fcf4a34911db2d78a8) )
r23898r23899
27992789
28002790   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
28012791
2802   ROM_REGION( 0x30000, "gfx1", 0 ) /* text layer roms */
2792   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
28032793   ROM_LOAD24_BYTE("gd_5.423", 0x000000, 0x10000, CRC(8f8d4e14) SHA1(06c803975767ae98f40ba7ac5764a5bc8baa3a30) )
28042794   ROM_LOAD24_BYTE("gd_6.424", 0x000001, 0x10000, CRC(6ac64968) SHA1(ec395205c24c4f864a1f805bb0d4641562d4faa9) )
28052795   ROM_LOAD24_BYTE("gd_7.48",  0x000002, 0x10000, CRC(4d87e1ea) SHA1(3230e9b643fad773e61ab8ce09c0cd7d4d0558e3) )
28062796
2807   ROM_REGION( 0x600000, "gfx2", 0 )    /* background layer roms */
2797   ROM_REGION( 0x600000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
28082798   ROM_LOAD24_WORD("gd_bg1-d.415", 0x000000, 0x200000, CRC(6a68054c) SHA1(5cbfc4ac90045f1401c2dda7a51936558c9de07e) )
28092799   ROM_LOAD24_BYTE("gd_bg1-p.410", 0x000002, 0x100000, CRC(3400794a) SHA1(719808f7442bac612cefd7b7fffcd665e6337ad0) )
28102800   ROM_LOAD24_WORD("gd_bg2-d.416", 0x300000, 0x200000, CRC(61cd2991) SHA1(bb608e3948bf9ea35b5e1615d2ba6858d029dcbe) )
28112801   ROM_LOAD24_BYTE("gd_bg2-p.49",  0x300002, 0x100000, CRC(502d5799) SHA1(c3a0e1a4f5a7b35572ae1ff31315da4ed08aa2fe) )
28122802
2813   ROM_REGION( 0xc00000, "gfx3", 0 )    /* sprites */
2803   ROM_REGION( 0xc00000, "gfx3", 0 ) /* sprites */
28142804   ROM_LOAD("gd_obj-1.322", 0x000000, 0x400000, CRC(59d86c99) SHA1(d3c9241e7b51fe21f8351051b063f91dc69bf905) )
28152805   ROM_LOAD("gd_obj-2.324", 0x400000, 0x400000, CRC(1ceb0b6f) SHA1(97225a9b3e7be18080aa52f6570af2cce8f25c06) )
28162806   ROM_LOAD("gd_obj-3.323", 0x800000, 0x400000, CRC(36e93234) SHA1(51917a80b7da5c32a9434a1076fc2916d62e6a3e) )
28172807
2818   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
2808   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
28192809   ROM_LOAD32_WORD("gd_pcm.217", 0x000000, 0x100000, CRC(31253ad7) SHA1(c81c8d50f8f287f5cbfaec77b30d969b01ce11a9) )
28202810   ROM_CONTINUE(                 0x400000, 0x100000 )
28212811   ROM_LOAD32_BYTE("gd_8.216",   0x800000, 0x080000, CRC(f88cb6e4) SHA1(fb35b41307b490d5d08e4b8a70f8ff4ce2ca8105) )
r23898r23899
28252815ROM_END
28262816
28272817ROM_START( rdftit )
2828   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
2818   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
28292819   ROM_LOAD32_BYTE("seibu1",   0x000000, 0x80000, CRC(de0c3e3c) SHA1(b00225bad282e46b5825608f76eea6670bfe5527) )
28302820   ROM_LOAD32_BYTE("u212.bin", 0x000001, 0x80000, CRC(58ccb10c) SHA1(0cce4057bfada78121d9586574b98d46cdd7dd46) )
28312821   ROM_LOAD32_BYTE("u210.bin", 0x000002, 0x80000, CRC(47fc3c96) SHA1(7378f8caa847f89f235b5be6779118721076873b) )
r23898r23899
28332823
28342824   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
28352825
2836   ROM_REGION( 0x30000, "gfx1", 0 ) /* text layer roms */
2826   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
28372827   ROM_LOAD24_BYTE("gd_5.423", 0x000000, 0x10000, CRC(8f8d4e14) SHA1(06c803975767ae98f40ba7ac5764a5bc8baa3a30) )
28382828   ROM_LOAD24_BYTE("gd_6.424", 0x000001, 0x10000, CRC(6ac64968) SHA1(ec395205c24c4f864a1f805bb0d4641562d4faa9) )
28392829   ROM_LOAD24_BYTE("gd_7.48",  0x000002, 0x10000, CRC(4d87e1ea) SHA1(3230e9b643fad773e61ab8ce09c0cd7d4d0558e3) )
28402830
2841   ROM_REGION( 0x600000, "gfx2", 0 )    /* background layer roms */
2831   ROM_REGION( 0x600000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
28422832   ROM_LOAD24_WORD("gd_bg1-d.415", 0x000000, 0x200000, CRC(6a68054c) SHA1(5cbfc4ac90045f1401c2dda7a51936558c9de07e) )
28432833   ROM_LOAD24_BYTE("gd_bg1-p.410", 0x000002, 0x100000, CRC(3400794a) SHA1(719808f7442bac612cefd7b7fffcd665e6337ad0) )
28442834   ROM_LOAD24_WORD("gd_bg2-d.416", 0x300000, 0x200000, CRC(61cd2991) SHA1(bb608e3948bf9ea35b5e1615d2ba6858d029dcbe) )
28452835   ROM_LOAD24_BYTE("gd_bg2-p.49",  0x300002, 0x100000, CRC(502d5799) SHA1(c3a0e1a4f5a7b35572ae1ff31315da4ed08aa2fe) )
28462836
2847   ROM_REGION( 0xc00000, "gfx3", 0 )    /* sprites */
2837   ROM_REGION( 0xc00000, "gfx3", 0 ) /* sprites */
28482838   ROM_LOAD("gd_obj-1.322", 0x000000, 0x400000, CRC(59d86c99) SHA1(d3c9241e7b51fe21f8351051b063f91dc69bf905) )
28492839   ROM_LOAD("gd_obj-2.324", 0x400000, 0x400000, CRC(1ceb0b6f) SHA1(97225a9b3e7be18080aa52f6570af2cce8f25c06) )
28502840   ROM_LOAD("gd_obj-3.323", 0x800000, 0x400000, CRC(36e93234) SHA1(51917a80b7da5c32a9434a1076fc2916d62e6a3e) )
28512841
2852   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
2842   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
28532843   ROM_LOAD32_WORD("gd_pcm.217", 0x000000, 0x100000, CRC(31253ad7) SHA1(c81c8d50f8f287f5cbfaec77b30d969b01ce11a9) )
28542844   ROM_CONTINUE(                 0x400000, 0x100000 )
28552845   ROM_LOAD32_BYTE("gd_8.216",   0x800000, 0x080000, CRC(f88cb6e4) SHA1(fb35b41307b490d5d08e4b8a70f8ff4ce2ca8105) )
r23898r23899
28592849ROM_END
28602850
28612851ROM_START( rdfta )
2862   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
2852   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
28632853   ROM_LOAD32_BYTE("seibu1a",  0x000000, 0x80000, CRC(c3bb2e58) SHA1(399ac4b387ba38f5fdad5c4172b2d3baeafd8773) )
28642854   ROM_LOAD32_BYTE("u212.bin", 0x000001, 0x80000, CRC(58ccb10c) SHA1(0cce4057bfada78121d9586574b98d46cdd7dd46) )
28652855   ROM_LOAD32_BYTE("u210.bin", 0x000002, 0x80000, CRC(47fc3c96) SHA1(7378f8caa847f89f235b5be6779118721076873b) )
r23898r23899
28672857
28682858   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
28692859
2870   ROM_REGION( 0x30000, "gfx1", 0 ) /* text layer roms */
2860   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
28712861   ROM_LOAD24_BYTE("gd_5.423", 0x000000, 0x10000, CRC(8f8d4e14) SHA1(06c803975767ae98f40ba7ac5764a5bc8baa3a30) )
28722862   ROM_LOAD24_BYTE("gd_6.424", 0x000001, 0x10000, CRC(6ac64968) SHA1(ec395205c24c4f864a1f805bb0d4641562d4faa9) )
28732863   ROM_LOAD24_BYTE("gd_7.48",  0x000002, 0x10000, CRC(4d87e1ea) SHA1(3230e9b643fad773e61ab8ce09c0cd7d4d0558e3) )
28742864
2875   ROM_REGION( 0x600000, "gfx2", 0 )    /* background layer roms */
2865   ROM_REGION( 0x600000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
28762866   ROM_LOAD24_WORD("gd_bg1-d.415", 0x000000, 0x200000, CRC(6a68054c) SHA1(5cbfc4ac90045f1401c2dda7a51936558c9de07e) )
28772867   ROM_LOAD24_BYTE("gd_bg1-p.410", 0x000002, 0x100000, CRC(3400794a) SHA1(719808f7442bac612cefd7b7fffcd665e6337ad0) )
28782868   ROM_LOAD24_WORD("gd_bg2-d.416", 0x300000, 0x200000, CRC(61cd2991) SHA1(bb608e3948bf9ea35b5e1615d2ba6858d029dcbe) )
28792869   ROM_LOAD24_BYTE("gd_bg2-p.49",  0x300002, 0x100000, CRC(502d5799) SHA1(c3a0e1a4f5a7b35572ae1ff31315da4ed08aa2fe) )
28802870
2881   ROM_REGION( 0xc00000, "gfx3", 0 )    /* sprites */
2871   ROM_REGION( 0xc00000, "gfx3", 0 ) /* sprites */
28822872   ROM_LOAD("gd_obj-1.322", 0x000000, 0x400000, CRC(59d86c99) SHA1(d3c9241e7b51fe21f8351051b063f91dc69bf905) )
28832873   ROM_LOAD("gd_obj-2.324", 0x400000, 0x400000, CRC(1ceb0b6f) SHA1(97225a9b3e7be18080aa52f6570af2cce8f25c06) )
28842874   ROM_LOAD("gd_obj-3.323", 0x800000, 0x400000, CRC(36e93234) SHA1(51917a80b7da5c32a9434a1076fc2916d62e6a3e) )
28852875
2886   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
2876   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
28872877   ROM_LOAD32_WORD("gd_pcm.217", 0x000000, 0x100000, CRC(31253ad7) SHA1(c81c8d50f8f287f5cbfaec77b30d969b01ce11a9) )
28882878   ROM_CONTINUE(                 0x400000, 0x100000 )
28892879   ROM_LOAD32_BYTE("gd_8.216",   0x800000, 0x080000, CRC(f88cb6e4) SHA1(fb35b41307b490d5d08e4b8a70f8ff4ce2ca8105) )
r23898r23899
28932883ROM_END
28942884
28952885ROM_START( rdftadi ) // Dream Island license
2896   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
2886   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
28972887   ROM_LOAD32_BYTE("seibu__1.u0211",       0x000000, 0x080000, CRC(fc0e2885) SHA1(79621155d992d504e993bd3ee0d6ff3903bd5415) ) // socket is silkscreened on pcb PRG0
28982888   ROM_LOAD32_BYTE("raiden-f_prg2.u0212",  0x000001, 0x080000, CRC(58ccb10c) SHA1(0cce4057bfada78121d9586574b98d46cdd7dd46) ) // socket is silkscreened on pcb PRG1
28992889   ROM_LOAD32_WORD("raiden-f_prg34.u0219", 0x000002, 0x100000, CRC(63f01d17) SHA1(74dbd0417b974583da87fc6c7a081b03fd4e16b8) ) // socket is silkscreened on pcb PRG23
29002890
29012891   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
29022892
2903   ROM_REGION( 0x30000, "gfx1", 0 ) /* text layer roms */
2893   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
29042894   ROM_LOAD24_WORD("raiden-f_fix.u0425", 0x000000, 0x20000, CRC(2be2936b) SHA1(9e719f7328a52af220b6f084c1e0990ca6e2d533) ) // socket is silkscreened on pcb FIX01
29052895   ROM_LOAD24_BYTE("seibu_7.u048",       0x000002, 0x10000, CRC(4d87e1ea) SHA1(3230e9b643fad773e61ab8ce09c0cd7d4d0558e3) ) // socket is silkscreened on pcb FIXP
29062896
2907   ROM_REGION( 0x600000, "gfx2", 0 )    /* background layer roms */
2897   ROM_REGION( 0x600000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
29082898   ROM_LOAD24_WORD("gun_dogs_bg1-d.u0415", 0x000000, 0x200000, CRC(6a68054c) SHA1(5cbfc4ac90045f1401c2dda7a51936558c9de07e) ) // pads are silkscreened on pcb BG12
29092899   ROM_LOAD24_BYTE("gun_dogs_bg1-p.u0410", 0x000002, 0x100000, CRC(3400794a) SHA1(719808f7442bac612cefd7b7fffcd665e6337ad0) ) // pads are silkscreened on pcb BG12P
29102900   ROM_LOAD24_WORD("gun_dogs_bg2-d.u0424", 0x300000, 0x200000, CRC(61cd2991) SHA1(bb608e3948bf9ea35b5e1615d2ba6858d029dcbe) ) // pads are silkscreened on pcb BG3
29112901   ROM_LOAD24_BYTE("gun_dogs_bg2-p.u049",  0x300002, 0x100000, CRC(502d5799) SHA1(c3a0e1a4f5a7b35572ae1ff31315da4ed08aa2fe) ) // pads are silkscreened on pcb BG3P
29122902
2913   ROM_REGION( 0xc00000, "gfx3", 0 )    /* sprites */
2903   ROM_REGION( 0xc00000, "gfx3", 0 ) /* sprites */
29142904   ROM_LOAD("gun_dogs_obj-1.u0322", 0x000000, 0x400000, CRC(59d86c99) SHA1(d3c9241e7b51fe21f8351051b063f91dc69bf905) ) // pads are silkscreened on pcb OBJ1
29152905   ROM_LOAD("gun_dogs_obj-2.u0324", 0x400000, 0x400000, CRC(1ceb0b6f) SHA1(97225a9b3e7be18080aa52f6570af2cce8f25c06) ) // pads are silkscreened on pcb OBJ2
29162906   ROM_LOAD("gun_dogs_obj-3.u0323", 0x800000, 0x400000, CRC(36e93234) SHA1(51917a80b7da5c32a9434a1076fc2916d62e6a3e) ) // pads are silkscreened on pcb OBJ3
29172907
2918   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
2908   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
29192909   ROM_LOAD32_WORD("raiden-f_pcm2.u0217", 0x000000, 0x100000, CRC(3f8d4a48) SHA1(30664a2908daaeaee58f7e157516b522c952e48d) ) // pads are silkscreened SOUND0
29202910   ROM_CONTINUE(                          0x400000, 0x100000 )
29212911   /* SOUND1 socket is unpopulated */
r23898r23899
29252915ROM_END
29262916
29272917ROM_START( rdftam ) // Metrotainment license
2928   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
2918   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
29292919   ROM_LOAD32_BYTE("seibu_1.u0211",        0x000000, 0x080000, CRC(156D8DB0) SHA1(93662B3EE494E37A56428A7AA3DAD7A957835950) ) // socket is silkscreened on pcb PRG0
29302920   ROM_LOAD32_BYTE("raiden-f_prg2.u0212",  0x000001, 0x080000, CRC(58ccb10c) SHA1(0cce4057bfada78121d9586574b98d46cdd7dd46) ) // socket is silkscreened on pcb PRG1
29312921   ROM_LOAD32_WORD("raiden-f_prg34.u0219", 0x000002, 0x100000, CRC(63f01d17) SHA1(74dbd0417b974583da87fc6c7a081b03fd4e16b8) ) // socket is silkscreened on pcb PRG23
29322922
29332923   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
29342924
2935   ROM_REGION( 0x30000, "gfx1", 0 ) /* text layer roms */
2925   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
29362926   ROM_LOAD24_WORD("raiden-f_fix.u0425", 0x000000, 0x20000, CRC(2be2936b) SHA1(9e719f7328a52af220b6f084c1e0990ca6e2d533) ) // socket is silkscreened on pcb FIX01
29372927   ROM_LOAD24_BYTE("seibu_7.u048",       0x000002, 0x10000, CRC(4d87e1ea) SHA1(3230e9b643fad773e61ab8ce09c0cd7d4d0558e3) ) // socket is silkscreened on pcb FIXP
29382928
2939   ROM_REGION( 0x600000, "gfx2", 0 )    /* background layer roms */
2929   ROM_REGION( 0x600000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
29402930   ROM_LOAD24_WORD("gun_dogs_bg1-d.u0415", 0x000000, 0x200000, CRC(6a68054c) SHA1(5cbfc4ac90045f1401c2dda7a51936558c9de07e) ) // pads are silkscreened on pcb BG12
29412931   ROM_LOAD24_BYTE("gun_dogs_bg1-p.u0410", 0x000002, 0x100000, CRC(3400794a) SHA1(719808f7442bac612cefd7b7fffcd665e6337ad0) ) // pads are silkscreened on pcb BG12P
29422932   ROM_LOAD24_WORD("gun_dogs_bg2-d.u0424", 0x300000, 0x200000, CRC(61cd2991) SHA1(bb608e3948bf9ea35b5e1615d2ba6858d029dcbe) ) // pads are silkscreened on pcb BG3
29432933   ROM_LOAD24_BYTE("gun_dogs_bg2-p.u049",  0x300002, 0x100000, CRC(502d5799) SHA1(c3a0e1a4f5a7b35572ae1ff31315da4ed08aa2fe) ) // pads are silkscreened on pcb BG3P
29442934
2945   ROM_REGION( 0xc00000, "gfx3", 0 )    /* sprites */
2935   ROM_REGION( 0xc00000, "gfx3", 0 ) /* sprites */
29462936   ROM_LOAD("gun_dogs_obj-1.u0322", 0x000000, 0x400000, CRC(59d86c99) SHA1(d3c9241e7b51fe21f8351051b063f91dc69bf905) ) // pads are silkscreened on pcb OBJ1
29472937   ROM_LOAD("gun_dogs_obj-2.u0324", 0x400000, 0x400000, CRC(1ceb0b6f) SHA1(97225a9b3e7be18080aa52f6570af2cce8f25c06) ) // pads are silkscreened on pcb OBJ2
29482938   ROM_LOAD("gun_dogs_obj-3.u0323", 0x800000, 0x400000, CRC(36e93234) SHA1(51917a80b7da5c32a9434a1076fc2916d62e6a3e) ) // pads are silkscreened on pcb OBJ3
29492939
2950   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
2940   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
29512941   ROM_LOAD32_WORD("raiden-f_pcm2.u0217", 0x000000, 0x100000, CRC(3f8d4a48) SHA1(30664a2908daaeaee58f7e157516b522c952e48d) ) // pads are silkscreened SOUND0
29522942   ROM_CONTINUE(                          0x400000, 0x100000 )
29532943   /* SOUND1 socket is unpopulated */
r23898r23899
29582948
29592949
29602950ROM_START( rdft2 ) /* SPI Cart, Europe */
2961   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
2951   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
29622952   ROM_LOAD32_BYTE("prg0.tun", 0x000000, 0x80000, CRC(3cb3fdca) SHA1(4b472dfd65c7bbbcb92a295aa73b0fa70581455b) )
29632953   ROM_LOAD32_BYTE("prg1.bin", 0x000001, 0x80000, CRC(cab55d88) SHA1(246e13880d34b6c7c3f4ab5e18fa8a0547c03d9d) )
29642954   ROM_LOAD32_BYTE("prg2.bin", 0x000002, 0x80000, CRC(83758b0e) SHA1(63adb2d09e7bd7dba47a55b3b579d543dfb553e3) )
r23898r23899
29662956
29672957   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
29682958
2969   ROM_REGION( 0x30000, "gfx1", 0 )
2959   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
29702960   ROM_LOAD24_BYTE("fix0.u0524", 0x000001, 0x10000, CRC(6fdf4cf6) SHA1(7e9d4a49e829dfdc373c0f5acfbe8c7a91ac115b) )
29712961   ROM_LOAD24_BYTE("fix1.u0518", 0x000000, 0x10000, CRC(69b7899b) SHA1(d3cacd4ef4d2c95d803403101beb9d4be75fae61) )
29722962   ROM_LOAD24_BYTE("fixp.u0514", 0x000002, 0x10000, CRC(99a5fece) SHA1(44ae95d650ed6e00202d3438f5f91a5e52e319cb) )
29732963
2974   ROM_REGION( 0xc00000, "gfx2", 0 )    /* background layer roms */
2964   ROM_REGION( 0xc00000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
29752965   ROM_LOAD24_WORD("bg-1d.u0535", 0x000000, 0x400000, CRC(6143f576) SHA1(c034923d0663d9ef24357a03098b8cb81dbab9f8) )
29762966   ROM_LOAD24_BYTE("bg-1p.u0537", 0x000002, 0x200000, CRC(55e64ef7) SHA1(aae991268948d07342ee8ba1b3761bd180aab8ec) )
29772967   ROM_LOAD24_WORD("bg-2d.u0536", 0x600000, 0x400000, CRC(c607a444) SHA1(dc1aa96a42e9394ca6036359670a4ec6f830c96d) )
29782968   ROM_LOAD24_BYTE("bg-2p.u0538", 0x600002, 0x200000, CRC(f0830248) SHA1(6075df96b49e70d2243fef691e096119e7a4d044) )
29792969
2980   ROM_REGION( 0x1200000, "gfx3", 0 )   /* sprites */
2970   ROM_REGION( 0x1200000, "gfx3", 0 ) /* sprites */
29812971   ROM_LOAD("obj3.u0434",  0x0000000, 0x400000, CRC(e08f42dc) SHA1(5188d71d4355eaf43ea8893b4cfc4fe80cc24f41) )
29822972   ROM_LOAD("obj3b.u0433", 0x0400000, 0x200000, CRC(1b6a523c) SHA1(99a420dbc8e22e7832ccda7cec9fa661a2a2687a) )
29832973   ROM_LOAD("obj2.u0431",  0x0600000, 0x400000, CRC(7aeadd8e) SHA1(47103c0579240c5b1add4d0b164eaf76f5fa97f0) )
r23898r23899
29852975   ROM_LOAD("obj1.u0429",  0x0c00000, 0x400000, CRC(c2c50f02) SHA1(b81397b5800c6d49f58b7ac7ff6eac56da3c5257) )
29862976   ROM_LOAD("obj1b.u0430", 0x1000000, 0x200000, CRC(5259321f) SHA1(3c70c1147e49f81371d0f60f7108d9718d56faf4) )
29872977
2988   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
2978   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
29892979   ROM_LOAD32_WORD("pcm.u0217",    0x000000, 0x100000, CRC(2edc30b5) SHA1(c25d690d633657fc3687636b9070f36bd305ae06) )
29902980   ROM_CONTINUE(                   0x400000, 0x100000 )
29912981   ROM_LOAD32_BYTE("sound1.u0222", 0x800000, 0x080000, CRC(b7bd3703) SHA1(6427a7e6de10d6743d6e64b984a1d1c647f5643a) )
r23898r23899
29952985ROM_END
29962986
29972987ROM_START( rdft2u ) /* SPI Cart, USA */
2998   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
2988   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
29992989   ROM_LOAD32_BYTE("1.bin", 0x000000, 0x80000, CRC(b7d6c866) SHA1(eefe63dfc641c3904dd150a10ffeb68137068725) )
30002990   ROM_LOAD32_BYTE("2.bin", 0x000001, 0x80000, CRC(ff7747c5) SHA1(7481d0484001ff7367af56e8ea99f985cce405f2) )
30012991   ROM_LOAD32_BYTE("3.bin", 0x000002, 0x80000, CRC(86e3d1a8) SHA1(2757cfda57c82dd0f66427caf54eb1f40e85740d) )
r23898r23899
30032993
30042994   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
30052995
3006   ROM_REGION( 0x30000, "gfx1", 0 )
2996   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
30072997   ROM_LOAD24_BYTE("fix0.u0524", 0x000001, 0x10000, CRC(6fdf4cf6) SHA1(7e9d4a49e829dfdc373c0f5acfbe8c7a91ac115b) )
30082998   ROM_LOAD24_BYTE("fix1.u0518", 0x000000, 0x10000, CRC(69b7899b) SHA1(d3cacd4ef4d2c95d803403101beb9d4be75fae61) )
30092999   ROM_LOAD24_BYTE("fixp.u0514", 0x000002, 0x10000, CRC(99a5fece) SHA1(44ae95d650ed6e00202d3438f5f91a5e52e319cb) )
30103000
3011   ROM_REGION( 0xc00000, "gfx2", 0 )    /* background layer roms */
3001   ROM_REGION( 0xc00000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
30123002   ROM_LOAD24_WORD("bg-1d.u0535", 0x000000, 0x400000, CRC(6143f576) SHA1(c034923d0663d9ef24357a03098b8cb81dbab9f8) )
30133003   ROM_LOAD24_BYTE("bg-1p.u0537", 0x000002, 0x200000, CRC(55e64ef7) SHA1(aae991268948d07342ee8ba1b3761bd180aab8ec) )
30143004   ROM_LOAD24_WORD("bg-2d.u0536", 0x600000, 0x400000, CRC(c607a444) SHA1(dc1aa96a42e9394ca6036359670a4ec6f830c96d) )
30153005   ROM_LOAD24_BYTE("bg-2p.u0538", 0x600002, 0x200000, CRC(f0830248) SHA1(6075df96b49e70d2243fef691e096119e7a4d044) )
30163006
3017   ROM_REGION( 0x1200000, "gfx3", 0 )   /* sprites */
3007   ROM_REGION( 0x1200000, "gfx3", 0 ) /* sprites */
30183008   ROM_LOAD("obj3.u0434",  0x0000000, 0x400000, CRC(e08f42dc) SHA1(5188d71d4355eaf43ea8893b4cfc4fe80cc24f41) )
30193009   ROM_LOAD("obj3b.u0433", 0x0400000, 0x200000, CRC(1b6a523c) SHA1(99a420dbc8e22e7832ccda7cec9fa661a2a2687a) )
30203010   ROM_LOAD("obj2.u0431",  0x0600000, 0x400000, CRC(7aeadd8e) SHA1(47103c0579240c5b1add4d0b164eaf76f5fa97f0) )
r23898r23899
30223012   ROM_LOAD("obj1.u0429",  0x0c00000, 0x400000, CRC(c2c50f02) SHA1(b81397b5800c6d49f58b7ac7ff6eac56da3c5257) )
30233013   ROM_LOAD("obj1b.u0430", 0x1000000, 0x200000, CRC(5259321f) SHA1(3c70c1147e49f81371d0f60f7108d9718d56faf4) )
30243014
3025   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
3015   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
30263016   ROM_LOAD32_WORD("pcm.u0217",    0x000000, 0x100000, CRC(2edc30b5) SHA1(c25d690d633657fc3687636b9070f36bd305ae06) )
30273017   ROM_CONTINUE(                   0x400000, 0x100000 )
30283018   ROM_LOAD32_BYTE("sound1.u0222", 0x800000, 0x080000, CRC(b7bd3703) SHA1(6427a7e6de10d6743d6e64b984a1d1c647f5643a) )
r23898r23899
30323022ROM_END
30333023
30343024ROM_START( rdft2j ) /* SPI Cart, Japan */
3035   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
3025   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
30363026   ROM_LOAD32_BYTE("prg0.sei", 0x000000, 0x80000, CRC(a60c4e7c) SHA1(7789b029d0ac084c7e5e662a7168edaed8f11633) )
30373027   ROM_LOAD32_BYTE("prg1.bin", 0x000001, 0x80000, CRC(cab55d88) SHA1(246e13880d34b6c7c3f4ab5e18fa8a0547c03d9d) )
30383028   ROM_LOAD32_BYTE("prg2.bin", 0x000002, 0x80000, CRC(83758b0e) SHA1(63adb2d09e7bd7dba47a55b3b579d543dfb553e3) )
r23898r23899
30403030
30413031   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
30423032
3043   ROM_REGION( 0x30000, "gfx1", 0 )
3033   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
30443034   ROM_LOAD24_BYTE("fix0.u0524", 0x000001, 0x10000, CRC(6fdf4cf6) SHA1(7e9d4a49e829dfdc373c0f5acfbe8c7a91ac115b) )
30453035   ROM_LOAD24_BYTE("fix1.u0518", 0x000000, 0x10000, CRC(69b7899b) SHA1(d3cacd4ef4d2c95d803403101beb9d4be75fae61) )
30463036   ROM_LOAD24_BYTE("fixp.u0514", 0x000002, 0x10000, CRC(99a5fece) SHA1(44ae95d650ed6e00202d3438f5f91a5e52e319cb) )
30473037
3048   ROM_REGION( 0xc00000, "gfx2", 0 )    /* background layer roms */
3038   ROM_REGION( 0xc00000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
30493039   ROM_LOAD24_WORD("bg-1d.u0535", 0x000000, 0x400000, CRC(6143f576) SHA1(c034923d0663d9ef24357a03098b8cb81dbab9f8) )
30503040   ROM_LOAD24_BYTE("bg-1p.u0537", 0x000002, 0x200000, CRC(55e64ef7) SHA1(aae991268948d07342ee8ba1b3761bd180aab8ec) )
30513041   ROM_LOAD24_WORD("bg-2d.u0536", 0x600000, 0x400000, CRC(c607a444) SHA1(dc1aa96a42e9394ca6036359670a4ec6f830c96d) )
30523042   ROM_LOAD24_BYTE("bg-2p.u0538", 0x600002, 0x200000, CRC(f0830248) SHA1(6075df96b49e70d2243fef691e096119e7a4d044) )
30533043
3054   ROM_REGION( 0x1200000, "gfx3", 0 )   /* sprites */
3044   ROM_REGION( 0x1200000, "gfx3", 0 ) /* sprites */
30553045   ROM_LOAD("obj3.u0434",  0x0000000, 0x400000, CRC(e08f42dc) SHA1(5188d71d4355eaf43ea8893b4cfc4fe80cc24f41) )
30563046   ROM_LOAD("obj3b.u0433", 0x0400000, 0x200000, CRC(1b6a523c) SHA1(99a420dbc8e22e7832ccda7cec9fa661a2a2687a) )
30573047   ROM_LOAD("obj2.u0431",  0x0600000, 0x400000, CRC(7aeadd8e) SHA1(47103c0579240c5b1add4d0b164eaf76f5fa97f0) )
r23898r23899
30593049   ROM_LOAD("obj1.u0429",  0x0c00000, 0x400000, CRC(c2c50f02) SHA1(b81397b5800c6d49f58b7ac7ff6eac56da3c5257) )
30603050   ROM_LOAD("obj1b.u0430", 0x1000000, 0x200000, CRC(5259321f) SHA1(3c70c1147e49f81371d0f60f7108d9718d56faf4) )
30613051
3062   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
3052   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
30633053   ROM_LOAD32_WORD("pcm.u0217",    0x000000, 0x100000, CRC(2edc30b5) SHA1(c25d690d633657fc3687636b9070f36bd305ae06) )
30643054   ROM_CONTINUE(                   0x400000, 0x100000 )
30653055   ROM_LOAD32_BYTE("sound1.u0222", 0x800000, 0x080000, CRC(b7bd3703) SHA1(6427a7e6de10d6743d6e64b984a1d1c647f5643a) )
r23898r23899
30693059ROM_END
30703060
30713061ROM_START( rdft2j2 ) /* SPI Cart, Japan */
3072   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
3073   ROM_LOAD32_BYTE("rf2.1",    0x000000, 0x80000, CRC(391d5057) SHA1(a1849142cbf7344ac1279781597e27b3b8ae6127) )
3062   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
3063   ROM_LOAD32_BYTE("rf2.1",     0x000000, 0x80000, CRC(391d5057) SHA1(a1849142cbf7344ac1279781597e27b3b8ae6127) )
30743064   ROM_LOAD32_BYTE("rf2_2.bin", 0x000001, 0x80000, CRC(ec73a767) SHA1(83f3905afe49401793c0ea0193cb31d3ba1e1739) )
30753065   ROM_LOAD32_BYTE("rf2_3.bin", 0x000002, 0x80000, CRC(e66243b2) SHA1(54e67af37a4586fd1afc79085ed433d599e1bb87) )
30763066   ROM_LOAD32_BYTE("rf2_4.bin", 0x000003, 0x80000, CRC(92b7b73e) SHA1(128649b2a6a0616113bd0f9846fb6cf814ae326d) )
30773067
30783068   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
30793069
3080   ROM_REGION( 0x30000, "gfx1", 0 )
3070   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
30813071   ROM_LOAD24_BYTE("rf2_5.bin", 0x000001, 0x10000, CRC(377cac2f) SHA1(f7c9323d79b77f6c8c02ba2c6cdca127d6e5cb5c) )
30823072   ROM_LOAD24_BYTE("rf2_6.bin", 0x000000, 0x10000, CRC(42bd5372) SHA1(c38df85b25070db9640eac541f71c0511bab0c98) )
30833073   ROM_LOAD24_BYTE("rf2_7.bin", 0x000002, 0x10000, CRC(1efaac7e) SHA1(8252af56dcb7a6306dc3422070176778e3c511c2) )
30843074
3085   ROM_REGION( 0xc00000, "gfx2", 0 )    /* background layer roms */
3075   ROM_REGION( 0xc00000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
30863076   ROM_LOAD24_WORD("bg-1d.u0535", 0x000000, 0x400000, CRC(6143f576) SHA1(c034923d0663d9ef24357a03098b8cb81dbab9f8) )
30873077   ROM_LOAD24_BYTE("bg-1p.u0537", 0x000002, 0x200000, CRC(55e64ef7) SHA1(aae991268948d07342ee8ba1b3761bd180aab8ec) )
30883078   ROM_LOAD24_WORD("bg-2d.u0536", 0x600000, 0x400000, CRC(c607a444) SHA1(dc1aa96a42e9394ca6036359670a4ec6f830c96d) )
30893079   ROM_LOAD24_BYTE("bg-2p.u0538", 0x600002, 0x200000, CRC(f0830248) SHA1(6075df96b49e70d2243fef691e096119e7a4d044) )
30903080
3091   ROM_REGION( 0x1200000, "gfx3", 0 )   /* sprites */
3081   ROM_REGION( 0x1200000, "gfx3", 0 ) /* sprites */
30923082   ROM_LOAD("obj3.u0434",  0x0000000, 0x400000, CRC(e08f42dc) SHA1(5188d71d4355eaf43ea8893b4cfc4fe80cc24f41) )
30933083   ROM_LOAD("obj3b.u0433", 0x0400000, 0x200000, CRC(1b6a523c) SHA1(99a420dbc8e22e7832ccda7cec9fa661a2a2687a) )
30943084   ROM_LOAD("obj2.u0431",  0x0600000, 0x400000, CRC(7aeadd8e) SHA1(47103c0579240c5b1add4d0b164eaf76f5fa97f0) )
r23898r23899
30963086   ROM_LOAD("obj1.u0429",  0x0c00000, 0x400000, CRC(c2c50f02) SHA1(b81397b5800c6d49f58b7ac7ff6eac56da3c5257) )
30973087   ROM_LOAD("obj1b.u0430", 0x1000000, 0x200000, CRC(5259321f) SHA1(3c70c1147e49f81371d0f60f7108d9718d56faf4) )
30983088
3099   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
3089   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
31003090   ROM_LOAD32_WORD("pcm.u0217",    0x000000, 0x100000, CRC(2edc30b5) SHA1(c25d690d633657fc3687636b9070f36bd305ae06) )
31013091   ROM_CONTINUE(                   0x400000, 0x100000 )
31023092   ROM_LOAD32_BYTE("sound1.u0222", 0x800000, 0x080000, CRC(b7bd3703) SHA1(6427a7e6de10d6743d6e64b984a1d1c647f5643a) )
r23898r23899
31073097
31083098ROM_START( rdft2a ) /* SPI Cart, Asia (Metrotainment license); SPI PCB is marked "(C)1997 SXX2C ROM SUB8" */
31093099   // The SUB8 board is also capable of having two 23C8100 roms at U0223 and U0219 for PRG instead of the four roms below.
3110   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program, all are 27C040 */
3100   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program, all are 27C040 */
31113101   ROM_LOAD32_BYTE("seibu__1.u0211", 0x000000, 0x80000, CRC(046b3f0e) SHA1(033898f658d6007f891828835734422d4af36321) ) // socket is silkscreened on pcb PRG1
31123102   ROM_LOAD32_BYTE("seibu__2.u0212", 0x000001, 0x80000, CRC(cab55d88) SHA1(246e13880d34b6c7c3f4ab5e18fa8a0547c03d9d) ) // socket is silkscreened on pcb PRG2
31133103   ROM_LOAD32_BYTE("seibu__3.u0221", 0x000002, 0x80000, CRC(83758b0e) SHA1(63adb2d09e7bd7dba47a55b3b579d543dfb553e3) ) // socket is silkscreened on pcb PRG3
r23898r23899
31153105
31163106   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
31173107
3118   ROM_REGION( 0x30000, "gfx1", 0 ) /* all are 27C512 */
3108   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms - all are 27C512 */
31193109   ROM_LOAD24_BYTE("seibu__5.u0524", 0x000001, 0x10000, CRC(6fdf4cf6) SHA1(7e9d4a49e829dfdc373c0f5acfbe8c7a91ac115b) ) // socket is silkscreened on pcb FIX0
31203110   ROM_LOAD24_BYTE("seibu__6.u0518", 0x000000, 0x10000, CRC(69b7899b) SHA1(d3cacd4ef4d2c95d803403101beb9d4be75fae61) ) // socket is silkscreened on pcb FIX1
31213111   ROM_LOAD24_BYTE("seibu__7.u0514", 0x000002, 0x10000, CRC(99a5fece) SHA1(44ae95d650ed6e00202d3438f5f91a5e52e319cb) ) // socket is silkscreened on pcb FIXP
31223112
3123   ROM_REGION( 0xc00000, "gfx2", 0 )    /* background layer roms - half are MX semiconductor MX23C3210MC, half are some sort of 23C1610 equivalent with no visible manufacturer name */
3113   ROM_REGION( 0xc00000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms - half are MX semiconductor MX23C3210MC, half are some sort of 23C1610 equivalent with no visible manufacturer name */
31243114   ROM_LOAD24_WORD("raiden-f2bg-1d.u0535",   0x000000, 0x400000, CRC(6143f576) SHA1(c034923d0663d9ef24357a03098b8cb81dbab9f8) ) // pads are silkscreened on pcb BG12
31253115   ROM_LOAD24_BYTE("raiden-f2__bg-1p.u0537", 0x000002, 0x200000, CRC(55e64ef7) SHA1(aae991268948d07342ee8ba1b3761bd180aab8ec) ) // pads are silkscreened on pcb BG12P
31263116   ROM_LOAD24_WORD("raiden-f2bg-2d.u0536",   0x600000, 0x400000, CRC(c607a444) SHA1(dc1aa96a42e9394ca6036359670a4ec6f830c96d) ) // pads are silkscreened on pcb BG3
31273117   ROM_LOAD24_BYTE("raiden-f2__bg-2p.u0538", 0x600002, 0x200000, CRC(f0830248) SHA1(6075df96b49e70d2243fef691e096119e7a4d044) ) // pads are silkscreened on pcb BG3P
31283118
3129   ROM_REGION( 0x1200000, "gfx3", 0 )   /* sprites - all are paired MX semconductor MX23C3210TC and MX23C1610TC mask roms */
3119   ROM_REGION( 0x1200000, "gfx3", 0 ) /* sprites - all are paired MX semconductor MX23C3210TC and MX23C1610TC mask roms */
31303120   ROM_LOAD("raiden-f2obj-3.u0434", 0x0000000, 0x400000, CRC(e08f42dc) SHA1(5188d71d4355eaf43ea8893b4cfc4fe80cc24f41) ) // pads are silkscreened on pcb OBJ3
31313121   ROM_LOAD("raiden-f2obj-6.u0433", 0x0400000, 0x200000, CRC(1b6a523c) SHA1(99a420dbc8e22e7832ccda7cec9fa661a2a2687a) ) // pads are silkscreened on pcb OBJ3B
31323122   ROM_LOAD("raiden-f2obj-2.u0431", 0x0600000, 0x400000, CRC(7aeadd8e) SHA1(47103c0579240c5b1add4d0b164eaf76f5fa97f0) ) // pads are silkscreened on pcb OBJ2
r23898r23899
31343124   ROM_LOAD("raiden-f2obj-1.u0429", 0x0c00000, 0x400000, CRC(c2c50f02) SHA1(b81397b5800c6d49f58b7ac7ff6eac56da3c5257) ) // pads are silkscreened on pcb OBJ1
31353125   ROM_LOAD("raiden-f2obj-4.u0430", 0x1000000, 0x200000, CRC(5259321f) SHA1(3c70c1147e49f81371d0f60f7108d9718d56faf4) ) // pads are silkscreened on pcb OBJ1B
31363126
3137   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms - sound0 is some sort of 23C1610 equivalent with no visible manufacturer name, sound1 is a 27C040 */
3127   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms - sound0 is some sort of 23C1610 equivalent with no visible manufacturer name, sound1 is a 27C040 */
31383128   ROM_LOAD32_WORD("raiden-f2__pcm.u0217", 0x000000, 0x100000, CRC(2edc30b5) SHA1(c25d690d633657fc3687636b9070f36bd305ae06) ) // pads are silkscreened on pcb SOUND0
31393129   ROM_CONTINUE(                           0x400000, 0x100000 )
31403130   ROM_LOAD32_BYTE("seibu__8.u0222",       0x800000, 0x080000, CRC(b7bd3703) SHA1(6427a7e6de10d6743d6e64b984a1d1c647f5643a) ) // socket is silkscreened on pcb SOUND1
r23898r23899
31443134ROM_END
31453135
31463136ROM_START( rdft2a2 ) /* SPI Cart, Asia (Dream Island license) */
3147   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
3137   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
31483138   ROM_LOAD32_BYTE("rf2_1.bin", 0x000000, 0x80000, CRC(72198410) SHA1(ca4bc858f6bf247a343b0fdae1d1a3cdabc4a3c3) )
31493139   ROM_LOAD32_BYTE("rf2_2.bin", 0x000001, 0x80000, CRC(ec73a767) SHA1(83f3905afe49401793c0ea0193cb31d3ba1e1739) )
31503140   ROM_LOAD32_BYTE("rf2_3.bin", 0x000002, 0x80000, CRC(e66243b2) SHA1(54e67af37a4586fd1afc79085ed433d599e1bb87) )
r23898r23899
31523142
31533143   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
31543144
3155   ROM_REGION( 0x30000, "gfx1", 0 )
3145   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
31563146   ROM_LOAD24_BYTE("rf2_5.bin", 0x000001, 0x10000, CRC(377cac2f) SHA1(f7c9323d79b77f6c8c02ba2c6cdca127d6e5cb5c) )
31573147   ROM_LOAD24_BYTE("rf2_6.bin", 0x000000, 0x10000, CRC(42bd5372) SHA1(c38df85b25070db9640eac541f71c0511bab0c98) )
31583148   ROM_LOAD24_BYTE("rf2_7.bin", 0x000002, 0x10000, CRC(1efaac7e) SHA1(8252af56dcb7a6306dc3422070176778e3c511c2) )
31593149
3160   ROM_REGION( 0xc00000, "gfx2", 0 )    /* background layer roms */
3150   ROM_REGION( 0xc00000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
31613151   ROM_LOAD24_WORD("bg-1d.u0535", 0x000000, 0x400000, CRC(6143f576) SHA1(c034923d0663d9ef24357a03098b8cb81dbab9f8) )
31623152   ROM_LOAD24_BYTE("bg-1p.u0537", 0x000002, 0x200000, CRC(55e64ef7) SHA1(aae991268948d07342ee8ba1b3761bd180aab8ec) )
31633153   ROM_LOAD24_WORD("bg-2d.u0536", 0x600000, 0x400000, CRC(c607a444) SHA1(dc1aa96a42e9394ca6036359670a4ec6f830c96d) )
31643154   ROM_LOAD24_BYTE("bg-2p.u0538", 0x600002, 0x200000, CRC(f0830248) SHA1(6075df96b49e70d2243fef691e096119e7a4d044) )
31653155
3166   ROM_REGION( 0x1200000, "gfx3", 0 )   /* sprites */
3156   ROM_REGION( 0x1200000, "gfx3", 0 ) /* sprites */
31673157   ROM_LOAD("obj3.u0434",  0x0000000, 0x400000, CRC(e08f42dc) SHA1(5188d71d4355eaf43ea8893b4cfc4fe80cc24f41) )
31683158   ROM_LOAD("obj3b.u0433", 0x0400000, 0x200000, CRC(1b6a523c) SHA1(99a420dbc8e22e7832ccda7cec9fa661a2a2687a) )
31693159   ROM_LOAD("obj2.u0431",  0x0600000, 0x400000, CRC(7aeadd8e) SHA1(47103c0579240c5b1add4d0b164eaf76f5fa97f0) )
r23898r23899
31713161   ROM_LOAD("obj1.u0429",  0x0c00000, 0x400000, CRC(c2c50f02) SHA1(b81397b5800c6d49f58b7ac7ff6eac56da3c5257) )
31723162   ROM_LOAD("obj1b.u0430", 0x1000000, 0x200000, CRC(5259321f) SHA1(3c70c1147e49f81371d0f60f7108d9718d56faf4) )
31733163
3174   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
3164   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
31753165   ROM_LOAD32_WORD("pcm.u0217",    0x000000, 0x100000, CRC(2edc30b5) SHA1(c25d690d633657fc3687636b9070f36bd305ae06) )
31763166   ROM_CONTINUE(                   0x400000, 0x100000 )
31773167   ROM_LOAD32_BYTE("sound1.u0222", 0x800000, 0x080000, CRC(b7bd3703) SHA1(6427a7e6de10d6743d6e64b984a1d1c647f5643a) )
r23898r23899
31813171ROM_END
31823172
31833173ROM_START( rdft2t ) /* SPI Cart, Taiwan */
3184   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
3174   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
31853175   ROM_LOAD32_BYTE("prg0", 0x000000, 0x80000, CRC(7e8c3acc) SHA1(63f4f9f7df7fa028737d9f7dfae96795cde58541) )
31863176   ROM_LOAD32_BYTE("prg1", 0x000001, 0x80000, CRC(22cb5b68) SHA1(35f86ad7771fe9aaac3904ed34a96d0cc10ef21c) )
31873177   ROM_LOAD32_BYTE("prg2", 0x000002, 0x80000, CRC(3eca68dd) SHA1(98378654adf055d72ae685f90e36643c9d6419d7) )
r23898r23899
31893179
31903180   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
31913181
3192   ROM_REGION( 0x30000, "gfx1", 0 )
3182   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
31933183   ROM_LOAD24_BYTE("rf2_5.bin", 0x000001, 0x10000, CRC(377cac2f) SHA1(f7c9323d79b77f6c8c02ba2c6cdca127d6e5cb5c) )
31943184   ROM_LOAD24_BYTE("rf2_6.bin", 0x000000, 0x10000, CRC(42bd5372) SHA1(c38df85b25070db9640eac541f71c0511bab0c98) )
31953185   ROM_LOAD24_BYTE("rf2_7.bin", 0x000002, 0x10000, CRC(1efaac7e) SHA1(8252af56dcb7a6306dc3422070176778e3c511c2) )
31963186
3197   ROM_REGION( 0xc00000, "gfx2", 0 )    /* background layer roms */
3187   ROM_REGION( 0xc00000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
31983188   ROM_LOAD24_WORD("bg-1d.u0535", 0x000000, 0x400000, CRC(6143f576) SHA1(c034923d0663d9ef24357a03098b8cb81dbab9f8) )
31993189   ROM_LOAD24_BYTE("bg-1p.u0537", 0x000002, 0x200000, CRC(55e64ef7) SHA1(aae991268948d07342ee8ba1b3761bd180aab8ec) )
32003190   ROM_LOAD24_WORD("bg-2d.u0536", 0x600000, 0x400000, CRC(c607a444) SHA1(dc1aa96a42e9394ca6036359670a4ec6f830c96d) )
32013191   ROM_LOAD24_BYTE("bg-2p.u0538", 0x600002, 0x200000, CRC(f0830248) SHA1(6075df96b49e70d2243fef691e096119e7a4d044) )
32023192
3203   ROM_REGION( 0x1200000, "gfx3", 0 )   /* sprites */
3193   ROM_REGION( 0x1200000, "gfx3", 0 ) /* sprites */
32043194   ROM_LOAD("obj3.u0434",  0x0000000, 0x400000, CRC(e08f42dc) SHA1(5188d71d4355eaf43ea8893b4cfc4fe80cc24f41) )
32053195   ROM_LOAD("obj3b.u0433", 0x0400000, 0x200000, CRC(1b6a523c) SHA1(99a420dbc8e22e7832ccda7cec9fa661a2a2687a) )
32063196   ROM_LOAD("obj2.u0431",  0x0600000, 0x400000, CRC(7aeadd8e) SHA1(47103c0579240c5b1add4d0b164eaf76f5fa97f0) )
r23898r23899
32083198   ROM_LOAD("obj1.u0429",  0x0c00000, 0x400000, CRC(c2c50f02) SHA1(b81397b5800c6d49f58b7ac7ff6eac56da3c5257) )
32093199   ROM_LOAD("obj1b.u0430", 0x1000000, 0x200000, CRC(5259321f) SHA1(3c70c1147e49f81371d0f60f7108d9718d56faf4) )
32103200
3211   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
3201   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
32123202   ROM_LOAD32_WORD("pcm.u0217",    0x000000, 0x100000, CRC(2edc30b5) SHA1(c25d690d633657fc3687636b9070f36bd305ae06) )
32133203   ROM_CONTINUE(                   0x400000, 0x100000 )
32143204   ROM_LOAD32_BYTE("sound1.u0222", 0x800000, 0x080000, CRC(b7bd3703) SHA1(6427a7e6de10d6743d6e64b984a1d1c647f5643a) )
r23898r23899
32193209
32203210
32213211ROM_START( rfjet ) /* SPI Cart, Europe */
3222   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
3212   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
32233213   ROM_LOAD32_BYTE("prg0.u0211", 0x000000, 0x80000, CRC(e5a3b304) SHA1(f7285f9c69c589fcc71082dc0b9225fdccec855f) )
32243214   ROM_LOAD32_BYTE("prg1.u0212", 0x000001, 0x80000, CRC(395e6da7) SHA1(736f777cb1b6bf5541832b8ea89594738ca6d829) )
32253215   ROM_LOAD32_BYTE("prg2.u0221", 0x000002, 0x80000, CRC(82f7a57e) SHA1(5300015e25d5f2f82eda3ed54bc105d645518498) )
r23898r23899
32273217
32283218   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
32293219
3230   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF )
3220   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
32313221   ROM_LOAD24_BYTE("fix0.u0524", 0x000001, 0x10000, CRC(8bc080be) SHA1(ad296fb98242c963072346a8de289e704b445ad4) )
32323222   ROM_LOAD24_BYTE("fix1.u0518", 0x000000, 0x10000, CRC(bded85e7) SHA1(ccb8c438ce6b9a742e3ab15be970b1e636783626) )
32333223   ROM_LOAD24_BYTE("fixp.u0514", 0x000002, 0x10000, CRC(015d0748) SHA1(b1e8eaeba63a7914f1dc27d7e3ca5d0b6db202ed) )
32343224
3235   ROM_REGION( 0x900000, "gfx2", 0 )    /* background layer roms */
3225   ROM_REGION( 0x900000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
32363226   ROM_LOAD24_WORD("bg-1d.u0543", 0x000000, 0x400000, CRC(edfd96da) SHA1(4813267f104619f569e5777e75b75304321abb49) )
32373227   ROM_LOAD24_BYTE("bg-1p.u0544", 0x000002, 0x200000, CRC(a4cc4631) SHA1(cc1c4f4de8a078ca774f5a328a9a58291949b1fb) )
32383228   ROM_LOAD24_WORD("bg-2d.u0545", 0x600000, 0x200000, CRC(731fbb59) SHA1(13cd29ec4d4c73582c5fb363218e737886826e5f) )
32393229   ROM_LOAD24_BYTE("bg-2p.u0546", 0x600002, 0x100000, CRC(03652c25) SHA1(c0d77285111bc84e008362981ac02a246678ed0a) )
32403230
3241   ROM_REGION( 0x1800000, "gfx3", 0 )   /* sprites */
3231   ROM_REGION( 0x1800000, "gfx3", 0 ) /* sprites */
32423232   ROM_LOAD("obj-1.u0442", 0x0000000, 0x800000, CRC(58a59896) SHA1(edeaaa69987bd5d08c47ed9bf47a3901e2dcc892) )
32433233   ROM_LOAD("obj-2.u0443", 0x0800000, 0x800000, CRC(a121d1e3) SHA1(1851ae81f2ae9d3404aadd9fbc0ed7f9230290b9) )
32443234   ROM_LOAD("obj-3.u0444", 0x1000000, 0x800000, CRC(bc2c0c63) SHA1(c8d395722f7012c3be366a0fc9b224c537afabae) )
32453235
3246   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
3236   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
32473237   ROM_LOAD32_WORD("pcm-d.u0227",  0x000000, 0x100000, CRC(8ee3ff45) SHA1(2801b23495866c91c8f8bebd37d5fcae7a625838) )
32483238   ROM_CONTINUE(                   0x400000, 0x100000 )
32493239   ROM_LOAD32_BYTE("sound1.u0222", 0x800000, 0x080000, CRC(d4fc3da1) SHA1(a03bd97e36a21d27a834b9691b27a7eb7ac51ff2) )
r23898r23899
32533243ROM_END
32543244
32553245ROM_START( rfjetj ) /* SPI Cart, Japan */
3256   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
3246   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
32573247   ROM_LOAD32_BYTE("prg0.bin", 0x000000, 0x80000, CRC(d82fb71f) SHA1(63a458fd007c353f4fae54a4882f5c565fe1efa4) )
32583248   ROM_LOAD32_BYTE("prg1.bin", 0x000001, 0x80000, CRC(7e21c669) SHA1(731852e5925dccc9d0d1ae4bcafa238f157f4079) )
32593249   ROM_LOAD32_BYTE("prg2.bin", 0x000002, 0x80000, CRC(2f402d55) SHA1(d0d852239abb6f4d73e263de5544fc0893e7a7ab) )
r23898r23899
32613251
32623252   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
32633253
3264   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF )
3254   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
32653255   ROM_LOAD24_BYTE("fix0.u0524", 0x000001, 0x10000, CRC(8bc080be) SHA1(ad296fb98242c963072346a8de289e704b445ad4) )
32663256   ROM_LOAD24_BYTE("fix1.u0518", 0x000000, 0x10000, CRC(bded85e7) SHA1(ccb8c438ce6b9a742e3ab15be970b1e636783626) )
32673257   ROM_LOAD24_BYTE("fixp.u0514", 0x000002, 0x10000, CRC(015d0748) SHA1(b1e8eaeba63a7914f1dc27d7e3ca5d0b6db202ed) )
32683258
3269   ROM_REGION( 0x900000, "gfx2", 0 )    /* background layer roms */
3259   ROM_REGION( 0x900000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
32703260   ROM_LOAD24_WORD("bg-1d.u0543", 0x000000, 0x400000, CRC(edfd96da) SHA1(4813267f104619f569e5777e75b75304321abb49) )
32713261   ROM_LOAD24_BYTE("bg-1p.u0544", 0x000002, 0x200000, CRC(a4cc4631) SHA1(cc1c4f4de8a078ca774f5a328a9a58291949b1fb) )
32723262   ROM_LOAD24_WORD("bg-2d.u0545", 0x600000, 0x200000, CRC(731fbb59) SHA1(13cd29ec4d4c73582c5fb363218e737886826e5f) )
32733263   ROM_LOAD24_BYTE("bg-2p.u0546", 0x600002, 0x100000, CRC(03652c25) SHA1(c0d77285111bc84e008362981ac02a246678ed0a) )
32743264
3275   ROM_REGION( 0x1800000, "gfx3", 0 )   /* sprites */
3265   ROM_REGION( 0x1800000, "gfx3", 0 ) /* sprites */
32763266   ROM_LOAD("obj-1.u0442", 0x0000000, 0x800000, CRC(58a59896) SHA1(edeaaa69987bd5d08c47ed9bf47a3901e2dcc892) )
32773267   ROM_LOAD("obj-2.u0443", 0x0800000, 0x800000, CRC(a121d1e3) SHA1(1851ae81f2ae9d3404aadd9fbc0ed7f9230290b9) )
32783268   ROM_LOAD("obj-3.u0444", 0x1000000, 0x800000, CRC(bc2c0c63) SHA1(c8d395722f7012c3be366a0fc9b224c537afabae) )
32793269
3280   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
3270   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
32813271   ROM_LOAD32_WORD("pcm-d.u0227",  0x000000, 0x100000, CRC(8ee3ff45) SHA1(2801b23495866c91c8f8bebd37d5fcae7a625838) )
32823272   ROM_CONTINUE(                   0x400000, 0x100000 )
32833273   ROM_LOAD32_BYTE("sound1.u0222", 0x800000, 0x080000, CRC(d4fc3da1) SHA1(a03bd97e36a21d27a834b9691b27a7eb7ac51ff2) )
r23898r23899
32873277ROM_END
32883278
32893279ROM_START( rfjetu ) /* SPI Cart, US */
3290   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
3280   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
32913281   ROM_LOAD32_BYTE("prg0u.u0211", 0x000000, 0x80000, CRC(15ac2040) SHA1(7309a9dd9c91fef0e761dcf8639f421ce7abc97f) )
32923282   ROM_LOAD32_BYTE("prg1.u0212",  0x000001, 0x80000, CRC(395e6da7) SHA1(736f777cb1b6bf5541832b8ea89594738ca6d829) )
32933283   ROM_LOAD32_BYTE("prg2.u0221",  0x000002, 0x80000, CRC(82f7a57e) SHA1(5300015e25d5f2f82eda3ed54bc105d645518498) )
r23898r23899
32953285
32963286   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
32973287
3298   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF )
3288   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
32993289   ROM_LOAD24_BYTE("fix0.u0524", 0x000001, 0x10000, CRC(8bc080be) SHA1(ad296fb98242c963072346a8de289e704b445ad4) )
33003290   ROM_LOAD24_BYTE("fix1.u0518", 0x000000, 0x10000, CRC(bded85e7) SHA1(ccb8c438ce6b9a742e3ab15be970b1e636783626) )
33013291   ROM_LOAD24_BYTE("fixp.u0514", 0x000002, 0x10000, CRC(015d0748) SHA1(b1e8eaeba63a7914f1dc27d7e3ca5d0b6db202ed) )
33023292
3303   ROM_REGION( 0x900000, "gfx2", 0 )    /* background layer roms */
3293   ROM_REGION( 0x900000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
33043294   ROM_LOAD24_WORD("bg-1d.u0543", 0x000000, 0x400000, CRC(edfd96da) SHA1(4813267f104619f569e5777e75b75304321abb49) )
33053295   ROM_LOAD24_BYTE("bg-1p.u0544", 0x000002, 0x200000, CRC(a4cc4631) SHA1(cc1c4f4de8a078ca774f5a328a9a58291949b1fb) )
33063296   ROM_LOAD24_WORD("bg-2d.u0545", 0x600000, 0x200000, CRC(731fbb59) SHA1(13cd29ec4d4c73582c5fb363218e737886826e5f) )
33073297   ROM_LOAD24_BYTE("bg-2p.u0546", 0x600002, 0x100000, CRC(03652c25) SHA1(c0d77285111bc84e008362981ac02a246678ed0a) )
33083298
3309   ROM_REGION( 0x1800000, "gfx3", 0 )   /* sprites */
3299   ROM_REGION( 0x1800000, "gfx3", 0 ) /* sprites */
33103300   ROM_LOAD("obj-1.u0442", 0x0000000, 0x800000, CRC(58a59896) SHA1(edeaaa69987bd5d08c47ed9bf47a3901e2dcc892) )
33113301   ROM_LOAD("obj-2.u0443", 0x0800000, 0x800000, CRC(a121d1e3) SHA1(1851ae81f2ae9d3404aadd9fbc0ed7f9230290b9) )
33123302   ROM_LOAD("obj-3.u0444", 0x1000000, 0x800000, CRC(bc2c0c63) SHA1(c8d395722f7012c3be366a0fc9b224c537afabae) )
33133303
3314   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
3304   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
33153305   ROM_LOAD32_WORD("pcm-d.u0227",  0x000000, 0x100000, CRC(8ee3ff45) SHA1(2801b23495866c91c8f8bebd37d5fcae7a625838) )
33163306   ROM_CONTINUE(                   0x400000, 0x100000 )
33173307   ROM_LOAD32_BYTE("sound1.u0222", 0x800000, 0x080000, CRC(d4fc3da1) SHA1(a03bd97e36a21d27a834b9691b27a7eb7ac51ff2) )
r23898r23899
33213311ROM_END
33223312
33233313ROM_START( rfjeta ) /* SPI Cart, Asia */
3324   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
3314   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
33253315   ROM_LOAD32_BYTE("prg0a.u0211", 0x000000, 0x80000, CRC(3418d4f5) SHA1(f8766d7b3708a196de417ee757787220b2a9ced1) )
33263316   ROM_LOAD32_BYTE("prg1(__rfjeta).u0212",  0x000001, 0x80000, CRC(395e6da7) SHA1(736f777cb1b6bf5541832b8ea89594738ca6d829) )
33273317   ROM_LOAD32_BYTE("prg2(__rfjeta).u0221",  0x000002, 0x80000, CRC(82f7a57e) SHA1(5300015e25d5f2f82eda3ed54bc105d645518498) )
r23898r23899
33293319
33303320   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
33313321
3332   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF )
3322   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
33333323   ROM_LOAD24_BYTE("fix0.u0524", 0x000001, 0x10000, CRC(8bc080be) SHA1(ad296fb98242c963072346a8de289e704b445ad4) )
33343324   ROM_LOAD24_BYTE("fix1.u0518", 0x000000, 0x10000, CRC(bded85e7) SHA1(ccb8c438ce6b9a742e3ab15be970b1e636783626) )
33353325   ROM_LOAD24_BYTE("fixp.u0514", 0x000002, 0x10000, CRC(015d0748) SHA1(b1e8eaeba63a7914f1dc27d7e3ca5d0b6db202ed) )
33363326
3337   ROM_REGION( 0x900000, "gfx2", 0 )    /* background layer roms */
3327   ROM_REGION( 0x900000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
33383328   ROM_LOAD24_WORD("bg-1d.u0543", 0x000000, 0x400000, CRC(edfd96da) SHA1(4813267f104619f569e5777e75b75304321abb49) )
33393329   ROM_LOAD24_BYTE("bg-1p.u0544", 0x000002, 0x200000, CRC(a4cc4631) SHA1(cc1c4f4de8a078ca774f5a328a9a58291949b1fb) )
33403330   ROM_LOAD24_WORD("bg-2d.u0545", 0x600000, 0x200000, CRC(731fbb59) SHA1(13cd29ec4d4c73582c5fb363218e737886826e5f) )
33413331   ROM_LOAD24_BYTE("bg-2p.u0546", 0x600002, 0x100000, CRC(03652c25) SHA1(c0d77285111bc84e008362981ac02a246678ed0a) )
33423332
3343   ROM_REGION( 0x1800000, "gfx3", 0 )   /* sprites */
3333   ROM_REGION( 0x1800000, "gfx3", 0 ) /* sprites */
33443334   ROM_LOAD("obj-1.u0442", 0x0000000, 0x800000, CRC(58a59896) SHA1(edeaaa69987bd5d08c47ed9bf47a3901e2dcc892) )
33453335   ROM_LOAD("obj-2.u0443", 0x0800000, 0x800000, CRC(a121d1e3) SHA1(1851ae81f2ae9d3404aadd9fbc0ed7f9230290b9) )
33463336   ROM_LOAD("obj-3.u0444", 0x1000000, 0x800000, CRC(bc2c0c63) SHA1(c8d395722f7012c3be366a0fc9b224c537afabae) )
33473337
3348   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
3338   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
33493339   ROM_LOAD32_WORD("pcm-d.u0227",  0x000000, 0x100000, CRC(8ee3ff45) SHA1(2801b23495866c91c8f8bebd37d5fcae7a625838) )
33503340   ROM_CONTINUE(                   0x400000, 0x100000 )
33513341   ROM_LOAD32_BYTE("sound1.u0222", 0x800000, 0x080000, CRC(d4fc3da1) SHA1(a03bd97e36a21d27a834b9691b27a7eb7ac51ff2) )
r23898r23899
33553345ROM_END
33563346
33573347ROM_START( rfjett ) /* SPI Cart, Taiwan */
3358   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
3348   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
33593349   ROM_LOAD32_BYTE( "prg0(__rfjett).u0211",   0x000000, 0x080000, CRC(a4734579) SHA1(dfbd8e2a3178c7cfd7bd3698999f14bc80f5212f) )
33603350   ROM_LOAD32_BYTE( "prg1(__rfjett).u0212",   0x000001, 0x080000, CRC(5e4ad3a4) SHA1(ff66e16f48978b88b298c78e21309208ccb3ff15) )
33613351   ROM_LOAD32_BYTE( "prg2(__rfjett).u0221",   0x000002, 0x080000, CRC(21c9942e) SHA1(ededa05a4b5dae2dec5c4409f22e9a66d2c8e98e) )
r23898r23899
33633353
33643354   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
33653355
3366   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF )
3356   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
33673357   ROM_LOAD24_BYTE("fix0.u0524", 0x000001, 0x10000, CRC(8bc080be) SHA1(ad296fb98242c963072346a8de289e704b445ad4) )
33683358   ROM_LOAD24_BYTE("fix1.u0518", 0x000000, 0x10000, CRC(bded85e7) SHA1(ccb8c438ce6b9a742e3ab15be970b1e636783626) )
33693359   ROM_LOAD24_BYTE("fixp.u0514", 0x000002, 0x10000, CRC(015d0748) SHA1(b1e8eaeba63a7914f1dc27d7e3ca5d0b6db202ed) )
33703360
3371   ROM_REGION( 0x900000, "gfx2", 0 )    /* background layer roms */
3361   ROM_REGION( 0x900000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
33723362   ROM_LOAD24_WORD("bg-1d.u0543", 0x000000, 0x400000, CRC(edfd96da) SHA1(4813267f104619f569e5777e75b75304321abb49) )
33733363   ROM_LOAD24_BYTE("bg-1p.u0544", 0x000002, 0x200000, CRC(a4cc4631) SHA1(cc1c4f4de8a078ca774f5a328a9a58291949b1fb) )
33743364   ROM_LOAD24_WORD("bg-2d.u0545", 0x600000, 0x200000, CRC(731fbb59) SHA1(13cd29ec4d4c73582c5fb363218e737886826e5f) )
33753365   ROM_LOAD24_BYTE("bg-2p.u0546", 0x600002, 0x100000, CRC(03652c25) SHA1(c0d77285111bc84e008362981ac02a246678ed0a) )
33763366
3377   ROM_REGION( 0x1800000, "gfx3", 0 )   /* sprites */
3367   ROM_REGION( 0x1800000, "gfx3", 0 ) /* sprites */
33783368   ROM_LOAD("obj-1.u0442", 0x0000000, 0x800000, CRC(58a59896) SHA1(edeaaa69987bd5d08c47ed9bf47a3901e2dcc892) )
33793369   ROM_LOAD("obj-2.u0443", 0x0800000, 0x800000, CRC(a121d1e3) SHA1(1851ae81f2ae9d3404aadd9fbc0ed7f9230290b9) )
33803370   ROM_LOAD("obj-3.u0444", 0x1000000, 0x800000, CRC(bc2c0c63) SHA1(c8d395722f7012c3be366a0fc9b224c537afabae) )
33813371
3382   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 )    /* sound roms */
3372   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
33833373   ROM_LOAD32_WORD("pcm-d.u0227",  0x000000, 0x100000, CRC(8ee3ff45) SHA1(2801b23495866c91c8f8bebd37d5fcae7a625838) )
33843374   ROM_CONTINUE(                   0x400000, 0x100000 )
33853375   ROM_LOAD32_BYTE("sound1.u0222", 0x800000, 0x080000, CRC(d4fc3da1) SHA1(a03bd97e36a21d27a834b9691b27a7eb7ac51ff2) )
r23898r23899
33893379ROM_END
33903380
33913381
3392/*******************************************************************/
3382/*****************************************************************************/
33933383/* SXX2E/F/G games */
33943384
3395ROM_START( rdfts )    /* Single board version SXX2E Ver3.0 */
3396   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
3385ROM_START( rdfts ) /* Single board version SXX2E Ver3.0 */
3386   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
33973387   ROM_LOAD32_BYTE("seibu_1.u0259",        0x000000, 0x080000, CRC(e278dddd) SHA1(fe54a0d0f9e8596268f7f37e85d71c5c2d8b2846) ) // socket is silkscreened on pcb PRG0
33983388   ROM_LOAD32_BYTE("raiden-f_prg2.u0258",  0x000001, 0x080000, CRC(58ccb10c) SHA1(0cce4057bfada78121d9586574b98d46cdd7dd46) ) // socket is silkscreened on pcb PRG1
33993389   ROM_LOAD32_WORD("raiden-f_prg34.u0262", 0x000002, 0x100000, CRC(63f01d17) SHA1(74dbd0417b974583da87fc6c7a081b03fd4e16b8) ) // socket is silkscreened on pcb PRG23
34003390
3401   ROM_REGION( 0x40000, "audiocpu", 0 )      /* 256K ROM for the Z80 */
3391   ROM_REGION( 0x40000, "audiocpu", 0 ) /* 256K ROM for the Z80 */
34023392   ROM_LOAD("seibu_zprg.u1139", 0x000000, 0x20000, CRC(c1fda3e8) SHA1(c1d3a7ba0601a80534ec32249de71d33a828a162) ) // pads are silkscreened ZPRG
34033393
3404   ROM_REGION( 0x30000, "gfx1", 0 ) /* text layer roms */
3394   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
34053395   ROM_LOAD24_WORD("raiden-f_fix.u0535", 0x000000, 0x20000, CRC(2be2936b) SHA1(9e719f7328a52af220b6f084c1e0990ca6e2d533) ) // socket is silkscreened on pcb FIX01
34063396   ROM_LOAD24_BYTE("seibu_fix2.u0528",   0x000002, 0x10000, CRC(4d87e1ea) SHA1(3230e9b643fad773e61ab8ce09c0cd7d4d0558e3) ) // socket is silkscreened on pcb FIX2
34073397
3408   ROM_REGION( 0x600000, "gfx2", 0 )    /* background layer roms */
3398   ROM_REGION( 0x600000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
34093399   ROM_LOAD24_WORD("gun_dogs_bg1-d.u0526", 0x000000, 0x200000, CRC(6a68054c) SHA1(5cbfc4ac90045f1401c2dda7a51936558c9de07e) ) // pads are silkscreened on pcb BG12
34103400   ROM_LOAD24_BYTE("gun_dogs_bg1-p.u0531", 0x000002, 0x100000, CRC(3400794a) SHA1(719808f7442bac612cefd7b7fffcd665e6337ad0) ) // pads are silkscreened on pcb BG12P
34113401   ROM_LOAD24_WORD("gun_dogs_bg2-d.u0534", 0x300000, 0x200000, CRC(61cd2991) SHA1(bb608e3948bf9ea35b5e1615d2ba6858d029dcbe) ) // pads are silkscreened on pcb BG3
34123402   ROM_LOAD24_BYTE("gun_dogs_bg2-p.u0530", 0x300002, 0x100000, CRC(502d5799) SHA1(c3a0e1a4f5a7b35572ae1ff31315da4ed08aa2fe) ) // pads are silkscreened on pcb BG3P
34133403
3414   ROM_REGION( 0xc00000, "gfx3", 0 )   /* sprites */
3404   ROM_REGION( 0xc00000, "gfx3", 0 ) /* sprites */
34153405   ROM_LOAD("gun_dogs_obj-1.u0322", 0x000000, 0x400000, CRC(59d86c99) SHA1(d3c9241e7b51fe21f8351051b063f91dc69bf905) ) // pads are silkscreened on pcb OBJ1
34163406   ROM_LOAD("gun_dogs_obj-2.u0324", 0x400000, 0x400000, CRC(1ceb0b6f) SHA1(97225a9b3e7be18080aa52f6570af2cce8f25c06) ) // pads are silkscreened on pcb OBJ2
34173407   ROM_LOAD("gun_dogs_obj-3.u0323", 0x800000, 0x400000, CRC(36e93234) SHA1(51917a80b7da5c32a9434a1076fc2916d62e6a3e) ) // pads are silkscreened on pcb OBJ3
34183408
3419   ROM_REGION( 0x200000, "ymf", ROMREGION_ERASE00 ) /* sound roms */
3409   ROM_REGION( 0x200000, "ymf", ROMREGION_ERASE00 ) /* sound roms */
34203410   ROM_LOAD("raiden-f_pcm2.u0975", 0x000000, 0x200000, CRC(3f8d4a48) SHA1(30664a2908daaeaee58f7e157516b522c952e48d) ) // pads are silkscreened SOUND0
34213411   /* SOUND1 socket is unpopulated */
34223412ROM_END
34233413
34243414
3425ROM_START( rdft2us )    /* Single board version SXX2F */
3426   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
3415ROM_START( rdft2us ) /* Single board version SXX2F */
3416   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
34273417   ROM_LOAD32_BYTE("prg0.u0259", 0x000000, 0x80000, CRC(ff3eeec1) SHA1(88c1741e4936db9a5b13e562061b0f1cc6fa6b36) )
34283418   ROM_LOAD32_BYTE("prg1.u0258", 0x000001, 0x80000, CRC(e2cf77d6) SHA1(173cc0e304c9dadea4ed0812ebb64c6c83549912) )
34293419   ROM_LOAD32_BYTE("prg2.u0265", 0x000002, 0x80000, CRC(cae87e1f) SHA1(e460aad693eb2702ae11f758b11d37f852d00790) )
34303420   ROM_LOAD32_BYTE("prg3.u0264", 0x000003, 0x80000, CRC(83f4fb5f) SHA1(73f58daa1aae0c4978db409cedd736fb49b15f1c) )
34313421
3432   ROM_REGION( 0x40000, "audiocpu", 0 )      /* 256K ROM for the Z80 */
3422   ROM_REGION( 0x40000, "audiocpu", 0 ) /* 256K ROM for the Z80 */
34333423   ROM_LOAD("zprg.u091", 0x000000, 0x20000, CRC(cc543c4f) SHA1(6e5c93fd3d21c594571b071d4a830211e1f162b2) )
34343424
3435   ROM_REGION( 0x30000, "gfx1", 0 )
3425   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
34363426   ROM_LOAD24_BYTE("fix0.u0524", 0x000001, 0x10000, CRC(6fdf4cf6) SHA1(7e9d4a49e829dfdc373c0f5acfbe8c7a91ac115b) )
34373427   ROM_LOAD24_BYTE("fix1.u0518", 0x000000, 0x10000, CRC(69b7899b) SHA1(d3cacd4ef4d2c95d803403101beb9d4be75fae61) )
34383428   ROM_LOAD24_BYTE("fixp.u0514", 0x000002, 0x10000, CRC(99a5fece) SHA1(44ae95d650ed6e00202d3438f5f91a5e52e319cb) )
34393429
3440   ROM_REGION( 0xc00000, "gfx2", 0 )    /* background layer roms */
3430   ROM_REGION( 0xc00000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
34413431   ROM_LOAD24_WORD("bg-1d.u0535", 0x000000, 0x400000, CRC(6143f576) SHA1(c034923d0663d9ef24357a03098b8cb81dbab9f8) )
34423432   ROM_LOAD24_BYTE("bg-1p.u0537", 0x000002, 0x200000, CRC(55e64ef7) SHA1(aae991268948d07342ee8ba1b3761bd180aab8ec) )
34433433   ROM_LOAD24_WORD("bg-2d.u0536", 0x600000, 0x400000, CRC(c607a444) SHA1(dc1aa96a42e9394ca6036359670a4ec6f830c96d) )
34443434   ROM_LOAD24_BYTE("bg-2p.u0538", 0x600002, 0x200000, CRC(f0830248) SHA1(6075df96b49e70d2243fef691e096119e7a4d044) )
34453435
3446   ROM_REGION( 0x1200000, "gfx3", 0 )   /* sprites */
3436   ROM_REGION( 0x1200000, "gfx3", 0 ) /* sprites */
34473437   ROM_LOAD("obj3.u075",  0x0000000, 0x400000, CRC(e08f42dc) SHA1(5188d71d4355eaf43ea8893b4cfc4fe80cc24f41) )
34483438   ROM_LOAD("obj3b.u078", 0x0400000, 0x200000, CRC(1b6a523c) SHA1(99a420dbc8e22e7832ccda7cec9fa661a2a2687a) )
34493439   ROM_LOAD("obj2.u074",  0x0600000, 0x400000, CRC(7aeadd8e) SHA1(47103c0579240c5b1add4d0b164eaf76f5fa97f0) )
r23898r23899
34513441   ROM_LOAD("obj1.u073",  0x0c00000, 0x400000, CRC(c2c50f02) SHA1(b81397b5800c6d49f58b7ac7ff6eac56da3c5257) )
34523442   ROM_LOAD("obj1b.u076", 0x1000000, 0x200000, CRC(5259321f) SHA1(3c70c1147e49f81371d0f60f7108d9718d56faf4) )
34533443
3454   ROM_REGION( 0x280000, "ymf", ROMREGION_ERASE00 ) /* sound roms */
3444   ROM_REGION( 0x280000, "ymf", ROMREGION_ERASE00 ) /* sound roms */
34553445   ROM_LOAD("pcm.u0103",    0x000000, 0x200000, CRC(2edc30b5) SHA1(c25d690d633657fc3687636b9070f36bd305ae06) )
34563446   ROM_LOAD("sound1.u0107", 0x200000, 0x080000, CRC(20384b0e) SHA1(9c5d725418543df740f9145974ed6ffbbabee1d0) ) /* Different sound1 then SPI carts */
34573447ROM_END
34583448
34593449
34603450ROM_START( rfjetsa ) /* Single board version SXX2G */
3461   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
3451   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
34623452   ROM_LOAD32_BYTE("rfj-06(__rfjetsa).u0259", 0x000000, 0x80000, CRC(c835aa7a) SHA1(291eada97ceb907dfea15688ce6055e63b3aa675) ) /* PRG0 */
34633453   ROM_LOAD32_BYTE("rfj-07(__rfjetsa).u0258", 0x000001, 0x80000, CRC(3b6ca1ca) SHA1(9db019c0ddecfb58e2be5c345d78352f700035bf) ) /* PRG1 */
34643454   ROM_LOAD32_BYTE("rfj-08(__rfjetsa).u0265", 0x000002, 0x80000, CRC(1f5dd06c) SHA1(6f5a8c9035971a470212cd0a89b94181011602c3) ) /* PRG2 */
34653455   ROM_LOAD32_BYTE("rfj-09(__rfjetsa).u0264", 0x000003, 0x80000, CRC(cc71c402) SHA1(b040e600744e7b3f52de0fa852ce3ae08ae49985) ) /* PRG3 */
34663456
3467   ROM_REGION( 0x40000, "audiocpu", 0 )      /* 256K ROM for the Z80 */
3457   ROM_REGION( 0x40000, "audiocpu", 0 ) /* 256K ROM for the Z80 */
34683458   ROM_LOAD("rfj-05.u091", 0x000000, 0x40000, CRC(a55e8799) SHA1(5d4ca9ae920ab54e23ee3b1b33db72711e744516) ) /* ZPRG */
34693459
3470   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF )
3460   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
34713461   ROM_LOAD24_BYTE("rfj-01.u0524", 0x000001, 0x10000, CRC(8bc080be) SHA1(ad296fb98242c963072346a8de289e704b445ad4) ) /* FIX0 */
34723462   ROM_LOAD24_BYTE("rfj-02.u0518", 0x000000, 0x10000, CRC(bded85e7) SHA1(ccb8c438ce6b9a742e3ab15be970b1e636783626) ) /* FIX1 */
34733463   ROM_LOAD24_BYTE("rfj-03.u0514", 0x000002, 0x10000, CRC(015d0748) SHA1(b1e8eaeba63a7914f1dc27d7e3ca5d0b6db202ed) ) /* FIXP */
34743464
3475   ROM_REGION( 0x900000, "gfx2", 0 )    /* background layer roms */
3465   ROM_REGION( 0x900000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
34763466   ROM_LOAD24_WORD("bg-1d.u0535", 0x000000, 0x400000, CRC(edfd96da) SHA1(4813267f104619f569e5777e75b75304321abb49) )
34773467   ROM_LOAD24_BYTE("bg-1p.u0537", 0x000002, 0x200000, CRC(a4cc4631) SHA1(cc1c4f4de8a078ca774f5a328a9a58291949b1fb) )
34783468   ROM_LOAD24_WORD("bg-2d.u0536", 0x600000, 0x200000, CRC(731fbb59) SHA1(13cd29ec4d4c73582c5fb363218e737886826e5f) )
34793469   ROM_LOAD24_BYTE("bg-2p.u0545", 0x600002, 0x100000, CRC(03652c25) SHA1(c0d77285111bc84e008362981ac02a246678ed0a) )
34803470
3481   ROM_REGION( 0x1800000, "gfx3", 0 )   /* sprites */
3471   ROM_REGION( 0x1800000, "gfx3", 0 ) /* sprites */
34823472   ROM_LOAD("obj-1.u073", 0x0000000, 0x800000, CRC(58a59896) SHA1(edeaaa69987bd5d08c47ed9bf47a3901e2dcc892) )
34833473   ROM_LOAD("obj-2.u074", 0x0800000, 0x800000, CRC(a121d1e3) SHA1(1851ae81f2ae9d3404aadd9fbc0ed7f9230290b9) )
34843474   ROM_LOAD("obj-3.u075", 0x1000000, 0x800000, CRC(bc2c0c63) SHA1(c8d395722f7012c3be366a0fc9b224c537afabae) )
34853475
3486   ROM_REGION( 0x280000, "ymf", ROMREGION_ERASE00 ) /* sound roms */
3476   ROM_REGION( 0x280000, "ymf", ROMREGION_ERASE00 ) /* sound roms */
34873477   ROM_LOAD("pcm-d.u0103",  0x000000, 0x200000, CRC(8ee3ff45) SHA1(2801b23495866c91c8f8bebd37d5fcae7a625838) )
34883478   ROM_LOAD("rfj-04.u0107", 0x200000, 0x080000, CRC(c050da03) SHA1(1002dac51a3a4932c4f0074c1f3d97a597d98755) ) /* SOUND1 */
34893479
r23898r23899
34993489 - Adds Sound Test and EEPROM Test to the Test Mode menu
35003490 - Misc. debug strings and bugs (see MT 5211)
35013491*/
3502
35033492ROM_START( rfjets ) /* Single board version SXX2G */
3504   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
3493   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
35053494   ROM_LOAD32_BYTE("rfj-06.u0259", 0x000000, 0x80000, CRC(b0c8d47e) SHA1(1dde30d25f9e8eaa301343ae1d272b5c0044bc1f) ) /* PRG0 */
35063495   ROM_LOAD32_BYTE("rfj-07.u0258", 0x000001, 0x80000, CRC(17189b39) SHA1(6471170ae770d762e15f1503ef9a6832c202da6c) ) /* PRG1 */
35073496   ROM_LOAD32_BYTE("rfj-08.u0265", 0x000002, 0x80000, CRC(ab6d724b) SHA1(ef7e42b1bf649a354fe22b0edd00475ced4151be) ) /* PRG2 */
35083497   ROM_LOAD32_BYTE("rfj-09.u0264", 0x000003, 0x80000, CRC(b119a67c) SHA1(4fa7dd0e86a3f7c6efa6ae9cf72991b652c877b9) ) /* PRG3 */
35093498
3510   ROM_REGION( 0x40000, "audiocpu", 0 )      /* 256K ROM for the Z80 */
3499   ROM_REGION( 0x40000, "audiocpu", 0 ) /* 256K ROM for the Z80 */
35113500   ROM_LOAD("rfj-05.u091", 0x000000, 0x40000, CRC(a55e8799) SHA1(5d4ca9ae920ab54e23ee3b1b33db72711e744516) ) /* ZPRG */
35123501
3513   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF )
3502   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
35143503   ROM_LOAD24_BYTE("rfj-01.u0524", 0x000001, 0x10000, CRC(8bc080be) SHA1(ad296fb98242c963072346a8de289e704b445ad4) ) /* FIX0 */
35153504   ROM_LOAD24_BYTE("rfj-02.u0518", 0x000000, 0x10000, CRC(bded85e7) SHA1(ccb8c438ce6b9a742e3ab15be970b1e636783626) ) /* FIX1 */
35163505   ROM_LOAD24_BYTE("rfj-03.u0514", 0x000002, 0x10000, CRC(015d0748) SHA1(b1e8eaeba63a7914f1dc27d7e3ca5d0b6db202ed) ) /* FIXP */
35173506
3518   ROM_REGION( 0x900000, "gfx2", 0 )    /* background layer roms */
3507   ROM_REGION( 0x900000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
35193508   ROM_LOAD24_WORD("bg-1d.u0535", 0x000000, 0x400000, CRC(edfd96da) SHA1(4813267f104619f569e5777e75b75304321abb49) )
35203509   ROM_LOAD24_BYTE("bg-1p.u0537", 0x000002, 0x200000, CRC(a4cc4631) SHA1(cc1c4f4de8a078ca774f5a328a9a58291949b1fb) )
35213510   ROM_LOAD24_WORD("bg-2d.u0536", 0x600000, 0x200000, CRC(731fbb59) SHA1(13cd29ec4d4c73582c5fb363218e737886826e5f) )
35223511   ROM_LOAD24_BYTE("bg-2p.u0545", 0x600002, 0x100000, CRC(03652c25) SHA1(c0d77285111bc84e008362981ac02a246678ed0a) )
35233512
3524   ROM_REGION( 0x1800000, "gfx3", 0 )   /* sprites */
3513   ROM_REGION( 0x1800000, "gfx3", 0 ) /* sprites */
35253514   ROM_LOAD("obj-1.u073", 0x0000000, 0x800000, CRC(58a59896) SHA1(edeaaa69987bd5d08c47ed9bf47a3901e2dcc892) )
35263515   ROM_LOAD("obj-2.u074", 0x0800000, 0x800000, CRC(a121d1e3) SHA1(1851ae81f2ae9d3404aadd9fbc0ed7f9230290b9) )
35273516   ROM_LOAD("obj-3.u075", 0x1000000, 0x800000, CRC(bc2c0c63) SHA1(c8d395722f7012c3be366a0fc9b224c537afabae) )
35283517
3529   ROM_REGION( 0x280000, "ymf", ROMREGION_ERASE00 ) /* sound roms */
3518   ROM_REGION( 0x280000, "ymf", ROMREGION_ERASE00 ) /* sound roms */
35303519   ROM_LOAD("pcm-d.u0103",  0x000000, 0x200000, CRC(8ee3ff45) SHA1(2801b23495866c91c8f8bebd37d5fcae7a625838) )
35313520   ROM_LOAD("rfj-04.u0107", 0x200000, 0x080000, CRC(c050da03) SHA1(1002dac51a3a4932c4f0074c1f3d97a597d98755) ) /* SOUND1 */
35323521ROM_END
35333522
35343523
3535/*******************************************************************/
3524/*****************************************************************************/
35363525/* SYS386 games */
35373526
35383527ROM_START( rdft22kc ) /* SYS386I */
3539   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
3528   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
35403529   ROM_LOAD32_WORD("prg0-1.267", 0x000000, 0x100000, CRC(0d7d6eb8) SHA1(3a71e1e0ba5bb500dc026debbb6189723c0c2890) )
35413530   ROM_LOAD32_WORD("prg2-3.266", 0x000002, 0x100000, CRC(ead53e69) SHA1(b0e2e06f403317054ecb48d2747034424245f129) )
35423531
3543   ROM_REGION( 0x30000, "gfx1", 0 ) /* text layer roms */
3532   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
35443533   ROM_LOAD24_BYTE("fix0.524", 0x000001, 0x10000, CRC(ed11d043) SHA1(fd3a5a33aa4d795941d64c0d23f9d6f8222843e3) )
35453534   ROM_LOAD24_BYTE("fix1.518", 0x000000, 0x10000, CRC(7036d70a) SHA1(3535b52c0fa1a1158cacc041f8aba2b9a1b43af5) )
35463535   ROM_LOAD24_BYTE("fix2.514", 0x000002, 0x10000, CRC(29b465da) SHA1(644454ab5e0dc1028e9512f85adfe5d8adb757de) )
35473536
3548   ROM_REGION( 0xc00000, "gfx2", 0 )    /* background layer roms */
3537   ROM_REGION( 0xc00000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
35493538   ROM_LOAD24_WORD("bg-1d.535", 0x000000, 0x400000, CRC(6143f576) SHA1(c034923d0663d9ef24357a03098b8cb81dbab9f8) )
35503539   ROM_LOAD24_BYTE("bg-1p.544", 0x000002, 0x200000, CRC(55e64ef7) SHA1(aae991268948d07342ee8ba1b3761bd180aab8ec) )
35513540   ROM_LOAD24_WORD("bg-2d.536", 0x600000, 0x400000, CRC(c607a444) SHA1(dc1aa96a42e9394ca6036359670a4ec6f830c96d) )
35523541   ROM_LOAD24_BYTE("bg-2p.545", 0x600002, 0x200000, CRC(f0830248) SHA1(6075df96b49e70d2243fef691e096119e7a4d044) )
35533542
3554   ROM_REGION( 0x1200000, "gfx3", 0 )   /* sprites */
3543   ROM_REGION( 0x1200000, "gfx3", 0 ) /* sprites */
35553544   ROM_LOAD("obj3.075",  0x0000000, 0x400000, CRC(e08f42dc) SHA1(5188d71d4355eaf43ea8893b4cfc4fe80cc24f41) )
35563545   ROM_LOAD("obj6.078",  0x0400000, 0x200000, CRC(1b6a523c) SHA1(99a420dbc8e22e7832ccda7cec9fa661a2a2687a) )
35573546   ROM_LOAD("obj2.074",  0x0600000, 0x400000, CRC(7aeadd8e) SHA1(47103c0579240c5b1add4d0b164eaf76f5fa97f0) )
r23898r23899
35683557
35693558
35703559ROM_START( rfjet2kc ) /* SYS386I */
3571   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
3560   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
35723561   ROM_LOAD32_WORD("prg01.u267", 0x000000, 0x100000, CRC(36019fa8) SHA1(28baf0ed4a53b818c1e6986d5d3491373524eca1) )
35733562   ROM_LOAD32_WORD("prg23.u266", 0x000002, 0x100000, CRC(65695dde) SHA1(1b25dde03bc9319414144fc13b34c455112f4076) )
35743563
3575   ROM_REGION( 0x30000, "gfx1", 0 ) /* text layer roms */
3564   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
35763565   ROM_LOAD24_BYTE("rfj-01.524", 0x000001, 0x10000, CRC(e9d53007) SHA1(29aa7b70d5d5eb5e31426ac84143be44bc0597aa) )
35773566   ROM_LOAD24_BYTE("rfj-02.518", 0x000000, 0x10000, CRC(dd3eabd3) SHA1(31c8f7a0cd262096a77673b040326605db542ab8) )
35783567   ROM_LOAD24_BYTE("rfj-03.514", 0x000002, 0x10000, CRC(0daa8aac) SHA1(08a98fb3079ea9f78aa5b950bfeb30b0a805bab7) )
35793568
3580   ROM_REGION( 0xc00000, "gfx2", 0 )    /* background layer roms */
3569   ROM_REGION( 0xc00000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
35813570   ROM_LOAD24_WORD("bg-1d.u0535", 0x000000, 0x400000, CRC(edfd96da) SHA1(4813267f104619f569e5777e75b75304321abb49) )
35823571   ROM_LOAD24_BYTE("bg-1p.u0537", 0x000002, 0x200000, CRC(a4cc4631) SHA1(cc1c4f4de8a078ca774f5a328a9a58291949b1fb) )
35833572   ROM_LOAD24_WORD("bg-2d.u0536", 0x600000, 0x200000, CRC(731fbb59) SHA1(13cd29ec4d4c73582c5fb363218e737886826e5f) )
35843573   ROM_LOAD24_BYTE("bg-2p.u0547", 0x600002, 0x100000, CRC(03652c25) SHA1(c0d77285111bc84e008362981ac02a246678ed0a) )
35853574
3586   ROM_REGION( 0x1800000, "gfx3", 0 )   /* sprites */
3575   ROM_REGION( 0x1800000, "gfx3", 0 ) /* sprites */
35873576   ROM_LOAD("obj-1.u073",  0x0000000, 0x800000, CRC(58a59896) SHA1(edeaaa69987bd5d08c47ed9bf47a3901e2dcc892) )
35883577   ROM_LOAD("obj-2.u074",  0x0800000, 0x800000, CRC(a121d1e3) SHA1(1851ae81f2ae9d3404aadd9fbc0ed7f9230290b9) )
35893578   ROM_LOAD("obj-3.u0749", 0x1000000, 0x800000, CRC(bc2c0c63) SHA1(c8d395722f7012c3be366a0fc9b224c537afabae) )
r23898r23899
35973586
35983587
35993588ROM_START( ejsakura ) /* SYS386F V2.0 */
3600   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
3589   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
36013590   ROM_LOAD32_BYTE("prg0.211",  0x100000, 0x40000, CRC(199f2f08) SHA1(096afb23f2763b9aee5e8de3870fe47116a8d134) )
36023591   ROM_LOAD32_BYTE("prg1.212",  0x100001, 0x40000, CRC(2cb636e6) SHA1(3524231a336de5acc93dff20b0b65ade31e27116) )
36033592   ROM_LOAD32_BYTE("prg2.221",  0x100002, 0x40000, CRC(98a7b615) SHA1(ea34d8f3e9200a6d84efe9168e2f573ec5c2afd2) )
36043593   ROM_LOAD32_BYTE("prg3.220",  0x100003, 0x40000, CRC(9c3c037a) SHA1(a802e13a0b827896342d9d34dbb00d1c36cabaff) )
36053594
3606   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF )
3595   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms - none! */
36073596
3608   ROM_REGION( 0x900000, "gfx2", ROMREGION_ERASEFF )    /* background layer roms */
3597   ROM_REGION( 0x900000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms - none! */
36093598
3610   ROM_REGION( 0x1000000, "gfx3", 0 )   /* sprites */
3599   ROM_REGION( 0x1000000, "gfx3", 0 ) /* sprites */
36113600   ROM_LOAD16_WORD_SWAP("chr4.445", 0x000000, 0x400000, CRC(40c6c238) SHA1(0d07b59e25632feb070ce0e572ae75f9bb939893) )
36123601   ROM_LOAD16_WORD_SWAP("chr3.444", 0x400000, 0x400000, CRC(8e5d1de5) SHA1(c1ccb6b4341ee1e939958ec9e68280c6faa2ef1f) )
36133602   ROM_LOAD16_WORD_SWAP("chr2.443", 0x800000, 0x400000, CRC(638dc9ae) SHA1(0c11b1e688733fbaeabf83b33410714c22ae53cd) )
r23898r23899
36193608ROM_END
36203609
36213610ROM_START( ejsakura12 ) /* SYS386F V1.2 */
3622   ROM_REGION32_LE( 0x200000, "maincpu", 0 )   /* i386 program */
3611   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
36233612   ROM_LOAD32_BYTE("prg0v1.2.u0211",  0x100000, 0x40000, CRC(c734fde6) SHA1(d4256f0d2be624fc0e5340ae14679679e5e184c8) )
36243613   ROM_LOAD32_BYTE("prg1v1.2.u0212",  0x100001, 0x40000, CRC(fb7a9e38) SHA1(5a2e02e1b8ed71ffc96dbda871618f5f9cccc8c6) )
36253614   ROM_LOAD32_BYTE("prg2v1.2.u0221",  0x100002, 0x40000, CRC(e13098ad) SHA1(abf471afd25a08ba1848964c988112c86d1dcfaa) )
36263615   ROM_LOAD32_BYTE("prg3v1.2.u0220",  0x100003, 0x40000, CRC(29b5460f) SHA1(c9cb0eb421a79b722bf5a0dc428d0f5f8499e170) )
36273616
3628   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF )
3617   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms - none! */
36293618
3630   ROM_REGION( 0x900000, "gfx2", ROMREGION_ERASEFF )    /* background layer roms */
3619   ROM_REGION( 0x900000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms - none! */
36313620
3632   ROM_REGION( 0x1000000, "gfx3", 0 )   /* sprites */
3621   ROM_REGION( 0x1000000, "gfx3", 0 ) /* sprites */
36333622   ROM_LOAD16_WORD_SWAP("chr4.445", 0x000000, 0x400000, CRC(40c6c238) SHA1(0d07b59e25632feb070ce0e572ae75f9bb939893) )
36343623   ROM_LOAD16_WORD_SWAP("chr3.444", 0x400000, 0x400000, CRC(8e5d1de5) SHA1(c1ccb6b4341ee1e939958ec9e68280c6faa2ef1f) )
36353624   ROM_LOAD16_WORD_SWAP("chr2.443", 0x800000, 0x400000, CRC(638dc9ae) SHA1(0c11b1e688733fbaeabf83b33410714c22ae53cd) )
r23898r23899
36413630ROM_END
36423631
36433632
3644/*******************************************************************/
3633/*****************************************************************************/
36453634
36463635/* SPI */
3647GAME( 1995, senkyu,     0,        spi,     spi_3button, seibuspi_state, senkyu,   ROT0,   "Seibu Kaihatsu", "Senkyu (Japan set 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3648GAME( 1995, senkyua,    senkyu,   spi,     spi_3button, seibuspi_state, senkyua,  ROT0,   "Seibu Kaihatsu", "Senkyu (Japan set 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3649GAME( 1995, batlball,   senkyu,   spi,     spi_3button, seibuspi_state, batlball, ROT0,   "Seibu Kaihatsu (Tuning license)", "Battle Balls (Germany)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3650GAME( 1995, batlballu,  senkyu,   spi,     spi_3button, seibuspi_state, batlball, ROT0,   "Seibu Kaihatsu (Fabtek license)", "Battle Balls (US)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3651GAME( 1995, batlballa,  senkyu,   spi,     spi_3button, seibuspi_state, batlball, ROT0,   "Seibu Kaihatsu (Metrotainment license)", "Battle Balls (Asia)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3652GAME( 1995, batlballe,  senkyu,   spi,     spi_3button, seibuspi_state, batlball, ROT0,   "Seibu Kaihatsu (Metrotainment license)", "Battle Balls (Asia, earlier)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3636GAME( 1995, senkyu,     0,        spi,     spi_3button, seibuspi_state, senkyu,   ROT0,   "Seibu Kaihatsu", "Senkyu (Japan set 1)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3637GAME( 1995, senkyua,    senkyu,   spi,     spi_3button, seibuspi_state, senkyua,  ROT0,   "Seibu Kaihatsu", "Senkyu (Japan set 2)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3638GAME( 1995, batlball,   senkyu,   spi,     spi_3button, seibuspi_state, batlball, ROT0,   "Seibu Kaihatsu (Tuning license)", "Battle Balls (Germany)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3639GAME( 1995, batlballu,  senkyu,   spi,     spi_3button, seibuspi_state, batlball, ROT0,   "Seibu Kaihatsu (Fabtek license)", "Battle Balls (US)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3640GAME( 1995, batlballa,  senkyu,   spi,     spi_3button, seibuspi_state, batlball, ROT0,   "Seibu Kaihatsu (Metrotainment license)", "Battle Balls (Asia)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3641GAME( 1995, batlballe,  senkyu,   spi,     spi_3button, seibuspi_state, batlball, ROT0,   "Seibu Kaihatsu (Metrotainment license)", "Battle Balls (Asia, earlier)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
36533642
3654GAME( 1995, viprp1,     0,        spi,     spi_3button, seibuspi_state, viprp1,   ROT270, "Seibu Kaihatsu", "Viper Phase 1 (New Version, World)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3655GAME( 1995, viprp1u,    viprp1,   spi,     spi_3button, seibuspi_state, viprp1o,  ROT270, "Seibu Kaihatsu (Fabtek license)", "Viper Phase 1 (New Version, US set 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* New version, "=U.S.A=" seems part of title */
3656GAME( 1995, viprp1ua,   viprp1,   spi,     spi_3button, seibuspi_state, viprp1o,  ROT270, "Seibu Kaihatsu (Fabtek license)", "Viper Phase 1 (New Version, US set 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* New version, "=U.S.A=" seems part of title */
3657GAME( 1995, viprp1j,    viprp1,   spi,     spi_3button, seibuspi_state, viprp1,   ROT270, "Seibu Kaihatsu", "Viper Phase 1 (New Version, Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3658GAME( 1995, viprp1s,    viprp1,   spi,     spi_3button, seibuspi_state, viprp1,   ROT270, "Seibu Kaihatsu", "Viper Phase 1 (New Version, Switzerland)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3643GAME( 1995, viprp1,     0,        spi,     spi_3button, seibuspi_state, viprp1,   ROT270, "Seibu Kaihatsu", "Viper Phase 1 (New Version, World)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3644GAME( 1995, viprp1u,    viprp1,   spi,     spi_3button, seibuspi_state, viprp1o,  ROT270, "Seibu Kaihatsu (Fabtek license)", "Viper Phase 1 (New Version, US set 1)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* New version, "=U.S.A=" seems part of title */
3645GAME( 1995, viprp1ua,   viprp1,   spi,     spi_3button, seibuspi_state, viprp1o,  ROT270, "Seibu Kaihatsu (Fabtek license)", "Viper Phase 1 (New Version, US set 2)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* New version, "=U.S.A=" seems part of title */
3646GAME( 1995, viprp1j,    viprp1,   spi,     spi_3button, seibuspi_state, viprp1,   ROT270, "Seibu Kaihatsu", "Viper Phase 1 (New Version, Japan)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3647GAME( 1995, viprp1s,    viprp1,   spi,     spi_3button, seibuspi_state, viprp1,   ROT270, "Seibu Kaihatsu", "Viper Phase 1 (New Version, Switzerland)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
36593648
3660GAME( 1995, viprp1ot,   viprp1,   spi,     spi_3button, seibuspi_state, viprp1,   ROT270, "Seibu Kaihatsu (Tuning license)", "Viper Phase 1 (Germany)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3661GAME( 1995, viprp1oj,   viprp1,   spi,     spi_3button, seibuspi_state, viprp1o,  ROT270, "Seibu Kaihatsu", "Viper Phase 1 (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3662GAME( 1995, viprp1hk,   viprp1,   spi,     spi_3button, seibuspi_state, viprp1,   ROT270, "Seibu Kaihatsu (Metrotainment license)", "Viper Phase 1 (Hong Kong)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* "=HONG KONG=" seems part of title */
3649GAME( 1995, viprp1ot,   viprp1,   spi,     spi_3button, seibuspi_state, viprp1,   ROT270, "Seibu Kaihatsu (Tuning license)", "Viper Phase 1 (Germany)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3650GAME( 1995, viprp1oj,   viprp1,   spi,     spi_3button, seibuspi_state, viprp1o,  ROT270, "Seibu Kaihatsu", "Viper Phase 1 (Japan)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3651GAME( 1995, viprp1hk,   viprp1,   spi,     spi_3button, seibuspi_state, viprp1,   ROT270, "Seibu Kaihatsu (Metrotainment license)", "Viper Phase 1 (Hong Kong)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* "=HONG KONG=" seems part of title */
36633652
3664GAME( 1996, ejanhs,     0,        spi,     spi_ejanhs,  seibuspi_state, ejanhs,   ROT0,   "Seibu Kaihatsu", "E-Jan High School (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3653GAME( 1996, ejanhs,     0,        spi,     spi_ejanhs,  seibuspi_state, ejanhs,   ROT0,   "Seibu Kaihatsu", "E-Jan High School (Japan)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
36653654
3666GAME( 1996, rdft,       0,        spi,     spi_3button, seibuspi_state, rdft,     ROT270, "Seibu Kaihatsu", "Raiden Fighters (Japan set 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3667GAME( 1996, rdftj,      rdft,     spi,     spi_3button, seibuspi_state, rdft,     ROT270, "Seibu Kaihatsu", "Raiden Fighters (Japan set 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3668GAME( 1996, rdftu,      rdft,     spi,     spi_3button, seibuspi_state, rdft,     ROT270, "Seibu Kaihatsu (Fabtek license)", "Raiden Fighters (US)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3669GAME( 1996, rdftam,     rdft,     spi,     spi_3button, seibuspi_state, rdft,     ROT270, "Seibu Kaihatsu (Metrotainment license)", "Raiden Fighters (Asia)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3670GAME( 1996, rdftadi,    rdft,     spi,     spi_3button, seibuspi_state, rdft,     ROT270, "Seibu Kaihatsu (Dream Island license)", "Raiden Fighters (Korea)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3671GAME( 1996, rdftau,     rdft,     spi,     spi_3button, seibuspi_state, rdft,     ROT270, "Seibu Kaihatsu", "Raiden Fighters (Australia)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3672GAME( 1996, rdftit,     rdft,     spi,     spi_3button, seibuspi_state, rdft,     ROT270, "Seibu Kaihatsu", "Raiden Fighters (Italy)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3673GAME( 1996, rdfta,      rdft,     spi,     spi_3button, seibuspi_state, rdft,     ROT270, "Seibu Kaihatsu", "Raiden Fighters (Austria)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3655GAME( 1996, rdft,       0,        spi,     spi_3button, seibuspi_state, rdft,     ROT270, "Seibu Kaihatsu", "Raiden Fighters (Japan set 1)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3656GAME( 1996, rdftj,      rdft,     spi,     spi_3button, seibuspi_state, rdft,     ROT270, "Seibu Kaihatsu", "Raiden Fighters (Japan set 2)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3657GAME( 1996, rdftu,      rdft,     spi,     spi_3button, seibuspi_state, rdft,     ROT270, "Seibu Kaihatsu (Fabtek license)", "Raiden Fighters (US)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3658GAME( 1996, rdftam,     rdft,     spi,     spi_3button, seibuspi_state, rdft,     ROT270, "Seibu Kaihatsu (Metrotainment license)", "Raiden Fighters (Asia)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3659GAME( 1996, rdftadi,    rdft,     spi,     spi_3button, seibuspi_state, rdft,     ROT270, "Seibu Kaihatsu (Dream Island license)", "Raiden Fighters (Korea)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3660GAME( 1996, rdftau,     rdft,     spi,     spi_3button, seibuspi_state, rdft,     ROT270, "Seibu Kaihatsu", "Raiden Fighters (Australia)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3661GAME( 1996, rdftit,     rdft,     spi,     spi_3button, seibuspi_state, rdft,     ROT270, "Seibu Kaihatsu", "Raiden Fighters (Italy)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3662GAME( 1996, rdfta,      rdft,     spi,     spi_3button, seibuspi_state, rdft,     ROT270, "Seibu Kaihatsu", "Raiden Fighters (Austria)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
36743663
3675GAME( 1997, rdft2,      0,        spi,     spi_2button, seibuspi_state, rdft2,    ROT270, "Seibu Kaihatsu (Tuning license)", "Raiden Fighters 2 - Operation Hell Dive (Europe)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3676GAME( 1997, rdft2u,     rdft2,    spi,     spi_2button, seibuspi_state, rdft2,    ROT270, "Seibu Kaihatsu (Fabtek license)", "Raiden Fighters 2 - Operation Hell Dive (US)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3677GAME( 1997, rdft2j,     rdft2,    spi,     spi_2button, seibuspi_state, rdft2,    ROT270, "Seibu Kaihatsu", "Raiden Fighters 2 - Operation Hell Dive (Japan set 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3678GAME( 1997, rdft2j2,    rdft2,    spi,     spi_2button, seibuspi_state, rdft2,    ROT270, "Seibu Kaihatsu", "Raiden Fighters 2 - Operation Hell Dive (Japan set 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3679GAME( 1997, rdft2a,     rdft2,    spi,     spi_2button, seibuspi_state, rdft2,    ROT270, "Seibu Kaihatsu (Metrotainment license)", "Raiden Fighters 2 - Operation Hell Dive (Asia)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3680GAME( 1997, rdft2a2,    rdft2,    spi,     spi_2button, seibuspi_state, rdft2,    ROT270, "Seibu Kaihatsu (Dream Island license)", "Raiden Fighters 2 - Operation Hell Dive (Korea)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3681GAME( 1997, rdft2t,     rdft2,    spi,     spi_2button, seibuspi_state, rdft2,    ROT270, "Seibu Kaihatsu", "Raiden Fighters 2 - Operation Hell Dive (Taiwan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3664GAME( 1997, rdft2,      0,        spi,     spi_2button, seibuspi_state, rdft2,    ROT270, "Seibu Kaihatsu (Tuning license)", "Raiden Fighters 2 - Operation Hell Dive (Europe)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3665GAME( 1997, rdft2u,     rdft2,    spi,     spi_2button, seibuspi_state, rdft2,    ROT270, "Seibu Kaihatsu (Fabtek license)", "Raiden Fighters 2 - Operation Hell Dive (US)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3666GAME( 1997, rdft2j,     rdft2,    spi,     spi_2button, seibuspi_state, rdft2,    ROT270, "Seibu Kaihatsu", "Raiden Fighters 2 - Operation Hell Dive (Japan set 1)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3667GAME( 1997, rdft2j2,    rdft2,    spi,     spi_2button, seibuspi_state, rdft2,    ROT270, "Seibu Kaihatsu", "Raiden Fighters 2 - Operation Hell Dive (Japan set 2)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3668GAME( 1997, rdft2a,     rdft2,    spi,     spi_2button, seibuspi_state, rdft2,    ROT270, "Seibu Kaihatsu (Metrotainment license)", "Raiden Fighters 2 - Operation Hell Dive (Asia)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3669GAME( 1997, rdft2a2,    rdft2,    spi,     spi_2button, seibuspi_state, rdft2,    ROT270, "Seibu Kaihatsu (Dream Island license)", "Raiden Fighters 2 - Operation Hell Dive (Korea)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3670GAME( 1997, rdft2t,     rdft2,    spi,     spi_2button, seibuspi_state, rdft2,    ROT270, "Seibu Kaihatsu", "Raiden Fighters 2 - Operation Hell Dive (Taiwan)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
36823671
3683GAME( 1998, rfjet,      0,        spi,     spi_2button, seibuspi_state, rfjet,    ROT270, "Seibu Kaihatsu (Tuning license)", "Raiden Fighters Jet (Europe)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3684GAME( 1998, rfjetu,     rfjet,    spi,     spi_2button, seibuspi_state, rfjet,    ROT270, "Seibu Kaihatsu (Fabtek license)", "Raiden Fighters Jet (US)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3685GAME( 1998, rfjetj,     rfjet,    spi,     spi_2button, seibuspi_state, rfjet,    ROT270, "Seibu Kaihatsu", "Raiden Fighters Jet (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3686GAME( 1998, rfjeta,     rfjet,    spi,     spi_2button, seibuspi_state, rfjet,    ROT270, "Seibu Kaihatsu (Dream Island license)", "Raiden Fighters Jet (Korea)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3687GAME( 1998, rfjett,     rfjet,    spi,     spi_2button, seibuspi_state, rfjet,    ROT270, "Seibu Kaihatsu", "Raiden Fighters Jet (Taiwan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3672GAME( 1998, rfjet,      0,        spi,     spi_2button, seibuspi_state, rfjet,    ROT270, "Seibu Kaihatsu (Tuning license)", "Raiden Fighters Jet (Europe)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3673GAME( 1998, rfjetu,     rfjet,    spi,     spi_2button, seibuspi_state, rfjet,    ROT270, "Seibu Kaihatsu (Fabtek license)", "Raiden Fighters Jet (US)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3674GAME( 1998, rfjetj,     rfjet,    spi,     spi_2button, seibuspi_state, rfjet,    ROT270, "Seibu Kaihatsu", "Raiden Fighters Jet (Japan)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3675GAME( 1998, rfjeta,     rfjet,    spi,     spi_2button, seibuspi_state, rfjet,    ROT270, "Seibu Kaihatsu (Dream Island license)", "Raiden Fighters Jet (Korea)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3676GAME( 1998, rfjett,     rfjet,    spi,     spi_2button, seibuspi_state, rfjet,    ROT270, "Seibu Kaihatsu", "Raiden Fighters Jet (Taiwan)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
36883677
36893678/* SXX2E */
3690GAME( 1996, rdfts,      rdft,     sxx2e,   sxx2e,       seibuspi_state, rdft,     ROT270, "Seibu Kaihatsu (Explorer System Corp. license)", "Raiden Fighters (Taiwan, single board)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3679GAME( 1996, rdfts,      rdft,     sxx2e,   sxx2e,       seibuspi_state, rdft,     ROT270, "Seibu Kaihatsu (Explorer System Corp. license)", "Raiden Fighters (Taiwan, single board)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
36913680
36923681/* SXX2F */
3693GAME( 1997, rdft2us,    rdft2,    sxx2f,   sxx2f,       seibuspi_state, rdft2,    ROT270, "Seibu Kaihatsu (Fabtek license)", "Raiden Fighters 2 - Operation Hell Dive (US, single board)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) // title screen shows small '.1'
3682GAME( 1997, rdft2us,    rdft2,    sxx2f,   sxx2f,       seibuspi_state, rdft2,    ROT270, "Seibu Kaihatsu (Fabtek license)", "Raiden Fighters 2 - Operation Hell Dive (US, single board)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) // title screen shows small '.1'
36943683
36953684/* SXX2G */
3696GAME( 1999, rfjetsa,    rfjet,    sxx2g,   sxx2f,       seibuspi_state, rfjet,    ROT270, "Seibu Kaihatsu", "Raiden Fighters Jet (US, single board)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) // has 1998-99 copyright + planes unlocked
3697GAME( 1999, rfjets,     rfjet,    sxx2g,   sxx2f,       seibuspi_state, rfjet,    ROT270, "Seibu Kaihatsu", "Raiden Fighters Jet (US, single board, earlier?)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) // maybe proto? see notes at romdefs
3685GAME( 1999, rfjetsa,    rfjet,    sxx2g,   sxx2f,       seibuspi_state, rfjet,    ROT270, "Seibu Kaihatsu", "Raiden Fighters Jet (US, single board)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) // has 1998-99 copyright + planes unlocked
3686GAME( 1999, rfjets,     rfjet,    sxx2g,   sxx2f,       seibuspi_state, rfjet,    ROT270, "Seibu Kaihatsu", "Raiden Fighters Jet (US, single board, earlier?)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) // maybe proto? see notes at romdefs
36983687
36993688/* SYS386I */
3700GAME( 2000, rdft22kc,   rdft2,    sys386i, sys386i,     seibuspi_state, rdft2,    ROT270, "Seibu Kaihatsu", "Raiden Fighters 2 - Operation Hell Dive 2000 (China, SYS386I)", GAME_IMPERFECT_GRAPHICS )
3701GAME( 2000, rfjet2kc,   rfjet,    sys386i, sys386i,     seibuspi_state, rfjet,    ROT270, "Seibu Kaihatsu", "Raiden Fighters Jet 2000 (China, SYS386I)", GAME_IMPERFECT_GRAPHICS )
3689GAME( 2000, rdft22kc,   rdft2,    sys386i, sys386i,     seibuspi_state, rdft2,    ROT270, "Seibu Kaihatsu", "Raiden Fighters 2 - Operation Hell Dive 2000 (China, SYS386I)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
3690GAME( 2000, rfjet2kc,   rfjet,    sys386i, sys386i,     seibuspi_state, rfjet,    ROT270, "Seibu Kaihatsu", "Raiden Fighters Jet 2000 (China, SYS386I)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
37023691
37033692/* SYS386F */
3704GAME( 1999, ejsakura,   0,        sys386f, sys386f,     seibuspi_state, sys386f,  ROT0,   "Seibu Kaihatsu", "E-Jan Sakurasou (Japan, SYS386F V2.0)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3705GAME( 1999, ejsakura12, ejsakura, sys386f, sys386f,     seibuspi_state, sys386f,  ROT0,   "Seibu Kaihatsu", "E-Jan Sakurasou (Japan, SYS386F V1.2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3693GAME( 1999, ejsakura,   0,        sys386f, sys386f,     seibuspi_state, sys386f,  ROT0,   "Seibu Kaihatsu", "E-Jan Sakurasou (Japan, SYS386F V2.0)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3694GAME( 1999, ejsakura12, ejsakura, sys386f, sys386f,     seibuspi_state, sys386f,  ROT0,   "Seibu Kaihatsu", "E-Jan Sakurasou (Japan, SYS386F V1.2)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )

Previous 199869 Revisions Next


© 1997-2024 The MAME Team