PLATFORM="i386-qemu"
INSTALL_IMAGE='fd11src.iso'
INSTALL_IMAGE_URL='https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.1/official/fd11src.iso'
SETUP_IMAGE='setup.iso'
SYSTEM_IMAGE='hda.img'
DIST_IMAGE='a.img'
DISTFILES="
https://www.mirrorservice.org/sites/ftp.delorie.com/pub/djgpp/current/v2/copying.dj
https://www.mirrorservice.org/sites/ftp.delorie.com/pub/djgpp/current/v2/djdev205.zip
https://www.mirrorservice.org/sites/ftp.delorie.com/pub/djgpp/current/v2/faq230b.zip
https://www.mirrorservice.org/sites/ftp.delorie.com/pub/djgpp/current/v2/readme.1st
https://www.mirrorservice.org/sites/ftp.delorie.com/pub/djgpp/current/v2gnu/bnu2351b.zip
https://www.mirrorservice.org/sites/ftp.delorie.com/pub/djgpp/current/v2gnu/gcc830b.zip
https://www.mirrorservice.org/sites/ftp.delorie.com/pub/djgpp/current/v2gnu/gpp830b.zip
https://www.mirrorservice.org/sites/ftp.delorie.com/pub/djgpp/current/v2gnu/mak44b.zip
https://www.mirrorservice.org/sites/ftp.delorie.com/pub/djgpp/current/v2misc/csdpmi7b.zip
https://www.mirrorservice.org/sites/ftp.delorie.com/pub/djgpp/current/v2gnu/perl588b.zip
https://www.mirrorservice.org/sites/ftp.delorie.com/pub/djgpp/current/v2gnu/tar112abr2.zip
https://www.mirrorservice.org/sites/ftp.delorie.com/pub/djgpp/current/v2gnu/gzip110b.zip
https://www.mirrorservice.org/sites/ftp.delorie.com/pub/djgpp/current/v2gnu/fil41br3.zip
https://archive.org/download/msdos_TED3_shareware/TED3.zip
https://www.tortall.net/projects/yasm/releases/yasm-1.2.0-dos.exe
https://raw.githubusercontent.com/yasm/yasm/v1.2.0/BSD.txt
https://www.lua.org/ftp/lua-5.2.2.tar.gz
https://sourceforge.net/projects/dos2unix/files/dos2unix/7.4.0/d2u740pm.zip
https://catseye.tc/distfiles/shelta-1.2-2014.0422.zip
https://github.com/catseye/Illgol-Grand-Mal/archive/rel_16_tons_and_what_do_you_get.zip
https://github.com/catseye/OpenZz/archive/refs/heads/1.0.4-4ce3.zip@ozz104c3.zip
https://github.com/catseye/Zzrk/archive/refs/tags/rel_1_0_2016_0304.zip@zzrk2016.zip
https://www.gnu.org/licenses/gpl-2.0.txt
"
if [ "x$DISTREPO_ROOT" = "x" ]; then
DISTREPO_ROOT="https://github.com/"
fi
DISTREPOS="
catseye/Befunge-93
catseye/Maentwrog
catseye/RUBE
"
ZIP_UNVERSIONED=True
name_map() {
if [ "X$1" = "Xyasm-1.2.0-dos.exe" ]; then
echo "yasm120.exe"
elif [ "X$1" = "XBSD.txt" ]; then
echo "yasmlcns.txt"
elif [ "X$1" = "Xlua-5.2.2.tar.gz" ]; then
echo "lua522.tgz"
elif [ "X$1" = "Xshelta-1.2-2014.0422.zip" ]; then
echo "shelta12.zip"
elif [ "X$1" = "Xrel_16_tons_and_what_do_you_get.zip" ]; then
echo "illgolgm.zip"
elif [ "X$1" = "Xgpl-2.0.txt" ]; then
echo "gpl20.txt"
elif [ "X$1" = "XBefunge-93" ]; then
echo "befung93"
elif [ "X$1" = "XMaentwrog" ]; then
echo "maentwrg"
else
echo $1
fi
}
install_instructions() {
cat <<EOF
* select "Create Drive C:"
* select "f" to start FDISK
* FAT32 -- no
* 1 -- create DOS partition
* 1 -- create Primary DOS partition
* Use maximum available size -- yes
* Press Esc to continue
* Press Esc to exit FDISK. System will now restart...
* select "Install to Hard Disk"
* press 1 to start installing
* select English or whatever
* You need to format. -- yes ... proceed? yes.
* 1 -- continue with installation
* 1 -- start installation
* Enter, Enter, the above directories are correct, yes
* just base and util should be enough, down-arrow to DONE
* N.B.! util is required for UPX!
* proceed with installation -- yes
* down-arrow to DONE
* proceed with installation -- yes -- ...wait...
* Press any key to continue
* down-arrow to DONE
* proceed with installation -- yes
* Press any key to continue -- ...watch flickering...
* What to do with the bootsector? -- 1
* select "Boot from system harddisk"
* Hit Enter for the JEMMEX option, should be fine
* viola, C:\\>. You can now just run `shutdown`.
EOF
}
setup_instructions() {
cat <<EOF
* Hit Enter for the JEMMEX option, should be fine
* When booted, run "D:\INSTDJGP"
* When it asks "replace lib/Perl5/Pod/perlmaco.pod?", type "A", Enter.
* THEN HIT ENTER AGAIN. It's waiting silently for you.
* When finished, you may want to exit the emulator, run
"funicular backup hda-djgpp", and start it again.
* run "D:\\INSTPLAT". This will install some tools into "C:\\TOOLS".
EOF
}
setup_script() {
#
# This is an alternative to having some kind of "archive distrepos with what archiver?"
# option that Funicular should arguably support instead.
#
cd distrepos
for repo in *; do
echo zip -r ../staging_area/$repo.zip $repo
zip -r ../staging_area/$repo.zip $repo
rm -f ../staging_area/$repo.tar.gz
done
cd ..
if [ -d skel ]; then
cp -Rp skel/* staging_area/
fi
}
dist_instructions() {
cat <<EOF
* To initialize the distribution floppy, run "INITFLOP".
* Enter "360", "720", or "1440" as appropriate.
* As explained in the script, it may take more than one attempt to format
the image correctly, if it has never been used before.
* The result will be a generic, bootable FreeDOS floppy. You may
wish to make a backup copy of "a.img" to not need this step in future.
* To populate the floppy with a few basic things, run "POPUFLOP".
You now have a bootable floppy image with a few basic tools on it.
* To populate the floppy with a project distribution, run the "MAKEDIST.BAT"
batchfile in the appropriate "SKEL" subdirectory. For example, to make a
Shelta distribution, run "SKEL\\SHELTA\\MAKEDIST".
EOF
}