def __init__(self, machine):
        """Initialise P-ROC."""
        super().__init__(machine)
        # validate config for p_roc
        self.config = self.machine.config_validator.validate_config("p_roc", self.machine.config.get('p_roc', {}))
        self._configure_device_logging_and_debug('P-Roc', self.config)

        if self.config['driverboards']:
            self.machine_type = self.pinproc.normalize_machine_type(self.config['driverboards'])
        else:
            self.machine_type = self.pinproc.normalize_machine_type(self.machine.config['hardware']['driverboards'])

        self.dmd = None
        self.alpha_display = None
        self.aux_port = None

        self._use_extended_matrix = False
        self._use_first_eight_direct_inputs = False