rem: KPrintF( "INTENAR: $%04lx\n", result );
context: PUHRead( UWORD            reg,         BOOL*            handled,         struct PUHData*  pd,         struct ExecBase* SysBase ){  UWORD  result;  UWORD* address = (UWORD*) ( (ULONG) pd->m_Custom + reg );  switch( reg )  {    case DMACONR:      result  = ReadWord( address );       result &= ~DMAF_AUDIO;      result |= ( pd->m_DMACON & DMAF_AUDIO );      KPrintF( "DMACONR: $%04lx\n", result );      *handled = TRUE;      break;    case INTENAR:      result  = ReadWord( address );      result &= ~INTF_AUDIO;      result |= ( pd->m_INTENA & INTF_AUDIO );      KPrintF( "INTENAR: $%04lx\n", result );      *handled = TRUE;      break;    case INTREQR:      result  = ReadWord( address );      result &= ~INTF_AUDIO;      result |= ( pd->m_INTREQ & INTF_AUDIO );      KPrintF( "INTREQR: $%04lx\n", result );      *handled = TRUE;      break;    case ADKCONR:      result = ReadWord( address );      KPrintF( "ADKCONR: $%04lx\n", result );      *handled = FALSE;      break;    default:      // Just carry out the intercepted read operation      result = ReadWord( address );      *handled = FALSE;      break;  }  return result;}