Previous 199869 Revisions Next

r30972 Saturday 14th June, 2014 at 10:06:13 UTC by Alex Jackson
Convert some more drivers to core palette handling (nw)
[src/mame/drivers]arcadecl.c badlands.c klax.c rampart.c vegaeo.c
[src/mame/machine]atarigen.c atarigen.h

trunk/src/mame/drivers/badlands.c
r30971r30972
387387   AM_RANGE(0xfea000, 0xfebfff) AM_DEVREAD8("soundcomm", atari_sound_comm_device, main_response_r, 0xff00)
388388   AM_RANGE(0xfec000, 0xfedfff) AM_WRITE(badlands_pf_bank_w)
389389   AM_RANGE(0xfee000, 0xfeffff) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write)
390   AM_RANGE(0xffc000, 0xffc3ff) AM_RAM_WRITE(expanded_paletteram_666_w) AM_SHARE("paletteram")
390   AM_RANGE(0xffc000, 0xffc3ff) AM_DEVREADWRITE8("palette", palette_device, read, write, 0xff00) AM_SHARE("palette")
391391   AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("playfield", tilemap_device, write) AM_SHARE("playfield")
392392   AM_RANGE(0xfff000, 0xfff1ff) AM_RAM AM_SHARE("mob")
393393   AM_RANGE(0xfff200, 0xffffff) AM_RAM
r30971r30972
511511   /* video hardware */
512512   MCFG_GFXDECODE_ADD("gfxdecode", "palette", badlands)
513513   MCFG_PALETTE_ADD("palette", 256)
514   MCFG_PALETTE_FORMAT(IRRRRRGGGGGBBBBB)
515   MCFG_PALETTE_MEMBITS(8)
514516
515517   MCFG_TILEMAP_ADD_STANDARD("playfield", "gfxdecode", 2, badlands_state, get_playfield_tile_info, 8,8, SCAN_ROWS, 64,32)
516518   MCFG_ATARI_MOTION_OBJECTS_ADD("mob", "screen", badlands_state::s_mob_config)
r30971r30972
653655
654656   AM_RANGE(0xfec000, 0xfedfff) AM_WRITE(badlands_pf_bank_w)
655657   AM_RANGE(0xfee000, 0xfeffff) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write)
656   AM_RANGE(0xffc000, 0xffc3ff) AM_RAM_WRITE(expanded_paletteram_666_w) AM_SHARE("paletteram")
658   AM_RANGE(0xffc000, 0xffc3ff) AM_DEVREADWRITE8("palette", palette_device, read, write, 0xff00) AM_SHARE("palette")
657659   AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("playfield", tilemap_device, write) AM_SHARE("playfield")
658660   AM_RANGE(0xfff000, 0xfff1ff) AM_RAM AM_SHARE("mob")
659661   AM_RANGE(0xfff200, 0xffffff) AM_RAM
r30971r30972
715717   /* video hardware */
716718   MCFG_GFXDECODE_ADD("gfxdecode", "palette", badlandsb)
717719   MCFG_PALETTE_ADD("palette", 256)
720   MCFG_PALETTE_FORMAT(IRRRRRGGGGGBBBBB)
721   MCFG_PALETTE_MEMBITS(8)
718722
719723   MCFG_TILEMAP_ADD_STANDARD("playfield", "gfxdecode", 2, badlands_state, get_playfield_tile_info, 8,8, SCAN_ROWS, 64,32)
720724   MCFG_ATARI_MOTION_OBJECTS_ADD("mob", "screen", badlands_state::s_mob_config)
trunk/src/mame/drivers/rampart.c
r30971r30972
129129   AM_RANGE(0x140000, 0x147fff) AM_MIRROR(0x438000) AM_ROM /* slapstic goes here */
130130   AM_RANGE(0x200000, 0x21ffff) AM_RAM AM_SHARE("bitmap")
131131   AM_RANGE(0x220000, 0x3bffff) AM_WRITENOP    /* the code blasts right through this when initializing */
132   AM_RANGE(0x3c0000, 0x3c07ff) AM_MIRROR(0x019800) AM_RAM_WRITE(expanded_paletteram_666_w) AM_SHARE("paletteram")
132   AM_RANGE(0x3c0000, 0x3c07ff) AM_MIRROR(0x019800) AM_DEVREADWRITE8("palette", palette_device, read, write, 0xff00) AM_SHARE("palette")
133133   AM_RANGE(0x3e0000, 0x3e07ff) AM_MIRROR(0x010000) AM_RAM AM_SHARE("mob")
134134   AM_RANGE(0x3e0800, 0x3e3f3f) AM_MIRROR(0x010000) AM_RAM
135135   AM_RANGE(0x3e3f40, 0x3e3f7f) AM_MIRROR(0x010000) AM_RAM AM_SHARE("mob:slip")
r30971r30972
348348   /* video hardware */
349349   MCFG_GFXDECODE_ADD("gfxdecode", "palette", rampart)
350350   MCFG_PALETTE_ADD("palette", 512)
351   MCFG_PALETTE_FORMAT(IRRRRRGGGGGBBBBB)
352   MCFG_PALETTE_MEMBITS(8)
351353
352354   MCFG_ATARI_MOTION_OBJECTS_ADD("mob", "screen", rampart_state::s_mob_config)
353355   MCFG_ATARI_MOTION_OBJECTS_GFXDECODE("gfxdecode")
trunk/src/mame/drivers/arcadecl.c
r30971r30972
146146static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, arcadecl_state )
147147   AM_RANGE(0x000000, 0x0fffff) AM_ROM
148148   AM_RANGE(0x200000, 0x21ffff) AM_RAM AM_SHARE("bitmap")
149   AM_RANGE(0x3c0000, 0x3c07ff) AM_RAM_WRITE(expanded_paletteram_666_w) AM_SHARE("paletteram")
149   AM_RANGE(0x3c0000, 0x3c07ff) AM_DEVREADWRITE8("palette", palette_device, read, write, 0xff00) AM_SHARE("palette")
150150   AM_RANGE(0x3e0000, 0x3e07ff) AM_RAM AM_SHARE("mob")
151151   AM_RANGE(0x3e0800, 0x3effbf) AM_RAM
152152   AM_RANGE(0x3effc0, 0x3effff) AM_RAM AM_SHARE("mob:slip")
r30971r30972
328328   /* video hardware */
329329   MCFG_GFXDECODE_ADD("gfxdecode", "palette", arcadecl)
330330   MCFG_PALETTE_ADD("palette", 512)
331   MCFG_PALETTE_FORMAT(IRRRRRGGGGGBBBBB)
332   MCFG_PALETTE_MEMBITS(8)
331333
332334   MCFG_ATARI_MOTION_OBJECTS_ADD("mob", "screen", arcadecl_state::s_mob_config)
333335   MCFG_ATARI_MOTION_OBJECTS_GFXDECODE("gfxdecode")
trunk/src/mame/drivers/vegaeo.c
r30971r30972
2323{
2424public:
2525   vegaeo_state(const machine_config &mconfig, device_type type, const char *tag)
26      : eolith_state(mconfig, type, tag),
27        m_generic_paletteram_32(*this, "paletteram") { }
26      : eolith_state(mconfig, type, tag) { }
2827
29   required_shared_ptr<UINT32> m_generic_paletteram_32;
30    UINT32 *m_vega_vram;
28   UINT32 *m_vega_vram;
3129   UINT8 m_vega_vbuffer;
3230   DECLARE_WRITE32_MEMBER(vega_vram_w);
3331   DECLARE_READ32_MEMBER(vega_vram_r);
34   DECLARE_WRITE32_MEMBER(vega_palette_w);
3532   DECLARE_WRITE32_MEMBER(vega_misc_w);
3633   DECLARE_READ32_MEMBER(vegaeo_custom_read);
3734   DECLARE_WRITE32_MEMBER(soundlatch_w);
r30971r30972
108105   return m_vega_vram[offset + (0x14000/4) * m_vega_vbuffer];
109106}
110107
111WRITE32_MEMBER(vegaeo_state::vega_palette_w)
112{
113   UINT16 paldata;
114
115   COMBINE_DATA(&m_generic_paletteram_32[offset]);
116
117   paldata = m_generic_paletteram_32[offset] & 0x7fff;
118   m_palette->set_pen_color(offset, pal5bit(paldata >> 10), pal5bit(paldata >> 5), pal5bit(paldata >> 0));
119}
120
121108WRITE32_MEMBER(vegaeo_state::vega_misc_w)
122109{
123110   // other bits ???
r30971r30972
147134   AM_RANGE(0x00000000, 0x001fffff) AM_RAM
148135   AM_RANGE(0x80000000, 0x80013fff) AM_READWRITE(vega_vram_r, vega_vram_w)
149136   AM_RANGE(0xfc000000, 0xfc0000ff) AM_DEVREADWRITE8("at28c16", at28c16_device, read, write, 0x000000ff)
150   AM_RANGE(0xfc200000, 0xfc2003ff) AM_RAM_WRITE(vega_palette_w) AM_SHARE("paletteram")
137   AM_RANGE(0xfc200000, 0xfc2003ff) AM_DEVREADWRITE16("palette", palette_device, read, write, 0x0000ffff) AM_SHARE("palette")
151138   AM_RANGE(0xfc400000, 0xfc40005b) AM_WRITENOP // crt registers ?
152139   AM_RANGE(0xfc600000, 0xfc600003) AM_WRITE(soundlatch_w)
153140   AM_RANGE(0xfca00000, 0xfca00003) AM_WRITE(vega_misc_w)
r30971r30972
241228   MCFG_SCREEN_PALETTE("palette")
242229
243230   MCFG_PALETTE_ADD("palette", 256)
231   MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB)
232   MCFG_PALETTE_MEMBITS(16)
244233
245234   MCFG_VIDEO_START_OVERRIDE(vegaeo_state,vega)
246235
247236   /* sound hardware */
248   /* sound hardware */
249237   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
250238
251239   MCFG_SOUND_ADD("qs1000", QS1000, XTAL_24MHz)
trunk/src/mame/drivers/klax.c
r30971r30972
8383   AM_RANGE(0x270000, 0x270001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
8484   AM_RANGE(0x2e0000, 0x2e0001) AM_WRITE(watchdog_reset16_w)
8585   AM_RANGE(0x360000, 0x360001) AM_WRITE(interrupt_ack_w)
86   AM_RANGE(0x3e0000, 0x3e07ff) AM_RAM_WRITE(expanded_paletteram_666_w) AM_SHARE("paletteram")
86   AM_RANGE(0x3e0000, 0x3e07ff) AM_DEVREADWRITE8("palette", palette_device, read, write, 0xff00) AM_SHARE("palette")
8787   AM_RANGE(0x3f0000, 0x3f0f7f) AM_RAM_DEVWRITE("playfield", tilemap_device, write) AM_SHARE("playfield")
8888   AM_RANGE(0x3f0f80, 0x3f0fff) AM_RAM AM_SHARE("mob:slip")
8989   AM_RANGE(0x3f1000, 0x3f1fff) AM_RAM_DEVWRITE("playfield", tilemap_device, write_ext) AM_SHARE("playfield_ext")
r30971r30972
170170   /* video hardware */
171171   MCFG_GFXDECODE_ADD("gfxdecode", "palette", klax)
172172   MCFG_PALETTE_ADD("palette", 512)
173   MCFG_PALETTE_FORMAT(IRRRRRGGGGGBBBBB)
174   MCFG_PALETTE_MEMBITS(8)
173175
174176   MCFG_TILEMAP_ADD_STANDARD("playfield", "gfxdecode", 2, klax_state, get_playfield_tile_info, 8,8, SCAN_COLS, 64,32)
175177   MCFG_ATARI_MOTION_OBJECTS_ADD("mob", "screen", klax_state::s_mob_config)
trunk/src/mame/machine/atarigen.c
r30971r30972
14001400}
14011401
14021402
1403//-------------------------------------------------
1404//  expanded_paletteram_666_w: 6-6-6 RGB expanded
1405//  palette RAM handler.
1406//-------------------------------------------------
1407
1408WRITE16_MEMBER(atarigen_state::expanded_paletteram_666_w)
1409{
1410   COMBINE_DATA(&m_generic_paletteram_16[offset]);
1411
1412   if (ACCESSING_BITS_8_15)
1413   {
1414      int palentry = offset / 2;
1415      int newword = (m_generic_paletteram_16[palentry * 2] & 0xff00) | (m_generic_paletteram_16[palentry * 2 + 1] >> 8);
1416
1417      int r, g, b;
1418
1419      r = ((newword >> 9) & 0x3e) | ((newword >> 15) & 1);
1420      g = ((newword >> 4) & 0x3e) | ((newword >> 15) & 1);
1421      b = ((newword << 1) & 0x3e) | ((newword >> 15) & 1);
1422
1423      m_palette->set_pen_color(palentry & 0x1ff, pal6bit(r), pal6bit(g), pal6bit(b));
1424   }
1425}
1426
1427
14281403/***************************************************************************
14291404    MISC HELPERS
14301405***************************************************************************/
trunk/src/mame/machine/atarigen.h
r30971r30972
378378   // video helpers
379379   int get_hblank(screen_device &screen) const { return (screen.hpos() > (screen.width() * 9 / 10)); }
380380   void halt_until_hblank_0(device_t &device, screen_device &screen);
381   DECLARE_WRITE16_MEMBER( expanded_paletteram_666_w );
382381
383382   // misc helpers
384383   void blend_gfx(int gfx0, int gfx1, int mask0, int mask1);

Previous 199869 Revisions Next


© 1997-2024 The MAME Team