Revision 1213406b hw/g364fb.c
b/hw/g364fb.c | ||
---|---|---|
58 | 58 |
#define CTLA_FORCE_BLANK 0x00000400 |
59 | 59 |
#define CTLA_NO_CURSOR 0x00800000 |
60 | 60 |
|
61 |
#define G364_PAGE_SIZE 4096 |
|
62 |
|
|
61 | 63 |
static inline int check_dirty(G364State *s, ram_addr_t page) |
62 | 64 |
{ |
63 | 65 |
return memory_region_get_dirty(&s->mem_vram, page, DIRTY_MEMORY_VGA); |
... | ... | |
68 | 70 |
{ |
69 | 71 |
memory_region_reset_dirty(&s->mem_vram, |
70 | 72 |
page_min, |
71 |
page_max + TARGET_PAGE_SIZE - page_min - 1,
|
|
73 |
page_max + G364_PAGE_SIZE - page_min - 1,
|
|
72 | 74 |
DIRTY_MEMORY_VGA); |
73 | 75 |
} |
74 | 76 |
|
... | ... | |
136 | 138 |
page_max = page; |
137 | 139 |
if (x < xmin) |
138 | 140 |
xmin = x; |
139 |
for (i = 0; i < TARGET_PAGE_SIZE; i++) {
|
|
141 |
for (i = 0; i < G364_PAGE_SIZE; i++) {
|
|
140 | 142 |
uint8_t index; |
141 | 143 |
unsigned int color; |
142 | 144 |
if (unlikely((y >= ycursor && y < ycursor + 64) && |
... | ... | |
200 | 202 |
ymin = s->height; |
201 | 203 |
ymax = 0; |
202 | 204 |
} |
203 |
x += TARGET_PAGE_SIZE;
|
|
205 |
x += G364_PAGE_SIZE;
|
|
204 | 206 |
dy = x / s->width; |
205 | 207 |
x = x % s->width; |
206 | 208 |
y += dy; |
207 |
vram += TARGET_PAGE_SIZE;
|
|
209 |
vram += G364_PAGE_SIZE;
|
|
208 | 210 |
data_display += dy * ds_get_linesize(s->ds); |
209 | 211 |
dd = data_display + x * w; |
210 | 212 |
} |
211 |
page += TARGET_PAGE_SIZE;
|
|
213 |
page += G364_PAGE_SIZE;
|
|
212 | 214 |
} |
213 | 215 |
|
214 | 216 |
done: |
... | ... | |
267 | 269 |
int i; |
268 | 270 |
|
269 | 271 |
s->blanked = 0; |
270 |
for (i = 0; i < s->vram_size; i += TARGET_PAGE_SIZE) {
|
|
272 |
for (i = 0; i < s->vram_size; i += G364_PAGE_SIZE) {
|
|
271 | 273 |
memory_region_set_dirty(&s->mem_vram, i); |
272 | 274 |
} |
273 | 275 |
} |
... | ... | |
387 | 389 |
start = ymin * ds_get_linesize(s->ds); |
388 | 390 |
end = (ymax + 1) * ds_get_linesize(s->ds); |
389 | 391 |
|
390 |
for (i = start; i < end; i += TARGET_PAGE_SIZE) {
|
|
392 |
for (i = start; i < end; i += G364_PAGE_SIZE) {
|
|
391 | 393 |
memory_region_set_dirty(&s->mem_vram, i); |
392 | 394 |
} |
393 | 395 |
} |
Also available in: Unified diff