Previous 199869 Revisions Next

r40104 Saturday 1st August, 2015 at 09:40:47 UTC by Dirk Best
mcr68: use standard palette device
[src/mame/drivers]mcr68.c
[src/mame/includes]mcr68.h
[src/mame/video]mcr68.c

trunk/src/mame/drivers/mcr68.c
r248615r248616
308308   AM_RANGE(0x070000, 0x070fff) AM_RAM_WRITE(mcr68_videoram_w) AM_SHARE("videoram")
309309   AM_RANGE(0x071000, 0x071fff) AM_RAM
310310   AM_RANGE(0x080000, 0x080fff) AM_RAM AM_SHARE("spriteram")
311   AM_RANGE(0x090000, 0x09007f) AM_WRITE(mcr68_paletteram_w) AM_SHARE("paletteram")
311   AM_RANGE(0x090000, 0x09007f) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
312312   AM_RANGE(0x0a0000, 0x0a000f) AM_READWRITE(mcr68_6840_upper_r, mcr68_6840_upper_w)
313313   AM_RANGE(0x0b0000, 0x0bffff) AM_WRITE(watchdog_reset16_w)
314314   AM_RANGE(0x0d0000, 0x0dffff) AM_READ_PORT("IN0")
r248615r248616
334334   AM_RANGE(0x108000, 0x108007) AM_DEVREADWRITE8("pia1", pia6821_device, read, write, 0x00ff)
335335   AM_RANGE(0x10c000, 0x10c007) AM_DEVREADWRITE8("pia2", pia6821_device, read, write, 0x00ff)
336336   AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE(zwackery_videoram_w) AM_SHARE("videoram")
337   AM_RANGE(0x802000, 0x803fff) AM_RAM_WRITE(zwackery_paletteram_w) AM_SHARE("paletteram")
337   AM_RANGE(0x802000, 0x803fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
338338   AM_RANGE(0xc00000, 0xc00fff) AM_RAM_WRITE(zwackery_spriteram_w) AM_SHARE("spriteram")
339339ADDRESS_MAP_END
340340
r248615r248616
352352   AM_RANGE(0x000000, 0x03ffff) AM_ROM
353353   AM_RANGE(0x080000, 0x08ffff) AM_READ(pigskin_port_1_r)
354354   AM_RANGE(0x0a0000, 0x0affff) AM_READ(pigskin_port_2_r)
355   AM_RANGE(0x0c0000, 0x0c007f) AM_WRITE(mcr68_paletteram_w) AM_SHARE("paletteram")
355   AM_RANGE(0x0c0000, 0x0c007f) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
356356   AM_RANGE(0x0e0000, 0x0effff) AM_WRITE(watchdog_reset16_w)
357357   AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(mcr68_videoram_w) AM_SHARE("videoram")
358358   AM_RANGE(0x120000, 0x120001) AM_READWRITE(pigskin_protection_r, pigskin_protection_w)
r248615r248616
378378   AM_RANGE(0x080000, 0x08ffff) AM_READ(trisport_port_1_r)
379379   AM_RANGE(0x0a0000, 0x0affff) AM_READ_PORT("DSW")
380380   AM_RANGE(0x100000, 0x103fff) AM_RAM AM_SHARE("nvram")
381   AM_RANGE(0x120000, 0x12007f) AM_WRITE(mcr68_paletteram_w) AM_SHARE("paletteram")
381   AM_RANGE(0x120000, 0x12007f) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
382382   AM_RANGE(0x140000, 0x1407ff) AM_RAM AM_SHARE("spriteram")
383383   AM_RANGE(0x160000, 0x160fff) AM_RAM_WRITE(mcr68_videoram_w) AM_SHARE("videoram")
384384   AM_RANGE(0x180000, 0x18000f) AM_READWRITE(mcr68_6840_upper_r, mcr68_6840_upper_w)
r248615r248616
10541054
10551055   MCFG_GFXDECODE_ADD("gfxdecode", "palette", zwackery)
10561056   MCFG_PALETTE_ADD("palette", 4096)
1057   MCFG_PALETTE_FORMAT(xRRRRRBBBBBGGGGG_inverted)
10571058
10581059   MCFG_VIDEO_START_OVERRIDE(mcr68_state,zwackery)
10591060
r248615r248616
10861087
10871088   MCFG_GFXDECODE_ADD("gfxdecode", "palette", mcr68)
10881089   MCFG_PALETTE_ADD("palette", 64)
1090   MCFG_PALETTE_FORMAT(xxxxxxxRRRBBBGGG)
10891091
10901092   MCFG_VIDEO_START_OVERRIDE(mcr68_state,mcr68)
10911093
trunk/src/mame/includes/mcr68.h
r248615r248616
2828      m_maincpu(*this, "maincpu"),
2929      m_gfxdecode(*this, "gfxdecode"),
3030      m_screen(*this, "screen"),
31      m_palette(*this, "palette"),
32      m_generic_paletteram_16(*this, "paletteram") { }
31      m_palette(*this, "palette") { }
3332
3433   optional_device<midway_chip_squeak_deluxe_device> m_chip_squeak_deluxe;
3534   optional_device<midway_sounds_good_device> m_sounds_good;
r248615r248616
7978   DECLARE_READ16_MEMBER(mcr68_6840_r_common);
8079   void reload_count(int counter);
8180   UINT16 compute_counter(int counter);
82   DECLARE_WRITE16_MEMBER(mcr68_paletteram_w);
83   DECLARE_WRITE16_MEMBER(zwackery_paletteram_w);
8481   DECLARE_WRITE16_MEMBER(mcr68_videoram_w);
8582   DECLARE_WRITE16_MEMBER(zwackery_videoram_w);
8683   DECLARE_WRITE16_MEMBER(zwackery_spriteram_w);
r248615r248616
129126   required_device<gfxdecode_device> m_gfxdecode;
130127   required_device<screen_device> m_screen;
131128   required_device<palette_device> m_palette;
132   required_shared_ptr<UINT16> m_generic_paletteram_16;
133129};
trunk/src/mame/video/mcr68.c
r248615r248616
133133
134134/*************************************
135135 *
136 *  Palette RAM writes
137 *
138 *************************************/
139
140WRITE16_MEMBER(mcr68_state::mcr68_paletteram_w)
141{
142   int newword;
143
144   COMBINE_DATA(&m_generic_paletteram_16[offset]);
145   newword = m_generic_paletteram_16[offset];
146   m_palette->set_pen_color(offset, pal3bit(newword >> 6), pal3bit(newword >> 0), pal3bit(newword >> 3));
147}
148
149
150WRITE16_MEMBER(mcr68_state::zwackery_paletteram_w)
151{
152   int newword;
153
154   COMBINE_DATA(&m_generic_paletteram_16[offset]);
155   newword = m_generic_paletteram_16[offset];
156   m_palette->set_pen_color(offset, pal5bit(~newword >> 10), pal5bit(~newword >> 0), pal5bit(~newword >> 5));
157}
158
159
160
161/*************************************
162 *
163136 *  Video RAM writes
164137 *
165138 *************************************/


Previous 199869 Revisions Next


© 1997-2024 The MAME Team