summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/emupal.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/emupal.cpp')
-rw-r--r--src/emu/emupal.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/emu/emupal.cpp b/src/emu/emupal.cpp
index 9e1370a24ed..d8eb5a3e774 100644
--- a/src/emu/emupal.cpp
+++ b/src/emu/emupal.cpp
@@ -168,6 +168,12 @@ palette_device &palette_device::set_format(xbgr_333_t, u32 entries)
return *this;
}
+palette_device &palette_device::set_format(xbgr_333_nib_t, u32 entries)
+{
+ set_format(2, &raw_to_rgb_converter::standard_rgb_decoder<3,3,3, 0,4,8>, entries);
+ return *this;
+}
+
palette_device &palette_device::set_format(xrgb_444_t, u32 entries)
{
set_format(2, &raw_to_rgb_converter::standard_rgb_decoder<4,4,4, 8,4,0>, entries);
@@ -198,6 +204,12 @@ palette_device &palette_device::set_format(rgbx_444_t, u32 entries)
return *this;
}
+palette_device &palette_device::set_format(grbx_444_t, u32 entries)
+{
+ set_format(2, &raw_to_rgb_converter::standard_rgb_decoder<4,4,4, 8,12,4>, entries);
+ return *this;
+}
+
palette_device &palette_device::set_format(gbrx_444_t, u32 entries)
{
set_format(2, &raw_to_rgb_converter::standard_rgb_decoder<4,4,4, 4,12,8>, entries);
@@ -447,6 +459,12 @@ void palette_device::write16_ext(offs_t offset, u16 data, u16 mem_mask)
update_for_write(offset * 2, 2);
}
+void palette_device::write32_ext(offs_t offset, u32 data, u32 mem_mask)
+{
+ m_paletteram_ext.write32(offset, data, mem_mask);
+ update_for_write(offset * 4, 4);
+}
+
u8 palette_device::read8_ext(offs_t offset)
{
return m_paletteram_ext.read8(offset);
@@ -457,6 +475,10 @@ u16 palette_device::read16_ext(offs_t offset)
return m_paletteram_ext.read16(offset);
}
+u32 palette_device::read32_ext(offs_t offset)
+{
+ return m_paletteram_ext.read32(offset);
+}
//-------------------------------------------------
// write_indirect - write a byte to the base