DMC_RBYTE
for (i = 100000; i && (DMC_RBYTE(DMC_BSEL1) & DMC_RUN) == 0; i--)
if ((DMC_RBYTE(DMC_BSEL1) & DMC_RUN) == 0) {
DMC_WBYTE(DMC_BSEL0, DMC_RBYTE(DMC_BSEL0) | DMC_RQI|DMC_IEI);
for (i = 100000; i && (DMC_RBYTE(DMC_BSEL1) & DMC_RUN) == 0; i--)
if ((DMC_RBYTE(DMC_BSEL1) & DMC_RUN) == 0) {
while ((DMC_RBYTE(DMC_BSEL2) & DMC_IEO) == 0)
DMC_WBYTE(DMC_BSEL2, DMC_RBYTE(DMC_BSEL2) | DMC_IEO);
while (DMC_RBYTE(DMC_BSEL0) & DMC_RDYI) {
DMC_WBYTE(DMC_BSEL0, DMC_RBYTE(DMC_BSEL0) & ~(DMC_IEI|DMC_RQI));
while (DMC_RBYTE(DMC_BSEL0) & DMC_RDYI) {
if ((DMC_RBYTE(DMC_BSEL0) & DMC_RDYI) ||
(DMC_RBYTE(DMC_BSEL2) & DMC_RDYO))
DMC_WBYTE(DMC_BSEL0, DMC_RBYTE(DMC_BSEL0) & (DMC_IEI|DMC_RQI));
DMC_WBYTE(DMC_BSEL0, DMC_RBYTE(DMC_BSEL0) & (DMC_IEI|DMC_RQI));
while (DMC_RBYTE(DMC_BSEL2) & DMC_RDYO) {
cmd = DMC_RBYTE(DMC_BSEL2) & 0xff;
DMC_WBYTE(DMC_BSEL2, DMC_RBYTE(DMC_BSEL2) & ~DMC_RDYO);
for (i = 100000; i && (DMC_RBYTE(DMC_BSEL1) & DMC_RUN) == 0; i--)
if ((DMC_RBYTE(DMC_BSEL1) & DMC_RUN) == 0) {
DMC_RBYTE(DMC_BSEL0) & 0xff);
DMC_RBYTE(DMC_BSEL2) & 0xff);