Previous 199869 Revisions Next

r40106 Saturday 1st August, 2015 at 11:05:50 UTC by Dirk Best
liberate: use palette device for palette ram for prosport
[src/emu]emupal.h
[src/mame/drivers]liberate.c
[src/mame/includes]liberate.h
[src/mame/video]liberate.c

trunk/src/emu/emupal.h
r248617r248618
119119#define PALETTE_FORMAT_BBGGGRRR raw_to_rgb_converter(1, &raw_to_rgb_converter::standard_rgb_decoder<3,3,2, 0,3,6>)
120120#define PALETTE_FORMAT_RRRGGGBB raw_to_rgb_converter(1, &raw_to_rgb_converter::standard_rgb_decoder<3,3,2, 5,2,0>)
121121
122// data-inverted 3-3-2 formats
123#define PALETTE_FORMAT_BBGGGRRR_inverted raw_to_rgb_converter(1, &raw_to_rgb_converter::inverted_rgb_decoder<3,3,2, 0,3,6>)
124
122125// standard 2-2-2-2 formats
123126#define PALETTE_FORMAT_BBGGRRII raw_to_rgb_converter(1, &raw_to_rgb_converter::BBGGRRII_decoder)
124127
trunk/src/mame/drivers/liberate.c
r248617r248618
237237 *************************************/
238238
239239static ADDRESS_MAP_START( prosport_map, AS_PROGRAM, 8, liberate_state )
240   AM_RANGE(0x0200, 0x021f) AM_RAM_WRITE(prosport_paletteram_w) AM_SHARE("paletteram")
240   AM_RANGE(0x0200, 0x021f) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
241241   AM_RANGE(0x0000, 0x03ff) AM_MIRROR(0x2000) AM_RAM
242242   AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(prosport_bg_vram_w) AM_SHARE("bg_vram")
243243   AM_RANGE(0x0800, 0x1fff) AM_READWRITE(prosport_charram_r,prosport_charram_w) //0x1e00-0x1fff isn't charram!
r248617r248618
836836
837837   MCFG_GFXDECODE_ADD("gfxdecode", "palette", prosport)
838838   MCFG_PALETTE_ADD("palette", 256)
839   MCFG_PALETTE_FORMAT(BBGGGRRR_inverted)
839840
840841   MCFG_VIDEO_START_OVERRIDE(liberate_state,prosport)
841842
trunk/src/mame/includes/liberate.h
r248617r248618
55public:
66   liberate_state(const machine_config &mconfig, device_type type, const char *tag)
77      : driver_device(mconfig, type, tag),
8      m_paletteram(*this, "paletteram"),
98      m_bg_vram(*this, "bg_vram"),
109      m_colorram(*this, "colorram"),
1110      m_videoram(*this, "videoram"),
r248617r248618
1716      m_palette(*this, "palette"),
1817      m_decrypted_opcodes(*this, "decrypted_opcodes") { }
1918
20   optional_shared_ptr<UINT8> m_paletteram;
2119   optional_shared_ptr<UINT8> m_bg_vram; /* prosport */
2220   required_shared_ptr<UINT8> m_colorram;
2321   required_shared_ptr<UINT8> m_videoram;
r248617r248618
5957   DECLARE_WRITE8_MEMBER(liberate_videoram_w);
6058   DECLARE_WRITE8_MEMBER(liberate_colorram_w);
6159   DECLARE_WRITE8_MEMBER(prosport_bg_vram_w);
62   DECLARE_WRITE8_MEMBER(prosport_paletteram_w);
6360   DECLARE_DRIVER_INIT(yellowcb);
6461   DECLARE_DRIVER_INIT(liberate);
6562   DECLARE_DRIVER_INIT(prosport);
trunk/src/mame/video/liberate.c
r248617r248618
243243
244244/***************************************************************************/
245245
246WRITE8_MEMBER(liberate_state::prosport_paletteram_w)
247{
248   m_paletteram[offset] = data;
249
250   /* RGB output is inverted */
251   m_palette->set_pen_color(offset, pal3bit(~data >> 0), pal3bit(~data >> 3), pal2bit(~data >> 6));
252}
253
254246PALETTE_INIT_MEMBER(liberate_state,liberate)
255247{
256248   const UINT8 *color_prom = memregion("proms")->base();


Previous 199869 Revisions Next


© 1997-2024 The MAME Team