Hi.
I had some spare time (thanks to vacation days!) and I added the capability to boot from FreHD on my model 4.
So far, I am able to boot
- LSDOS 6.3.1
- CPM 2.2
- LDOS 5.3.1
The code is not 100% polished yet, but it works nicely. You don't have to patch the OS (unlike the 4P), it's all done during runtime. You need a patched ROM C, which detects if FreHD is present. If not, the usual boot flow is followed. If FreHD is present, the code attempts to download more boot code from the FreHD's eeprom. If that fails (FreHD not ready or firmware too old), back to the old boot flow. The new boot code now tries to download the final boot code from a file located on the SD card. Again, if the file is missing (or if <space> is pressed) old boot code. Next, the code checks some flag in the hard drive image header. If auto-boot is set and if the OS is recognized, the boot sector is read and patched, and the OS boots from HD.
I plan to create a utility to modify the hard drive image file header automatically, so that the parameters required for the patch (LSDOS) are stored automatically. Something like "vhdutl (autoboot=yes|no)"...
Will now try on my model 3 to autoboot LDOS 5.3.1, then will attack newdos... too bad I don't have a model I, but the same principles will apply.
-Fred
I had some spare time (thanks to vacation days!) and I added the capability to boot from FreHD on my model 4.
So far, I am able to boot
- LSDOS 6.3.1
- CPM 2.2
- LDOS 5.3.1
The code is not 100% polished yet, but it works nicely. You don't have to patch the OS (unlike the 4P), it's all done during runtime. You need a patched ROM C, which detects if FreHD is present. If not, the usual boot flow is followed. If FreHD is present, the code attempts to download more boot code from the FreHD's eeprom. If that fails (FreHD not ready or firmware too old), back to the old boot flow. The new boot code now tries to download the final boot code from a file located on the SD card. Again, if the file is missing (or if <space> is pressed) old boot code. Next, the code checks some flag in the hard drive image header. If auto-boot is set and if the OS is recognized, the boot sector is read and patched, and the OS boots from HD.
I plan to create a utility to modify the hard drive image file header automatically, so that the parameters required for the patch (LSDOS) are stored automatically. Something like "vhdutl (autoboot=yes|no)"...
Will now try on my model 3 to autoboot LDOS 5.3.1, then will attack newdos... too bad I don't have a model I, but the same principles will apply.
-Fred