scn2674: Massive register/command processing/logging cleanup (nw)

This commit is contained in:
AJR 2018-03-21 17:35:00 -04:00
parent 4f596c8c72
commit d51f05c14e
2 changed files with 665 additions and 581 deletions

File diff suppressed because it is too large Load Diff

View File

@ -50,67 +50,64 @@ private:
devcb_write_line m_intr_cb;
uint8_t m_IR_pointer;
uint8_t m_screen1_l;
uint8_t m_screen1_h;
uint8_t m_cursor_l;
uint8_t m_cursor_h;
uint8_t m_screen2_l;
uint8_t m_screen2_h;
uint16_t m_screen1_address;
uint16_t m_screen2_address;
uint16_t m_cursor_address;
uint8_t m_irq_register;
uint8_t m_status_register;
uint8_t m_irq_mask;
uint8_t m_gfx_enabled;
uint8_t m_display_enabled;
uint8_t m_display_enabled_field;
uint8_t m_display_enabled_scanline;
uint8_t m_cursor_enabled;
bool m_gfx_enabled;
bool m_display_enabled;
bool m_display_enabled_field;
bool m_display_enabled_scanline;
bool m_cursor_enabled;
uint8_t m_hpixels_per_column;
uint8_t m_IR0_double_ht_wd;
uint8_t m_IR0_scanline_per_char_row;
uint8_t m_IR0_sync_select;
uint8_t m_IR0_buffer_mode_select;
uint8_t m_IR1_interlace_enable;
uint8_t m_IR1_equalizing_constant;
uint8_t m_IR2_row_table;
uint8_t m_IR2_horz_sync_width;
uint8_t m_IR2_horz_back_porch;
uint8_t m_IR3_vert_front_porch;
uint8_t m_IR3_vert_back_porch;
uint8_t m_IR4_rows_per_screen;
uint8_t m_IR4_character_blink_rate_divisor;
uint8_t m_IR5_character_per_row;
uint8_t m_IR6_cursor_first_scanline;
uint8_t m_IR6_cursor_last_scanline;
uint8_t m_IR7_cursor_underline_position;
uint8_t m_IR7_cursor_rate_divisor;
uint8_t m_IR7_cursor_blink;
uint8_t m_IR7_vsync_width;
uint8_t m_IR8_display_buffer_first_address_LSB;
uint8_t m_IR9_display_buffer_first_address_MSB;
uint8_t m_IR9_display_buffer_last_address;
uint8_t m_IR10_display_pointer_address_lower;
uint8_t m_IR11_display_pointer_address_upper;
uint8_t m_IR11_reset_scanline_counter_on_scrollup;
uint8_t m_IR11_reset_scanline_counter_on_scrolldown;
uint8_t m_IR12_scroll_start;
uint8_t m_IR12_split_register_1;
uint8_t m_IR13_scroll_end;
uint8_t m_IR13_split_register_2;
uint8_t m_IR14_scroll_lines;
uint8_t m_IR14_double_1;
uint8_t m_IR14_double_2;
uint8_t m_spl1;
uint8_t m_spl2;
bool m_double_ht_wd;
uint8_t m_scanline_per_char_row;
bool m_csync_select;
uint8_t m_buffer_mode_select;
bool m_interlace_enable;
uint8_t m_equalizing_constant;
bool m_use_row_table;
uint8_t m_horz_sync_width;
uint8_t m_horz_back_porch;
uint8_t m_vert_front_porch;
uint8_t m_vert_back_porch;
uint8_t m_rows_per_screen;
uint8_t m_character_blink_rate_divisor;
uint8_t m_character_per_row;
uint8_t m_cursor_first_scanline;
uint8_t m_cursor_last_scanline;
uint8_t m_cursor_underline_position;
uint8_t m_cursor_rate_divisor;
bool m_cursor_blink;
uint8_t m_vsync_width;
uint16_t m_display_buffer_first_address;
uint8_t m_display_buffer_last_address;
uint16_t m_display_pointer_address;
uint8_t m_reset_scanline_counter_on_scrollup;
uint8_t m_reset_scanline_counter_on_scrolldown;
bool m_scroll_start;
bool m_scroll_end;
uint8_t m_scroll_lines;
uint8_t m_split_register[2];
uint8_t m_double[2];
bool m_spl[2];
uint8_t m_dbl1;
uint8_t m_buffer;
int m_linecounter;
uint16_t m_address;
int m_start1change;
uint8_t m_irq_state;
void write_init_regs(uint8_t data);
void set_gfx_enabled(bool enabled);
void set_display_enabled(bool enabled, int n);
void set_cursor_enabled(bool enabled);
void reset_interrupt_status(uint8_t bits);
void write_interrupt_mask(bool enabled, uint8_t bits);
void write_delayed_command(uint8_t data);
void write_command(uint8_t data);
void recompute_parameters();
void scn2674_vram(address_map &map);