+ /*
+ * Find the HAL image name
+ * and try to load the kernel off the disk
+ */
+ if(ReadSectionSettingByName(SectionId, "Hal", value, 1024))
+ {
+ /*
+ * Set the name and try to open the PE image
+ */
+ //strcpy(szFileName, szBootPath);
+ //strcat(szFileName, value);
+ strcpy(szFileName, value);
+
+ FilePointer = OpenFile(szFileName);
+ if (FilePointer == NULL)
+ {
+ strcat(value, " not found.");
+ MessageBox(value);
+ return;
+ }
+
+ /*
+ * Update the status bar with the current file
+ */
+ strcpy(name, " Reading ");
+ strcat(name, value);
+ while (strlen(name) < 80)
+ strcat(name, " ");
+ DrawStatusText(name);
+
+ /*
+ * Load the HAL image
+ */
+ MultiBootLoadModule(FilePointer, szFileName);
+
+ nNumFilesLoaded++;
+ DrawProgressBar((nNumFilesLoaded * 100) / nNumDriverFiles);
+ }
+