Previous 199869 Revisions Next

r30797 Tuesday 3rd June, 2014 at 07:39:21 UTC by Alex Jackson
Added some more friendly macros to help define custom palette formats (nw)
[src/emu]emupal.h
[src/mess/includes]x68k.h
[src/mess/video]x68k.c

trunk/src/emu/emupal.h
r30796r30797
111111#define DECLARE_PALETTE_INIT(_Name) void PALETTE_INIT_NAME(_Name)(palette_device &palette)
112112#define PALETTE_INIT_MEMBER(_Class, _Name) void _Class::PALETTE_INIT_NAME(_Name)(palette_device &palette)
113113
114#define PALETTE_DECODER_NAME(_Name) _Name##_decoder
115#define DECLARE_PALETTE_DECODER(_Name) static rgb_t PALETTE_DECODER_NAME(_Name)(UINT32 raw)
116#define PALETTE_DECODER_MEMBER(_Class, _Name) rgb_t _Class::PALETTE_DECODER_NAME(_Name)(UINT32 raw)
117
114118// standard 3-3-2 formats
115119#define PALETTE_FORMAT_BBGGGRRR raw_to_rgb_converter(1, &raw_to_rgb_converter::standard_rgb_decoder<3,3,2, 0,3,6>)
116120#define PALETTE_FORMAT_RRRGGGBB raw_to_rgb_converter(1, &raw_to_rgb_converter::standard_rgb_decoder<3,3,2, 5,2,0>)
r30796r30797
180184#define MCFG_PALETTE_FORMAT(_format) \
181185   palette_device::static_set_format(*device, PALETTE_FORMAT_##_format);
182186
183#define MCFG_PALETTE_FORMAT_CLASS(_bytes_per_entry, _class, _format) \
184   palette_device::static_set_format(*device, raw_to_rgb_converter(_bytes_per_entry, &_class::_format##_decoder));
187#define MCFG_PALETTE_FORMAT_CLASS(_bytes_per_entry, _class, _method) \
188   palette_device::static_set_format(*device, raw_to_rgb_converter(_bytes_per_entry, &_class::PALETTE_DECODER_NAME(_method)));
185189
186190#define MCFG_PALETTE_MEMBITS(_width) \
187191   palette_device::static_set_membits(*device, _width);
trunk/src/mess/includes/x68k.h
r30796r30797
349349   void mfp_trigger_irq(int irq);
350350   void mfp_set_timer(int timer, unsigned char data);
351351   void mfp_recv_data(int data);
352   static rgb_t GGGGGRRRRRBBBBBI_decoder(UINT32 raw);
352   DECLARE_PALETTE_DECODER(GGGGGRRRRRBBBBBI);
353353
354354protected:
355355   virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
trunk/src/mess/video/x68k.c
r30796r30797
3838#include "machine/ram.h"
3939
4040
41rgb_t x68k_state::GGGGGRRRRRBBBBBI_decoder(UINT32 raw)
41PALETTE_DECODER_MEMBER(x68k_state, GGGGGRRRRRBBBBBI)
4242{
4343   UINT8 i = raw & 1;
4444   UINT8 r = pal6bit(((raw >> 5) & 0x3e) | i);

Previous 199869 Revisions Next


© 1997-2024 The MAME Team