I still had to test the modified GRLDR from the new version https://github.com/c...21-04-28.7z.txt (time-stamped 04:37). It booted successfully, but skipped the FAT12 partition as "non-MS" and refused to read from it. GRLDR thus had to be copied to a non-hidden FAT16 logical partition to be found. Partitioning had to be made with FDISK of MS-DOS 3.31 to leave empty space for GRLDR.MBR following the master boot sector. The command "bootlace 0x80" failed in PC Emulator with a "Warning: EBIOS not present! It is not reliable running under DOS without EBIOS." So VirtualBox was used for the following steps.
On a newly created VHD with 1023/16/63 geometry, I created partitions as reported by FDISK of MS-DOS 3.31:
Partition Status Type Start End Size
C: 1 A PRI DOS 0 15 16
2 EXT DOS 16 1022 1007
Total disk space is 1023 cylinders.
Display Logical DOS Drive Information
Drv Start End Size
D: 16 48 33
with 33 cylinders being the minimum size for FAT16. Here's the partition table:
00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 01
01 00 01 0F 3F 0F 3F 00 00 00 C1 3E 00 00 00 00
01 10 05 0F FF FE 00 3F 00 00 10 7D 0F 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA
I formatted drive D: from Windows at the command line, having temporarily mounted this FAT16 partition as ImDisk VirtualDisk. Then I booted from a PC-DOS 2.0 disk to install that system with FORMAT C: /S so that it can boot from the 16 cylinder FAT12 partition. I booted from another DOS disk with the new GRLDR and BOOTLACE.COM on it and entered the commands "COPY GRLDR C:" and "BOOTLACE 0x80". This is what happened at reboot:
Try (hd0,1): non-MS: skip
Try (hd0,1): Extended:
Try (hd0,2): invalid or null
Try (hd0,3): invalid or null
Try (hd0,4): FAT16: No GRLDR
No floppy
Cannot find GRLDR
Press space bar to hold the screen, any other key to boot previous MBR ...
Timeout: Current date is Tue 1-01-1980
Enter new date:
Current time is 2:55:23.77
Enter new time:
The IBM Personal Computer DOS
Version 2.00 (C)Copyright IBM Corp 1981, 1982, 1983
C>dir GRLDR
Volume in drive C has no label
Directory of C:\
GRLDR 331101 4-28-21 4:37a
1 File(s) 7667712 bytes free
So the installed GRLDR.MBR boots, rejects the FAT12 partition, but then chainloads the previous MBR and boots PC-DOS 2.0 from exactly this partition, so that I can autoexecute GRUB.EXE as a fallback. I prepared the partition as described in post #11. AUTOEXEC.BAT looks like this:
SET GRUBDIR=C:\_PRO\GRUB4DOS\6A210428
SET PATH=C:\_SYS\PCD200;C:\_PRO\DOSTOOLS;%GRUBDIR%
GRUB
MENU.LST has this entry:
title Editor\n\n Edit AUTOEXEC.BAT and MENU.LST
map --unmap=0,1
# map (hd0,0)/_SYS/PCD200/PCD200ED.IMG (fd0)
find --set-root /_SYS/PCD200/PCD200ED.IMG
map /_SYS/PCD200/PCD200ED.IMG (fd0)
map (fd0) (fd1)
map --hook
root (fd0)
chainloader (fd0)+1
Again, it can be booted to PC-DOS 2.0 and the editor can be executed in VirtualBox, but not in PC Emulator, where it gives an error 17 message. At the command line, "root" returns: "(hd0,0) Filesystem type is fat12, partition type 0x01", and "geometry" returns:
drive 0x80(CHS): C/H/S=1023/16/63, Sector Count/Size=1031184/512
Partition num: 0, active, Filesystem type is fat12, partition type 0x01
Partition num: 4, Filesystem type is fat16, partition type 0x04
Now I could copy GRLDR to the FAT16 partition, which allowed for direct booting to the Grub4DOS menu. Again, the editor could be started in VirtualBox, but not in PC Emulator. The same after I tried a workaround, moving the editor boot image from the FAT12 partition to the FAT16 partition: (hd0,0)/_SYS/PCD200/PCD200ED.IMG => (hd0,4)/_SYS/PCD200/PCD200ED.IMG.
Gerolf