{
if (ctm_ticks &&
uc390->ticks->ticks >= ctm_ticks + 65535)
- {
- ctm_ticks = 0;
- cell->set (cell->get() | 0x08); /* set CKRDY */
- }
+ {
+ ctm_ticks = 0;
+ cell->set (cell->get() | 0x08); /* set CKRDY */
+ }
}
return cell->get();
}
/* Bit 0 (BGS) is TA-protected */
if (timed_access_state != 2 ||
timed_access_ticks + 2*12 < uc390->ticks->ticks) // fixme: 3 cycles
- *val = (*val & ~0x01) | (cell_exif->get() & 0x01);
+ *val = (*val & ~0x01) | (cell_exif->get() & 0x01);
/* CKRDY and RGMD are read-only */
*val = (*val & 0x0c) | (*val & ~0x0c);
timed_access_ticks + 2*12 < uc390->ticks->ticks) // fixme: 3 cycles
*val = cell_acon->get();
else
- {
+ {
- /* lockout: IDM1:IDM0 and SA can't be set at the same time */
- if ((cell_mcon->get() & 0xc0) == 0xc0) /* IDM1 and IDM0 set? */
- *val &= ~0x04; /* lockout SA */
- }
+ /* lockout: IDM1:IDM0 and SA can't be set at the same time */
+ if ((cell_mcon->get() & 0xc0) == 0xc0) /* IDM1 and IDM0 set? */
+ *val &= ~0x04; /* lockout SA */
+ }
*val |= 0xf8; /* always 1 */
}
else if (cell == cell_p5cnt)
/* Bits 0...2 are TA-protected */
if (timed_access_state != 2 ||
timed_access_ticks + 2*12 < uc390->ticks->ticks) // fixme: 3 cycles
- *val = (*val & ~0x07) | (cell_p5cnt->get() & 0x07);
+ *val = (*val & ~0x07) | (cell_p5cnt->get() & 0x07);
}
else if (cell == cell_c0c)
{
/* Bit 3 (CRST) is TA-protected */
if (timed_access_state != 2 ||
timed_access_ticks + 2*12 < uc390->ticks->ticks) // fixme: 3 cycles
- *val = (*val & ~0x08) | (cell_c0c->get() & 0x08);
+ *val = (*val & ~0x08) | (cell_c0c->get() & 0x08);
}
else if (cell == cell_pmr)
{
/* fixme: check previous state */
if ((*val & 0xd0) == 0x90) /* CD1:CD0 set to 10, CTM set */
{
- ctm_ticks = uc390->ticks->ticks;
- cell_exif->set (cell_exif->get() & ~0x08); /* clear CKRDY */
+ ctm_ticks = uc390->ticks->ticks;
+ cell_exif->set (cell_exif->get() & ~0x08); /* clear CKRDY */
}
else
ctm_ticks = 0;
/* MCON is TA-protected */
if (timed_access_state != 2 ||
timed_access_ticks + 2*12 < uc390->ticks->ticks) // fixme: 3 cycles
- *val = cell_mcon->get();
+ *val = cell_mcon->get();
else
/* lockout: IDM1:IDM0 and SA can't be set at the same time */
if ((cell_acon->get() & 0x04) == 0x04) /* SA set? */
/* COR is TA-protected */
if (timed_access_state != 2 ||
timed_access_ticks + 2*12 < uc390->ticks->ticks) // fixme: 3 cycles
- *val = cell_cor->get();
+ *val = cell_cor->get();
}
else if (cell == cell_mcnt0)
{
/* Bits 0, 1, 3 and 6 are TA-protected */
if (timed_access_state != 2 ||
timed_access_ticks + 2*12 < uc390->ticks->ticks) // fixme: 3 cycles
- *val = (*val & ~0x4b) | (cell_wdcon->get() & 0x4b);
+ *val = (*val & ~0x4b) | (cell_wdcon->get() & 0x4b);
}
else if (cell == cell_c1c)
{
/* Bit 3 (CRST) is TA-protected */
if (timed_access_state != 2 ||
timed_access_ticks + 2*12 < uc390->ticks->ticks) // fixme: 3 cycles
- *val = (*val & ~0x08) | (cell_c1c->get() & 0x08);
+ *val = (*val & ~0x08) | (cell_c1c->get() & 0x08);
}
}
if (mem && sfr && mem == sfr)
switch (addr)
{
- case DPS: cell_dps = sfr->get_cell (DPS); break;
- case P4CNT: cell_p4cnt = sfr->get_cell (P4CNT); break;
- case EXIF: cell_exif = sfr->get_cell (EXIF); break;
- case ACON: cell_acon = sfr->get_cell (ACON); break;
- case P5CNT: cell_p5cnt = sfr->get_cell (P5CNT); break;
- case C0C: cell_c0c = sfr->get_cell (C0C); break;
- case PMR: cell_pmr = sfr->get_cell (PMR); break;
- case MCON: cell_mcon = sfr->get_cell (MCON); break;
- case TA: cell_ta = sfr->get_cell (TA); break;
- case COR: cell_cor = sfr->get_cell (COR); break;
- case MCNT0: cell_mcnt0 = sfr->get_cell (MCNT0); break;
- case MCNT1: cell_mcnt1 = sfr->get_cell (MCNT1); break;
- case MA: cell_ma = sfr->get_cell (MA); break;
- case MB: cell_mb = sfr->get_cell (MB); break;
- case MC: cell_mc = sfr->get_cell (MC); break;
- case WDCON: cell_wdcon = sfr->get_cell (WDCON); break;
- case C1C: cell_c1c = sfr->get_cell (C1C); break;
+ case DPS: cell_dps = sfr->get_cell (DPS); break;
+ case P4CNT: cell_p4cnt = sfr->get_cell (P4CNT); break;
+ case EXIF: cell_exif = sfr->get_cell (EXIF); break;
+ case ACON: cell_acon = sfr->get_cell (ACON); break;
+ case P5CNT: cell_p5cnt = sfr->get_cell (P5CNT); break;
+ case C0C: cell_c0c = sfr->get_cell (C0C); break;
+ case PMR: cell_pmr = sfr->get_cell (PMR); break;
+ case MCON: cell_mcon = sfr->get_cell (MCON); break;
+ case TA: cell_ta = sfr->get_cell (TA); break;
+ case COR: cell_cor = sfr->get_cell (COR); break;
+ case MCNT0: cell_mcnt0 = sfr->get_cell (MCNT0); break;
+ case MCNT1: cell_mcnt1 = sfr->get_cell (MCNT1); break;
+ case MA: cell_ma = sfr->get_cell (MA); break;
+ case MB: cell_mb = sfr->get_cell (MB); break;
+ case MC: cell_mc = sfr->get_cell (MC); break;
+ case WDCON: cell_wdcon = sfr->get_cell (WDCON); break;
+ case C1C: cell_c1c = sfr->get_cell (C1C); break;
}
}*/
}
void
-cl_uc390_hw::print_info(class cl_console *con)
+cl_uc390_hw::print_info(class cl_console_base *con)
{
int i;
long l;
con->dd_printf ("%s"
" EXIF 0x%02x: IE5 %c IE4 %c IE3 %c IE2 %c CKRDY %c RGMD %c RGSL %c BGS %c\n",
id_string,
- i,
+ i,
(i & 0x80) ? '1' : '0',
(i & 0x40) ? '1' : '0',
(i & 0x20) ? '1' : '0',
(i & 0x01) ? '1' : '0');
i = sfr->get (DPS);
con->dd_printf ("\tDPS 0x%02x: ID1 %c ID0 %c TSL %c SEL %c\n",
- i,
+ i,
(i & 0x80) ? '1' : '0',
(i & 0x40) ? '1' : '0',
(i & 0x20) ? '1' : '0',