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; devcb_write_line m_intr_cb;
uint8_t m_IR_pointer; uint8_t m_IR_pointer;
uint8_t m_screen1_l; uint16_t m_screen1_address;
uint8_t m_screen1_h; uint16_t m_screen2_address;
uint8_t m_cursor_l; uint16_t m_cursor_address;
uint8_t m_cursor_h;
uint8_t m_screen2_l;
uint8_t m_screen2_h;
uint8_t m_irq_register; uint8_t m_irq_register;
uint8_t m_status_register; uint8_t m_status_register;
uint8_t m_irq_mask; uint8_t m_irq_mask;
uint8_t m_gfx_enabled; bool m_gfx_enabled;
uint8_t m_display_enabled; bool m_display_enabled;
uint8_t m_display_enabled_field; bool m_display_enabled_field;
uint8_t m_display_enabled_scanline; bool m_display_enabled_scanline;
uint8_t m_cursor_enabled; bool m_cursor_enabled;
uint8_t m_hpixels_per_column; uint8_t m_hpixels_per_column;
uint8_t m_IR0_double_ht_wd; bool m_double_ht_wd;
uint8_t m_IR0_scanline_per_char_row; uint8_t m_scanline_per_char_row;
uint8_t m_IR0_sync_select; bool m_csync_select;
uint8_t m_IR0_buffer_mode_select; uint8_t m_buffer_mode_select;
uint8_t m_IR1_interlace_enable; bool m_interlace_enable;
uint8_t m_IR1_equalizing_constant; uint8_t m_equalizing_constant;
uint8_t m_IR2_row_table; bool m_use_row_table;
uint8_t m_IR2_horz_sync_width; uint8_t m_horz_sync_width;
uint8_t m_IR2_horz_back_porch; uint8_t m_horz_back_porch;
uint8_t m_IR3_vert_front_porch; uint8_t m_vert_front_porch;
uint8_t m_IR3_vert_back_porch; uint8_t m_vert_back_porch;
uint8_t m_IR4_rows_per_screen; uint8_t m_rows_per_screen;
uint8_t m_IR4_character_blink_rate_divisor; uint8_t m_character_blink_rate_divisor;
uint8_t m_IR5_character_per_row; uint8_t m_character_per_row;
uint8_t m_IR6_cursor_first_scanline; uint8_t m_cursor_first_scanline;
uint8_t m_IR6_cursor_last_scanline; uint8_t m_cursor_last_scanline;
uint8_t m_IR7_cursor_underline_position; uint8_t m_cursor_underline_position;
uint8_t m_IR7_cursor_rate_divisor; uint8_t m_cursor_rate_divisor;
uint8_t m_IR7_cursor_blink; bool m_cursor_blink;
uint8_t m_IR7_vsync_width; uint8_t m_vsync_width;
uint8_t m_IR8_display_buffer_first_address_LSB; uint16_t m_display_buffer_first_address;
uint8_t m_IR9_display_buffer_first_address_MSB; uint8_t m_display_buffer_last_address;
uint8_t m_IR9_display_buffer_last_address; uint16_t m_display_pointer_address;
uint8_t m_IR10_display_pointer_address_lower; uint8_t m_reset_scanline_counter_on_scrollup;
uint8_t m_IR11_display_pointer_address_upper; uint8_t m_reset_scanline_counter_on_scrolldown;
uint8_t m_IR11_reset_scanline_counter_on_scrollup; bool m_scroll_start;
uint8_t m_IR11_reset_scanline_counter_on_scrolldown; bool m_scroll_end;
uint8_t m_IR12_scroll_start; uint8_t m_scroll_lines;
uint8_t m_IR12_split_register_1; uint8_t m_split_register[2];
uint8_t m_IR13_scroll_end; uint8_t m_double[2];
uint8_t m_IR13_split_register_2; bool m_spl[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;
uint8_t m_dbl1; uint8_t m_dbl1;
uint8_t m_buffer; uint8_t m_buffer;
int m_linecounter; int m_linecounter;
uint16_t m_address; uint16_t m_address;
int m_start1change; int m_start1change;
uint8_t m_irq_state;
void write_init_regs(uint8_t data); 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 write_command(uint8_t data);
void recompute_parameters(); void recompute_parameters();
void scn2674_vram(address_map &map); void scn2674_vram(address_map &map);