Previous 199869 Revisions Next

r29477 Wednesday 9th April, 2014 at 05:41:40 UTC by Fabio Priuli
tc0480scp: updated to use inline configs. nw.
[src/mame/drivers]galastrm.c groundfx.c gunbustr.c slapshot.c superchs.c taito_f2.c taito_z.c undrfire.c
[src/mame/video]tc0480scp.c tc0480scp.h

trunk/src/mame/video/tc0480scp.c
r29476r29477
151151   //m_bgscrolly[4](NULL),
152152   m_pri_reg(0),
153153   m_dblwidth(0),
154   m_x_offs(0),
154   m_gfxnum(0),
155   m_txnum(0),
156   m_x_offset(0),
157   m_y_offset(0),
158   m_text_xoffs(0),
159   m_text_yoffs(0),
160   m_flip_xoffs(0),
161   m_flip_yoffs(0),
162   m_col_base(0),
155163   m_gfxdecode(*this),
156164   m_palette(*this)
157165{
r29476r29477
178186}
179187
180188//-------------------------------------------------
181//  device_config_complete - perform any
182//  operations now that the configuration is
183//  complete
184//-------------------------------------------------
185
186void tc0480scp_device::device_config_complete()
187{
188   // inherit a copy of the static data
189   const tc0480scp_interface *intf = reinterpret_cast<const tc0480scp_interface *>(static_config());
190   if (intf != NULL)
191   *static_cast<tc0480scp_interface *>(this) = *intf;
192
193   // or initialize to defaults if none provided
194   else
195   {
196   }
197}
198
199//-------------------------------------------------
200189//  device_start - device-specific startup
201190//-------------------------------------------------
202191
r29476r29477
205194   if(!m_gfxdecode->started())
206195      throw device_missing_dependencies();
207196
208   int i, xd, yd;
197   int xd, yd;
209198
210   m_x_offs = m_x_offset + m_pixels;
211
212
213199   static const gfx_layout tc0480scp_charlayout =
214200   {
215201      8,8,    /* 8*8 characters */
r29476r29477
236222   m_tilemap[3][1] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(tc0480scp_device::get_bg3_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
237223   m_tilemap[4][1] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(tc0480scp_device::get_tx_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
238224
239   for (i = 0; i < 2; i++)
225   for (int i = 0; i < 2; i++)
240226   {
241227      m_tilemap[0][i]->set_transparent_pen(0);
242228      m_tilemap[1][i]->set_transparent_pen(0);
r29476r29477
245231      m_tilemap[4][i]->set_transparent_pen(0);
246232   }
247233
248   xd = -m_x_offs;
234   xd = -m_x_offset;
249235   yd =  m_y_offset;
250236
251237   /* Metalb and Deadconx have minor screenflip issues: blue planet
r29476r29477
280266   m_tilemap[4][1]->set_scrolldx(xd - 3, 317 - xd);   /* text layer */
281267   m_tilemap[4][1]->set_scrolldy(yd,     256 - yd);   /* text layer */
282268
283   for (i = 0; i < 2; i++)
269   for (int i = 0; i < 2; i++)
284270   {
285271      /* Both sets of bg tilemaps scrollable per pixel row */
286272      m_tilemap[0][i]->set_scroll_rows(512);
r29476r29477
308294
309295void tc0480scp_device::device_reset()
310296{
311   int i;
312
313297   m_dblwidth = 0;
314298
315   for (i = 0; i < 0x18; i++)
299   for (int i = 0; i < 0x18; i++)
316300      m_ctrl[i] = 0;
317301
318302}
r29476r29477
733717      if (!flip)
734718      {
735719         sx = ((m_bgscrollx[layer] + 15 + layer * 4) << 16) + ((255 - (m_ctrl[0x10 + layer] & 0xff)) << 8);
736         sx += (m_x_offs - 15 - layer * 4) * zoomx;
720         sx += (m_x_offset - 15 - layer * 4) * zoomx;
737721
738722         y_index = (m_bgscrolly[layer] << 16) + ((m_ctrl[0x14 + layer] & 0xff) << 8);
739723         y_index -= (m_y_offset - min_y) * zoomy;
r29476r29477
741725      else    /* TC0480SCP tiles flipscreen */
742726      {
743727         sx = ((-m_bgscrollx[layer] + 15 + layer * 4 + m_flip_xoffs ) << 16) + ((255-(m_ctrl[0x10 + layer] & 0xff)) << 8);
744         sx += (m_x_offs - 15 - layer * 4) * zoomx;
728         sx += (m_x_offset - 15 - layer * 4) * zoomx;
745729
746730         y_index = ((-m_bgscrolly[layer] + m_flip_yoffs) << 16) + ((m_ctrl[0x14 + layer] & 0xff) << 8);
747731         y_index -= (m_y_offset - min_y) * zoomy;
r29476r29477
875859   if (!flipscreen)
876860   {
877861      sx = ((m_bgscrollx[layer] + 15 + layer * 4) << 16) + ((255-(m_ctrl[0x10 + layer] & 0xff)) << 8);
878      sx += (m_x_offs - 15 - layer * 4) * zoomx;
862      sx += (m_x_offset - 15 - layer * 4) * zoomx;
879863
880864      y_index = (m_bgscrolly[layer] << 16) + ((m_ctrl[0x14 + layer] & 0xff) << 8);
881865      y_index -= (m_y_offset - min_y) * zoomy;
r29476r29477
883867   else    /* TC0480SCP tiles flipscreen */
884868   {
885869      sx = ((-m_bgscrollx[layer] + 15 + layer * 4 + m_flip_xoffs ) << 16) + ((255 - (m_ctrl[0x10 + layer] & 0xff)) << 8);
886      sx += (m_x_offs - 15 - layer * 4) * zoomx;
870      sx += (m_x_offset - 15 - layer * 4) * zoomx;
887871
888872      y_index = ((-m_bgscrolly[layer] + m_flip_yoffs) << 16) + ((m_ctrl[0x14 + layer] & 0xff) << 8);
889873      y_index -= (m_y_offset - min_y) * zoomy;
r29476r29477
915899      x_index = sx - ((m_bgscroll_ram[layer][row_index] << 16)) - ((m_bgscroll_ram[layer][row_index + 0x800] << 8) & 0xffff);
916900
917901      /* flawed calc ?? */
918      x_index -= (m_x_offs - 0x1f + layer * 4) * ((row_zoom & 0xff) << 8);
902      x_index -= (m_x_offset - 0x1f + layer * 4) * ((row_zoom & 0xff) << 8);
919903
920904/* We used to kludge 270 multiply factor, before adjusting x_index instead */
921905
trunk/src/mame/video/tc0480scp.h
r29476r29477
11#ifndef __TC0480SCP_H__
22#define __TC0480SCP_H__
33
4struct tc0480scp_interface
4class tc0480scp_device : public device_t
55{
6   int                m_gfxnum;
7   int                m_txnum;
8
9   int                m_pixels;
10
11   int                m_x_offset, m_y_offset;
12   int                m_text_xoffs, m_text_yoffs;
13   int                m_flip_xoffs, m_flip_yoffs;
14
15   int                m_col_base;
16};
17
18class tc0480scp_device : public device_t,
19                                 public tc0480scp_interface
20{
216public:
227   tc0480scp_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
238   ~tc0480scp_device() {}
r29476r29477
2510   // static configuration
2611   static void static_set_gfxdecode_tag(device_t &device, const char *tag);
2712   static void static_set_palette_tag(device_t &device, const char *tag);
28
13   static void set_gfx_region(device_t &device, int gfxregion) { downcast<tc0480scp_device &>(device).m_gfxnum = gfxregion; }
14   static void set_tx_region(device_t &device, int txregion) { downcast<tc0480scp_device &>(device).m_txnum = txregion; }
15   static void set_col_base(device_t &device, int col) { downcast<tc0480scp_device &>(device).m_col_base = col; }
16   static void set_offsets(device_t &device, int x_offset, int y_offset)
17   {
18      tc0480scp_device &dev = downcast<tc0480scp_device &>(device);
19      dev.m_x_offset = x_offset;
20      dev.m_y_offset = y_offset;
21   }
22   static void set_offsets_tx(device_t &device, int x_offset, int y_offset)
23   {
24      tc0480scp_device &dev = downcast<tc0480scp_device &>(device);
25      dev.m_text_xoffs = x_offset;
26      dev.m_text_yoffs = y_offset;
27   }
28   static void set_offsets_flip(device_t &device, int x_offset, int y_offset)
29   {
30      tc0480scp_device &dev = downcast<tc0480scp_device &>(device);
31      dev.m_flip_xoffs = x_offset;
32      dev.m_flip_yoffs = y_offset;
33   }
34   
2935   /* When writing a driver, pass zero for the text and flip offsets initially:
3036   then tweak them once you have the 4 bg layer positions correct. Col_base
3137   may be needed when tilemaps use a palette area from sprites. */
r29476r29477
5662
5763protected:
5864   // device-level overrides
59   virtual void device_config_complete();
6065   virtual void device_start();
6166   virtual void device_reset();
6267
r29476r29477
7681   int              m_pri_reg;
7782
7883   /* We keep two tilemaps for each of the 5 actual tilemaps: one at standard width, one double */
79   tilemap_t         *m_tilemap[5][2];
80   INT32           m_dblwidth;
81   int             m_x_offs;
84   tilemap_t        *m_tilemap[5][2];
85   INT32            m_dblwidth;
8286
87   int              m_gfxnum;
88   int              m_txnum;
89   int              m_x_offset, m_y_offset;
90   int              m_text_xoffs, m_text_yoffs;
91   int              m_flip_xoffs, m_flip_yoffs;
92   
93   int              m_col_base;
94   
8395   required_device<gfxdecode_device> m_gfxdecode;
8496   required_device<palette_device> m_palette;
8597
r29476r29477
100112
101113extern const device_type TC0480SCP;
102114
103#define MCFG_TC0480SCP_ADD(_tag, _interface) \
104   MCFG_DEVICE_ADD(_tag, TC0480SCP, 0) \
105   MCFG_DEVICE_CONFIG(_interface)
106115
116#define MCFG_TC0480SCP_GFX_REGION(_region) \
117   tc0480scp_device::set_gfx_region(*device, _region);
118
119#define MCFG_TC0480SCP_TX_REGION(_region) \
120   tc0480scp_device::set_tx_region(*device, _region);
121
122#define MCFG_TC0480SCP_OFFSETS(_xoffs, _yoffs) \
123   tc0480scp_device::set_offsets(*device, _xoffs, _yoffs);
124
125#define MCFG_TC0480SCP_OFFSETS_TX(_xoffs, _yoffs) \
126   tc0480scp_device::set_offsets_tx(*device, _xoffs, _yoffs);
127
128#define MCFG_TC0480SCP_OFFSETS_FLIP(_xoffs, _yoffs) \
129   tc0480scp_device::set_offsets_flip(*device, _xoffs, _yoffs);
130
131#define MCFG_TC0480SCP_COL_BASE(_col) \
132   tc0480scp_device::set_col_base(*device, _col);
133
107134#define MCFG_TC0480SCP_GFXDECODE(_gfxtag) \
108135   tc0480scp_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
109136
trunk/src/mame/drivers/superchs.c
r29476r29477
312312                 MACHINE DRIVERS
313313***********************************************************/
314314
315static const tc0480scp_interface superchs_tc0480scp_intf =
316{
317   1, 2,       /* gfxnum, txnum */
318   0,          /* pixels */
319   0x20, 0x08, /* x_offset, y_offset */
320   -1, 0,      /* text_xoff, text_yoff */
321   0, 0,       /* flip_xoff, flip_yoff */
322   0           /* col_base */
323};
324
325315static MACHINE_CONFIG_START( superchs, superchs_state )
326316
327317   /* basic machine hardware */
r29476r29477
349339   MCFG_GFXDECODE_ADD("gfxdecode", "palette", superchs)
350340   MCFG_PALETTE_ADD("palette", 8192)
351341
352
353   MCFG_TC0480SCP_ADD("tc0480scp", superchs_tc0480scp_intf)
342   MCFG_DEVICE_ADD("tc0480scp", TC0480SCP, 0)
343   MCFG_TC0480SCP_GFX_REGION(1)
344   MCFG_TC0480SCP_TX_REGION(2)
345   MCFG_TC0480SCP_OFFSETS(0x20, 0x08)
346   MCFG_TC0480SCP_OFFSETS_TX(-1, 0)
354347   MCFG_TC0480SCP_GFXDECODE("gfxdecode")
355348   MCFG_TC0480SCP_PALETTE("palette")
356349
trunk/src/mame/drivers/taito_z.c
r29476r29477
29552955
29562956***********************************************************/
29572957
2958static const tc0480scp_interface taitoz_tc0480scp_intf =
2959{
2960   1, 2,       /* gfxnum, txnum */
2961   0,          /* pixels */
2962   0x1f, 0x08, /* x_offset, y_offset */
2963   0, 0,       /* text_xoff, text_yoff */
2964   0, 0,       /* flip_xoff, flip_yoff */
2965   0           /* col_base */
2966};
2967
2968
29692958/***********************************************************
29702959                   SAVE STATES
29712960***********************************************************/
r29476r29477
36743663
36753664   MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
36763665
3677   MCFG_TC0480SCP_ADD("tc0480scp", taitoz_tc0480scp_intf)
3666   MCFG_DEVICE_ADD("tc0480scp", TC0480SCP, 0)
3667   MCFG_TC0480SCP_GFX_REGION(1)
3668   MCFG_TC0480SCP_TX_REGION(2)
3669   MCFG_TC0480SCP_OFFSETS(0x1f, 0x08)
36783670   MCFG_TC0480SCP_GFXDECODE("gfxdecode")
36793671   MCFG_TC0480SCP_PALETTE("palette")
36803672
r29476r29477
37483740   MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
37493741   MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
37503742
3751   MCFG_TC0480SCP_ADD("tc0480scp", taitoz_tc0480scp_intf)
3743   MCFG_DEVICE_ADD("tc0480scp", TC0480SCP, 0)
3744   MCFG_TC0480SCP_GFX_REGION(1)
3745   MCFG_TC0480SCP_TX_REGION(2)
3746   MCFG_TC0480SCP_OFFSETS(0x1f, 0x08)
37523747   MCFG_TC0480SCP_GFXDECODE("gfxdecode")
37533748   MCFG_TC0480SCP_PALETTE("palette")
37543749
trunk/src/mame/drivers/slapshot.c
r29476r29477
491491                 MACHINE DRIVERS
492492***********************************************************/
493493
494static const tc0480scp_interface slapshot_tc0480scp_intf =
495{
496   1, 2,       /* gfxnum, txnum */
497   3,      /* pixels */
498   30, 9,      /* x_offset, y_offset */
499   -1, 1,      /* text_xoff, text_yoff */
500   0, 2,       /* flip_xoff, flip_yoff */
501   256     /* col_base */
502};
503
504494void slapshot_state::machine_start()
505495{
506496   membank("bank10")->configure_entries(0, 4, memregion("audiocpu")->base() + 0xc000, 0x4000);
r29476r29477
542532   MCFG_GFXDECODE_ADD("gfxdecode", "palette", slapshot)
543533   MCFG_PALETTE_ADD("palette", 8192)
544534
545   MCFG_TC0480SCP_ADD("tc0480scp", slapshot_tc0480scp_intf)
535   MCFG_DEVICE_ADD("tc0480scp", TC0480SCP, 0)
536   MCFG_TC0480SCP_GFX_REGION(1)
537   MCFG_TC0480SCP_TX_REGION(2)
538   MCFG_TC0480SCP_OFFSETS(30 + 3, 9)
539   MCFG_TC0480SCP_OFFSETS_TX(-1, -1)
540   MCFG_TC0480SCP_OFFSETS_FLIP(0, 2)
541   MCFG_TC0480SCP_COL_BASE(256)
546542   MCFG_TC0480SCP_GFXDECODE("gfxdecode")
547543   MCFG_TC0480SCP_PALETTE("palette")
544
548545   MCFG_TC0360PRI_ADD("tc0360pri")
549546
550547   /* sound hardware */
r29476r29477
595592   MCFG_GFXDECODE_ADD("gfxdecode", "palette", slapshot)
596593   MCFG_PALETTE_ADD("palette", 8192)
597594
598
599   MCFG_TC0480SCP_ADD("tc0480scp", slapshot_tc0480scp_intf)
595   MCFG_DEVICE_ADD("tc0480scp", TC0480SCP, 0)
596   MCFG_TC0480SCP_GFX_REGION(1)
597   MCFG_TC0480SCP_TX_REGION(2)
598   MCFG_TC0480SCP_OFFSETS(30 + 3, 9)
599   MCFG_TC0480SCP_OFFSETS_TX(-1, -1)
600   MCFG_TC0480SCP_OFFSETS_FLIP(0, 2)
601   MCFG_TC0480SCP_COL_BASE(256)
600602   MCFG_TC0480SCP_GFXDECODE("gfxdecode")
601603   MCFG_TC0480SCP_PALETTE("palette")
604
602605   MCFG_TC0360PRI_ADD("tc0360pri")
603606
604607   /* sound hardware */
trunk/src/mame/drivers/taito_f2.c
r29476r29477
28332833                      MACHINE DRIVERS
28342834***********************************************************/
28352835
2836static const tc0480scp_interface footchmp_tc0480scp_intf =
2837{
2838   1, 2,       /* gfxnum, txnum */
2839   3,      /* pixels */
2840   0x1d, 0x08,     /* x_offset, y_offset */
2841   -1, 0,      /* text_xoff, text_yoff */
2842   -1, 0,      /* flip_xoff, flip_yoff */
2843   0       /* col_base */
2844};
2845
2846static const tc0480scp_interface hthero_tc0480scp_intf =
2847{
2848   1, 2,       /* gfxnum, txnum */
2849   3,      /* pixels */
2850   0x33, -0x04,        /* x_offset, y_offset */
2851   -1, 0,      /* text_xoff, text_yoff */
2852   -1, 0,      /* flip_xoff, flip_yoff */
2853   0       /* col_base */
2854};
2855
2856static const tc0480scp_interface deadconx_tc0480scp_intf =
2857{
2858   1, 2,       /* gfxnum, txnum */
2859   3,      /* pixels */
2860   0x1e, 0x08,     /* x_offset, y_offset */
2861   -1, 0,      /* text_xoff, text_yoff */
2862   -1, 0,      /* flip_xoff, flip_yoff */
2863   0       /* col_base */
2864};
2865
2866static const tc0480scp_interface deadconxj_tc0480scp_intf =
2867{
2868   1, 2,       /* gfxnum, txnum */
2869   3,      /* pixels */
2870   0x34, -0x05,        /* x_offset, y_offset */
2871   -1, 0,      /* text_xoff, text_yoff */
2872   -1, 0,      /* flip_xoff, flip_yoff */
2873   0       /* col_base */
2874};
2875
2876static const tc0480scp_interface metalb_tc0480scp_intf =
2877{
2878   1, 2,       /* gfxnum, txnum */
2879   3,      /* pixels */
2880   0x32, -0x04,        /* x_offset, y_offset */
2881   1, 0,       /* text_xoff, text_yoff */
2882   -1, 0,      /* flip_xoff, flip_yoff */
2883   256     /* col_base */
2884};
2885
2886
28872836MACHINE_START_MEMBER(taitof2_state,common)
28882837{
28892838}
r29476r29477
32733222   MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_deadconx)
32743223   MCFG_SCREEN_VBLANK_DRIVER(taitof2_state, screen_eof_taitof2_full_buffer_delayed)
32753224
3276   MCFG_TC0480SCP_ADD("tc0480scp", footchmp_tc0480scp_intf)
3225   MCFG_DEVICE_ADD("tc0480scp", TC0480SCP, 0)
3226   MCFG_TC0480SCP_GFX_REGION(1)
3227   MCFG_TC0480SCP_TX_REGION(2)
3228   MCFG_TC0480SCP_OFFSETS(0x1d + 3, 0x08)
3229   MCFG_TC0480SCP_OFFSETS_TX(-1, 0)
3230   MCFG_TC0480SCP_OFFSETS_FLIP(-1, 0)
32773231   MCFG_TC0480SCP_GFXDECODE("gfxdecode")
32783232   MCFG_TC0480SCP_PALETTE("palette")
32793233
r29476r29477
33013255   MCFG_SCREEN_VBLANK_DRIVER(taitof2_state, screen_eof_taitof2_full_buffer_delayed)
33023256
33033257   MCFG_TC0360PRI_ADD("tc0360pri")
3304   MCFG_TC0480SCP_ADD("tc0480scp", hthero_tc0480scp_intf)
3258
3259   MCFG_DEVICE_ADD("tc0480scp", TC0480SCP, 0)
3260   MCFG_TC0480SCP_GFX_REGION(1)
3261   MCFG_TC0480SCP_TX_REGION(2)
3262   MCFG_TC0480SCP_OFFSETS(0x33 + 3, -0x04)
3263   MCFG_TC0480SCP_OFFSETS_TX(-1, 0)
3264   MCFG_TC0480SCP_OFFSETS_FLIP(-1, 0)
33053265   MCFG_TC0480SCP_GFXDECODE("gfxdecode")
33063266   MCFG_TC0480SCP_PALETTE("palette")
33073267MACHINE_CONFIG_END
r29476r29477
34623422   MCFG_SCREEN_MODIFY("screen")
34633423   MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_metalb)
34643424
3465   MCFG_TC0480SCP_ADD("tc0480scp", metalb_tc0480scp_intf)
3425   MCFG_DEVICE_ADD("tc0480scp", TC0480SCP, 0)
3426   MCFG_TC0480SCP_GFX_REGION(1)
3427   MCFG_TC0480SCP_TX_REGION(2)
3428   MCFG_TC0480SCP_OFFSETS(0x32 + 3, -0x04)
3429   MCFG_TC0480SCP_OFFSETS_TX(1, 0)
3430   MCFG_TC0480SCP_OFFSETS_FLIP(-1, 0)
3431   MCFG_TC0480SCP_COL_BASE(256)
34663432   MCFG_TC0480SCP_GFXDECODE("gfxdecode")
34673433   MCFG_TC0480SCP_PALETTE("palette")
34683434
r29476r29477
35253491   MCFG_SCREEN_MODIFY("screen")
35263492   MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_deadconx)
35273493
3528   MCFG_TC0480SCP_ADD("tc0480scp", deadconx_tc0480scp_intf)
3494   MCFG_DEVICE_ADD("tc0480scp", TC0480SCP, 0)
3495   MCFG_TC0480SCP_GFX_REGION(1)
3496   MCFG_TC0480SCP_TX_REGION(2)
3497   MCFG_TC0480SCP_OFFSETS(0x1e + 3, 0x08)
3498   MCFG_TC0480SCP_OFFSETS_TX(-1, 0)
3499   MCFG_TC0480SCP_OFFSETS_FLIP(-1, 0)
35293500   MCFG_TC0480SCP_GFXDECODE("gfxdecode")
35303501   MCFG_TC0480SCP_PALETTE("palette")
35313502
r29476r29477
35453516   MCFG_SCREEN_MODIFY("screen")
35463517   MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_deadconx)
35473518
3548   MCFG_TC0480SCP_ADD("tc0480scp", deadconxj_tc0480scp_intf)
3519   MCFG_DEVICE_ADD("tc0480scp", TC0480SCP, 0)
3520   MCFG_TC0480SCP_GFX_REGION(1)
3521   MCFG_TC0480SCP_TX_REGION(2)
3522   MCFG_TC0480SCP_OFFSETS(0x34 + 3, -0x05)
3523   MCFG_TC0480SCP_OFFSETS_TX(-1, 0)
3524   MCFG_TC0480SCP_OFFSETS_FLIP(-1, 0)
35493525   MCFG_TC0480SCP_GFXDECODE("gfxdecode")
35503526   MCFG_TC0480SCP_PALETTE("palette")
35513527
trunk/src/mame/drivers/groundfx.c
r29476r29477
324324                 MACHINE DRIVERS
325325***********************************************************/
326326
327static const tc0480scp_interface groundfx_tc0480scp_intf =
328{
329   1, 4,       /* gfxnum, txnum */
330   0,      /* pixels */
331   0x24, 0,        /* x_offset, y_offset */
332   -1, 0,      /* text_xoff, text_yoff */
333   0, 0,       /* flip_xoff, flip_yoff */
334   0       /* col_base */
335};
336
337327INTERRUPT_GEN_MEMBER(groundfx_state::groundfx_interrupt)
338328{
339329   m_frame_counter^=1;
r29476r29477
368358   MCFG_TC0100SCN_GFXDECODE("gfxdecode")
369359   MCFG_TC0100SCN_PALETTE("palette")
370360
371   MCFG_TC0480SCP_ADD("tc0480scp", groundfx_tc0480scp_intf)
361   MCFG_DEVICE_ADD("tc0480scp", TC0480SCP, 0)
362   MCFG_TC0480SCP_GFX_REGION(1)
363   MCFG_TC0480SCP_TX_REGION(4)
364   MCFG_TC0480SCP_OFFSETS(0x24, 0)
365   MCFG_TC0480SCP_OFFSETS_TX(-1, 0)
372366   MCFG_TC0480SCP_GFXDECODE("gfxdecode")
373367   MCFG_TC0480SCP_PALETTE("palette")
374368
trunk/src/mame/drivers/undrfire.c
r29476r29477
696696   device.execute().set_input_line(4, HOLD_LINE);
697697}
698698
699static const tc0480scp_interface undrfire_tc0480scp_intf =
700{
701   1, 4,       /* gfxnum, txnum */
702   0,      /* pixels */
703   0x24, 0,        /* x_offset, y_offset */
704   -1, 0,      /* text_xoff, text_yoff */
705   0, 0,       /* flip_xoff, flip_yoff */
706   0       /* col_base */
707};
708
709699static MACHINE_CONFIG_START( undrfire, undrfire_state )
710700
711701   /* basic machine hardware */
r29476r29477
734724   MCFG_TC0100SCN_GFXDECODE("gfxdecode")
735725   MCFG_TC0100SCN_PALETTE("palette")
736726
737   MCFG_TC0480SCP_ADD("tc0480scp", undrfire_tc0480scp_intf)
727   MCFG_DEVICE_ADD("tc0480scp", TC0480SCP, 0)
728   MCFG_TC0480SCP_GFX_REGION(1)
729   MCFG_TC0480SCP_TX_REGION(4)
730   MCFG_TC0480SCP_OFFSETS(0x24, 0)
731   MCFG_TC0480SCP_OFFSETS_TX(-1, 0)
738732   MCFG_TC0480SCP_GFXDECODE("gfxdecode")
739733   MCFG_TC0480SCP_PALETTE("palette")
740734
r29476r29477
777771   MCFG_TC0100SCN_GFXDECODE("gfxdecode")
778772   MCFG_TC0100SCN_PALETTE("palette")
779773
780   MCFG_TC0480SCP_ADD("tc0480scp", undrfire_tc0480scp_intf)
774   MCFG_DEVICE_ADD("tc0480scp", TC0480SCP, 0)
775   MCFG_TC0480SCP_GFX_REGION(1)
776   MCFG_TC0480SCP_TX_REGION(4)
777   MCFG_TC0480SCP_OFFSETS(0x24, 0)
778   MCFG_TC0480SCP_OFFSETS_TX(-1, 0)
781779   MCFG_TC0480SCP_GFXDECODE("gfxdecode")
782780   MCFG_TC0480SCP_PALETTE("palette")
783781
trunk/src/mame/drivers/galastrm.c
r29476r29477
277277
278278/***************************************************************************/
279279
280static const tc0480scp_interface galastrm_tc0480scp_intf =
281{
282   1, 3,       /* gfxnum, txnum */
283   0,      /* pixels */
284   -40, -3,        /* x_offset, y_offset */
285   0, 0,       /* text_xoff, text_yoff */
286   0, 0,       /* flip_xoff, flip_yoff */
287   0       /* col_base */
288};
289
290280static MACHINE_CONFIG_START( galastrm, galastrm_state )
291281   /* basic machine hardware */
292282   MCFG_CPU_ADD("maincpu", M68EC020, 16000000) /* 16 MHz */
r29476r29477
314304   MCFG_TC0100SCN_GFXDECODE("gfxdecode")
315305   MCFG_TC0100SCN_PALETTE("palette")
316306
317   MCFG_TC0480SCP_ADD("tc0480scp", galastrm_tc0480scp_intf)
307   MCFG_DEVICE_ADD("tc0480scp", TC0480SCP, 0)
308   MCFG_TC0480SCP_GFX_REGION(1)
309   MCFG_TC0480SCP_TX_REGION(3)
310   MCFG_TC0480SCP_OFFSETS(-40, -3)
318311   MCFG_TC0480SCP_GFXDECODE("gfxdecode")
319312   MCFG_TC0480SCP_PALETTE("palette")
320313
trunk/src/mame/drivers/gunbustr.c
r29476r29477
284284                 MACHINE DRIVERS
285285***********************************************************/
286286
287static const tc0480scp_interface gunbustr_tc0480scp_intf =
288{
289   1, 2,           /* gfxnum, txnum */
290   0,              /* pixels */
291   0x20, 0x07,     /* x_offset, y_offset */
292   -1, -1,         /* text_xoff, text_yoff */
293   -1, 0,          /* flip_xoff, flip_yoff */
294   0               /* col_base */
295};
296
297287static MACHINE_CONFIG_START( gunbustr, gunbustr_state )
298288
299289   /* basic machine hardware */
r29476r29477
315305   MCFG_GFXDECODE_ADD("gfxdecode", "palette", gunbustr)
316306   MCFG_PALETTE_ADD("palette", 8192)
317307
318
319   MCFG_TC0480SCP_ADD("tc0480scp", gunbustr_tc0480scp_intf)
308   MCFG_DEVICE_ADD("tc0480scp", TC0480SCP, 0)
309   MCFG_TC0480SCP_GFX_REGION(1)
310   MCFG_TC0480SCP_TX_REGION(2)
311   MCFG_TC0480SCP_OFFSETS(0x20, 0x07)
312   MCFG_TC0480SCP_OFFSETS_TX(-1, -1)
313   MCFG_TC0480SCP_OFFSETS_FLIP(-1, 0)
320314   MCFG_TC0480SCP_GFXDECODE("gfxdecode")
321315   MCFG_TC0480SCP_PALETTE("palette")
322316

Previous 199869 Revisions Next


© 1997-2024 The MAME Team