summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/gio/newport.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/gio/newport.h')
-rw-r--r--src/devices/bus/gio/newport.h39
1 files changed, 29 insertions, 10 deletions
diff --git a/src/devices/bus/gio/newport.h b/src/devices/bus/gio/newport.h
index cd9d3741955..77d37ce5f03 100644
--- a/src/devices/bus/gio/newport.h
+++ b/src/devices/bus/gio/newport.h
@@ -107,7 +107,7 @@ protected:
uint32_t m_store_shift;
uint32_t m_host_shift;
- uint32_t m_write_width;
+ uint32_t m_write_width;
uint32_t m_ls_mode;
uint32_t m_ls_pattern;
uint32_t m_ls_pattern_saved;
@@ -148,14 +148,14 @@ protected:
int16_t m_x_end_i;
int16_t m_y_end_i;
uint32_t m_x_start_end_i;
- int32_t m_color_red;
- int32_t m_color_alpha;
- int32_t m_color_green;
- int32_t m_color_blue;
- int32_t m_slope_red;
- int32_t m_slope_alpha;
- int32_t m_slope_green;
- int32_t m_slope_blue;
+ uint32_t m_color_red;
+ uint32_t m_color_alpha;
+ uint32_t m_color_green;
+ uint32_t m_color_blue;
+ uint32_t m_slope_red;
+ uint32_t m_slope_alpha;
+ uint32_t m_slope_green;
+ uint32_t m_slope_blue;
uint32_t m_write_mask;
uint32_t m_color_i;
uint32_t m_zero_overflow;
@@ -175,7 +175,7 @@ protected:
uint32_t m_config;
uint32_t m_status;
uint8_t m_xfer_width;
- };
+ };
struct cmap_t
{
@@ -205,6 +205,8 @@ protected:
bool pixel_clip_pass(int16_t x, int16_t y);
void write_pixel(uint32_t color);
void write_pixel(int16_t x, int16_t y, uint32_t color);
+ void blend_pixel(uint32_t *dest_buf, uint32_t src);
+ void logic_pixel(uint32_t *dest_buf, uint32_t src);
void store_pixel(uint32_t *dest_buf, uint32_t src);
void iterate_shade();
@@ -215,6 +217,23 @@ protected:
uint32_t get_host_color();
uint32_t get_rgb_color(int16_t x, int16_t y);
+ uint32_t convert_4bpp_bgr_to_8bpp(uint8_t pix_in);
+ uint32_t convert_4bpp_bgr_to_12bpp(uint8_t pix_in);
+ uint32_t convert_4bpp_bgr_to_24bpp(uint8_t pix_in);
+ uint32_t convert_8bpp_bgr_to_4bpp(uint8_t pix_in);
+ uint32_t convert_8bpp_bgr_to_12bpp(uint8_t pix_in);
+ uint32_t convert_8bpp_bgr_to_24bpp(uint8_t pix_in);
+ uint32_t convert_12bpp_bgr_to_4bpp(uint16_t pix_in);
+ uint32_t convert_12bpp_bgr_to_8bpp(uint16_t pix_in);
+ uint32_t convert_12bpp_bgr_to_24bpp(uint16_t pix_in);
+ uint32_t convert_24bpp_bgr_to_4bpp(uint32_t pix_in);
+ uint32_t convert_24bpp_bgr_to_8bpp(uint32_t pix_in);
+ uint32_t convert_24bpp_bgr_to_12bpp(uint32_t pix_in);
+
+ uint32_t convert_4bpp_bgr_to_24bpp_rgb(uint8_t pix_in);
+ uint32_t convert_8bpp_bgr_to_24bpp_rgb(uint8_t pix_in);
+ uint32_t convert_12bpp_bgr_to_24bpp_rgb(uint16_t pix_in);
+
struct bresenham_octant_info_t
{
int16_t incrx1;