.key trgt
.def trgt MSDOS_FileSystem:
.bra {
.ket }

failat 100   ; return FAIL

echo "Install a copy of the [33mCrossDOS[m installation disk in one of the drives."
echo "All patches are to be made to this disk."
assign M: "{trgt}"
if ERROR
    echo "[33mCrossDOS[m installation disk not found."
    skip EXIT
endif

makedir ram:P
assign P: ram:P
copy c:copy to P:
P:copy c:delete to P:
P:copy c:echo to P:
P:copy c:makedir to P:

; Patch MSDOS_FileSystem:L/MSDOSFileSystem and MSDOS_FileSystem:DEVS/mfm.device
P:copy M:L/MSDOSFileSystem to P:
P:copy M:DEVS/mfm.device to P:

;   Patch from V3.06c to V3.07
P:echo ""
P:echo "Try to patch to [33mV3.07[m"
lpatch -oP:MSDOSFileSystem.new -pMFS307.pch P:MSDOSFileSystem
if NOT WARN
    P:copy P:MSDOSFileSystem.new P:MSDOSFileSystem
endif

;   Patch from V3.07 to V3.07a
P:echo ""
P:echo "Try to patch to [33mV3.07a[m"
lpatch -oP:MSDOSFileSystem.new -pMFS307a.pch P:MSDOSFileSystem
if NOT WARN
    P:copy P:MSDOSFileSystem.new P:MSDOSFileSystem
endif

;   Patch from V3.07a to V4.00
P:echo ""
P:echo "Try to patch to [33mV4.00[m"
lpatch -oP:MSDOSFileSystem.new -pMFS400.pch P:MSDOSFileSystem
if NOT WARN
    P:copy P:MSDOSFileSystem.new P:MSDOSFileSystem
endif
lpatch -oP:mfm.device.new -pMDV400.pch P:mfm.device
if NOT WARN
    P:copy P:mfm.device.new P:mfm.device
endif

;   Patch from V4.00 to V4.00a
P:echo ""
P:echo "Try to patch to [33mV4.00a[m"
lpatch -oP:MSDOSFileSystem.new -pMFS400a.pch P:MSDOSFileSystem
if NOT WARN
    P:copy P:MSDOSFileSystem.new P:MSDOSFileSystem
endif

P:makedir M:Diag

;   copy P: versions to installation disk
P:echo ""
P:copy P:MSDOSFileSystem to M:L/MSDOSFileSystem
P:copy P:mfm.device to M:DEVS/mfm.device
P:copy TDPatch12 to M:c/TDPatch12
P:copy TDPatch13 to M:c/TDPatch13
P:copy lpatch to M:Diag/lpatch

delete P:#?
assign P:
delete ram:P

lab EXIT
assign M:
