21 #include "sidplayfp/component.h"
22 #include "sidplayfp/event.h"
35 static const char *credit;
38 event_clock_t m_rasterClk;
41 uint_least16_t yrasters, xrasters, raster_irq;
42 uint_least16_t raster_x, raster_y;
43 uint_least16_t first_dma_line, last_dma_line, y_scroll;
44 bool bad_lines_enabled, bad_line;
47 uint8_t icr, idr, ctrl1;
49 uint8_t &sprite_enable, &sprite_y_expansion;
50 uint8_t sprite_dma, sprite_expand_y;
51 uint8_t sprite_mc_base[8];
56 event_clock_t clock (
void);
61 void trigger (
int irq);
65 void badLineStateChange() { addrctrl(
false); }
68 virtual void interrupt (
bool state) = 0;
69 virtual void addrctrl (
bool state) = 0;
72 void chip (mos656x_model_t model);
77 uint8_t read (uint_least8_t addr);
78 void write (uint_least8_t addr, uint8_t data);
79 const char *credits (
void) {
return credit;}
89 MOS656X_INTERRUPT_RST = 1 << 0,
90 MOS656X_INTERRUPT_LP = 1 << 3,
91 MOS656X_INTERRUPT_REQUEST = 1 << 7