HDDRIVER modules are a new concept introduced with HDDRIVER 11.
In particular when it is about giving HDDRIVER access to new hardware interfaces, the respective SCSI Drivers have to be started before HDDRIVER. Only then HDDRIVER has access to the buses managed by these drivers. This means that the AUTO folder is not the right location for these extensions. Here HDDRIVER modules come into play: They are executed even before HDDRIVER.SYS is launched.
A module does not necessarily have to be a SCSI Driver. A keyboard driver, which adds support for a third-party keyboard, is another example. In this case selecting the boot drive by pressing a key on this keyboard would be possible, which would not be the case when starting the keyboard driver from within the AUTO folder.
Whether modules shall be executed while booting, and whether they shall run in ST-RAM or TT-RAM, is configured with HDDDRUTIL.
HDDRIVER modules are very similar to programs for the AUTO folder, and they can be implemented in a way that they can also be launched as regular programs. They are placed in the root directory of the boot partition and are named HDDRMODn.SYS, with n being a digit from 0-9. This digit determines the execution order. Only after the last module was launched HDDRIVER.SYS is executed.
Module cannot access hard disk drives because HDDDRIVER has not yet been loaded at the time of module execution.
Detailed information on the development of HDDDRIVER modules is available on GitHub.
This is a sample module, which after displaying a message simply waits for a key to be pressed, before the boot process continues.
On the SCSI Driver page you can download other modules, namely the SCSI Driver for Linux NF_SCSI and the SCSI Driver monitor SCSI_MON.