summaryrefslogtreecommitdiffstats
path: root/src/devices/video/saa5050.h
diff options
context:
space:
mode:
authorGravatarGravatar Nigel Barnes <Pernod70@users.noreply.github.com>2015-10-21 16:55:10 +0100
committerGravatarGravatar Nigel Barnes <Pernod70@users.noreply.github.com>2015-10-21 17:14:59 +0100
commit876c07fbf59d001ba5312239782b792b6ac65a1b (patch)
tree640ed836384b031a216eb45d6cb760b0d6d15e89 /src/devices/video/saa5050.h
parenta2624908260f4467f965e90b284336f29e969891 (diff)
saa5050: graphics generator and character rounding
- implemented graphics generator, no longer read from fake ROM - added character rounding - improved control code handling - added ROMs for variants saa5051, saa5053, saa5054, saa5055, saa5056, saa5057
Diffstat (limited to 'src/devices/video/saa5050.h')
-rw-r--r--src/devices/video/saa5050.h26
1 files changed, 19 insertions, 7 deletions
diff --git a/src/devices/video/saa5050.h b/src/devices/video/saa5050.h
index 0155da83e4e..93371e79798 100644
--- a/src/devices/video/saa5050.h
+++ b/src/devices/video/saa5050.h
@@ -65,6 +65,7 @@ public:
// optional information overrides
virtual const rom_entry *device_rom_region() const;
+ DECLARE_WRITE_LINE_MEMBER( crs_w );
DECLARE_WRITE_LINE_MEMBER( dew_w );
DECLARE_WRITE_LINE_MEMBER( lose_w );
void write(UINT8 data);
@@ -120,6 +121,10 @@ private:
};
void process_control_character(UINT8 data);
+ void set_next_chartype();
+ UINT16 get_gfx_data(UINT8 data, offs_t row, bool separated);
+ UINT16 get_rom_data(UINT8 data, offs_t row);
+ UINT16 character_rounding(UINT16 a, UINT16 b);
void get_character_data(UINT8 data);
required_region_ptr<UINT8> m_char_rom;
@@ -127,22 +132,29 @@ private:
devcb_read8 m_read_d;
UINT8 m_code;
- UINT8 m_last_code;
- UINT8 m_char_data;
+ UINT8 m_held_char;
+ UINT8 m_next_chartype;
+ UINT8 m_curr_chartype;
+ UINT8 m_held_chartype;
+ UINT16 m_char_data;
int m_bit;
rgb_t m_color;
+ int m_crs;
int m_ra;
int m_bg;
int m_fg;
+ int m_prev_col;
bool m_graphics;
bool m_separated;
- bool m_conceal;
bool m_flash;
bool m_boxed;
- int m_double_height;
- bool m_double_height_top_row;
+ bool m_double_height;
+ bool m_double_height_old;
bool m_double_height_bottom_row;
- bool m_hold;
+ bool m_double_height_prev_row;
+ bool m_hold_char;
+ bool m_hold_clear;
+ bool m_hold_off;
int m_frame_count;
int m_cols;
@@ -248,7 +260,7 @@ extern const device_type SAA5051; // German
extern const device_type SAA5052; // Swedish/Finnish
extern const device_type SAA5053; // Italian
extern const device_type SAA5054; // Belgian
-extern const device_type SAA5055; // U.S. ASCII
+extern const device_type SAA5055; // US ASCII
extern const device_type SAA5056; // Hebrew
extern const device_type SAA5057; // Cyrillic