void notice_new_xcolors(void)
{
- int i;
-
update_mirrors();
docols(¤t_colors);
docols(&colors_for_drawing);
- for (i = 0; i < (MAXVPOS + 1) * 2; i++) {
+ for (int i = 0; i < (MAXVPOS + 1) * 2; i++) {
docols(color_tables[0] + i);
docols(color_tables[1] + i);
}
if (!(currprefs.chipset_mask & CSMASK_AGA)) {
v &= 0x003f;
v |= 0x0c00;
+ } else {
+ bplcon3_saved = v;
}
#if SPRBORDER
v |= 2;
return;
decide_line (hpos);
bplcon4 = v;
+ bplcon4_saved = v;
record_register_change (hpos, 0x10c, v);
}
#endif
#if 0
if (!(currprefs.chipset_mask & CSMASK_ECS_AGNUS)) {
- if (s->ctl & (0x20 | 0x40)) {
- write_log(_T("ECS sprite position bits set\n"));
+ if (s->ctl & (0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40)) {
+ write_log(_T("ECS sprite %04x\n"), s->ctl);
}
}
#endif
bplcon0 = 0;
bplcon4 = 0x0011; /* Get AGA chipset into ECS compatibility mode */
bplcon3 = 0x0C00;
+ bplcon4_saved = bplcon4;
+ bplcon3_saved = bplcon3;
diwhigh = 0;
diwhigh_written = 0;
i = RW; /* 1FA ? */
if (i & 0x8000)
currprefs.ntscmode = changed_prefs.ntscmode = i & 1;
- fmode = fmode_saved = RW; /* 1FC FMODE */
+ fmode = RW; /* 1FC FMODE */
last_custom_value1 = last_custom_value2 = RW;/* 1FE ? */
+ bplcon3_saved = bplcon3;
+ bplcon4_saved = bplcon4;
+ fmode_saved = fmode;
+
current_colors.extra = 0;
if (isbrdblank (-1, bplcon0, bplcon3))
current_colors.extra |= 1 << CE_BORDERBLANK;
SW (vsstrt); /* 1E0 VSSTRT */
SW (hcenter); /* 1E2 HCENTER */
SW (diwhigh | (diwhigh_written ? 0x8000 : 0) | (hdiwstate == DIW_waiting_stop ? 0x4000 : 0)); /* 1E4 DIWHIGH */
- SW (0); /* 1E6 */
- SW (0); /* 1E8 */
- SW (0); /* 1EA */
- SW (0); /* 1EC */
- SW (0); /* 1EE */
- SW (0); /* 1F0 */
- SW (0); /* 1F2 */
- SW (0); /* 1F4 */
- SW (0); /* 1F6 */
- SW (0); /* 1F8 */
+ SW (0); /* 1E6 */
+ SW (0); /* 1E8 */
+ SW (0); /* 1EA */
+ SW (0); /* 1EC */
+ SW (0); /* 1EE */
+ SW (0); /* 1F0 */
+ SW (0); /* 1F2 */
+ SW (0); /* 1F4 */
+ SW (0); /* 1F6 */
+ SW (0); /* 1F8 */
SW (0x8000 | (currprefs.ntscmode ? 1 : 0)); /* 1FA (re-used for NTSC) */
SW (fmode); /* 1FC FMODE */
SW (last_custom_value1); /* 1FE */