├── .timestamps ├── BINARIES ├── MBRZAP.BAT └── README.TXT ├── CHANGELOG ├── CONTRIBUTING.md ├── FDISETUP ├── APPINFO.LSM ├── AUTOEXEC.BAT ├── CONFIG.SYS ├── SETUP.BAT └── SETUP │ ├── AUTOEXEC.086 │ ├── AUTOEXEC.186 │ ├── AUTOEXEC.286 │ ├── AUTOEXEC.DBX │ ├── AUTOEXEC.DEF │ ├── AUTOEXEC.VBX │ ├── CONFIG.086 │ ├── CONFIG.186 │ ├── CONFIG.286 │ ├── CONFIG.DBX │ ├── CONFIG.DEF │ ├── CONFIG.VBX │ ├── FDASK000.BAT │ ├── FDASK100.BAT │ ├── FDASK200.BAT │ ├── FDASK300.BAT │ ├── FDASK400.BAT │ ├── FDASK500.BAT │ ├── FDASK600.BAT │ ├── FDASK700.BAT │ ├── FDBUG.BAT │ ├── FDCHECK.BAT │ ├── FDERROR.BAT │ ├── FDICLEAN.BAT │ ├── FDICLS.BAT │ ├── FDICTRLC.BAT │ ├── FDIDRIVE.BAT │ ├── FDIFAIL.BAT │ ├── FDILANG.BAT │ ├── FDIMEDIA.BAT │ ├── FDINS000.BAT │ ├── FDINS100.BAT │ ├── FDINS200.BAT │ ├── FDINS300.BAT │ ├── FDINS400.BAT │ ├── FDINS500.BAT │ ├── FDINS600.BAT │ ├── FDINS700.BAT │ ├── FDINS800.BAT │ ├── FDINS900.BAT │ ├── FDIPKG.BAT │ ├── FDISET.BAT │ ├── FDITEMP.BAT │ ├── FDNORUN.BAT │ ├── FDNOTICE.BAT │ ├── FDSETUP.BAT │ ├── FDSPLASH.BAT │ ├── FDSWPENV.BAT │ ├── FDTHANK.BAT │ ├── STAGE000.BAT │ ├── STAGE100.BAT │ ├── STAGE200.BAT │ ├── STAGE300.BAT │ ├── STAGE400.BAT │ ├── STAGE500.BAT │ ├── STAGE600.BAT │ ├── STAGE700.BAT │ ├── STAGE800.BAT │ ├── STAGE900.BAT │ ├── THEMEADV.BAT │ ├── THEMEDEF.BAT │ └── UNSTABLE.BAT ├── INDEX.md ├── LICENSE ├── LICENSE.v1 ├── LICENSE.v2 ├── LICENSE.v3 ├── PACKAGES └── README.TXT ├── README.md ├── SETTINGS ├── BONUS0.LST ├── CLEANUP.LST ├── PKG_BASE.LST ├── PKG_FDI.LST ├── PKG_FULL.LST ├── PKG_HYDR.LST ├── PKG_LIVE.LST ├── PKG_XTRA.LST └── VERSION.CFG ├── TODO └── TOOLS └── LangTest.bat /.timestamps: -------------------------------------------------------------------------------- 1 | # Version Control System file timestamp preservation file 2 | # Timestamps can be saved and restored using the fdvcs.sh utility 3 | # which can be found in the 'Package Development Kit' project 4 | # https://gitlab.com/FDOS/devel/pkgdevel 5 | 6 | 1477892044 e92e96320c5f4940cc775aa28b5e5055bf85aff93b47827a92143545e4ced97098d1e42ae976c3088ce05fa1c676408c4d505ca8be6b7940ad8825347d177df6 BINARIES/MBRZAP.BAT 7 | 1477892042 2e23ceee0231d4c8c4296a079c14039e500b62e0b04dc436b98f4b3837076d41923a539b759e627551a5ec05e7f188f308f4ae4d932198867b029c73361fdfea BINARIES/README.TXT 8 | 1641294385 ce68c07a53239c93fc9d4efbf38b4a46699d31f91c3b9f89a04e933de53afb886b7d668a844b221b643c5d92241b476ad606f9a518cbe13e6c0a382ba1a6839a CHANGELOG 9 | 1591899370 aeb558f75504d5e46abb96abf6ae7b69687104623ac5b2ca72d114663dd653ed65ef1b4bca89b85fa856784535770b42bc8172af744907b9a573e48a4d5535c0 CONTRIBUTING.md 10 | 1636728738 1bdcb286f57088e3a58008aae6d4ddd5da176e66c33a7ecee92717d3610d6273a33e75aeb34a455ded83d67eea0a93204b8d2b2525340819393d3bf101c7cf9a FDISETUP/APPINFO.LSM 11 | 1655997894 4216b67869b5bc2a744cb67f5a72b53e12185cc1449971efa0ea4a4db9cf083a5e3f5a1107f669b758e70b45f5f6a9fdd5ff366a6ce2d4548dba3cc8a5aa09aa FDISETUP/AUTOEXEC.BAT 12 | 1548858542 a764ae1d44708a8b0186720a3f2bc83e9ad485642b53bf555feae1d25bda16ee3373d9fa8317eb8ff79c70d6686f777f8b0e2534f36bf8243f5265d0751205e1 FDISETUP/CONFIG.SYS 13 | 1645288171 04e75c27a1c205071216d5f6d43d672f8a3e3bb7463d4915c25ffcd8dd634c79bb71348248491986cf23c0e0cabe97840c937dd2f54e374466551502b3521fec FDISETUP/SETUP.BAT 14 | 1716990063 e29e9c0c7a6ae165e3cac53c01623d7a4ec98ccfbe0ec0048e83d698f6bc696bc62c959d10f3eaed66ea16c8561350bd630a26c80bc20624835b5f568d1fdb30 FDISETUP/SETUP/AUTOEXEC.086 15 | 1716990063 e29e9c0c7a6ae165e3cac53c01623d7a4ec98ccfbe0ec0048e83d698f6bc696bc62c959d10f3eaed66ea16c8561350bd630a26c80bc20624835b5f568d1fdb30 FDISETUP/SETUP/AUTOEXEC.186 16 | 1716990049 40cbf1374a4c24ca101603633d95d454191a99c41bb69593016144700bf7d5190d1539952f5470e46dfd5f752d0ca5364b16856d97259471f26e3bc84c61ce99 FDISETUP/SETUP/AUTOEXEC.286 17 | 1712155145 9e28c81757a2e529fe7582435d1ca4ebf45958544b778c2474b2c439595c43b9d8c47fbda9f1a7795f3eb43aec95a3dfda9c75b4a75268cc2271f34841230eb0 FDISETUP/SETUP/AUTOEXEC.DBX 18 | 1730229911 4a239b51244e855aa48232a42717ccb68a032d8b07f2422ef3596a568bea3cbce8d94e06a1adbb5d58d4ee1e38e4bad293c88ea49af5f07164d9386483431fbb FDISETUP/SETUP/AUTOEXEC.DEF 19 | 1730229900 25efb6c15c70c4e2e54df687a4945305b29971e03821286b33df20686377d7bb55e826a583052445ce6fee8a694049356573afcbb2bb01c6b554ab9407ff7f36 FDISETUP/SETUP/AUTOEXEC.VBX 20 | 1638439668 fa6d8871f95aa962a48b705113c56540255d6c7043a79bfb7fda7c9bc2ae80055d28486644f7d68e5f99a648d8996e22bdc250a3eab0835d6a48403b30bd3ac5 FDISETUP/SETUP/CONFIG.086 21 | 1638439668 fa6d8871f95aa962a48b705113c56540255d6c7043a79bfb7fda7c9bc2ae80055d28486644f7d68e5f99a648d8996e22bdc250a3eab0835d6a48403b30bd3ac5 FDISETUP/SETUP/CONFIG.186 22 | 1687520513 c8e9502412db861c3640901ebad75c8f8107ac630d3a7ee508eb431699e0a3c75fb32e31c6c3e27b50ec9f40c06f48ef59ee69f3e45338081afdc5c37ded27c2 FDISETUP/SETUP/CONFIG.286 23 | 1710171868 75638c7a8a8176b35594d84f93a9372c82bdf2e583f8d0b4fb5e774b72a6f7701833693b091ae28ae0979ef3f9e854e28773b382e3ccf4573b25eaf613410c79 FDISETUP/SETUP/CONFIG.DBX 24 | 1687520530 db1a6608041e0aa3ddac63e94beb6b427ea4b699aac2d981bf3433db753004a5100115eef032a51c792f3573e91ca182eec00376a53f5439b06056d449d6853e FDISETUP/SETUP/CONFIG.DEF 25 | 1687520548 9f4426b27fa1cf43644da39a86c2f28b88777744f3d50fcf23274cc0051aaf77b411f59286985b244bcf17d9918aec215d61313ec8a182daddad74c8a0cea6a2 FDISETUP/SETUP/CONFIG.VBX 26 | 1618846959 02efcaa9dac27548c2c785fbcc857081cacfb5846d26f76ded39aabeb0c522e1cefb3c65d2587c5290954822f9b0708bc29dc28dc924fcc4a17ba7efeb6b14a6 FDISETUP/SETUP/FDASK000.BAT 27 | 1640774131 dcbbd077a6aa9548fc1d90695f9619f54e062f35358d3486c620488347a4b47a43db7867323e5e2d58e6f7be1f18b6c80a6bbc5c35b2bf0199eedc2c80c3e83c FDISETUP/SETUP/FDASK100.BAT 28 | 1618843495 1da4c8caf5b016853c819dcd587b70ad57f834ba0b4a5388e79c6e18c3476563aac66aeac87c16c56510ff750f1d5ad1fdaf207b1cc547cb857701c647aafba9 FDISETUP/SETUP/FDASK200.BAT 29 | 1590942328 9e3c959a5857d613f8fca1e85fcbfa6147731067e3cb57a0295562b900c9c0fa04b714f65b0ef0696ffe26a6bf72c4f97ecab2f311e71e6868007f26dc9c94f5 FDISETUP/SETUP/FDASK300.BAT 30 | 1590942328 c491aa042f419c572357d141e2072d2da883b21d7170a876ba952064934935e988051e79e007e2b576268c1890c74bdd68f4655affec1911c8a5a439926f0054 FDISETUP/SETUP/FDASK400.BAT 31 | 1590942328 017abbec4e91bda95b5226a12fac913a47da2290f6d3167add56258fa047e2f3b5e559c4fb9679228a8ad6af5ce156631f7a7c16a1eb3062b440231768e35b6a FDISETUP/SETUP/FDASK500.BAT 32 | 1638893794 0fa9ae15a88a5dd2ea8f801b9f1b0ba60849d6e64424277a376be6fde1e54e5ddef9fb967a2ddce54615bcda59b91cb1fc3d4db732693622b0e316b6a2a56f1c FDISETUP/SETUP/FDASK600.BAT 33 | 1618847268 395374606e6387843251e830ab2854966610e40ad1b5b4adc31cc8757565f6a11231031919526af2a3e204237d801359d66daa9d5b613146a716e4431b470e49 FDISETUP/SETUP/FDASK700.BAT 34 | 1590942328 e72d225d9739316a3380f5d7d1c53388000e23396214ddd49c0772b12a621bd7209ec7b3f52ec096041996377d4d25f1a15a207d6a391176a8fbd9aaaf3cb94e FDISETUP/SETUP/FDBUG.BAT 35 | 1548858542 93f91c124963bd37fce749340e3df4c9cc043e311da7934d653d26f247833241a29686b0f64f25253c1a5b8c7110b6030345fbb8a2596fdf34e9dac2328736f5 FDISETUP/SETUP/FDCHECK.BAT 36 | 1477892044 70f9c46f4dd6d6be0769e91bccf4a517cd9e71e29ce65cecde57130f68b9cffbd94480e1a520ba453eb32baaf57560a539f56879025a0e28dd1aa4027f844926 FDISETUP/SETUP/FDERROR.BAT 37 | 1645299061 3556e9b4e365bc43ae6d7a7d3ec78fe0f07ad5d4c6ebeef88d7e607de5daf455581bd5b2014a66621e0832ab546d32cc163f04f81076215fe921439ac0dac0cc FDISETUP/SETUP/FDICLEAN.BAT 38 | 1688055668 234750ac3289fd3302d1944503d452abfd29b2926b8f9a376ef21b170127756087f1d07b38d708655169b0908fa4c5d320f27eabbc40914a0bb773007dc54187 FDISETUP/SETUP/FDICLS.BAT 39 | 1590942328 9c4dcabbbfe554c1fe564b83865cc7cb879570a5c5f70e8f1c8c86a7b7327457c6c26ed13deae50714ba7c618db1632f23d9548592fbc18fd7b46652dc9db190 FDISETUP/SETUP/FDICTRLC.BAT 40 | 1548858542 f9004b5a1d186c0a82c091dd3fe6098958f2d5587fdaf370be01d7aa51717ec5214f8905ae000f229c521fe8ec0157d7d13736195e2a5cefdedaff4f76475765 FDISETUP/SETUP/FDIDRIVE.BAT 41 | 1590942328 5e55b64eae1cc78fac22b1952f8027ea4f91695c532fa27c1a8b04d9e9b59db3443ebba1a043ec13ea11b6a1089bc33d68ee725254279133aac210376dc7f469 FDISETUP/SETUP/FDIFAIL.BAT 42 | 1453440132 1e26934a603b113a3d73a5ac498ac1efec4e04eb8aa5b2576ae38e8fa8e10f3a15c81917acd789e0d9482af306a8b6b24973c54c659f4c335d899f227d9fbf06 FDISETUP/SETUP/FDILANG.BAT 43 | 1590942328 2693ddc165d9a668f59a2f5bf0eca43c0fa8ece4dfb8d5b5394bbb70f8b36c2e81586c9c5e8fc8c3360cdef25b5eb296b9b4ad24f025b7969128e9ca01e135d3 FDISETUP/SETUP/FDIMEDIA.BAT 44 | 1575275152 8c7d63439141eeabbb55dfb709cb798c606ed375c671c2677ee86497c4d3ce7099b6171dd378fa3f2f0c385630e2be9a50cdcd984625a3c6a559127617be2f15 FDISETUP/SETUP/FDINS000.BAT 45 | 1469660338 31c29b039032e487d3b281a064a76e23ff815a40ad74f92414f6fcd6952b1db103c60c0f80569a56d34748cb91550d61a444be9f86f1ab4fbc3a0c8984e7acfb FDISETUP/SETUP/FDINS100.BAT 46 | 1457077434 bb50429b26735fb47395c20042c59b2593cca9f866218abdbe74d8236ec70a94c85a0d74ce35dee5654b909e5ed1bc9a12e15f0f020133c0e0e30057be719288 FDISETUP/SETUP/FDINS200.BAT 47 | 1720386574 feeafa7825649879389114c496a7bf3ea0d3358f08d5647e40ca6b640b944d04aac5b17ad7300a239721530fa8d2fd65582816428648644a4e8dd5d3c7acba6d FDISETUP/SETUP/FDINS300.BAT 48 | 1590942328 f99c2519435241af1cb98e31646d0c386603426716c292968f5e57ec805037a69d687de7c6d863f18fb8f9c8eac67b9dd88c91a00b2149f7a9c6c9f4e388561d FDISETUP/SETUP/FDINS400.BAT 49 | 1590942328 4b5ecca44571d8382a6ea0079bc6d7dc20066a8f9963a6702bc13c1d97c318156dcf22a9f805c9c9fe6f4041923d33e89c9571462ec811c0eed7762177eeab84 FDISETUP/SETUP/FDINS500.BAT 50 | 1590942328 5bfe0289d91058be391e8846153aa7753b16f9b37c5882f4b5d53b64f0e6f22e7b85ec57f7651c603174171a32e45c6e0da4c42b40b1ecd78575568287131000 FDISETUP/SETUP/FDINS600.BAT 51 | 1636373152 8a4b9a3ea122d72cd126bb26b214c1cfa17a31a3aca7142b52c2b6c6c666217af950b379c3013e5f0e7f05d3cac9aa65ce9879a5bb5d247382aea9cfc4b8b939 FDISETUP/SETUP/FDINS700.BAT 52 | 1637593397 fec131b35b38a566388f1976a9738aa43655fb2ac3e6be8d821841725d42fc813995a451c6c8bc59b33eb69d6d79f6298d2e63930ec46e741b1c29d8a14ae066 FDISETUP/SETUP/FDINS800.BAT 53 | 1644167839 09e041d7a5b00aea3ff87757e19c7de8b291b494e57542c7387b392a7ea86b3aa463d78d082748fb78f821695281086582b2b28f6052f49a91d66ae2ed0e8f0e FDISETUP/SETUP/FDINS900.BAT 54 | 1720386287 2500752e951f1eaeb90bf371e39a0e02edf98233d05f4dd065cbcffe707b621e34ffc0170030c8e930e68cd6258490ef9552f87bf026d1803965d39574d3d418 FDISETUP/SETUP/FDIPKG.BAT 55 | 1465910096 7d3077a7fb89b2c0416426637f81c1b04b2c89f82d2537c828b44bb2258c6f0b5ab114d42762a9c8340e039edf037393fd1c929590aefa4cd30a8e6a026f424d FDISETUP/SETUP/FDISET.BAT 56 | 1619731890 0cdb2954d27033f8b4ff9285dd6f730762f94638b8ab8726656258349e78594d58c04abdf41af7db991c5187452f1ed1eeecfb17b1f2c93913ca6b47f5fdd0e1 FDISETUP/SETUP/FDITEMP.BAT 57 | 1590943600 47bdb69f660e2ee101e997fdf3d25e128a859bd1cbac23a4a5295ca5f5ff63a856d823b307ea2ecbd3dcb64955999df284610e55185d6c9e82df7ac4454d0618 FDISETUP/SETUP/FDNORUN.BAT 58 | 1590942328 3d04d12939f7c177275ffe51688f46065d4ce6e5e4f6a9dd0ee0c71a480999ebe5dda8eea1541229fe2d02fc1f935a46340061de326e4e8ae67d6e41e5c63348 FDISETUP/SETUP/FDNOTICE.BAT 59 | 1720516142 3fa02352acfd6b0b06fab79165d0d33726d816de26adfe7ddefa26f7b1a12882d23311bc5da9d08e34b1ab9ce782a5a4cd4b746604546ed97974a1c7d15f8ae9 FDISETUP/SETUP/FDSETUP.BAT 60 | 1477892044 848affc3cf71f68edef6f66b238403191f1c4db914a8195524eb32f3412889f5a89c1e676fa1388404fb05763c05a5735acf1898ead5e69584591641fa2d0e9d FDISETUP/SETUP/FDSPLASH.BAT 61 | 1477892044 8020a0892c1ebc448ea100762de76697cfd211c50d020fd7047cffbbdb31b1804c37a245214168cbbccd85e98074093f65d411bd623f48e726cdb4c20e0a93ec FDISETUP/SETUP/FDSWPENV.BAT 62 | 1477892044 7ab05f6024e2afd82a160547b08abaed93003dca33d901193c426760c2eb6a9dcb6c129293be7b7e6522ea1440649ad57181955df1cfdf841ba7e7a5f6a8e6b3 FDISETUP/SETUP/FDTHANK.BAT 63 | 1617829779 1f57ea6a3c3b513fd4716e53238b3d0160d7a76e1c4cef509090ef5521510bf7daf4369fdb677e807b81ac51d3a5d2e39c446a051beb5a4592a50ed35b353b04 FDISETUP/SETUP/STAGE000.BAT 64 | 1451407344 a03f980e20d573302ea9e808dff094ba1221a904a1f8a66560d25288e615b1a0fe03cec5f92c7e7675e2ffc6d7fb78c1ba627b44acb4aa215ab65916caff811f FDISETUP/SETUP/STAGE100.BAT 65 | 1477892044 38818b1dbaa0e693bb70b40dcdd6e5941cbe9755416904bb499192bdeb059c89630c0ca65bb6aa730ac250d777cc708f524a4e65d4a3ba2d23e56e665ce803dc FDISETUP/SETUP/STAGE200.BAT 66 | 1644165916 bcbfc089eedac337c686d301f4a615a9d99b2466725562a58d774589683d1ac6f9543fef63b3aea7b13536a98a50c28144fad11ef9059efd80b7ed7e31162b98 FDISETUP/SETUP/STAGE300.BAT 67 | 1720643511 220c6fc14755eb9495ac6c44893760fbc7ec1ce923ae8586541ebfd2c1904c9e51fbcfa7c79ebd704399338e749d1927fa2d3a73016e6919a8b8c608c15fb364 FDISETUP/SETUP/STAGE400.BAT 68 | 1590942328 429b5e816636c04033fb908c313053c10f431c573b37edb6d90a92be7f90e5ab1132460bc462c1b3992f0ca81882741ab7c6ed3323be4eda4a1e12620cbf4184 FDISETUP/SETUP/STAGE500.BAT 69 | 1590956739 918042cfb8b416b4fba1398d7511351af6655cac8c09dcdce549a79793d866b2bcd11ad5b9bf53efef8d96c721250ac913cd7118d4a4a0ef1f9aee8e0a923d67 FDISETUP/SETUP/STAGE600.BAT 70 | 1461348102 0d05f97d6a39adbb0bdd295792137920229db9928ee141c5377acce696598334faa85157fde2d1ebe6f81ae9ad682775fa30d9bb49d4939a519a8633c38b3c50 FDISETUP/SETUP/STAGE700.BAT 71 | 1720471310 959d8c8da3cf3813db3fea64ddc00f3f3fd4f9175d75a4b416d4a70c8d1f5a0ff07c7667cbb7e437bb624099ee94d7bb4fb5cea982c9327c7d05f964f00d6d30 FDISETUP/SETUP/STAGE800.BAT 72 | 1590942328 76d30de5538c02c87833de18b395927af6dd08b8edac4931644f62b74d000f88aac4e72149365f3ba0acff24126f1d1e1ffbbfe00eb3ba8af33b14a121ca6efd FDISETUP/SETUP/STAGE900.BAT 73 | 1644165827 f6d568fb5c63c3342f1068c5d65adbcf002657dfff76762d451225e3f372196b87782f1cc72cc6b61655d2f3dafee283a276158b69d02b6a0497ea39d2832c1c FDISETUP/SETUP/THEMEADV.BAT 74 | 1644173382 8465f5f6aca2a1ee24ff9635343632b65c2a1205c11514f3f275a5b56e98a93d5421030fed9a0fbcc9943c889e8786047c05d9c6976f1c2bd41eb7b202549bba FDISETUP/SETUP/THEMEDEF.BAT 75 | 1656004282 1205fd268f5c6081f24fc38129e7b836fd120d15be928b0cc7f28cbd61581a067b4457392067930ed5d5cba398e923b5e55e189188bfb7c0d3d62f06f32cb7bf FDISETUP/SETUP/UNSTABLE.BAT 76 | 1727802462 d51157d92bcb40584beb09c30f02e46b2954b78c2c0ab6c246333cd678d403126bc0248021f9f7fa24c05bef60de486aeef20936a5e700c70906d94da445a6f6 INDEX.md 77 | 1688052645 c96cb5f1a6d9552136992e07e438425e1906b64eadd6f1581ea2cc9b01a6411fd7be81e8277bf17955bbfab30993391e22a6c9b1b03be195ab6a4951d204b984 LICENSE 78 | 1688052639 d4c8dcc68e52c31e306f6471c1767a8906149346610935da326024af11ac2f8228d4c999e7ae8b5ff93786f55570e2769c00c9c5b505ec05f5cd1ef133bc8475 LICENSE.v1 79 | 1688052669 88187cccb4cb8bf5847cb39bfd2ee4c0eac1378198d4ebf01aea7b1d31a7f76b9d6a56c7d7c126f6201d5d2e0c4decf7d1c177c265c169da5ab15a9b54735313 LICENSE.v2 80 | 1688052673 a48b919540d219efedb99737d1dc2398183f071be19fbda640847ba0a323b555acc4397414f013b4c3860f0aeb89776766cfdfde286355b772733624c47a653a LICENSE.v3 81 | 1477892044 5f46125ca416c635ac5eefa569ed17d31ba33866c146ec90b96694bc4c1d723ca55a77b2bac6f1ba3f5ba819f2fc62e9f3d639fbcb78d3a0947548e0cbf257c7 PACKAGES/README.TXT 82 | 1655817388 7be0073a9019569cd18deb4fa7428836e0a0097bc3db838d14b70aa6d1d851fcb890dd304fea44728a1dd0b8591f9e75a1f1f115b1ee77ef39904d9a2d262ddf README.md 83 | 1736804374 68b05b729cebab64040c888c4c187bb4da57a654d39c47b6b96b2803a976daa04a3b94334479fb8ce82c9c825f966dd4936970ad5ab28b05650d3e9986630952 SETTINGS/BONUS0.LST 84 | 1693561414 3642aab69753bf6a7b3f6b15bb7a50628359fabd323f087a94d5399001bc9b6df18db61036090fd5330c00c11f2d4f0c903f121d0e7d3f8473d38d5dc01585d6 SETTINGS/CLEANUP.LST 85 | 1738415773 de9875bb56693710e8a016c83e1c1b3296f208042a2b3d59e97087e8f2457924f57885cb110b2b681641892497f38487061b23b9707f3a546df1485bd702c145 SETTINGS/PKG_BASE.LST 86 | 1730068523 91ff6bbfce08f62bafbb6b341a3eccf7e746030c27696303cd96900c0c454c3993fe4d252517a8af99fa040a3dc9c183dfcbc80bf23084b513ffa9c579485d4c SETTINGS/PKG_FDI.LST 87 | 1740819396 a8230f978b82fbaa564f9ca05eaa68777f31d7f5fb6b19cd436efd63dc2fcaa0382d7f60eccf79fabab7a7d966d859539b534b72533a211c1cc1de799183031c SETTINGS/PKG_FULL.LST 88 | 1730137427 653c15a8a83ea71df1fedc7658c073ec75a10e708e1e7133195777ec6de29dff96e12eb900c13b207a2f7733cc9d0e308cd3ce539c6983a3e34ce4faed0b0ff5 SETTINGS/PKG_HYDR.LST 89 | 1737563411 674a47eeb8796d7e4d8f0155b22b1a6a1d7c02a276a3194cab433c574588e05b91f2573fed883bbddc880183f11ab535b92a044743714464981b01feef4d8437 SETTINGS/PKG_LIVE.LST 90 | 1737563382 9d1073a311788a39ebeb658b574edb583956467212f525658fb07599ef752d39463432c16b11ae7e08c2463dd86bd77219bef355a8f6d82922354d551502dd9b SETTINGS/PKG_XTRA.LST 91 | 1742397825 d87ff163d3ee32f160c4dc5847777bdaca25f69c5071b7a0cc41e96dd0f67d771e1f03881bf0d3dff2b0ef724a6738dd5c63956f0bbff51badef703e638a4f1e SETTINGS/VERSION.CFG 92 | 638640240 8af1b64678834665f3b5b1ee0490764e46881c90c45485260c074d30c7e4a345c4f10f943aa7142b7b930927bb75f27bed1ad7b7c95881827e3026edb82890a6 TODO 93 | 1590956739 a0ed89900f2079e7abf7c5243b907789268c808ffd3eab046cd53af13b4a9140bf9e512606f6926473697f715bd4930e510b6d2fa850229f86fa23a74dea139c TOOLS/LangTest.bat 94 | -------------------------------------------------------------------------------- /BINARIES/MBRZAP.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | if exist \SETUP.BAT goto MBRZAP 4 | echo. 5 | echo Please use the following command to rewrite the MBR boot code: 6 | echo. 7 | echo sys C: /BOOTONLY 8 | echo. 9 | echo or 10 | echo. 11 | echo sys D: /BOOTONLY 12 | echo. 13 | echo For whichever drive you installed the operating system. A backup copy of 14 | echo its current MBR should have been saved inside the main OS subdirectory as 15 | echo BOOT.BSS. But, you should check first. 16 | echo. 17 | goto Done 18 | 19 | :MBRZAP 20 | \SETUP.BAT MBRZAP 21 | :Done -------------------------------------------------------------------------------- /BINARIES/README.TXT: -------------------------------------------------------------------------------- 1 | Place any miscellaneous binary files in here. The will be copied to the FDSETUP/BIN directory on the install media and overwrite any pre-existing files. These files will not be installed on the user's computer when they perform an installation. -------------------------------------------------------------------------------- /CHANGELOG: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | The FDI change log only covers the FreeDOS Installer. It does not cover 4 | any of the tools used by the installer or any of the programs installed 5 | by FDI. 6 | 7 | ## FD 1.3-Final 8 | 9 | Changed install media Boot configuration. 10 | Updated package lists and settings. 11 | 12 | ## FDI 1.3-RC5 13 | 14 | Updated FREEDOC readme to reflect changes with the release media. 15 | Package List Modifications. 16 | Loosened license statement to permit any GPL version for ALL installer files. 17 | Added test for existing MBR code. When present, prompt to overwrite. 18 | Removed some old unused code. 19 | Added note to project README pointing to Floppy Edition (FDI-x86) installer. 20 | People like change logs. So, I started one for FDI. :-) 21 | 22 | ## FDI & FreeDOS 1.2 23 | 24 | Starting with FreeDOS v1.2, FDI is the official installer for FreeDOS. -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | Thank you for you interest to improve this project. 4 | 5 | ### Contributing Language Translations 6 | 7 | Please do not submit langauges translations directly to this project. The 8 | language files *(if any)* that may be in this source tree are **NOT** included 9 | in the software releases. If any exist in this project, they are for development 10 | purposes only. When a version of this project is built and released, all 11 | language files are pulled directly from the versions in the 12 | [FD-NLS](https://github.com/shidel/fd-nls) project. If you wish to provide an 13 | additional language translation or make corrections to an existing one, please 14 | update the corresponding files in the [FD-NLS](https://github.com/shidel/fd-nls) 15 | project. -------------------------------------------------------------------------------- /FDISETUP/APPINFO.LSM: -------------------------------------------------------------------------------- 1 | Begin3 2 | Title: FDI Sources 3 | Version: $OS_VERSION$ 4 | Entered-date: $DATE$ 5 | Description: The $OS_NAME$ Installer (FDI) source files. 6 | Keywords: dos batch 7 | Author: Jerome Shidel 8 | Maintained-by: Jerome Shidel 9 | Primary-site: https://github.com/shidel/FDI 10 | Alternate-site: 11 | Original-site: http://up.lod.bz/FDI/ 12 | Platforms: DOS 13 | Copying-policy: GNU General Public License, Version 1 or later 14 | End 15 | -------------------------------------------------------------------------------- /FDISETUP/AUTOEXEC.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | SET DOSDIR=\FREEDOS 3 | SET LANG= 4 | SET TZ= 5 | SET PATH=%dosdir%\BIN 6 | 7 | SET DIRCMD=/P /OGN /Y 8 | rem SET COPYCMD=/-Y 9 | 10 | rem SET TEMP=%dosdir%\TEMP 11 | rem SET TMP=%TEMP% 12 | 13 | if exist %dosdir%\NLS\NUL set NLSPATH=%dosdir%\NLS 14 | if exist %dosdir%\HELP\NUL set HELPPATH=%dosdir%\HELP 15 | 16 | if not exist %dosdir%\bin\uhdd.sys goto NoUHDD 17 | DEVLOAD /H %dosdir%\bin\uhdd.sys /s5 /h 18 | :NoUHDD 19 | 20 | echo. 21 | call CDROM.BAT 22 | 23 | rem FDAPM APMDOS 24 | rem DOSLFN 25 | 26 | goto SkipLBACache 27 | if not exist %dosdir%\bin\lbacache.com goto NoLBACache 28 | vecho /g 29 | verrlvl 1 30 | LBACACHE.COM buf 20 flop 31 | if errorlevel 1 goto NoLBACache 32 | if not exist %dosdir%\bin\tickle.com goto NoLBACache 33 | TICKLE.COM 34 | :NoLBACache 35 | 36 | :SkipLBACache 37 | 38 | SET OS_NAME=$OS_NAME$ 39 | SET OS_VERSION=$OS_VERSION$ 40 | SET AUTOFILE=%0 41 | SET CFGFILE=\$CONFIG$ 42 | alias reboot=fdapm warmboot 43 | alias reset=fdisk /reboot 44 | alias halt=fdapm poweroff 45 | alias shutdown=fdapm poweroff 46 | 47 | if exist %dosdir%\bin\fdnet.bat call %dosdir%\bin\fdnet.bat start 48 | if exist %dosdir%\bin\fdassist.bat call %dosdir%\bin\fdassist.bat 49 | 50 | if not exist SETUP.BAT goto Done 51 | :RunSetup 52 | vecho /k0 /p Done processing startup files /fCyan FDCONFIG.SYS /a7 and /fCyan $AUTOEXEC$ /a7/p 53 | vdelay 1500 54 | CALL SETUP.BAT $BOOT$ 55 | 56 | :Done 57 | if exist %dosdir%\bin\cdrom.bat call %dosdir%\bin\cdrom.bat display 58 | if exist %dosdir%\bin\welcome.bat call %dosdir%\bin\welcome.bat 59 | $OS_BOOT_WARNING$ 60 | -------------------------------------------------------------------------------- /FDISETUP/CONFIG.SYS: -------------------------------------------------------------------------------- 1 | !COUNTRY=001,858:\FREEDOS\BIN\COUNTRY.SYS 2 | !LASTDRIVE=Z 3 | !BUFFERS=20 4 | !FILES=40 5 | 6 | DOS=HIGH 7 | DOS=UMB 8 | DOSDATA=UMB 9 | 10 | DEVICE=\FREEDOS\BIN\HIMEMX.EXE 11 | 12 | SHELLHIGH=\FREEDOS\BIN\COMMAND.COM \FREEDOS\BIN /E:2048 /P=\$AUTOEXEC$ 13 | -------------------------------------------------------------------------------- /FDISETUP/SETUP.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM FreeDOS 1.2+ Installer, version 2021-12-01 4 | rem GNU General Public License, (any version) 5 | REM Copyright 2016-2021 Jerome Shidel. 6 | 7 | BREAK off 8 | 9 | if "%1" == "debug" set FDEBUG=y 10 | if "%1" == "RELOAD" goto SkipReload 11 | 12 | REM Quick and Simple DOSBox Check ********************************************* 13 | if not exist FREEDOS\BIN\VINFO.COM goto CantTestDOSBoxNow 14 | FREEDOS\BIN\VINFO.COM /M 15 | if errorlevel 102 goto CantTestDOSBoxNow 16 | if errorlevel 101 goto SkipDriveChange 17 | :CantTestDOSBoxNow 18 | 19 | REM Change to drive of SETUP.BAT -- Probably ********************************** 20 | set NOTEST= 21 | if "%1" == "boot" set NOTEST=y 22 | if "%1" == "cdrom" set NOTEST=y 23 | if not "%1" == "floppy" goto NotFloppy 24 | set NOTEST=y 25 | if "%CDROM%" == "" goto NotFloppy 26 | if not exist %CDROM%\SETUP.BAT goto NotFloppy 27 | if not exist %CDROM%\freedos\setup\version.fdi goto NotFloppy 28 | pushd %CDROM% >NUL 29 | call SETUP.BAT cdrom 30 | popd >NUL 31 | goto Done 32 | :NotFloppy 33 | if "%1" == "legacy" set NOTEST=y 34 | if "%1" == "live" set NOTEST=y 35 | if "%1" == "usb" set NOTEST=y 36 | if "%NOTEST%" == "y" goto SkipDriveChange 37 | for %%d in ( A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ) do if "%0" == "%%d:SETUP" %%d: 38 | for %%d in ( A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ) do if "%0" == "%%d:SETUP.BAT" %%d: 39 | for %%d in ( A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ) do if "%0" == "%%d:\SETUP" %%d: 40 | for %%d in ( A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ) do if "%0" == "%%d:\SETUP.BAT" %%d: 41 | for %%d in ( a b c d e f g h i j k l m n o p q r s t u v w x y z ) do if "%0" == "%%d:setup" %%d: 42 | for %%d in ( a b c d e f g h i j k l m n o p q r s t u v w x y z ) do if "%0" == "%%d:setup.bat" %%d: 43 | for %%d in ( a b c d e f g h i j k l m n o p q r s t u v w x y z ) do if "%0" == "%%d:\setup" %%d: 44 | for %%d in ( a b c d e f g h i j k l m n o p q r s t u v w x y z ) do if "%0" == "%%d:\setup.bat" %%d: 45 | cd \ 46 | 47 | :SkipDriveChange 48 | REM Verify we ar on drive with SETUP.BAT ************************************** 49 | if "%NOTEST%" == "y" goto DriveCheckPassed 50 | if exist SETUP.BAT goto DriveCheckPassed 51 | if exist FREEDOS\BIN\VFDUTIL.COM goto DriveCheckPassed 52 | goto FailDriveCheck 53 | 54 | :DriveCheckPassed 55 | REM Change to drive of SETUP.BAT with V8Power Tools *************************** 56 | FREEDOS\BIN\VFDUTIL.COM /c /p %0 57 | REM Set Drive of Installer **************************************************** 58 | :FDIDrive 59 | 60 | if "%1" == "RELOAD" goto SkipFDIDrive 61 | call FREEDOS\SETUP\FDIDRIVE.BAT PRE %0 62 | set FINSD=%RESULT% 63 | set RESULT= 64 | :SkipFDIDrive 65 | 66 | REM Set Boot Drive ************************************************************ 67 | :BootDrive 68 | 69 | if "%1" == "RELOAD" goto SkipBootDrive 70 | call FREEDOS\SETUP\FDIDRIVE.BAT PRE %COMSPEC% 71 | set FBOOTD=%RESULT% 72 | set RESULT= 73 | :SkipBootDrive 74 | 75 | REM Relaunch with FreeCOM shell *********************************************** 76 | :ReloadShell 77 | 78 | if "%NOTEST%" == "y" goto SkipReload 79 | if not exist FREEDOS\BIN\COMMAND.COM goto MissingFreeCOM 80 | FREEDOS\BIN\COMMAND.COM /E:2048 /C %0 RELOAD %1 %2 %3 %4 %5 %6 %7 %8 %9 81 | if errorlevel 1 goto FailReload 82 | goto Done 83 | 84 | :SkipReload 85 | 86 | REM Startup super simple environment free space test ************************** 87 | REM ensure a 1K (Plus a little) of free space is available in the environment. 88 | REM Should not need this, but here it is anyway. 89 | set _A=0123456789012345 90 | set _A=%_A%%_A%%_A%%_A%%_A%%_A% 91 | set _B=%_A% 92 | if "%_B%" == "" goto FailEnvTest 93 | set _C=%_B% 94 | if "%_C%" == "" goto FailEnvTest 95 | set _D=%_C% 96 | if "%_D%" == "" goto FailEnvTest 97 | set _E=%_D% 98 | if "%_E%" == "" goto FailEnvTest 99 | set _F=%_E% 100 | if "%_F%" == "" goto FailEnvTest 101 | set _G=%_F% 102 | if "%_G%" == "" goto FailEnvTest 103 | set _H=%_G% 104 | if "%_H%" == "" goto FailEnvTest 105 | set _I=%_H% 106 | if "%_I%" == "" goto FailEnvTest 107 | set _J=%_I% 108 | if "%_J%" == "" goto FailEnvTest 109 | set _K=%_J% 110 | if "%_K%" == "" goto FailEnvTest 111 | set _A= 112 | set _B= 113 | set _C= 114 | set _D= 115 | set _E= 116 | set _F= 117 | set _G= 118 | set _H= 119 | set _I= 120 | set _J= 121 | set _K= 122 | goto EnvPassed 123 | 124 | :FailEnvTest 125 | set _A= 126 | set _B= 127 | set _C= 128 | set _D= 129 | set _E= 130 | set _F= 131 | set _G= 132 | set _H= 133 | set _I= 134 | set _J= 135 | set _K= 136 | goto FailBadOS 137 | 138 | :EnvPassed 139 | 140 | REM Adjust Booted environment variables *************************************** 141 | :AdjustEnv 142 | 143 | if "%NOTEST%" == "" goto NoAdjustEnv 144 | set PATH=%FBOOTD%%PATH% 145 | set DOSDIR=%FBOOTD%%DOSDIR% 146 | set AUTOFILE=%FBOOTD%%AUTOFILE% 147 | set CFGFILE=%FBOOTD%%CFGFILE% 148 | if exist %DOSDIR%\NLS\NUL set NLSPATH=%DOSDIR%\NLS 149 | if exist %DOSDIR%\HELP\NUL set HELPPATH=%DOSDIR%\HELP 150 | 151 | :NoAdjustEnv 152 | 153 | REM Help Screen *************************************************************** 154 | if "%2" == "/?" goto ShowHelp 155 | if "%2" == "/h" goto ShowHelp 156 | if "%2" == "/H" goto ShowHelp 157 | if "%2" == "/help" goto ShowHelp 158 | if "%2" == "/HELP" goto ShowHelp 159 | if "%2" == "help" goto ShowHelp 160 | if "%2" == "HELP" goto ShowHelp 161 | goto NoHelpDisplay 162 | 163 | :ShowHelp 164 | vecho /k0 /p /fLightGreen FreeDOS /fLightCyan 1.3 /s- /fWhite + /fGray " Installer (" /fWhite FDI /fGray ") version 1.00." 165 | vecho /k0 Released Under GPL v2.0 License. 166 | vecho /k0 Copyright 2020 Jerome Shidel. /p 167 | vecho /k0 For advanced mode installation, use: /s- /fDarkGray ' "' /fWhite "SETUP adv" /fDarkGray '"' /fGray /p 168 | goto Done 169 | 170 | :NoHelpDisplay 171 | 172 | REM Adjust pathspec *********************************************************** 173 | set OLDPATH=%PATH% 174 | set PATH=%FINSD%\FREEDOS\BIN;%FINSD%\FREEDOS\SETUP 175 | 176 | REM Create Temporary Temp ***************************************************** 177 | call FREEDOS\SETUP\FDITEMP.BAT QUITE 178 | 179 | REM Run Installer ************************************************************* 180 | if "%1" == "RELOAD" shift 181 | if "%FDILANG%" == "" goto NoFDILANG 182 | if "%FDILANG%" == "ask" set FDILANG= 183 | set LANG=%FDILANG% 184 | :NoFDILANG 185 | CALL FREEDOS\SETUP\FDSETUP.BAT %1 %2 %3 %4 %5 %6 %7 %8 %9 186 | set FDILANG=%LANG% 187 | cd \ 188 | if not "%FDRIVE%" == "" %FDRIVE% 189 | cd \ 190 | 191 | REM Restore Settings ********************************************************** 192 | if not "%OLDPATH%" == "" set PATH=%OLDPATH% 193 | if not "%OLDTEMP%" == "" set TEMP=%OLDTEMP% 194 | 195 | goto Done 196 | 197 | REM Failed to locate this file ************************************************ 198 | :FailDriveCheck 199 | echo Unable to locate some files required for the installation. Please change to the 200 | echo drive that contains this installation program and try again. 201 | goto Done 202 | 203 | REM Failed to pass tests after shell reload *********************************** 204 | :FailBadOS 205 | echo Unable to run installer under the current operating system and/or its settings. 206 | echo Please boot the installer from one of the media provided for the installer. 207 | goto Done 208 | 209 | REM Failed to find FreeCOM shell ********************************************** 210 | :MissingFreeCOM 211 | echo Enable to locate FreeCOM shell. Unable to proceed without FreeCOM. 212 | goto Done 213 | 214 | REM Failed to perform shell reload ******************************************** 215 | :FailReload 216 | echo An error occurred while executing the FreeCOM shell. Please try to run the 217 | echo installer by booting one of the installation media that is available. 218 | goto Done 219 | 220 | :Done 221 | set OLDPATH= 222 | set OLDTEMP= 223 | set FDRIVE= 224 | set FTARGET= 225 | set FINSD= 226 | set FBOOTD= 227 | set NOTEST= 228 | 229 | REM End of Batch Script ******************************************************* 230 | :EndOfBatch 231 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/AUTOEXEC.086: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | REM - Updated AUTOEXEC file, for 8086/88 and 186 hardware 3 | 4 | REM - set basic environment 5 | 6 | set DOSDRV=$FDRIVE$ 7 | set DOSDIR=$FTARGET$ 8 | 9 | path %DOSDIR%\BIN 10 | if not exist %DOSDIR%\LINKS\NUL goto NOLINKS 11 | path %PATH%;%DOSDIR%\LINKS 12 | :NOLINKS 13 | 14 | set NLSPATH=%DOSDIR%\NLS 15 | set HELPPATH=%DOSDIR%\HELP 16 | 17 | set TEMP=%DOSDIR%\TEMP 18 | set TMP=%TEMP% 19 | 20 | set LANG=$FLANG$ 21 | set TZ=$TZ$ 22 | 23 | REM Emergency Mode, no drivers should be loaded 24 | if "%CONFIG%"=="1" goto END 25 | 26 | REM - Internationalization settings 27 | 28 | REM nlsfunc %DOSDIR%\BIN\COUNTRY.SYS 29 | REM display CON=(EGA,858,2) 30 | REM mode CON CP PREP=((858) %DOSDIR%\CPI\EGA.CPX) 31 | REM keyb - Not supported 32 | REM chcp 858 33 | REM mkeyb UK 34 | 35 | $LANG_SET$ 36 | 37 | set OS_NAME=$OS_NAME$ 38 | set OS_VERSION=$OS_VERSION$ 39 | 40 | REM - cfgfile and autofile might be deprecated in future 41 | REM - At boot, FreeDOS can use CONFIG.SYS, but it prefers FDCONFIG.SYS 42 | 43 | set CFGFILE=%DOSDRV%\CONFIG.SYS 44 | if exist %DOSDRV%\FDCONFIG.SYS set CFGFILE=%DOSDRV%\FDCONFIG.SYS 45 | set AUTOFILE=%0 46 | alias cfg=edit %CFGFILE% 47 | alias auto=edit %AUTOFILE% 48 | 49 | if not exist %DOSDIR%\BIN\DOSLFN.COM goto NOLFN 50 | lh %DOSDIR%\BIN\DOSLFN.COM 51 | REM - Add other stuff here once LFN is loaded.. 52 | :NOLFN 53 | 54 | REM - The CD extensions require a 386 or better 55 | REM - Networking support is unlikely on sub-386 hardware 56 | 57 | :CONFIGS 58 | REM - load other configs using external BAT files 59 | 60 | if not exist %DOSDIR%\BIN\FDASSIST.BAT goto NOASSIST 61 | call %DOSDIR%\BIN\FDASSIST.BAT 62 | :NOASSIST 63 | 64 | REM - additional customization and local settings 65 | 66 | set BLASTER=A220 I5 D1 H5 P330 67 | set DIRCMD=/O:GNE /Y 68 | set COPYCMD=/-Y 69 | 70 | alias reset=fdisk /reboot 71 | alias reboot=fdapm warmboot 72 | alias halt=fdapm poweroff 73 | alias shutdown=fdapm poweroff 74 | 75 | MEM /C /N 76 | 77 | REM - Display "Welcome to FreeDOS" 78 | if not exist %DOSDIR%\BIN\WELCOME.BAT goto NOWELCOME 79 | call %DOSDIR%\BIN\WELCOME.BAT 80 | :NOWELCOME 81 | 82 | :END 83 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/AUTOEXEC.186: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | REM - Updated AUTOEXEC file, for 8086/88 and 186 hardware 3 | 4 | REM - set basic environment 5 | 6 | set DOSDRV=$FDRIVE$ 7 | set DOSDIR=$FTARGET$ 8 | 9 | path %DOSDIR%\BIN 10 | if not exist %DOSDIR%\LINKS\NUL goto NOLINKS 11 | path %PATH%;%DOSDIR%\LINKS 12 | :NOLINKS 13 | 14 | set NLSPATH=%DOSDIR%\NLS 15 | set HELPPATH=%DOSDIR%\HELP 16 | 17 | set TEMP=%DOSDIR%\TEMP 18 | set TMP=%TEMP% 19 | 20 | set LANG=$FLANG$ 21 | set TZ=$TZ$ 22 | 23 | REM Emergency Mode, no drivers should be loaded 24 | if "%CONFIG%"=="1" goto END 25 | 26 | REM - Internationalization settings 27 | 28 | REM nlsfunc %DOSDIR%\BIN\COUNTRY.SYS 29 | REM display CON=(EGA,858,2) 30 | REM mode CON CP PREP=((858) %DOSDIR%\CPI\EGA.CPX) 31 | REM keyb - Not supported 32 | REM chcp 858 33 | REM mkeyb UK 34 | 35 | $LANG_SET$ 36 | 37 | set OS_NAME=$OS_NAME$ 38 | set OS_VERSION=$OS_VERSION$ 39 | 40 | REM - cfgfile and autofile might be deprecated in future 41 | REM - At boot, FreeDOS can use CONFIG.SYS, but it prefers FDCONFIG.SYS 42 | 43 | set CFGFILE=%DOSDRV%\CONFIG.SYS 44 | if exist %DOSDRV%\FDCONFIG.SYS set CFGFILE=%DOSDRV%\FDCONFIG.SYS 45 | set AUTOFILE=%0 46 | alias cfg=edit %CFGFILE% 47 | alias auto=edit %AUTOFILE% 48 | 49 | if not exist %DOSDIR%\BIN\DOSLFN.COM goto NOLFN 50 | lh %DOSDIR%\BIN\DOSLFN.COM 51 | REM - Add other stuff here once LFN is loaded.. 52 | :NOLFN 53 | 54 | REM - The CD extensions require a 386 or better 55 | REM - Networking support is unlikely on sub-386 hardware 56 | 57 | :CONFIGS 58 | REM - load other configs using external BAT files 59 | 60 | if not exist %DOSDIR%\BIN\FDASSIST.BAT goto NOASSIST 61 | call %DOSDIR%\BIN\FDASSIST.BAT 62 | :NOASSIST 63 | 64 | REM - additional customization and local settings 65 | 66 | set BLASTER=A220 I5 D1 H5 P330 67 | set DIRCMD=/O:GNE /Y 68 | set COPYCMD=/-Y 69 | 70 | alias reset=fdisk /reboot 71 | alias reboot=fdapm warmboot 72 | alias halt=fdapm poweroff 73 | alias shutdown=fdapm poweroff 74 | 75 | MEM /C /N 76 | 77 | REM - Display "Welcome to FreeDOS" 78 | if not exist %DOSDIR%\BIN\WELCOME.BAT goto NOWELCOME 79 | call %DOSDIR%\BIN\WELCOME.BAT 80 | :NOWELCOME 81 | 82 | :END 83 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/AUTOEXEC.286: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | REM - Updated AUTOEXEC file, for 286 hardware 3 | 4 | REM - set basic environment 5 | 6 | set DOSDRV=$FDRIVE$ 7 | set DOSDIR=$FTARGET$ 8 | 9 | path %DOSDIR%\BIN 10 | if not exist %DOSDIR%\LINKS\NUL goto NOLINKS 11 | path %PATH%;%DOSDIR%\LINKS 12 | :NOLINKS 13 | 14 | set NLSPATH=%DOSDIR%\NLS 15 | set HELPPATH=%DOSDIR%\HELP 16 | 17 | set TEMP=%DOSDIR%\TEMP 18 | set TMP=%TEMP% 19 | 20 | set LANG=$FLANG$ 21 | set TZ=$TZ$ 22 | 23 | REM Emergency Mode, no drivers should be loaded 24 | if "%CONFIG%"=="3" goto END 25 | 26 | REM - Internationalization settings 27 | 28 | REM nlsfunc %DOSDIR%\BIN\COUNTRY.SYS 29 | REM display CON=(EGA,858,2) 30 | REM mode CON CP PREP=((858) %DOSDIR%\CPI\EGA.CPX) 31 | REM keyb US,858,%DOSDIR%\BIN\KEYBOARD.SYS 32 | REM chcp 858 33 | REM mkeyb UK 34 | 35 | $LANG_SET$ 36 | 37 | set OS_NAME=$OS_NAME$ 38 | set OS_VERSION=$OS_VERSION$ 39 | 40 | REM - cfgfile and autofile might be deprecated in future 41 | REM - At boot, FreeDOS can use CONFIG.SYS, but it prefers FDCONFIG.SYS 42 | 43 | set CFGFILE=%DOSDRV%\CONFIG.SYS 44 | if exist %DOSDRV%\FDCONFIG.SYS set CFGFILE=%DOSDRV%\FDCONFIG.SYS 45 | set AUTOFILE=%0 46 | alias cfg=edit %CFGFILE% 47 | alias auto=edit %AUTOFILE% 48 | 49 | if "%CONFIG%"=="2" goto DOSLOW 50 | goto DOSHIGH 51 | 52 | :DOSLOW 53 | ctmouse 54 | goto CONFIGS 55 | 56 | :DOSHIGH 57 | 58 | lh fdapm APMDOS 59 | lh ctmouse 60 | REM lh share 61 | 62 | if not exist %DOSDIR%\BIN\DOSLFN.COM goto NOLFN 63 | lh %DOSDIR%\BIN\DOSLFN.COM 64 | REM - Add other stuff here once LFN is loaded.. 65 | :NOLFN 66 | 67 | REM - The CD extensions require a 386 or better 68 | REM - Networking support is unlikely on sub-386 hardware 69 | 70 | :CONFIGS 71 | REM - load other configs using external BAT files 72 | 73 | if not exist %DOSDIR%\BIN\FDASSIST.BAT goto NOASSIST 74 | call %DOSDIR%\BIN\FDASSIST.BAT 75 | :NOASSIST 76 | 77 | REM - additional customization and local settings 78 | 79 | set BLASTER=A220 I5 D1 H5 P330 80 | set DIRCMD=/O:GNE /Y 81 | set COPYCMD=/-Y 82 | 83 | alias reset=fdisk /reboot 84 | alias reboot=fdapm warmboot 85 | alias halt=fdapm poweroff 86 | alias shutdown=fdapm poweroff 87 | 88 | MEM /C /N 89 | 90 | REM - Display "Welcome to FreeDOS" 91 | if not exist %DOSDIR%\BIN\WELCOME.BAT goto NOWELCOME 92 | call %DOSDIR%\BIN\WELCOME.BAT 93 | :NOWELCOME 94 | 95 | :END 96 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/AUTOEXEC.DBX: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | REM - Updated AUTOEXEC file, for DOSBox Hybrid install 3 | 4 | REM FreeDOS specific $AUTOEXEC$ file for DOSBox in a Hybrid install. A Hybrid install 5 | REM uses the FreeDOS command line interpreter and the DOSBox kernel. This permits 6 | REM direct access to the HOST directories mounted drives in DOSBox without the need 7 | REM for networking or shutting down the DOS instance. You may wish to have your 8 | REM Z:\$AUTOEXEC$ file check for and automatically launch this batch file 9 | REM at DOSBox startup. Please note that many very low level programs that talk directly 10 | REM to hard disks (like defrag) will not function using a Hybrid Install. 11 | 12 | REM - Load the command line interpreter or set up the DOS environment. 13 | if "%1" == "$OS_NAME$" goto ShellLoaded 14 | C: 15 | CD\ 16 | if not exist $FTARGET$\bin\command.com goto END 17 | $FTARGET$\bin\command.com /e:2048 /k %0 $OS_NAME$ 18 | goto END 19 | 20 | :ShellLoaded 21 | 22 | REM - set basic environment 23 | 24 | set DOSDRV=$FDRIVE$ 25 | set DOSDIR=$FTARGET$ 26 | 27 | REM - set the executable search path 28 | set OLDPATH=%PATH% 29 | path %DOSDIR%\BIN 30 | if not exist %DOSDIR%\LINKS\NUL goto NOLINKS 31 | path %PATH%;%DOSDIR%\LINKS 32 | :NOLINKS 33 | if "%OLDPATH%" == "" goto NOOLDPATH 34 | path %PATH%;%OLDPATH% 35 | :NOOLDPATH 36 | set OLDPATH= 37 | 38 | set NLSPATH=%DOSDIR%\NLS 39 | set HELPPATH=%DOSDIR%\HELP 40 | 41 | set TEMP=%DOSDIR%\TEMP 42 | set TMP=%TEMP% 43 | if not exist %TEMP%\NUL mkdir %TEMP% 44 | 45 | set LANG=$FLANG$ 46 | set TZ=$TZ$ 47 | 48 | REM - Internationalization settings 49 | 50 | REM nlsfunc %DOSDIR%\BIN\COUNTRY.SYS 51 | REM display CON=(EGA,858,2) 52 | REM mode CON CP PREP=((858) %DOSDIR%\CPI\EGA.CPX) 53 | REM keyb US,858,%DOSDIR%\BIN\KEYBOARD.SYS 54 | REM chcp 858 55 | REM mkeyb UK 56 | 57 | $LANG_SET$ 58 | 59 | set OS_NAME=$OS_NAME$ 60 | set OS_VERSION=$OS_VERSION$ 61 | 62 | REM - cfgfile and autofile might be deprecated in future 63 | REM - At boot, FreeDOS can use CONFIG.SYS, but it prefers FDCONFIG.SYS 64 | 65 | set CFGFILE=%DOSDRV%\CONFIG.SYS 66 | if exist %DOSDRV%\FDCONFIG.SYS set CFGFILE=%DOSDRV%\FDCONFIG.SYS 67 | set AUTOFILE=%0 68 | alias cfg=edit %CFGFILE% 69 | alias auto=edit %AUTOFILE% 70 | 71 | REM - Neither APM or MOUSE drivers are required 72 | REM lh fdapm APMDOS 73 | REM lh ctmouse 74 | REM lh share 75 | 76 | if not exist %DOSDIR%\BIN\FDNET.BAT goto NONET 77 | call %DOSDIR%\BIN\FDNET.BAT 78 | REM - if errorlevel 1 goto NONET 79 | REM - Add other stuff here once FDNET is loaded.. 80 | :NONET 81 | 82 | REM - load other configs using external BAT files 83 | 84 | if not exist %DOSDIR%\BIN\FDASSIST.BAT goto NOASSIST 85 | call %DOSDIR%\BIN\FDASSIST.BAT 86 | :NOASSIST 87 | 88 | REM - additional customization and local settings 89 | 90 | set BLASTER=A220 I5 D1 H5 P330 91 | set DIRCMD=/O:GNE /Y 92 | set COPYCMD=/-Y 93 | 94 | alias reset=fdisk /reboot 95 | alias reboot=fdapm warmboot 96 | alias halt=fdapm poweroff 97 | alias shutdown=fdapm poweroff 98 | 99 | MEM /C /N 100 | 101 | REM - Display "Welcome to FreeDOS" 102 | if not exist %DOSDIR%\BIN\WELCOME.BAT goto NOWELCOME 103 | call %DOSDIR%\BIN\WELCOME.BAT 104 | :NOWELCOME 105 | 106 | :END 107 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/AUTOEXEC.DEF: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | REM - Updated AUTOEXEC file, for 386 or better hardware 3 | 4 | REM - set basic environment 5 | 6 | set DOSDRV=$FDRIVE$ 7 | set DOSDIR=$FTARGET$ 8 | 9 | path %DOSDIR%\BIN 10 | if not exist %DOSDIR%\LINKS\NUL goto NOLINKS 11 | path %PATH%;%DOSDIR%\LINKS 12 | :NOLINKS 13 | 14 | set NLSPATH=%DOSDIR%\NLS 15 | set HELPPATH=%DOSDIR%\HELP 16 | 17 | set TEMP=%DOSDIR%\TEMP 18 | set TMP=%TEMP% 19 | 20 | set LANG=$FLANG$ 21 | set TZ=$TZ$ 22 | 23 | REM Emergency Mode, no drivers should be loaded 24 | if "%CONFIG%"=="5" goto END 25 | 26 | REM - Internationalization settings 27 | 28 | REM nlsfunc %DOSDIR%\BIN\COUNTRY.SYS 29 | REM display CON=(EGA,858,2) 30 | REM mode CON CP PREP=((858) %DOSDIR%\CPI\EGA.CPX) 31 | REM keyb US,858,%DOSDIR%\BIN\KEYBOARD.SYS 32 | REM chcp 858 33 | REM mkeyb UK 34 | 35 | $LANG_SET$ 36 | 37 | set OS_NAME=$OS_NAME$ 38 | set OS_VERSION=$OS_VERSION$ 39 | 40 | REM - cfgfile and autofile might be deprecated in future 41 | REM - At boot, FreeDOS can use CONFIG.SYS, but it prefers FDCONFIG.SYS 42 | 43 | set CFGFILE=%DOSDRV%\CONFIG.SYS 44 | if exist %DOSDRV%\FDCONFIG.SYS set CFGFILE=%DOSDRV%\FDCONFIG.SYS 45 | set AUTOFILE=%0 46 | alias cfg=edit %CFGFILE% 47 | alias auto=edit %AUTOFILE% 48 | 49 | if "%CONFIG%"=="4" goto DOSLOW 50 | goto DOSHIGH 51 | 52 | :DOSLOW 53 | ctmouse 54 | goto CONFIGS 55 | 56 | :DOSHIGH 57 | 58 | lh fdapm APMDOS 59 | lh ctmouse 60 | REM lh share 61 | 62 | if not exist %DOSDIR%\BIN\DOSLFN.COM goto NOLFN 63 | lh %DOSDIR%\BIN\DOSLFN.COM 64 | REM - Add other stuff here once LFN is loaded.. 65 | :NOLFN 66 | 67 | if not exist %DOSDIR%\BIN\CDROM.BAT goto NOCDROM 68 | call %DOSDIR%\BIN\CDROM.BAT 69 | REM - Add other stuff here once CDROM is loaded.. 70 | :NOCDROM 71 | 72 | if not exist %DOSDIR%\BIN\FDNET.BAT goto NONET 73 | call %DOSDIR%\BIN\FDNET.BAT 74 | REM - if errorlevel 1 goto NONET 75 | REM - Add other stuff here once FDNET is loaded.. 76 | :NONET 77 | 78 | :CONFIGS 79 | REM - load other configs using external BAT files 80 | 81 | if not exist %DOSDIR%\BIN\FDASSIST.BAT goto NOASSIST 82 | call %DOSDIR%\BIN\FDASSIST.BAT 83 | :NOASSIST 84 | 85 | REM - additional customization and local settings 86 | 87 | set BLASTER=A220 I5 D1 H5 P330 88 | set DIRCMD=/O:GNE /Y 89 | set COPYCMD=/-Y 90 | 91 | alias reset=fdisk /reboot 92 | alias reboot=fdapm warmboot 93 | alias halt=fdapm poweroff 94 | alias shutdown=fdapm poweroff 95 | 96 | MEM /C /N 97 | 98 | REM - Display drive for CD-ROM 99 | if not exist %DOSDIR%\BIN\CDROM.BAT goto NOCDSTATUS 100 | echo. 101 | call %DOSDIR%\BIN\CDROM.BAT status 102 | :NOCDSTATUS 103 | 104 | REM - Display "Welcome to FreeDOS" 105 | if not exist %DOSDIR%\BIN\WELCOME.BAT goto NOWELCOME 106 | call %DOSDIR%\BIN\WELCOME.BAT 107 | :NOWELCOME 108 | 109 | :END 110 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/AUTOEXEC.VBX: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | REM - Updated AUTOEXEC file, for VirtualBox 3 | 4 | REM - set basic environment 5 | 6 | set DOSDRV=$FDRIVE$ 7 | set DOSDIR=$FTARGET$ 8 | 9 | path %DOSDIR%\BIN 10 | if not exist %DOSDIR%\LINKS\NUL goto NOLINKS 11 | path %PATH%;%DOSDIR%\LINKS 12 | :NOLINKS 13 | 14 | set NLSPATH=%DOSDIR%\NLS 15 | set HELPPATH=%DOSDIR%\HELP 16 | 17 | set TEMP=%DOSDIR%\TEMP 18 | set TMP=%TEMP% 19 | 20 | set LANG=$FLANG$ 21 | set TZ=$TZ$ 22 | 23 | REM Emergency Mode, no drivers should be loaded 24 | if "%CONFIG%"=="4" goto END 25 | 26 | REM - Internationalization settings 27 | 28 | REM nlsfunc %DOSDIR%\BIN\COUNTRY.SYS 29 | REM display CON=(EGA,858,2) 30 | REM mode CON CP PREP=((858) %DOSDIR%\CPI\EGA.CPX) 31 | REM keyb US,858,%DOSDIR%\BIN\KEYBOARD.SYS 32 | REM chcp 858 33 | REM mkeyb UK 34 | 35 | $LANG_SET$ 36 | 37 | set OS_NAME=$OS_NAME$ 38 | set OS_VERSION=$OS_VERSION$ 39 | 40 | REM - cfgfile and autofile might be deprecated in future 41 | REM - At boot, FreeDOS can use CONFIG.SYS, but it prefers FDCONFIG.SYS 42 | 43 | set CFGFILE=%DOSDRV%\CONFIG.SYS 44 | if exist %DOSDRV%\FDCONFIG.SYS set CFGFILE=%DOSDRV%\FDCONFIG.SYS 45 | set AUTOFILE=%0 46 | alias cfg=edit %CFGFILE% 47 | alias auto=edit %AUTOFILE% 48 | 49 | if "%CONFIG%"=="3" goto DOSLOW 50 | goto DOSHIGH 51 | 52 | :DOSLOW 53 | ctmouse 54 | goto CONFIGS 55 | 56 | :DOSHIGH 57 | 58 | lh fdapm APMDOS 59 | lh ctmouse 60 | REM lh share 61 | 62 | if not exist %DOSDIR%\BIN\DOSLFN.COM goto NOLFN 63 | lh %DOSDIR%\BIN\DOSLFN.COM 64 | REM - Add other stuff here once LFN is loaded.. 65 | :NOLFN 66 | 67 | if not exist %DOSDIR%\BIN\CDROM.BAT goto NOCDROM 68 | call %DOSDIR%\BIN\CDROM.BAT 69 | REM - Add other stuff here once CDROM is loaded.. 70 | :NOCDROM 71 | 72 | if not exist %DOSDIR%\BIN\FDNET.BAT goto NONET 73 | call %DOSDIR%\BIN\FDNET.BAT 74 | REM - if errorlevel 1 goto NONET 75 | REM - Add other stuff here once FDNET is loaded.. 76 | :NONET 77 | 78 | :CONFIGS 79 | REM - load other configs using external BAT files 80 | 81 | if not exist %DOSDIR%\BIN\FDASSIST.BAT goto NOASSIST 82 | call %DOSDIR%\BIN\FDASSIST.BAT 83 | :NOASSIST 84 | 85 | REM - additional customization and local settings 86 | 87 | set BLASTER=A220 I5 D1 H5 P330 88 | set DIRCMD=/O:GNE /Y 89 | set COPYCMD=/-Y 90 | 91 | alias reset=fdisk /reboot 92 | alias reboot=fdapm warmboot 93 | alias halt=fdapm poweroff 94 | alias shutdown=fdapm poweroff 95 | 96 | MEM /C /N 97 | 98 | REM - Display drive for CD-ROM 99 | if not exist %DOSDIR%\BIN\CDROM.BAT goto NOCDSTATUS 100 | echo. 101 | call %DOSDIR%\BIN\CDROM.BAT status 102 | :NOCDSTATUS 103 | 104 | REM - Display "Welcome to FreeDOS" 105 | if not exist %DOSDIR%\BIN\WELCOME.BAT goto NOWELCOME 106 | call %DOSDIR%\BIN\WELCOME.BAT 107 | :NOWELCOME 108 | 109 | :END 110 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/CONFIG.086: -------------------------------------------------------------------------------- 1 | SET DOSDIR=$FTARGET$ 2 | 3 | !COUNTRY=$FCCC$,$FCKC$,$FTARGET$\BIN\COUNTRY.SYS 4 | !LASTDRIVE=Z 5 | !BUFFERS=20 6 | !FILES=40 7 | !MENUCOLOR=7,0 8 | 9 | MENUDEFAULT=1,5 10 | MENU 1 - Load FreeDOS with some drivers 11 | MENU 2 - Load FreeDOS without drivers (Emergency Mode) 12 | 13 | 12?SHELL=$FTARGET$\BIN\COMMAND.COM $FTARGET$\BIN /E:1024 /P=$FDRIVE$\$AUTOEXEC$ 14 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/CONFIG.186: -------------------------------------------------------------------------------- 1 | SET DOSDIR=$FTARGET$ 2 | 3 | !COUNTRY=$FCCC$,$FCKC$,$FTARGET$\BIN\COUNTRY.SYS 4 | !LASTDRIVE=Z 5 | !BUFFERS=20 6 | !FILES=40 7 | !MENUCOLOR=7,0 8 | 9 | MENUDEFAULT=1,5 10 | MENU 1 - Load FreeDOS with some drivers 11 | MENU 2 - Load FreeDOS without drivers (Emergency Mode) 12 | 13 | 12?SHELL=$FTARGET$\BIN\COMMAND.COM $FTARGET$\BIN /E:1024 /P=$FDRIVE$\$AUTOEXEC$ 14 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/CONFIG.286: -------------------------------------------------------------------------------- 1 | SET DOSDIR=$FTARGET$ 2 | 3 | !COUNTRY=$FCCC$,$FCKC$,$FTARGET$\BIN\COUNTRY.SYS 4 | !LASTDRIVE=Z 5 | !BUFFERS=20 6 | !FILES=40 7 | !MENUCOLOR=7,0 8 | 9 | MENUDEFAULT=1,5 10 | MENU 1 - Load FreeDOS with XMS Support 11 | MENU 2 - Load FreeDOS low with some drivers (Safe Mode) 12 | MENU 3 - Load FreeDOS without drivers (Emergency Mode) 13 | 14 | 12?DOS=HIGH 15 | 12?DOS=UMB 16 | 12?DOSDATA=UMB 17 | 1?DEVICE=$FTARGET$\BIN\FDXMS286.SYS 18 | 19 | REM 1?DEVICE=$FTARGET$\BIN\LOGGER.COM MONO 128 XMS 20 | 21 | 23?SHELL=$FTARGET$\BIN\COMMAND.COM $FTARGET$\BIN /E:1024 /P=$FDRIVE$\$AUTOEXEC$ 22 | 1?SHELLHIGH=$FTARGET$\BIN\COMMAND.COM $FTARGET$\BIN /E:1024 /P=$FDRIVE$\$AUTOEXEC$ 23 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/CONFIG.DBX: -------------------------------------------------------------------------------- 1 | This file is not used by DOSBox Hybrid Install. -------------------------------------------------------------------------------- /FDISETUP/SETUP/CONFIG.DEF: -------------------------------------------------------------------------------- 1 | SET DOSDIR=$FTARGET$ 2 | 3 | !COUNTRY=$FCCC$,$FCKC$,$FTARGET$\BIN\COUNTRY.SYS 4 | !LASTDRIVE=Z 5 | !BUFFERS=20 6 | !FILES=40 7 | !MENUCOLOR=7,0 8 | 9 | MENUDEFAULT=2,5 10 | MENU 1 - Load FreeDOS with JEMMEX, no EMS (most UMBs), max RAM free 11 | MENU 2 - Load FreeDOS with JEMMEX (more compatible) 12 | MENU 3 - Load FreeDOS with JEMM386 (Expanded Memory) 13 | MENU 4 - Load FreeDOS low with some drivers (Safe Mode) 14 | MENU 5 - Load FreeDOS without drivers (Emergency Mode) 15 | 16 | 123?DOS=HIGH 17 | 123?DOS=UMB 18 | 123?DOSDATA=UMB 19 | 20 | 1?DEVICE=$FTARGET$\BIN\JEMMEX.EXE NOEMS X=TEST I=TEST NOVME NOINVLPG 21 | 2?DEVICE=$FTARGET$\BIN\JEMMEX.EXE NOEMS X=TEST NOVME NOINVLPG 22 | 34?DEVICE=$FTARGET$\BIN\HIMEMX.EXE 23 | 3?DEVICE=$FTARGET$\BIN\JEMM386.EXE X=TEST NOVME NOINVLPG 24 | 25 | REM 123?DEVICEHIGH=$FTARGET$\BIN\LOGGER.COM COLOR 256 XMS MONO 128 XMS 26 | 27 | 12?SHELLHIGH=$FTARGET$\BIN\COMMAND.COM $FTARGET$\BIN /E:1024 /P=$FDRIVE$\$AUTOEXEC$ 28 | 345?SHELL=$FTARGET$\BIN\COMMAND.COM $FTARGET$\BIN /E:1024 /P=$FDRIVE$\$AUTOEXEC$ 29 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/CONFIG.VBX: -------------------------------------------------------------------------------- 1 | SET DOSDIR=$FTARGET$ 2 | 3 | !COUNTRY=$FCCC$,$FCKC$,$FTARGET$\BIN\COUNTRY.SYS 4 | !LASTDRIVE=Z 5 | !BUFFERS=20 6 | !FILES=40 7 | !MENUCOLOR=7,0 8 | 9 | MENUDEFAULT=1,5 10 | MENU 1 - Load FreeDOS with JEMM386 (no EMS, max RAM free) 11 | MENU 2 - Load FreeDOS with JEMM386 (Expanded Memory) 12 | MENU 3 - Load FreeDOS low with some drivers (Safe Mode) 13 | MENU 4 - Load FreeDOS without drivers (Emergency Mode) 14 | 15 | 12?DOS=HIGH 16 | 12?DOS=UMB 17 | 12?DOSDATA=UMB 18 | 123?DEVICE=$FTARGET$\BIN\HIMEMX.EXE 19 | 1?DEVICE=$FTARGET$\BIN\JEMM386.EXE NOEMS X=TEST I=TEST I=B000-B7FF NOVME NOINVLPG 20 | 2?DEVICE=$FTARGET$\BIN\JEMM386.EXE X=TEST I=TEST I=B000-B7FF NOVME NOINVLPG 21 | 22 | REM 12?DEVICEHIGH=$FTARGET$\BIN\LOGGER.COM COLOR 256 XMS MONO 128 XMS MONO 32 UMB 23 | 24 | 34?SHELL=$FTARGET$\BIN\COMMAND.COM $FTARGET$\BIN /E:1024 /P=$FDRIVE$\$AUTOEXEC$ 25 | 12?SHELLHIGH=$FTARGET$\BIN\COMMAND.COM $FTARGET$\BIN /E:1024 /P=$FDRIVE$\$AUTOEXEC$ 26 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDASK000.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Keyboard Keymap selection 4 | 5 | if "%KLST%" == "y" goto KBAdv 6 | 7 | REM Remove the REM statements to only show keyboard layout selection for 8 | REM non-English or advanced mode users. 9 | 10 | REM if "%FADV%" == "y" goto KBSimple 11 | REM if "%LANG%" == "EN" goto Done 12 | 13 | :KBSimple 14 | set KLST= 15 | set KTT=1 16 | if "%LANG%" == "ES" set KTT=3 17 | if "%LANG%" == "FR" set KTT=4 18 | if "%LANG%" == "DE" set KTT=5 19 | if "%LANG%" == "NL" set KTT=6 20 | if "%LANG%" == "TR" set KTT=7 21 | if "%LANG%" == "RU" set KTT=8 22 | 23 | vcls /f %TSF% /b %TSB% /c %TSC% /y2 /h24 24 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% KBS_FRAME 25 | vecho /k0 /t %FLANG% KBS? 26 | vframe /p0 /b %TFB% /f %TFF% optionbox /t %FLANG% KBS_OPTS 27 | vecho /k0 /n /t %FLANG% KBO.1 28 | vecho /k0 /n /t %FLANG% KBO.2 29 | vecho /k0 /n /t %FLANG% KBM 30 | vchoice /k0 /a %TFC% Ctrl-C /d %KTT% 31 | 32 | if errorlevel 200 FDICTRLC.BAT %0 33 | if errorlevel 1 set FKB=1 34 | if errorlevel 2 set FKB=2 35 | if errorlevel 3 set FKB=3 36 | if errorlevel 4 set FKB=4 37 | if errorlevel 5 set FKB=5 38 | if errorlevel 6 set FKB=6 39 | if errorlevel 7 set FKB=7 40 | rem if errorlevel 8 set FKB=8 41 | if errorlevel 8 goto KBAdv 42 | goto Done 43 | 44 | :KBPolling 45 | if errorlevel 109 goto ScrollDown 46 | if errorlevel 102 goto ListChange 47 | if errorlevel 101 goto ScrollUp 48 | :ListChange 49 | if errorlevel 102 set KBI=2 50 | if errorlevel 103 set KBI=3 51 | if errorlevel 104 set KBI=4 52 | if errorlevel 105 set KBI=5 53 | if errorlevel 106 set KBI=6 54 | if errorlevel 107 set KBI=7 55 | if errorlevel 108 set KBI=8 56 | goto KBPoll 57 | 58 | :ScrollUp 59 | if "%KBP%" == "99" goto AtTop 60 | :UpCheck 61 | vmath %KBP% - 1 | set /p KTT= 62 | if "%KTT%" == "" goto UpCheck 63 | set KBP=%KTT% 64 | :TopCheck 65 | vmath %KBP% + 1 | set /p KTT= 66 | if "%KTT%" == "" goto TopCheck 67 | vgotoxy /k0 sop 68 | vinsert /k0 69 | vecho /k0 /n /e /c32 /t %LANG%\KEYBOARD.LST TITLE.%KTT% 70 | goto KBPoll 71 | :AtTop 72 | set KBI=1 73 | goto KBPoll 74 | 75 | :ScrollDown 76 | vmath %KBP% + 9 | set /p KTT= 77 | if "%KTT%" == "" goto ScrollDown 78 | if "%KTT%" == "%KBM%" goto AtBottom 79 | :DownCheck 80 | vmath %KBP% + 1 | set /p KTT= 81 | if "%KTT%" == "" goto DownCheck 82 | set KBP=%KTT% 83 | :BottomCheck 84 | vmath %KBP% + 9 | set /p KTT= 85 | if "%KTT%" == "" goto BottomCheck 86 | vgotoxy /k0 sop 87 | vdelete /k0 88 | vgotoxy /k0 eop sor 89 | if "%KTT%" == "%KBM%" goto ReturnOption 90 | vecho /k0 /n /e /c32 /t %LANG%\KEYBOARD.LST TITLE.%KTT% 91 | goto KBPoll 92 | :ReturnOption 93 | vecho /k0 /n /t %FLANG% KBL 94 | goto KBPoll 95 | :AtBottom 96 | set KBI=9 97 | goto KBPoll 98 | 99 | :KBAdv 100 | if not exist %LANG%\KEYBOARD.LST goto KBSimple 101 | :CountCheck 102 | type %LANG%\KEYBOARD.LST | grep -i "^TITLE." | vstr /B/L TOTAL | set /p KBM= 103 | if "%KBM%" == "" goto CountCheck 104 | :GetMaxLine 105 | vmath %KBM% - 1 | set /p KTT= 106 | if "%KTT%" == "" goto GetMaxLine 107 | set KBM=%KTT% 108 | :GetMaxValue 109 | type %LANG%\KEYBOARD.LST|grep -i "^TITLE."|vstr /B/L%KBM%|vstr /f. 2|vstr /f= 1|set /p KTT= 110 | if "%KTT%" == "" goto GetMaxValue 111 | set KBM=%KTT% 112 | :AddReturnCheck 113 | vmath %KBM% + 1 | set /p KTT= 114 | if "%KTT%" == "" goto AddReturnCheck 115 | set KBM=%KTT% 116 | set KTT= 117 | 118 | set KLST=y 119 | set KBI=1 120 | set KBP=99 121 | 122 | vcls /f %TSF% /b %TSB% /c %TSC% /y2 /h24 123 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% KBA_FRAME 124 | 125 | vecho /k0 /c32 /t %LANG%\KEYBOARD.LST TITLE.100 126 | vecho /k0 /c32 /t %LANG%\KEYBOARD.LST TITLE.101 127 | vecho /k0 /c32 /t %LANG%\KEYBOARD.LST TITLE.102 128 | vecho /k0 /c32 /t %LANG%\KEYBOARD.LST TITLE.103 129 | vecho /k0 /c32 /t %LANG%\KEYBOARD.LST TITLE.104 130 | vecho /k0 /c32 /t %LANG%\KEYBOARD.LST TITLE.105 131 | vecho /k0 /c32 /t %LANG%\KEYBOARD.LST TITLE.106 132 | vecho /k0 /c32 /t %LANG%\KEYBOARD.LST TITLE.107 133 | vecho /k0 /n /c32 /t %LANG%\KEYBOARD.LST TITLE.108 134 | 135 | :KBPoll 136 | set KBT= 137 | set KTT= 138 | vchoice /k0 /a %TFC% Ctrl-C /p %KBI% 139 | 140 | if errorlevel 200 FDICTRLC.BAT %0 141 | if errorlevel 101 goto KBPolling 142 | if errorlevel 1 set FKB=1 143 | if errorlevel 2 set FKB=2 144 | if errorlevel 3 set FKB=3 145 | if errorlevel 4 set FKB=4 146 | if errorlevel 5 set FKB=5 147 | if errorlevel 6 set FKB=6 148 | if errorlevel 7 set FKB=7 149 | if errorlevel 8 set FKB=8 150 | if errorlevel 9 set FKB=9 151 | 152 | :FigureItOut 153 | vmath %KBP% + %FKB% | set /p KTT= 154 | if "%KTT%" == "" goto FigureItOut 155 | set FKB=%KTT% 156 | if "%FKB%" == "%KBM%" goto KBSimple 157 | 158 | :Done 159 | set KLST= 160 | set KBI= 161 | set KBP= 162 | set KBM= 163 | set KTT= 164 | verrlvl 0 -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDASK100.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Configure Target Drive and Directory. 4 | 5 | if "%FTSET%" == "y" goto Done 6 | if "%FADV%" == "y" goto AskAdvanced 7 | goto Done 8 | 9 | :AskAdvanced 10 | vcls /f %TSF% /b %TSB% /c %TSC% /y2 /h24 11 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% TARGET_FRAME 12 | vecho /k0 /t %FLANG% TARGET? 13 | vecho /p /c32 /n 14 | :RepeatAsk 15 | vask /c /t %FLANG% TARGET_ASK %TQF% %TQB% %FWAIT% %FTARGET% | set /p TTARGET= 16 | if errorlevel 200 FDICTRLC.BAT %0 17 | vfdutil /p %TTARGET%\ | set /p TTARGET= 18 | if "%TTARGET%" == "" goto RepeatAsk 19 | vinfo /d %TTARGET% 20 | if errorlevel 6 goto RepeatAsk 21 | if errorlevel 5 goto Accept 22 | if errorlevel 3 goto RepeatAsk 23 | 24 | :Accept 25 | rem vgotoxy /k0 sol 26 | rem vecho /k0 /n /e %TTARGET% 27 | set FTARGET=%TTARGET% 28 | set TTARGET= 29 | vfdutil /d %FTARGET% | set /p FDRIVE= 30 | verrlvl 0 31 | set FTSET=y 32 | goto Skipped 33 | 34 | :Done 35 | set FTSET= 36 | vfdutil /d %FTARGET% | set /p FDRIVE= 37 | verrlvl 0 38 | 39 | :Skipped 40 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDASK200.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | rem ask about backing up previous OS 4 | 5 | if "%FDIDFMT%" == "y" goto SkipBackup 6 | if exist %FDRIVE%\FDAUTO.BAT goto QueryBackup 7 | if exist %FDRIVE%\AUTOEXEC.BAT goto QueryBackup 8 | if exist %FDRIVE%\CONFIG.SYS goto QueryBackup 9 | if exist %FDRIVE%\FDCONFIG.SYS goto QueryBackup 10 | if exist %FDRIVE%\KERNEL.SYS goto QueryBackup 11 | if exist %FDRIVE%\COMMAND.COM goto QueryBackup 12 | if exist %FDRIVE%\DRDOS.386 goto QueryBackup 13 | if exist %FDRIVE%\WINA20.386 goto QueryBackup 14 | if exist %FDRIVE%\IBMBIO.COM goto QueryBackup 15 | if exist %FDRIVE%\IBMDOS.COM goto QueryBackup 16 | if exist %FDRIVE%\IO.SYS copy goto QueryBackup 17 | if exist %FDRIVE%\MSDOS.SYS goto QueryBackup 18 | if exist %FTARGET%\NUL goto QueryBackup 19 | goto SkipBackup 20 | 21 | :QueryBackup 22 | if "%FADV%" == "y" goto QueryBackupAdv 23 | 24 | vcls /f %TSF% /b %TSB% /c %TSC% /y2 /h24 25 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% BACKUP_FRAME 26 | vecho /k0 /t %FLANG% BACKUP %TFH% %FDRIVE% %TFF% 27 | vecho /k0 28 | vecho /k0 /t %FLANG% BACKUP? 29 | vframe /p0 /b %TFB% /f %TFF% optionbox /t %FLANG% BACKUP_OPTS 30 | vecho /k0 /t %FLANG% BACKUPY 31 | vecho /k0 /n /t %FLANG% BACKUPN 32 | vchoice /k0 /a %TFC% Ctrl-C /d 1 33 | 34 | if errorlevel 200 FDICTRLC.BAT %0 35 | if errorlevel 2 goto SkipBackup 36 | 37 | set OBAK=y 38 | verrlvl 0 39 | goto Done 40 | 41 | :QueryBackupAdv 42 | vcls /f %TSF% /b %TSB% /c %TSC% /y2 /h24 43 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% BACKUPADV_FRAME 44 | vecho /k0 /t %FLANG% BACKUP %TFH% %FDRIVE% %TFF% 45 | vecho /k0 46 | vecho /k0 /t %FLANG% BACKUP? 47 | vframe /p0 /b %TFB% /f %TFF% optionbox /t %FLANG% BACKUPADV_OPTS 48 | vecho /k0 /t %FLANG% BACKUPY 49 | vecho /k0 /t %FLANG% BACKUPZ 50 | vecho /k0 /n /t %FLANG% BACKUPN 51 | vchoice /k0 /a %TFC% Ctrl-C /d 1 52 | 53 | if errorlevel 200 FDICTRLC.BAT %0 54 | if errorlevel 3 goto SkipBackup 55 | if errorlevel 2 goto ZipBackup 56 | 57 | set OBAK=y 58 | 59 | verrlvl 0 60 | goto Done 61 | 62 | :ZipBackup 63 | set OBAK=z 64 | verrlvl 0 65 | goto Done 66 | 67 | :SkipBackup 68 | set OBAK=n 69 | verrlvl 0 70 | 71 | :Done 72 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDASK300.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM if advanced mode prompt to replace system config files. 4 | 5 | if "%FADV%" == "" goto AssumeYes 6 | 7 | :AdvancedMode 8 | if exist %FDRIVE%\AUTOEXEC.BAT goto AskAdvanced 9 | if exist %FDRIVE%\FDAUTO.BAT goto AskAdvanced 10 | if exist %FDRIVE%\CONFIG.SYS goto AskAdvanced 11 | if exist %FDRIVE%\FDCONFIG.SYS goto AskAdvanced 12 | goto AssumeYes 13 | 14 | :AskAdvanced 15 | vcls /f %TSF% /b %TSB% /c %TSC% /y2 /h24 16 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% REPLACE_FRAME 17 | vecho /k0 /t %FLANG% REPLACE? 18 | vecho /k0 19 | vframe /p0 /b %TFB% /f %TFF% optionbox /t %FLANG% REPLACE_OPTS 20 | vecho /k0 /t %FLANG% REPLACEY 21 | vecho /k0 /n /t %FLANG% REPLACEN 22 | vchoice /k0 /a %TFC% Ctrl-C /d 1 23 | 24 | if errorlevel 200 FDICTRLC.BAT %0 25 | if errorlevel 2 goto SkipOption 26 | 27 | :AssumeYes 28 | set OCFG=y 29 | verrlvl 0 30 | goto Done 31 | 32 | :SkipOption 33 | set OCFG=n 34 | verrlvl 0 35 | 36 | :Done 37 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDASK400.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM if advanced mode prompt to remove old OS files. 4 | 5 | if "%FADV%" == "" goto AssumeYes 6 | 7 | :AdvancedMode 8 | if exist %FTARGET%\NUL goto AskAdvanced 9 | goto AssumeYes 10 | 11 | :AskAdvanced 12 | vcls /f %TSF% /b %TSB% /c %TSC% /y2 /h24 13 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% DELETE_FRAME 14 | vecho /k0 /t %FLANG% DELETE? %TFH% %FTARGET% %TFF% 15 | vecho /k0 16 | vframe /p0 /b %TFB% /f %TFF% optionbox /t %FLANG% DELETE_OPTS 17 | vecho /k0 /t %FLANG% DELETEY 18 | vecho /k0 /n /t %FLANG% DELETEN 19 | vchoice /k0 /a %TFC% Ctrl-C /d 1 20 | 21 | if errorlevel 200 FDICTRLC.BAT %0 22 | if errorlevel 2 goto SkipOption 23 | 24 | :AssumeYes 25 | set OCLEAN=y 26 | verrlvl 0 27 | goto Done 28 | 29 | :SkipOption 30 | set OCLEAN=n 31 | verrlvl 0 32 | 33 | :Done 34 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDASK500.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM if advanced mode prompt for transfer system files. 4 | 5 | vinfo /m 6 | if errorlevel 102 goto NotDOSBox 7 | if errorlevel 101 goto IsDOSBox 8 | :NotDOSBox 9 | verrlvl 0 10 | 11 | if "%FADV%" == "" goto AssumeYes 12 | 13 | :AdvancedMode 14 | vcls /f %TSF% /b %TSB% /c %TSC% /y2 /h24 15 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% XFER_FRAME 16 | vecho /k0 /t %FLANG% XFER? %TFH% %FDRIVE% %TFF% 17 | vecho /k0 18 | vframe /p0 /b %TFB% /f %TFF% optionbox /t %FLANG% XFER_OPTS 19 | vecho /k0 /t %FLANG% XFERY 20 | vecho /k0 /n /t %FLANG% XFERN 21 | vchoice /k0 /a %TFC% Ctrl-C /d 1 22 | 23 | if errorlevel 200 FDICTRLC.BAT %0 24 | if errorlevel 2 goto SkipSysXfer 25 | 26 | :AssumeYes 27 | set OSYS=y 28 | verrlvl 0 29 | goto Done 30 | 31 | :IsDOSBox 32 | :SkipSysXfer 33 | set OSYS=n 34 | verrlvl 0 35 | 36 | :Done 37 | 38 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDASK600.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM maybe prompt for force MBR update if possible and not blank. 4 | 5 | vinfo /m 6 | if errorlevel 102 goto NotDOSBox 7 | if errorlevel 101 goto IsDOSBox 8 | :NotDOSBox 9 | verrlvl 0 10 | 11 | set OBPC=2 12 | 13 | if "%OSYS%" == "n" goto SkipSysXfer 14 | 15 | REM Find drive number where drive letter resides. 16 | set OBPD=1 17 | fdisk /info %OBPD% | grep "^ %FDRIVE%" >NUL 18 | if not errorlevel 1 goto DriveFound 19 | set OBPD=2 20 | fdisk /info %OBPD% | grep "^ %FDRIVE%" >NUL 21 | if not errorlevel 1 goto DriveFound 22 | set OBPD=3 23 | fdisk /info %OBPD% | grep "^ %FDRIVE%" >NUL 24 | if not errorlevel 1 goto DriveFound 25 | set OBPD=4 26 | fdisk /info %OBPD% | grep "^ %FDRIVE%" >NUL 27 | if not errorlevel 1 goto DriveFound 28 | set OBPD=5 29 | fdisk /info %OBPD% | grep "^ %FDRIVE%" >NUL 30 | if not errorlevel 1 goto DriveFound 31 | set OBPD=6 32 | fdisk /info %OBPD% | grep "^ %FDRIVE%" >NUL 33 | if not errorlevel 1 goto DriveFound 34 | set OBPD=7 35 | fdisk /info %OBPD% | grep "^ %FDRIVE%" >NUL 36 | if not errorlevel 1 goto DriveFound 37 | set OBPD=8 38 | fdisk /info %OBPD% | grep "^ %FDRIVE%" >NUL 39 | if not errorlevel 1 goto DriveFound 40 | set OBPD= 41 | set OBPN= 42 | goto SkipSysXfer 43 | 44 | :DriveFound 45 | fdisk /info %OBPD% | grep -i ^Contents | grep "^ %FDRIVE%" >NUL 46 | if not errorlevel 1 goto FindComplex 47 | 48 | :FindSimple 49 | set OBPN= 50 | fdisk /info %OBPD% | grep "^ %FDRIVE%" | vstr /b /f " " 3 | set /p OBPN= 51 | if "%OBPN%" == "" goto FindSimple 52 | goto FindCount 53 | 54 | :FindComplex 55 | set OBPN=? 56 | fdisk /info %OBPD% | grep -B 100 -i ^Contents | grep "^ %FDRIVE%" >NUL 57 | if errorlevel 1 goto PromptUser 58 | set OBPN= 59 | fdisk /info %OBPD% | grep -B 100 -i ^Contents | grep "^ %FDRIVE%" | vstr /b /f " " 3 | set /p OBPN= 60 | if "%OBPN%" == "" goto FindComplex 61 | 62 | REM FreeCOM 0.85a has a strange behaviour with sigle % on command line. 63 | REM see https://github.com/FDOS/freecom/issues/62 So this should be good. 64 | :FindCount 65 | set OBPC= 66 | fdisk /info %OBPD% | grep %% | vstr /b /l total | set /p OBPC= 67 | if "%OBPC%" == "" goto FindCount 68 | if "%OBPC%" == "0" goto FindCountAlt 69 | goto FindCountKnown 70 | :FindCountAlt 71 | set OBPC= 72 | fdisk /info %OBPD% | grep % | vstr /b /l total | set /p OBPC= 73 | if "%OBPC%" == "" goto FindCountAlt 74 | :FindCountKnown 75 | 76 | rem OBPC = 0 for error, or number of partitions 77 | if not "%OBPC%" == "1" set OBPC=2 78 | 79 | :PromptUser 80 | if "%FADV%" == "y" goto AdvancedMode 81 | 82 | REM check that data was populated correctly 83 | if "%OBPD%" == "" goto PromptMBR 84 | if "%OBPN%" == "" goto PromptMBR 85 | if not "%OBPC%" == "1" goto CheckEmptyMBR 86 | 87 | REM only 1 partition (yes) and running on VM them just overwrite 88 | vinfo /m 89 | if errorlevel 200 goto CheckEmptyMBR 90 | if not errorlevel 101 goto CheckEmptyMBR 91 | goto AssumeYes 92 | 93 | REM only 1 partition (yes) and it has no MBR then just overwrite 94 | :CheckEmptyMBR 95 | vinfo /E %OBPN% 96 | if errorlevel 10 goto PromptMBR 97 | goto AssumeYes 98 | 99 | :PromptMBR 100 | set OBPC=1 101 | 102 | :AdvancedMode 103 | vcls /f %TSF% /b %TSB% /c %TSC% /y2 /h24 104 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% OBSS_FRAME 105 | vecho /k0 /t %FLANG% OBSS? %TFH% %FDRIVE% %TFF% %OBPD% %OBPN% 106 | vecho /k0 107 | vframe /p0 /b %TFB% /f %TFF% optionbox /t %FLANG% OBSS_OPTS 108 | vecho /k0 /t %FLANG% OBSSY 109 | vecho /k0 /n /t %FLANG% OBSSN 110 | vchoice /k0 /a %TFC% Ctrl-C /d %OBPC% 111 | 112 | if errorlevel 200 FDICTRLC.BAT %0 113 | if errorlevel 2 goto SkipSysXfer 114 | 115 | :AssumeYes 116 | set OBSS=y 117 | if "%OBPN%" == "?" set OBPN= 118 | verrlvl 0 119 | goto Done 120 | 121 | :IsDOSBox 122 | :SkipSysXfer 123 | set OBSS=n 124 | set OBPD= 125 | set OBPN= 126 | verrlvl 0 127 | 128 | :Done 129 | set OBPC= -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDASK700.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Installation package selection. 4 | if exist ..\BIN\FDIMPLES.COM set FDIM=..\BIN\FDIMPLES.COM 5 | if exist ..\BIN\FDIMPLES.EXE set FDIM=..\BIN\FDIMPLES.EXE 6 | 7 | :Beginning 8 | set TPDC=3 9 | if exist %FINSP%\FDPLFULL.LST goto HasAllPacs 10 | if "%FADV%" == "y" goto BaseAdvOnly 11 | :BaseOnly 12 | set PF=PAC_FRAME_B 13 | set PO=PAC_OPTS_B 14 | set TPDC=1 15 | goto PromptUser 16 | :BaseAdvOnly 17 | if "%FDIM%" == "" goto BaseOnly 18 | set PF=PAC_FRAME_BD 19 | set PO=PAC_OPTS_BD 20 | set TPDC=1 21 | goto PromptUser 22 | :HasAllPacs 23 | if "%FDIM%" == "" goto AllOnly 24 | if "%FADV%" == "y" goto AllAdv 25 | :AllOnly 26 | set PF=PAC_FRAME 27 | set PO=PAC_OPTS 28 | goto PromptUser 29 | :AllAdv 30 | set PF=PAC_FRAME_D 31 | set PO=PAC_OPTS_D 32 | goto PromptUser 33 | 34 | :PromptUser 35 | vcls /f %TSF% /b %TSB% /c %TSC% /y2 /h24 36 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% %PF% 37 | vecho /k0 /t %FLANG% PACS? %TFH% %OS_NAME% %TFF% 38 | vecho /k0 39 | vframe /p0 /b %TFB% /f %TFF% optionbox /t %FLANG% %PO% 40 | vecho /k0 /t %FLANG% PACBO 41 | vecho /k0 /n /t %FLANG% PACBS 42 | if not exist %FINSP%\FDPLFULL.LST goto HasNoAll 43 | vecho /k0 /p 44 | vecho /k0 /t %FLANG% PACAO 45 | vecho /k0 /n /t %FLANG% PACAS 46 | :HasNoAll 47 | if "%FDIM%" == "" goto NotAdv 48 | if not "%FADV%" == "y" goto NotAdv 49 | vecho /k0 /p 50 | vecho /k0 /t %FLANG% PACDO_ADV 51 | vecho /k0 /n /t %FLANG% PACDS_ADV 52 | :NotAdv 53 | vchoice /k0 /a %TFC% Ctrl-C /d %TPDC% 54 | 55 | if errorlevel 200 FDICTRLC.BAT %0 56 | 57 | if errorlevel 6 goto OptDetailedSrc 58 | if errorlevel 5 goto OptDetailed 59 | 60 | if not exist %FINSP%\FDPLFULL.LST goto CheckOptShift 61 | if errorlevel 4 goto OptAllSrc 62 | if errorlevel 3 goto OptAll 63 | goto CheckBase 64 | 65 | :CheckOptShift 66 | if errorlevel 4 goto OptDetailedSrc 67 | if errorlevel 3 goto OptDetailed 68 | 69 | :CheckBase 70 | if errorlevel 2 goto OptBasicSrc 71 | if errorlevel 1 goto OptBasic 72 | 73 | :OptBasic 74 | set OALL=n 75 | set OSRC=0 76 | goto Done 77 | 78 | :OptBasicSrc 79 | set OALL=n 80 | set OSRC=1 81 | goto Done 82 | 83 | :OptAll 84 | set OALL=y 85 | set OSRC=0 86 | goto Done 87 | 88 | :OptAllSrc 89 | set OALL=y 90 | set OSRC=1 91 | goto Done 92 | 93 | :OptDetailed 94 | set OALL=? 95 | set OSRC=0 96 | if exist %TEMP%\FDIMPLES.LST del %TEMP%\FDIMPLES.LST>nul 97 | %FDIM% /FDI 98 | if errorlevel 200 FDICTRLC.BAT %0 99 | if errorlevel 1 goto Beginning 100 | if not exist %TEMP%\FDIMPLES.LST goto Beginning 101 | goto Done 102 | 103 | :OptDetailedSrc 104 | set OALL=? 105 | set OSRC=1 106 | if exist %TEMP%\FDIMPLES.LST del %TEMP%\FDIMPLES.LST>nul 107 | %FDIM% /FDI 108 | if errorlevel 200 FDICTRLC.BAT %0 109 | if errorlevel 1 goto Beginning 110 | if not exist %TEMP%\FDIMPLES.LST goto Beginning 111 | goto Done 112 | 113 | :Done 114 | set PF= 115 | set PO= 116 | set FDIM= 117 | set TPDC= 118 | verrlvl 0 119 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDBUG.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Debug mode only. To display current environment variables. 4 | 5 | if not "%FDEBUG%" == "y" goto Done 6 | 7 | if "%1" == "cls" goto ClearScreen 8 | if "%1" == "shell" goto StartShell 9 | if "%1" == "" goto Default 10 | goto %1 11 | 12 | :Default 13 | vcls /g /a 0x07 14 | set | more 15 | 16 | :Pause 17 | vgotoxy /g eop sor 18 | if not "%2" == "" vecho /k0 %2 %3 %4 %5 %6 %7 %8 %9 19 | if "%FLANG%" == "" vecho /k0 /n "Press a key to continue... " 20 | if not "%FLANG%" == "" vecho /k0 /n /t %FLANG% PRESSKEY 21 | vpause /t 30 CTRL-C 22 | if errorlevel 200 goto StartShell 23 | goto Resume 24 | 25 | :ClearScreen 26 | vcls /g /a 0x07 27 | goto Done 28 | 29 | :StartShell 30 | vgotoxy /g eop sor 31 | if not "%2" == "" vecho /k0 %2 %3 %4 %5 %6 %7 %8 %9 32 | if not "%COMSPEC%" == "" goto StartComspec 33 | COMMAND.COM 34 | goto Resume 35 | 36 | :StartComspec 37 | %COMSPEC% 38 | goto Resume 39 | 40 | :Resume 41 | call FDICLS.BAT 42 | goto Done 43 | 44 | :Done -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDCHECK.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Reserved for testing system compatibility and requirements are met. 4 | 5 | REM If requirements are not met, set errorlevel to 1. Also, it may be useful 6 | REM to the user to set the FERROR message and/or include a custom FDERROR.BAT 7 | REM as well. 8 | 9 | REM FIRST is run after settings are loaded. But before any installer screens are 10 | REM shown. 11 | 12 | REM SECOND is run immediately after hard disk partitioning and formatting. 13 | 14 | REM THIRD is run after all user prompts have been answered. 15 | 16 | goto %1 17 | goto FAILED 18 | 19 | REM At present VirtualBox is not supported when installing from a booted 20 | REM EL Torito CD-ROM. 21 | :FIRST 22 | if not "%FBOOTED%" == "LEGACY" goto SUCCESS 23 | vinfo /m 24 | if errorlevel 104 goto SUCCESS 25 | if errorlevel 103 goto FAILED 26 | goto SUCCESS 27 | 28 | :SECOND 29 | goto SUCCESS 30 | 31 | :THIRD 32 | goto SUCCESS 33 | 34 | :SUCCESS 35 | verrlvl 0 36 | goto DONE 37 | 38 | :FAILED 39 | verrlvl 1 40 | 41 | :DONE -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDERROR.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Reserved for custom error message displaying. 4 | 5 | REM If a language file FDERROR.DEF exists, it will be automatically loaded 6 | REM prior to running this file. 7 | 8 | REM If there is an error or the script is aborted, this file will be called 9 | REM after the main cleanup stage and the built-in messages are shown. But, 10 | REM is called before the script will reboot or terminate. 11 | 12 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDICLEAN.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Post installer cleanup. 4 | 5 | if "%1" == "VARSONLY" goto VarsOnly 6 | vfdutil /c /p %0 7 | 8 | if "%1" == "TEMPONLY" goto KeepCursor 9 | if "%FCURSOR%" == "" vcursor small 10 | if not "%FCURSOR%" == "" vcursor %FCURSOR% 11 | :KeepCursor 12 | 13 | if "%FTMP%" == "" goto NoHDTemp 14 | if not exist %FTMP%\NUL goto NoHDTemp 15 | deltree /Y %FTMP%\*.* >NUL 16 | rmdir %FTMP% >NUL 17 | :NoHDTemp 18 | 19 | if "%TEMP%" == "" goto IgnoreTemp 20 | vinfo /d %TEMP% 21 | if errorlevel 2 goto IgnoreTemp 22 | 23 | if exist %TEMP%\NUL deltree /y %TEMP%\*.*>NUL 24 | :IgnoreTemp 25 | 26 | if "%1" == "TEMPONLY" goto SkipClear 27 | 28 | :VarsOnly 29 | rem if "%FDEBUG%" == "y" goto SkipClear 30 | set FTHEME= 31 | 32 | set FDIDFMT= 33 | set FFOUND= 34 | set FINSP= 35 | set OLDTMP= 36 | set FCURSOR= 37 | set HTARGET= 38 | set FBAK= 39 | set FVERB= 40 | set FMEDIA= 41 | set FPKGS= 42 | set FPSKP= 43 | set FTSET= 44 | set FTMP= 45 | set FKB= 46 | 47 | rem clear built-in installer options settings 48 | set OVOL= 49 | set OBAK= 50 | set OSYS= 51 | set OCFG= 52 | set OCLEAN= 53 | set OALL= 54 | set OSRC= 55 | set OBSS= 56 | set OBPN= 57 | set OBPD= 58 | 59 | REM Clear Theme Variables 60 | set TSF= 61 | set TSB= 62 | set TSC= 63 | 64 | set TTF= 65 | set TTB= 66 | set TTH= 67 | 68 | set TFF= 69 | set TFB= 70 | set TFH= 71 | set TFS= 72 | set TFC= 73 | set TFP= 74 | set TFX= 75 | 76 | set TCF= 77 | set TCH= 78 | set TCB= 79 | set TCS= 80 | set TCC= 81 | 82 | set TPB= 83 | set TPF= 84 | set TPH= 85 | 86 | set TQF= 87 | set TQB= 88 | 89 | set PF= 90 | set PO= 91 | set TPDC= 92 | 93 | :SkipClear 94 | verrlvl 0 95 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDICLS.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Clear entire screen (Minus title bar) 4 | 5 | vmode /p 0 6 | vcls /g /f %TSF% /b %TSB% /c %TSC% /y2 /h24 7 | 8 | REM Draw the Title Bar 9 | vgotoxy /g /x1 /y1 10 | vcls /b %TTB% /f %TTF% EOL 11 | vgotoxy /x30 /y1 12 | vecho /k0 /t %FLANG% TITLE %TTF% "%OS_NAME%" %TTH% "%OS_VERSION%" 13 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDICTRLC.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Control-C Handler 4 | 5 | vcls /f %TSF% /b %TSB% /c %TSC% /y2 /h24 6 | vframe /p0 /b %TCB% /f %TCF% %TCS% textbox /t %FLANG% CTRLC_FRAME 7 | vecho /k0 /t %FLANG% CTRLC %TCH% %TCF% 8 | vecho /k0 9 | vecho /k0 /t %FLANG% CTRLC? 10 | vframe /p0 /b %TCB% /f %TCF% optionbox /t %FLANG% CTRLC_OPTS 11 | vecho /k0 /t %FLANG% CTRLCY 12 | vecho /k0 /t %FLANG% CTRLCN 13 | vecho /k0 14 | if "%FADV%" == "" vecho /k0 /n /t %FLANG% CTRLCA 15 | if "%FADV%" == "y" vecho /k0 /n /t %FLANG% CTRLCB 16 | 17 | vchoice /k0 /a %TCC% /d 2 Ctrl-C 18 | 19 | if errorlevel 200 goto AbortBatch 20 | if errorlevel 3 goto SwitchMode 21 | if errorlevel 2 goto ContinueBatch 22 | verrlvl 1 23 | goto AbortBatch 24 | 25 | :SwitchMode 26 | verrlvl 0 27 | if "%FADV%" == "y" goto SwitchBasic 28 | set FADV=y 29 | call STAGE200.BAT 30 | call FDICLS.BAT 31 | goto ContinueBatch 32 | 33 | :SwitchBasic 34 | verrlvl 0 35 | set FADV= 36 | call STAGE200.BAT 37 | call FDICLS.BAT 38 | goto ContinueBatch 39 | 40 | :ContinueBatch 41 | verrlvl 0 42 | %1 %2 %3 %4 %5 %6 %7 %8 %9 43 | 44 | :AbortBatch 45 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDIDRIVE.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | set RESULT= 4 | if "%1" == "PRE" \FREEDOS\BIN\VFDUTIL /x /d %2 5 | if not "%1" == "PRE" \FREEDOS\BIN\VFDUTIL /x /d %1 6 | if errorlevel 1 set RESULT=A: 7 | if errorlevel 2 set RESULT=B: 8 | if errorlevel 3 set RESULT=C: 9 | if errorlevel 4 set RESULT=D: 10 | if errorlevel 5 set RESULT=E: 11 | if errorlevel 6 set RESULT=F: 12 | if errorlevel 7 set RESULT=G: 13 | if errorlevel 8 set RESULT=H: 14 | if errorlevel 9 set RESULT=I: 15 | if errorlevel 10 set RESULT=J: 16 | if errorlevel 11 set RESULT=K: 17 | if errorlevel 12 set RESULT=L: 18 | if errorlevel 13 set RESULT=M: 19 | if errorlevel 14 set RESULT=N: 20 | if errorlevel 15 set RESULT=O: 21 | if errorlevel 16 set RESULT=P: 22 | if errorlevel 17 set RESULT=Q: 23 | if errorlevel 18 set RESULT=R: 24 | if errorlevel 19 set RESULT=S: 25 | if errorlevel 20 set RESULT=T: 26 | if errorlevel 21 set RESULT=U: 27 | if errorlevel 22 set RESULT=V: 28 | if errorlevel 23 set RESULT=W: 29 | if errorlevel 24 set RESULT=X: 30 | if errorlevel 25 set RESULT=Y: 31 | if errorlevel 26 set RESULT=Z: 32 | if errorlevel 27 set RESULT= 33 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDIFAIL.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Display error message box. Option to Exit or reboot. 4 | REM In advanced mode, it may also provide a Ignore and continue option. 5 | 6 | if not "%FINSP%" == "" vfdutil /c/p %FINSP%\ 7 | 8 | call FDICLS.BAT 9 | 10 | if not "%FADV%" == "y" goto NoContinue 11 | 12 | if "%1" == "cc" goto CanContinue 13 | 14 | :NoContinue 15 | 16 | vframe /p0 /b %TCB% /f %TCF% %TCS% textbox /t %FLANG% FAIL_FRAME 17 | if "%1" == "cc" goto SkipFirstA 18 | vecho /k0 /t %FLANG% %1 %2 %3 %4 %5 %6 %7 %8 19 | goto AfterSkipA 20 | :SkipFirstA 21 | vecho /k0 /t %FLANG% %2 %3 %4 %5 %6 %7 %8 22 | :AfterSkipA 23 | vecho /k0 /t %FLANG% FAILH 24 | vecho /k0 25 | vecho /k0 /t %FLANG% FAIL? 26 | vframe /p0 /b %TCB% /f %TCF% optionbox /t %FLANG% FAIL_OPTS 27 | vecho /k0 /t %FLANG% FAILY 28 | vecho /k0 /n /t %FLANG% FAILN 29 | vchoice /k0 /a %TFC% Ctrl-C 30 | 31 | if errorlevel 200 goto CtrlCPress 32 | if errorlevel 2 goto AbortBatch 33 | goto DoReboot 34 | 35 | :CanContinue 36 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% FAILADV_FRAME 37 | vecho /k0 /t %FLANG% %2 %3 %4 %5 %6 %7 %8 38 | vecho /k0 /t %FLANG% FAILH 39 | vecho /k0 40 | vecho /k0 /t %FLANG% FAIL? 41 | vframe /p0 /b %TCB% /f %TCF% optionbox /t %FLANG% FAILADV_OPTS 42 | vecho /k0 /t %FLANG% FAILY 43 | vecho /k0 /t %FLANG% FAILN 44 | vecho /k0 45 | vecho /k0 /n /t %FLANG% FAILI 46 | vchoice /k0 /a %TFC% Ctrl-C 47 | 48 | if errorlevel 200 goto CtrlCPress 49 | if errorlevel 3 goto ContinueAnyway 50 | if errorlevel 2 goto AbortBatch 51 | 52 | :DoReboot 53 | vcls /a0x07 54 | vecho /k0 /t %FLANG% FAILR 55 | vecho /k0 56 | fdapm warmboot 57 | set FREBOOT=y 58 | goto AbortBatch 59 | 60 | :CtrlCPress 61 | FDICTRLC.BAT %0 %1 %2 %3 %4 %5 %6 %7 %8 62 | 63 | :AbortBatch 64 | verrlvl 1 65 | goto Done 66 | 67 | :ContinueAnyway 68 | set FERROR= 69 | verrlvl 0 70 | goto Done 71 | 72 | :Done -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDILANG.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Set FLANG variable to current needed language translation file. 4 | 5 | :Retry 6 | set FLANG= 7 | if "%FINSP%" == "" goto PreINSP 8 | 9 | if "%1" == "" goto WPNone 10 | 11 | if not "%FADV%" == "y" goto WPDefault 12 | 13 | if not exist %FINSP%\%LANG%\%1.ADV goto WPDefault 14 | set FLANG=%FINSP%\%LANG%\%1.ADV 15 | goto Done 16 | 17 | :WPDefault 18 | if not exist %FINSP%\%LANG%\%1.DEF goto WPNext 19 | set FLANG=%FINSP%\%LANG%\%1.DEF 20 | goto Done 21 | 22 | :WPNext 23 | shift 24 | goto Retry 25 | 26 | :WPNone 27 | set FLANG=%FINSP%\EN\FDSETUP.DEF 28 | goto Done 29 | 30 | :PreINSP 31 | if "%1" == "" goto PSNone 32 | 33 | if not "%FADV%" == "y" goto PSDefault 34 | if not exist %LANG%\%1.ADV goto PSDefault 35 | set FLANG=%LANG%\%1.ADV 36 | goto Done 37 | 38 | :PSDefault 39 | if not exist %LANG%\%1.DEF goto PSNext 40 | set FLANG=%LANG%\%1.DEF 41 | goto Done 42 | 43 | :PSNext 44 | shift 45 | goto Retry 46 | 47 | :PSNone 48 | set FLANG=EN\FDSETUP.DEF 49 | 50 | :Done 51 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDIMEDIA.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Test for detecting FreeDOS 1.x install media location. 4 | 5 | if "%FMEDIA%" == "" goto Check 6 | goto CheckDone 7 | 8 | :Check 9 | REM Test Drive A/B actually exist to prevent single floppy change disk message. 10 | if "%1" == "A" goto CheckDriveExists 11 | if "%1" == "B" goto CheckDriveExists 12 | 13 | :CheckFiles 14 | vinfo /d %1:\ 15 | if errorlevel 15 goto InstallMedia 16 | 17 | if errorlevel 5 goto CheckDone 18 | 19 | REM FreeDOS 1.1 Version ******************************************************* 20 | rem depriciated, no longer updated 21 | rem if not exist %1:\FREEDOS\PACKAGES\BASE\NUL goto InstallMedia 22 | rem set FMEDIA=%1:\FREEDOS\PACKAGES\BASE 23 | 24 | REM FreeDOS 1.2+ Version ******************************************************* 25 | :InstallMedia 26 | 27 | REM Will succeed if drive and path exist 28 | vfdutil /u %1:\%PKGDIR%\BASE\FDI?????.$$$ >NUL 29 | if errorlevel 1 goto RepoCD 30 | 31 | REM Will fail if package file exists 32 | vfdutil /u %1:\%PKGDIR%\BASE\KERNEL.ZIP >NUL 33 | if not errorlevel 1 goto RepoCD 34 | 35 | set FMEDIA=%1:\%PKGDIR% 36 | goto CheckFound 37 | 38 | REM www.ibiblio.org ALL_CD.ISO & some FreeDOS 1.2 media *********************** 39 | :RepoCD 40 | vfdutil /u %1:\BASE\FDI?????.$$$ >NUL 41 | if errorlevel 1 goto CheckDone 42 | vfdutil /u %1:\BASE\KERNEL.ZIP >NUL 43 | if not errorlevel 1 goto CheckDone 44 | 45 | set FMEDIA=%1: 46 | goto CheckFound 47 | 48 | :CheckDriveExists 49 | vinfo /d %1 50 | if errorlevel 5 goto CheckDone 51 | goto CheckFiles 52 | 53 | :CheckFound 54 | 55 | :CheckDone 56 | verrlvl 0 57 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDINS000.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Reserved 4 | call FDBUG.BAT -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDINS100.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Set Package list variable to point to appropriate package list file. 4 | REM This is the file FDINS section you would modify what list of packages 5 | REM are installed based on the users selections. 6 | REM 7 | REM For best compatibility and ease of implementing future versions of this 8 | REM installer, I recommend that customizations to the list be preformed 9 | REM in a custom FDINS file. For instance, if a FDINS101.BAT is added, it 10 | REM will be automatically processed after this file. 11 | REM 12 | REM If you wanted to always include non-standard packages, you could do 13 | REM something like the following in the additional FDINS batch file. 14 | REM 15 | REM copy %FINSP%\FDPLFULL.LST %TEMP%\MYPACKS.LST 16 | REM type %FINSP%\MYLIST.LST (into) %TEMP%\MYPACKS.LST 17 | REM set FKPGS=%TEMP%\MYPACKS.LST 18 | 19 | if not "%OALL%" == "?" goto NotCustom 20 | if not exist %TEMP%\FDIMPLES.LST goto NotCustom 21 | set FPKGS=%TEMP%\FDIMPLES.LST 22 | goto Done 23 | 24 | :NotCustom 25 | set FPKGS=%FINSP%\FDPLBASE.LST 26 | if "%OALL%" == "y" set FPKGS=%FINSP%\FDPLFULL.LST 27 | 28 | :Done 29 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDINS200.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Create a Backup folder or Zip archive. 4 | 5 | set HTMP=%TEMP% 6 | 7 | if "%OBAK%" == "" goto AfterBackup 8 | if not "%OBAK%" == "n" goto MakeBackup 9 | goto AfterBackup 10 | 11 | :MakeBackup 12 | 13 | vcls /f %TSF% /b %TSB% /c %TSC% /y2 /h24 14 | vframe /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% IBACKUP_FRAME 15 | vecho /n /t %FLANG% IBACKUP 16 | vgotoxy /l eop sor 17 | vprogres /f %TFP% 0 18 | 19 | if exist %FDRIVE%\COMMAND.COM attrib -R -S -H %FDRIVE%\COMMAND.COM >NUL 20 | if exist %FDRIVE%\KERNEL.SYS attrib -R -S -H %FDRIVE%\KERNEL.SYS >NUL 21 | if exist %FDRIVE%\FDAUTO.BAT attrib -R -S -H %FDRIVE%\FDAUTO.BAT >NUL 22 | if exist %FDRIVE%\AUTOEXEC.BAT attrib -R -S -H %FDRIVE%\AUTOEXEC.BAT >NUL 23 | if exist %FDRIVE%\CONFIG.SYS attrib -R -S -H %FDRIVE%\CONFIG.SYS >NUL 24 | if exist %FDRIVE%\FDCONFIG.SYS attrib -R -S -H %FDRIVE%\FDCONFIG.SYS >NUL 25 | 26 | if exist %FDRIVE%\DRDOS.386 attrib -R -S -H %FDRIVE%\DRDOS.386 >NUL 27 | if exist %FDRIVE%\WINA20.386 attrib -R -S -H %FDRIVE%\WINA20.386 >>NUL 28 | if exist %FDRIVE%\IBMBIO.COM attrib -R -S -H %FDRIVE%\IBMBIO.COM >NUL 29 | if exist %FDRIVE%\IBMDOS.COM attrib -R -S -H %FDRIVE%\IBMDOS.COM >NUL 30 | if exist %FDRIVE%\IO.SYS attrib -R -S -H %FDRIVE%\IO.SYS >NUL 31 | if exist %FDRIVE%\MSDOS.SYS attrib -R -S -H %FDRIVE%\MSDOS.SYS >NUL 32 | 33 | if "%OBAK%" == "z" goto ZipBackup 34 | 35 | REM Backup to a renamed file ************************************************* 36 | :SimpleBackup 37 | vfdutil /u %FDRIVE%\FDOS_OLD.??? | set /p _AF= 38 | if "%_AF" == "" goto SimpleBackup 39 | mkdir %_AF% >NUL 40 | 41 | set _AL=%_AF%\FDBACKUP.LST 42 | date /d >%_AL% 43 | 44 | vgotoxy /l sop eol right right 45 | vecho /n /t %FLANG% ITARGET %TFH% %_AF% %TFF% 46 | vgotoxy /l eop sor 47 | vprogres /f %TFP% 5 48 | 49 | REM copy Config files to root directory as old versions. 50 | :FDAutoLoop 51 | vfdutil /u %FDRIVE%\FDAUTO.??? | set /p _BF= 52 | if "%_BF%" == "" goto FDAutoLoop 53 | if exist %FDRIVE%\FDAUTO.BAT copy %FDRIVE%\FDAUTO.BAT %_BF% >NUL 54 | if errorlevel 1 goto CopyBackupFailed 55 | 56 | :AutoLoop 57 | vfdutil /u %FDRIVE%\AUTOEXEC.??? | set /p _BF= 58 | if "%_BF%" == "" goto AutoLoop 59 | if exist %FDRIVE%\AUTOEXEC.BAT copy %FDRIVE%\AUTOEXEC.BAT %_BF% >NUL 60 | if errorlevel 1 goto CopyBackupFailed 61 | 62 | :CfgLoop 63 | vfdutil /u %FDRIVE%\CONFIG.??? | set /p _BF= 64 | if "%_BF%" == "" goto CfgLoop 65 | if exist %FDRIVE%\CONFIG.SYS copy %FDRIVE%\CONFIG.SYS %_BF% >NUL 66 | if errorlevel 1 goto CopyBackupFailed 67 | 68 | :FDCfgLoop 69 | vfdutil /u %FDRIVE%\FDCONFIG.??? | set /p _BF= 70 | if "%_BF%" == "" goto FDCfgLoop 71 | if exist %FDRIVE%\FDCONFIG.SYS copy %FDRIVE%\FDCONFIG.SYS %_BF% >NUL 72 | if errorlevel 1 goto CopyBackupFailed 73 | 74 | REM make list of files. 75 | if exist %FDRIVE%\FDAUTO.BAT echo %FDRIVE%\FDAUTO.BAT >>%_AL% 76 | if exist %FDRIVE%\AUTOEXEC.BAT echo %FDRIVE%\AUTOEXEC.BAT >>%_AL% 77 | if exist %FDRIVE%\CONFIG.SYS echo %FDRIVE%\CONFIG.SYS >>%_AL% 78 | if exist %FDRIVE%\FDCONFIG.SYS echo %FDRIVE%\FDCONFIG.SYS >>%_AL% 79 | if exist %FDRIVE%\KERNEL.SYS echo %FDRIVE%\KERNEL.SYS >>%_AL% 80 | if exist %FDRIVE%\COMMAND.COM echo %FDRIVE%\COMMAND.COM >>%_AL% 81 | 82 | REM EXTRAS 83 | if exist %FDRIVE%\DRDOS.386 echo %FDRIVE%\DRDOS.386 >>%_AL% 84 | if exist %FDRIVE%\WINA20.386 echo %FDRIVE%\WINA20.386 >>%_AL% 85 | if exist %FDRIVE%\IBMBIO.COM echo %FDRIVE%\IBMBIO.COM >>%_AL% 86 | if exist %FDRIVE%\IBMDOS.COM echo %FDRIVE%\IBMDOS.COM >>%_AL% 87 | if exist %FDRIVE%\IO.SYS echo %FDRIVE%\IO.SYS >>%_AL% 88 | if exist %FDRIVE%\MSDOS.SYS echo %FDRIVE%\MSDOS.SYS >>%_AL% 89 | 90 | set _BN=1 91 | if exist %FTARGET%\NUL dir /ON /A /B /P- %FTARGET%\*.*>>%_AL% 92 | 93 | :CopyBackupRun 94 | REM For some reason, DOS sometimes fails to do this next line correctly. 95 | type %_AL%|vstr /L TOTAL|set /p _BM= 96 | if "%_BM%" == "" goto CopyBackupRun 97 | 98 | :CopyBackupLoop 99 | vgotoxy /l eop sor 100 | 101 | vprogres /f %TFP% %_BN% of %_BM% 102 | 103 | if "%_BN%" == "%_BM%" goto BackupComplete 104 | 105 | type %_AL% | vstr /L %_BN% | set /p _BF= 106 | if "%_BF%" == "" goto PostCopy 107 | 108 | REM kind of a kludge, but i still need to do string/line prefixing in vstr 109 | if exist %FTARGET%\%_BF%\NUL goto FDOSSubDir 110 | if exist %FTARGET%\%_BF% goto FDOSFile 111 | goto NormalFile 112 | 113 | :FDOSSubDir 114 | mkdir %_AF%\%_BF% 115 | if errorlevel 1 goto CopyBackupFailed 116 | dir /ON /A /B /P- %FTARGET%\%_BF%\*.* | vstr /l total | set /p _BT= 117 | verrlvl 0 118 | if "%_BT%" == "0" goto PostCopy 119 | xcopy /y /q /e /r %FTARGET%\%_BF%\*.* %_AF%\%_BF%\ >NUL 120 | goto PostCopy 121 | 122 | :FDOSFile 123 | xcopy /y /q %FTARGET%\%_BF% %_AF%\ >NUL 124 | goto PostCopy 125 | 126 | :NormalFile 127 | xcopy /y /q %_BF% %_AF%\ >NUL 128 | 129 | :PostCopy 130 | if errorlevel 1 goto CopyBackupFailed 131 | 132 | vmath %_BN% + 1 | set /p _BN= 133 | goto CopyBackupLoop 134 | 135 | REM Backup to archive file **************************************************** 136 | :ZipBackup 137 | if not exist %FBAK%\NUL mkdir %FBAK% 138 | 139 | set TEMP=%FBAK% 140 | 141 | vfdutil /u %FBAK%\FDOS????.ZIP | set /p _AF= 142 | set _AL=%TEMP%\FDBACKUP.LST 143 | date /d>%_AL% 144 | 145 | vgotoxy /l sop eol right right 146 | vecho /n /t %FLANG% ITARGET %TFH% %_AF% %TFF% 147 | vgotoxy /l eop sor 148 | vprogres /f %TFP% 5 149 | 150 | if exist %FDRIVE%\FDAUTO.BAT echo %FDRIVE%\FDAUTO.BAT >>%_AL% 151 | if exist %FDRIVE%\AUTOEXEC.BAT echo %FDRIVE%\AUTOEXEC.BAT >>%_AL% 152 | if exist %FDRIVE%\CONFIG.SYS echo %FDRIVE%\CONFIG.SYS >>%_AL% 153 | if exist %FDRIVE%\FDCONFIG.SYS echo %FDRIVE%\FDCONFIG.SYS >>%_AL% 154 | if exist %FDRIVE%\KERNEL.SYS echo %FDRIVE%\KERNEL.SYS >>%_AL% 155 | if exist %FDRIVE%\COMMAND.COM echo %FDRIVE%\COMMAND.COM >>%_AL% 156 | 157 | REM EXTRAS 158 | if exist %FDRIVE%\DRDOS.386 echo %FDRIVE%\DRDOS.386 >>%_AL% 159 | if exist %FDRIVE%\WINA20.386 echo %FDRIVE%\WINA20.386 >>%_AL% 160 | if exist %FDRIVE%\IBMBIO.COM echo %FDRIVE%\IBMBIO.COM >>%_AL% 161 | if exist %FDRIVE%\IBMDOS.COM echo %FDRIVE%\IBMDOS.COM >>%_AL% 162 | if exist %FDRIVE%\IO.SYS echo %FDRIVE%\IO.SYS >>%_AL% 163 | if exist %FDRIVE%\MSDOS.SYS echo %FDRIVE%\MSDOS.SYS >>%_AL% 164 | 165 | set _BN=1 166 | if exist %FTARGET%\NUL dir /ON /A /B /P- %FTARGET%\*.*>>%_AL% 167 | 168 | :ZipBackupRun 169 | REM For some reason, DOS sometimes fails to do this next line correctly. 170 | type %_AL%|vstr /L TOTAL|set /p _BM= 171 | REM So, if it's value does not get set. Do it again. Might have to do 172 | REM with internal buffers or caching. 173 | if "%_BM%" == "" goto ZipBackupRun 174 | 175 | :ZipBackupLoop 176 | vgotoxy /l eop sor 177 | 178 | vprogres /f %TFP% %_BN% of %_BM% 179 | 180 | if "%_BN%" == "%_BM%" goto BackupComplete 181 | 182 | type %_AL% | vstr /L %_BN% | set /p _BF= 183 | 184 | REM kind of a kludge, but i still need to do string/line prefixing in vstr 185 | if exist %FTARGET%\%_BF%\NUL set _BF=%FTARGET%\%_BF% 186 | if exist %FTARGET%\%_BF% set _BF=%FTARGET%\%_BF% 187 | 188 | zip -q -9 -S -u -r -b %TEMP% %_AF% %_BF% 189 | if errorlevel 1 goto ZipBackupFailed 190 | 191 | vmath %_BN% + 1 | set /p _BN= 192 | goto ZipBackupLoop 193 | 194 | REM Backup complete *********************************************************** 195 | :BackupComplete 196 | rem if exist %_AL% del %_AL% 197 | vgotoxy /l eop sor 198 | vecho /n /e /t %FLANG% IBACKUP_DONE %TFF% 199 | vdelay %FDEL% 200 | goto AfterBackup 201 | 202 | :ZipBackupFailed 203 | vdelay %FDEL% 204 | set FERROR="Making backup archive %_AF%." 205 | call FDIFAIL.BAT ERROR_BACKZIP %_AF% 206 | goto AfterBackup 207 | 208 | :CopyBackupFailed 209 | vdelay %FDEL% 210 | set FERROR="Making backup." 211 | call FDIFAIL.BAT ERROR_BACKUP %_AF% 212 | goto AfterBackup 213 | 214 | :AfterBackup 215 | set _BM= 216 | set _BF= 217 | set _BN= 218 | set _BT= 219 | set _AL= 220 | set _AF= 221 | 222 | set TEMP=%HTMP% 223 | set HTMP= -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDINS300.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Remove old conflicting packages. 4 | 5 | if "%FDEBUG%" == "y" call FDBUG.BAT shell Immediately before package uninstall 6 | 7 | if not exist %FTARGET%\APPINFO\NUL goto Done 8 | 9 | vcls /f %TSF% /b %TSB% /c %TSC% /y2 /h24 10 | vframe /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% IRMPACK_FRAME 11 | vecho /n /t %FLANG% IRMPACKS 12 | vgotoxy /l eop sor 13 | vprogres /f %TFP% 0 14 | 15 | REM Run through all binaries to be installed. 16 | set _PI=0 17 | 18 | REM For some reason, DOS sometimes fails to do this correctly on the first try. 19 | REM So, make sure it is ready before moving on. 20 | :PkgSticky 21 | type %FPKGS% | grep -iv ^; | vstr /b/l %_PI% | set /p _PA= 22 | if "%_PA%" == "" goto PkgSticky 23 | type %FPKGS% | grep -iv ^; | vstr /b/l TOTAL | set /p _PM= 24 | if "%_PM%" == "0" goto PkgDone 25 | 26 | :PkgLoop 27 | type %FPKGS% | grep -iv ^; | vstr /b/l %_PI% | set /p _PA= 28 | vgotoxy /l eop sor 29 | vprogres /f %TFP% %_PI% of %_PM% 30 | if "%_PA%" == "" goto PkgDone 31 | 32 | if not "%OCLEAN%" == "y" goto IncludeBase 33 | vfdutil /p ?:\%_PA% | set /p _PD= 34 | vfdutil /n ?:\%_PA% | set /p _PA= 35 | if "%_PD%" == "?:\BASE" goto PkgBase 36 | :IncludeBase 37 | if exist %FTARGET%\APPINFO\%_PA%\NUL goto PkgRemove 38 | if exist %FTARGET%\APPINFO\%_PA%.LSM goto PkgRemove 39 | if exist %FTARGET%\PACKAGES\%_PA%\NUL goto PkgRemove 40 | if exist %FTARGET%\PACKAGES\%_PA%.LST goto PkgRemove 41 | goto PkgSkip 42 | :PkgRemove 43 | vgotoxy /l sop 44 | vecho /n /t %FLANG% IRMPACKN %TFH% %_PA% %TFF% 45 | vecho /f %TFF% /e /n 46 | 47 | FDINST remove %_PA% >NUL 48 | set _PL=y 49 | goto PkgNext 50 | 51 | :PkgBase 52 | if exist %FTARGET%\APPINFO\%_PA%.LSM del %FTARGET%\APPINFO\%_PA%.LSM >NUL 53 | if exist %FTARGET%\APPINFO\%_PA%\NUL deltree /y %FTARGET%\APPINFO\%_PA% >NUL 54 | if exist %FTARGET%\PACKAGES\%_PA%.LST del %FTARGET%\PACKAGES\%_PA%.LST >NUL 55 | if exist %FTARGET%\PACKAGES\%_PA%\NUL deltree /y %FTARGET%\PACKAGES\%_PA% >NUL 56 | 57 | :PkgSkip 58 | if not "%_PL%" == "y" goto PkgNext 59 | set _PL= 60 | vgotoxy /l sop 61 | vecho /n /t %FLANG% IRMPACKS 62 | vecho /e /n 63 | 64 | :PkgNext 65 | vmath %_PI% + 1 | set /p _PI= 66 | goto PkgLoop 67 | 68 | :PkgError 69 | vfdutil /c/p %FINSP%\ 70 | verrlvl 1 71 | goto AbortPkg 72 | 73 | :PkgDone 74 | if not "%OCLEAN%" == "y" goto PkgNoSave 75 | if not exist %FTARGET%\PACKAGES\NUL goto PkgNoSave 76 | 77 | set FPBAK=%FDRIVE%\PKGFILES.FDI 78 | 79 | :OldPkgLoop 80 | if not exist %FTARGET%\PACKAGES\NUL goto OldAppLoop 81 | dir /on /a /b /p- %FTARGET%\PACKAGES\*.* | vstr /b/l total | set /p _PA= 82 | if "%_PA%" == "" goto OldPkgLoop 83 | if "%_PA%" == "0" goto OldAppLoop 84 | if not exist %FPBAK%\NUL mkdir %FPBAK% >NUL 85 | xcopy /E /Y %FTARGET%\PACKAGES\*.* %FPBAK%\PACKAGES\ >NUL 86 | :OldAppLoop 87 | if not exist %FTARGET%\APPINFO\NUL goto OldLnkLoop 88 | dir /on /a /b /p- %FTARGET%\APPINFO\*.* | vstr /b/l total | set /p _PA= 89 | if "%_PA%" == "" goto OldAppLoop 90 | if "%_PA%" == "0" goto OldLnkLoop 91 | if not exist %FPBAK%\NUL mkdir %FPBAK% >NUL 92 | xcopy /E /Y %FTARGET%\APPINFO\*.* %FPBAK%\APPINFO\ >NUL 93 | :OldLnkLoop 94 | if not exist %FTARGET%\LINKS\NUL goto PkgNoSave 95 | dir /on /a /b /p- %FTARGET%\LINKS\*.* | vstr /b/l total | set /p _PA= 96 | if "%_PA%" == "" goto OldLnkLoop 97 | if "%_PA%" == "0" goto PkgNoSave 98 | if not exist %FPBAK%\NUL mkdir %FPBAK% >NUL 99 | xcopy /E /Y %FTARGET%\LINKS\*.* %FPBAK%\LINKS\ >NUL 100 | 101 | :PkgNoSave 102 | vdelay %FDEL% 103 | 104 | set _PA= 105 | set _PI= 106 | set _PD= 107 | set _PM= 108 | set _PL= 109 | 110 | :Done 111 | verrlvl 0 -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDINS400.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Remove old files in FreeDOS target. 4 | 5 | if not exist %FTARGET%\NUL goto AfterOption 6 | if "%OCLEAN%" == "y" goto DoOption 7 | goto AfterOption 8 | 9 | :DoOption 10 | vcls /f %TSF% /b %TSB% /c %TSC% /y2 /h24 11 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% IRMOS_FRAME 12 | vecho /k0 /n /t %FLANG% IRMOS %TFH% %FTARGET% %TFF% 13 | vdelay %FDEL% 14 | 15 | cd %FDRIVE%\ 16 | vfdutil /c/p %FINSP%\ 17 | 18 | :CountLoop 19 | dir /ON /A /B /P- %FTARGET%\*.* | vstr /l total | set /p _BT= 20 | if "%_BT%%" == "" goto CountLoop 21 | 22 | if "%_BT%" == "0" goto NoFileAttrib 23 | attrib -R -S -H /D %FTARGET%\ >NUL 24 | :NoFileAttrib 25 | 26 | if "%_BT%" == "0" goto NoFileDump 27 | deltree /y %FTARGET%\*.* >NUL 28 | if errorlevel 1 goto Failed 29 | 30 | :NoFileDump 31 | rmdir %FTARGET% >NUL 32 | if errorlevel 1 goto Failed 33 | 34 | if not exist %FTARGET%\NUL mkdir %FTARGET% >NUL 35 | if not exist %FTARGET%\TEMP\NUL mkdir %FTARGET%\TEMP >NUL 36 | 37 | if not "%FVERB%" == "y" goto AfterOption 38 | vcls /f %TSF% /b %TSB% /c %TSC% /y2 /h24 39 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% IRMOS_FRAME 40 | vgotoxy /k0 sop 41 | vecho /k0 /n /e /t %FLANG% IRMOS_DONE 42 | vdelay %FDEL% 43 | 44 | goto AfterOption 45 | 46 | :Failed 47 | if not exist %FTARGET%\NUL mkdir %FTARGET% >NUL 48 | if not exist %FTARGET%\TEMP\NUL mkdir %FTARGET%\TEMP >NUL 49 | 50 | set FERROR="Cleaning up old system files." 51 | call FDIFAIL.BAT cc "Had a problem removing old system files." 52 | verrlvl 1 53 | 54 | :AfterOption 55 | set _BT= 56 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDINS500.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Remove old config files. 4 | 5 | if "%OCFG%" == "y" goto MaybeOption 6 | goto AfterOption 7 | 8 | :MaybeOption 9 | if exist %FDRIVE%\AUTOEXEC.BAT goto DoOption 10 | if exist %FDRIVE%\FDAUTO.BAT goto DoOption 11 | if exist %FDRIVE%\CONFIG.SYS goto DoOption 12 | if exist %FDRIVE%\FDCONFIG.SYS goto DoOption 13 | goto AfterOption 14 | 15 | :DoOption 16 | 17 | if exist %FDRIVE%\FDAUTO.BAT attrib -R -S -H %FDRIVE%\FDAUTO.BAT >NUL 18 | if exist %FDRIVE%\AUTOEXEC.BAT attrib -R -S -H %FDRIVE%\AUTOEXEC.BAT >NUL 19 | if exist %FDRIVE%\CONFIG.SYS attrib -R -S -H %FDRIVE%\CONFIG.SYS >NUL 20 | if exist %FDRIVE%\FDCONFIG.SYS attrib -R -S -H %FDRIVE%\FDCONFIG.SYS >NUL 21 | 22 | vcls /f %TSF% /b %TSB% /c %TSC% /y2 /h24 23 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% ICLEAN_FRAME 24 | vecho /k0 /n /t %FLANG% ICLEAN 25 | vdelay %FDEL% 26 | 27 | if exist %FDRIVE%\AUTOEXEC.BAT attrib -R -S -H %FDRIVE%\AUTOEXEC.BAT >NUL 28 | if exist %FDRIVE%\AUTOEXEC.BAT del %FDRIVE%\AUTOEXEC.BAT 29 | if errorlevel 1 goto Failed 30 | 31 | if exist %FDRIVE%\FDAUTO.BAT attrib -R -S -H %FDRIVE%\FDAUTO.BAT >NUL 32 | if exist %FDRIVE%\FDAUTO.BAT del %FDRIVE%\FDAUTO.BAT 33 | if errorlevel 1 goto Failed 34 | 35 | if exist %FDRIVE%\CONFIG.SYS attrib -R -S -H %FDRIVE%\CONFIG.SYS >NUL 36 | if exist %FDRIVE%\CONFIG.SYS del %FDRIVE%\CONFIG.SYS 37 | if errorlevel 1 goto Failed 38 | 39 | if exist %FDRIVE%\FDCONFIG.SYS attrib -R -S -H %FDRIVE%\FDCONFIG.SYS >NUL 40 | if exist %FDRIVE%\FDCONFIG.SYS del %FDRIVE%\FDCONFIG.SYS 41 | if errorlevel 1 goto Failed 42 | verrlvl 0 43 | 44 | if not "%FVERB%" == "y" goto AfterOption 45 | vcls /f %TSF% /b %TSB% /c %TSC% /y2 /h24 46 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% ICLEAN_FRAME 47 | vgotoxy /k0 sop 48 | vecho /k0 /n /e /t %FLANG% ICLEAN_DONE 49 | vdelay %FDEL% 50 | 51 | goto AfterOption 52 | 53 | :Failed 54 | set FERROR="Cleaning up old configuration files." 55 | call FDIFAIL.BAT cc ERROR_REMOS 56 | verrlvl 1 57 | 58 | :AfterOption 59 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDINS600.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Install Packages. 4 | if "%FDEBUG%" == "y" call FDBUG.BAT shell Immediately before package installation 5 | 6 | vcls /f %TSF% /b %TSB% /c %TSC% /y2 /h24 7 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% IPAC_FRAME 8 | vecho /k0 /n /t %FLANG% IPACBM 9 | vgotoxy /k0 eop sor 10 | vprogres /k0 /f %TFP% 0 11 | 12 | if not exist %FTARGET%\NUL mkdir %FTARGET% >NUL 13 | if not exist %FTARGET%\NUL goto AbortDir 14 | if not exist %FTARGET%\TEMP\NUL mkdir %FTARGET%\TEMP >NUL 15 | if not exist %FTARGET%\TEMP\NUL goto AbortDir 16 | if not exist %FTARGET%\PACKAGES\NUL mkdir %FTARGET%\PACKAGES >NUL 17 | if not exist %FTARGET%\PACKAGES\NUL goto AbortDir 18 | 19 | REM Run through all binaries to be installed. 20 | set _PI=0 21 | 22 | REM For some reason, DOS sometimes fails to do this correctly on the first try. 23 | REM So, make sure it is ready before moving on. 24 | :PkgSticky 25 | type %FPKGS% | grep -iv ^; | vstr /b/l total | set /p _PM= 26 | if "%_PM%" == "" goto PkgSticky 27 | 28 | :PkgLoop 29 | type %FPKGS% | grep -iv ^; | vstr /b/l %_PI% | set /p _PA= 30 | if "%_PA%" == "" goto PkgLoop 31 | 32 | vgotoxy /k0 sop 33 | vecho /k0 /n /t %FLANG% IPACBI %TFH% %_PA% %TFF% 34 | vecho /k0 /f %TFF% /e /n 35 | 36 | vfdutil /c/p %FTARGET%\ 37 | verrlvl 0 38 | call %FINSP%\FDIPKG.BAT %_PA% 39 | if errorlevel 1 goto PkgError 40 | vfdutil /c/p %FINSP%\ 41 | 42 | :PkgSkip 43 | vgotoxy /k0 eop sor 44 | vprogres /k0 /f %TFP% %_PI% of %_PM% 45 | 46 | :PkgIncSticky 47 | set _PT= 48 | set /e _PT=vmath %_PI% + 1 49 | if "%_PT%" == "" goto PkgIncSticky 50 | set _PI=%_PT% 51 | set _PT= 52 | 53 | if "%_PI%" == "%_PM%" goto PkgDone 54 | goto PkgLoop 55 | 56 | :PkgError 57 | vfdutil /c/p %FINSP%\ 58 | verrlvl 1 59 | goto AbortPkg 60 | 61 | :PkgDone 62 | 63 | if "%FDNVER%" == "v0.99.5" goto OldFDINST 64 | goto LinksDone 65 | 66 | :OldFDINST 67 | REM After FDNPKG v0.99.5 Links are no longer batch files. They are COMs. 68 | 69 | REM Adjust Links if needed. 70 | if "%FDRIVE%" == "C:" goto LinksDone 71 | 72 | if not exist %FTARGET%\LINKS\NUL goto LinksDone 73 | 74 | :LinksSticky 75 | dir /on /a /b /p- %FTARGET%\LINKS\*.BAT | vstr /b/l TOTAL | set /p _PM= 76 | if "%_PM%" == "" goto PkgSticky 77 | if "%_PM%" == "0" goto LinksDone 78 | 79 | set _PI=0 80 | :LinksLoop 81 | dir /on /a /b /p- %FTARGET%\LINKS\*.BAT | vstr /b/l %_PI% | set /p _PA= 82 | if "%_PA%" == "" goto LinksLoop 83 | if not exist %FTARGET%\LINKS\%_PA% goto LinkSkip 84 | 85 | grep ^%FDRIVE% %FTARGET%\LINKS\%_PA% >NUL 86 | if errorlevel 1 goto LinkSkip 87 | 88 | type %FTARGET%\LINKS\%_PA% | vstr /s %FDRIVE% C:>%TEMP%\LINK.TMP 89 | copy /y %TEMP%\LINK.TMP %FTARGET%\LINKS\%_PA% >NUL 90 | del %TEMP%\LINK.TMP >NUL 91 | 92 | :LinkSkip 93 | set _PT= 94 | set /e _PT=vmath %_PI% + 1 95 | if "%_PT%" == "" goto LinkSkip 96 | set _PI=%_PT% 97 | set _PT= 98 | if not "%_PI%" == "%_PM%" goto LinksLoop 99 | 100 | :LinksDone 101 | vgotoxy /k0 eop sor 102 | vprogres /k0 /f %TFP% 100 103 | vdelay %FDEL% 104 | 105 | REM Restore Preserved Package Data and FreeDOS files if Present 106 | if "%FPBAK%" == "" goto NoSavedData 107 | if not exist %FPBAK%\NUL goto NoSavedData 108 | xcopy /S /N %FPBAK%\*.* %FTARGET%\ >NUL 109 | deltree /Y %FPBAK%\*.* >NUL 110 | rmdir %FPBAK% >NUL 111 | set FPBAK= 112 | 113 | :NoSavedData 114 | verrlvl 0 115 | goto Success 116 | 117 | :AbortDir 118 | set FERROR="Unable to create %FTARGET% directory." 119 | call %FINSP%\FDIFAIL.BAT ERROR_MKDOS %FTARGET% 120 | goto Done 121 | 122 | :AbortPkg 123 | set FERROR="Unable to install '%_PA%' package." 124 | call %FINSP%\FDIFAIL.BAT cc ERROR_PACKAGE %_PA% 125 | if errorlevel 1 goto Done 126 | vcls /f %TSF% /b %TSB% /c %TSC% /y2 /h24 127 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% IPAC_FRAME 128 | vecho /k0 /n /t %FLANG% IPACBM 129 | goto PkgSkip 130 | 131 | :Success 132 | vcls /f %TSF% /b %TSB% /c %TSC% /y2 /h24 133 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% IPACDONE_FRAME 134 | vecho /k0 /n /t %FLANG% IPACDONE 135 | vdelay %FDEL% 136 | verrlvl 0 137 | 138 | :Done 139 | 140 | set _PA= 141 | set _PI= 142 | set _PM= -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDINS700.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Transfer system files. 4 | 5 | if "%OSYS%" == "y" goto DoOption 6 | goto AfterOption 7 | 8 | :DoOption 9 | vcls /f %TSF% /b %TSB% /c %TSC% /y2 /h24 10 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% IXSYS_FRAME 11 | vecho /k0 /n /t %FLANG% IXSYS %TFH% %FDRIVE% %TFF% 12 | vdelay %FDEL% 13 | 14 | if exist %FDRIVE%\COMMAND.COM attrib -R -S -H %FDRIVE%\COMMAND.COM >NUL 15 | if exist %FDRIVE%\KERNEL.SYS attrib -R -S -H %FDRIVE%\KERNEL.SYS >NUL 16 | 17 | REM Remove NON-FREEDOS Stuff 18 | if exist %FDRIVE%\DRDOS.386 attrib -R -S -H %FDRIVE%\DRDOS.386 >NUL 19 | if exist %FDRIVE%\DRDOS.386 del %FDRIVE%\DRDOS.386 >NUL 20 | 21 | if exist %FDRIVE%\WINA20.386 attrib -R -S -H %FDRIVE%\WINA20.386 >NUL 22 | if exist %FDRIVE%\WINA20.386 del %FDRIVE%\WINA20.386 >NUL 23 | 24 | if exist %FDRIVE%\IBMBIO.COM attrib -R -S -H %FDRIVE%\IBMBIO.COM >NUL 25 | if exist %FDRIVE%\IBMBIO.COM del %FDRIVE%\IBMBIO.COM >NUL 26 | 27 | if exist %FDRIVE%\IBMDOS.COM attrib -R -S -H %FDRIVE%\IBMDOS.COM >NUL 28 | if exist %FDRIVE%\IBMDOS.COM del %FDRIVE%\IBMDOS.COM >NUL 29 | 30 | if exist %FDRIVE%\IO.SYS attrib -R -S -H %FDRIVE%\IO.SYS >NUL 31 | if exist %FDRIVE%\IO.SYS del %FDRIVE%\IO.SYS >NUL 32 | 33 | if exist %FDRIVE%\MSDOS.SYS attrib -R -S -H %FDRIVE%\MSDOS.SYS >NUL 34 | if exist %FDRIVE%\MSDOS.SYS del %FDRIVE%\MSDOS.SYS >NUL 35 | 36 | if exist %FTARGET%\BOOT.BSS attrib -R -S -H %FTARGET%\BOOT.BSS >NUL 37 | if exist %FTARGET%\BOOT.BSS del %FTARGET%\BOOT.BSS >NUL 38 | 39 | if exist %FTARGET%\BOOT.MBR attrib -R -S -H %FTARGET%\BOOT.MBR >NUL 40 | if exist %FTARGET%\BOOT.MBR del %FTARGET%\BOOT.MBR >NUL 41 | 42 | REM Backup MBR 43 | if "%OBPD%" == "" goto NoMBRBackup 44 | pushd 45 | vfdutil /c /p %FTARGET%\ 46 | fdisk /SMBR %OBPD% >NUL 47 | popd 48 | :NoMBRBackup 49 | 50 | if not "%OBSS%" == "y" goto NotForceBSS 51 | sys %FBOOTD% %FDRIVE% /BOTH /BACKUPBS %FTARGET%\BOOT.BSS >NUL 52 | if errorlevel 1 goto Failed 53 | 54 | if "%OBPD%" == "" goto AfterSys 55 | fdisk /MBR %OBPD% >NUL 56 | if errorlevel 1 goto Failed 57 | goto ActivatePart 58 | 59 | :NotForceBSS 60 | sys %FBOOTD% %FDRIVE% /BACKUPBS %FTARGET%\BOOT.BSS >NUL 61 | if errorlevel 1 goto Failed 62 | if "%OBPD%" == "" goto AfterSys 63 | 64 | :ActivatePart 65 | if "%OBPN%" == "" goto AfterSys 66 | fdisk /ACTIVATE:%OBPN% %OBPD% >NUL 67 | if errorlevel 1 goto Failed 68 | goto AfterSYS 69 | 70 | :AfterSYS 71 | verrlvl 0 72 | if not "%FVERB%" == "y" goto AfterOption 73 | vcls /f %TSF% /b %TSB% /c %TSC% /y2 /h24 74 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% IXSYS_FRAME 75 | vgotoxy /k0 sop 76 | vecho /k0 /n /e /t %FLANG% IXSYS_DONE 77 | vdelay %FDEL% 78 | 79 | goto AfterOption 80 | 81 | :Failed 82 | set FERROR="System file transfer to %FDRIVE% failed." 83 | call FDIFAIL.BAT cc ERROR_XSYS %FDRIVE% 84 | verrlvl 1 85 | 86 | :AfterOption 87 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDINS800.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Language specific adjustments 4 | 5 | rem if "%LANG%" == "EN" goto NoCommand 6 | 7 | if not exist %FTARGET%\BIN\FREECOM\XSWAP\CMD-%LANG%.COM goto NoCommand 8 | 9 | REM Replace with language specific version of FreeCOM 10 | 11 | copy /y %FTARGET%\BIN\FREECOM\XSWAP\CMD-%LANG%.COM %FTARGET%\BIN\COMMAND.COM >NUL 12 | copy /y %FTARGET%\BIN\FREECOM\XSWAP\CMD-%LANG%.COM %FDRIVE%\COMMAND.COM >NUL 13 | 14 | :NoCommand 15 | if exist %FTARGET%\BIN\COMMAND.COM goto Done 16 | if not exist %FDRIVE%\COMMAND.COM goto Done 17 | 18 | REM If no version of FreeCOM is in the BIN dir, copy the one installed by SYS 19 | copy /y %FDRIVE%\COMMAND.COM %FTARGET%\BIN\COMMAND.COM >NUL 20 | 21 | :Done -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDINS900.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Install fresh custom AUTOEXEC.BAT and FDCONFIG.SYS 4 | 5 | if "%OCFG%" == "y" goto DoOption 6 | goto AfterOption 7 | 8 | :DoOption 9 | 10 | set DMNU=1 11 | 12 | REM DBX=DosBox, QEM=QEMU, VBX=VirtualBox, VMW=VMware, EMU=Other Emulated 13 | set FEXT=DEF 14 | vinfo /m 15 | rem if errorlevel 1 set FEXT=186 16 | rem if errorlevel 2 set FEXT=286 17 | rem if errorlevel 3 18 | set FEXT=386 19 | if errorlevel 4 set FEXT=486 20 | if errorlevel 5 set FEXT=586 21 | if errorlevel 6 set FEXT=686 22 | if errorlevel 101 set FEXT=DBX 23 | if errorlevel 102 set FEXT=QEM 24 | if errorlevel 103 set FEXT=VBX 25 | if errorlevel 104 set FEXT=VMW 26 | if errorlevel 200 set FEXT=EMU 27 | if "%FEXT%" == "VBX" goto IsVirtualBox 28 | goto NotDOSBox 29 | 30 | :IsVirtualBox 31 | set DMNU=2 32 | 33 | :NotDOSBox 34 | verrlvl 0 35 | 36 | vcls /f %TSF% /b %TSB% /c %TSC% /y2 /h24 37 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% ICONFIGS_FRAME 38 | vecho /k0 /n /t %FLANG% ICONFIGS 39 | vdelay %FDEL% 40 | 41 | REM Simple AUTOEXEC.BAT creation 42 | 43 | rem Embed Language configuration and codepage. 44 | if not exist %FINSP%\AUTOEXEC.%FEXT% set FEXT=DEF 45 | if not exist %FINSP%\AUTOEXEC.%FEXT% goto SkipAutoExec 46 | 47 | type %FINSP%\AUTOEXEC.%FEXT% |grep -B 1000 -i \$LANG_SET\$|grep -iv \$LANG_SET\$>%TEMP%\AUTOEXEC.BAT 48 | if errorlevel 1 goto Failed 49 | if not exist %LANG%\SETLANG.BAT goto NoSetLangBat 50 | echo rem codepage settings >>%TEMP%\AUTOEXEC.BAT 51 | type %LANG%\SETLANG.BAT | grep -iv "@ECHO OFF" | vstr /b/n>>%TEMP%\AUTOEXEC.BAT 52 | if errorlevel 1 goto Failed 53 | :NoSetLangBat 54 | if not exist %LANG%\KEYBOARD.LST goto NoKeyboards 55 | echo rem keyboard settings >>%TEMP%\AUTOEXEC.BAT 56 | type %LANG%\KEYBOARD.LST | grep -i "^VALUE.%FKB%=" | vstr /f = 2 | vstr /b/n>>%TEMP%\AUTOEXEC.BAT 57 | :NoKeyboards 58 | echo. >>%TEMP%\AUTOEXEC.BAT 59 | if errorlevel 1 goto Failed 60 | type %FINSP%\AUTOEXEC.%FEXT% |grep -A 1000 -i \$LANG_SET\$|grep -iv \$LANG_SET\$>>%TEMP%\AUTOEXEC.BAT 61 | if errorlevel 1 goto Failed 62 | 63 | rem if character at position 3 or 4 of FTARGET is less or equal to CR 64 | REM then no path is provided 65 | vinfo /k 4 %FTARGET% 66 | if errorlevel 14 goto Sticky 67 | vinfo /k 3 %FTARGET% 68 | if errorlevel 14 goto Sticky 69 | goto NoDDIR 70 | 71 | :Sticky 72 | echo %FTARGET% | vstr /n/f \ 2- | set /p DDIR= 73 | if "%DDIR%" == "" goto Sticky 74 | set DDIR=C:\%DDIR% 75 | goto HaveDDIR 76 | :NoDDIR 77 | verrlvl 0 78 | set DDIR=C:\ 79 | :HaveDDIR 80 | 81 | rem set LANG, DOSDIR and etc in AUTOEXEC.BAT 82 | CALL FDISET.BAT BEGIN %TEMP%\AUTOEXEC.BAT 83 | CALL FDISET.BAT SET $TZ$ %TZ% 84 | CALL FDISET.BAT SET $FLANG$ %LANG% 85 | CALL FDISET.BAT SET $FTARGET$ %DDIR% 86 | CALL FDISET.BAT SET $FDRIVE$ C: 87 | rem CALL FDISET.BAT SET OSNAME "%OS_NAME%" 88 | rem CALL FDISET.BAT SET OSVER "%OS_VERSION%" 89 | rem CALL FDISET.BAT SET OS_NAME "%OS_NAME%" 90 | rem CALL FDISET.BAT SET OS_VERSION "%OS_VERSION%" 91 | CALL FDISET.BAT END %FDRIVE%\$AUTOEXEC$ 92 | if errorlevel 1 goto Failed 93 | del %TEMP%\AUTOEXEC.BAT>NUL 94 | 95 | :SkipAutoExec 96 | rem set LANG, DOSDIR and etc in FDCONFIG.SYS 97 | 98 | rem set FEXT=086 99 | vinfo /m 100 | rem if errorlevel 1 set FEXT=186 101 | rem if errorlevel 2 set FEXT=286 102 | rem if errorlevel 3 103 | set FEXT=386 104 | if errorlevel 4 set FEXT=486 105 | if errorlevel 5 set FEXT=586 106 | if errorlevel 6 set FEXT=686 107 | if errorlevel 101 set FEXT=DBX 108 | if errorlevel 102 set FEXT=QEM 109 | if errorlevel 103 set FEXT=VBX 110 | if errorlevel 104 set FEXT=VMW 111 | if errorlevel 200 set FEXT=EMU 112 | 113 | set FCCTY=001 114 | set FCKEY=858 115 | if exist %LANG%\COUNTRY.BAT call %LANG%\COUNTRY.BAT 116 | 117 | if not exist %FINSP%\CONFIG.%FEXT% set FEXT=DEF 118 | if not exist %FINSP%\CONFIG.%FEXT% goto SkipFDConfig 119 | CALL FDISET.BAT BEGIN %FINSP%\CONFIG.%FEXT% 120 | CALL FDISET.BAT SET $FLANG$ %LANG% 121 | CALL FDISET.BAT SET $FTARGET$ %DDIR% 122 | CALL FDISET.BAT SET $FCCC$ %FCCTY% 123 | CALL FDISET.BAT SET $FCKC$ %FCKEY% 124 | CALL FDISET.BAT SET $FDEFMENU$ %DMNU% 125 | CALL FDISET.BAT SET $FDRIVE$ C: 126 | CALL FDISET.BAT END %FDRIVE%\$CONFIG$ 127 | if errorlevel 1 goto Failed 128 | 129 | :SkipFDConfig 130 | verrlvl 0 131 | set DDIR= 132 | 133 | REM Create the installed version ID file. 134 | echo PLATFORM=%OS_NAME%>%FTARGET%\VERSION.FDI 135 | if errorlevel 1 goto Failed 136 | echo VERSION=%OS_VERSION%>>%FTARGET%\VERSION.FDI 137 | if errorlevel 1 goto Failed 138 | grep -i "^RELEASE=" %FINSP%\VERSION.FDI>>%FTARGET%\VERSION.FDI 139 | verrlvl 0 140 | 141 | if not "%FVERB%" == "y" goto AfterOption 142 | vcls /f %TSF% /b %TSB% /c %TSC% /y2 /h24 143 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% ICONFIGS_FRAME 144 | vgotoxy /k0 sop 145 | vecho /k0 /n /e /t %FLANG% ICONFIGS_DONE 146 | vdelay %FDEL% 147 | 148 | goto AfterOption 149 | 150 | :Failed 151 | set FERROR="Copying configuration files." 152 | call FDIFAIL.BAT cc ERROR_CONFIG 153 | verrlvl 1 154 | 155 | :AfterOption 156 | set FEXT= 157 | set DMNU= 158 | set FCCTY= 159 | set FCKEY= -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDIPKG.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Package installation mini-batch utility. 4 | 5 | if "%1" == "" goto Success 6 | 7 | :BinPackage 8 | vfdutil /n %1 | set /p TEMPFILE= 9 | if "%TEMPFILE%" == "" goto BinPackage 10 | if exist %FINSP%\PACKAGES\%TEMPFILE%.ZIP goto OverrideA 11 | if exist %FINSP%\..\PACKAGES\%TEMPFILE%.ZIP goto OverrideB 12 | vfdutil /u %FMEDIA%\%1.zip >nul 13 | if errorlevel 1 goto FoundPackage 14 | goto Missing 15 | :FoundPackage 16 | set /e TEMPFILE=vfdutil /f %FMEDIA%\%1.zip 17 | if "%TEMPFILE%" == "" goto FoundPackage 18 | fdinst install %TEMPFILE% >nul 19 | :CheckSuccess 20 | if errorlevel 1 goto Failed 21 | goto Success 22 | 23 | :OverrideA 24 | fdinst install %FINSP%\PACKAGES\%TEMPFILE%.ZIP >nul 25 | goto CheckSuccess 26 | 27 | :OverrideB 28 | fdinst install %FINSP%\..\PACKAGES\%TEMPFILE%.ZIP >nul 29 | goto CheckSuccess 30 | 31 | :Missing 32 | if "%FPSKP%" == "y" goto Success 33 | 34 | :Failed 35 | verrlvl 1 36 | goto Done 37 | 38 | :Success 39 | verrlvl 0 40 | goto Done 41 | 42 | :Done 43 | set TEMPFILE= -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDISET.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Text file variable setting utility. 4 | 5 | if "%1" == "BEGIN" goto Prepare 6 | if "%1" == "END" goto Finished 7 | if "%1" == "SET" goto SetData 8 | goto Error 9 | 10 | :SetData 11 | if not exist %TEMP%\FDISET.TMP goto Error 12 | type %TEMP%\FDISET.TMP|vstr /n/s "%2" "%3">%TEMP%\FDISET.OUT 13 | if not exist %TEMP%\FDISET.OUT goto Error 14 | copy /y %TEMP%\FDISET.OUT %TEMP%\FDISET.TMP>NUL 15 | del %TEMP%\FDISET.OUT>NUL 16 | goto Success 17 | 18 | :Prepare 19 | if exist %TEMP%\FDISET.TMP goto Error 20 | copy /y %2 %TEMP%\FDISET.TMP>NUL 21 | if errorlevel 1 goto Error 22 | if not exist %TEMP%\FDISET.TMP goto Error 23 | goto Success 24 | 25 | :Finished 26 | if not exist %TEMP%\FDISET.TMP goto Error 27 | copy /y %TEMP%\FDISET.TMP %2>NUL 28 | if not exist %2 goto Error 29 | del %TEMP%\FDISET.TMP>NUL 30 | if exist %TEMP%\FDISET.TMP goto Error 31 | goto Success 32 | 33 | :Success 34 | verrlvl 0 35 | goto Done 36 | 37 | :Error 38 | verrlvl 1 39 | goto Done 40 | 41 | :Done 42 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDITEMP.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | set RETRY=yes 4 | 5 | if "%1" == "REQUIRED" goto Required 6 | if "%TEMP%" == "" goto MakeTemp 7 | call \FREEDOS\SETUP\FDIDRIVE.BAT PRE %TEMP% 8 | if "%RESULT%" == "%FDRAMDRV%" goto UseRamDrive 9 | if "%RESULT%" == "%FINSD%" goto MakeTemp 10 | if "%RESULT%" == "%FBOOTD%" goto MakeTemp 11 | 12 | :NoReset 13 | if "%TEMP%" == "" goto MakeTemp 14 | vfdutil /u %TEMP%\TEST????.??? >NUL 15 | if errorlevel 1 goto MakeTemp 16 | goto Done 17 | 18 | :MakeTemp 19 | set TEMP= 20 | 21 | vinfo /m 22 | if errorlevel 103 goto NotDOSBox 23 | if errorlevel 102 goto IsQEMU 24 | if errorlevel 101 goto IsDOSBox 25 | goto NotDOSBox 26 | 27 | :UseRamDrive 28 | verrlvl 0 29 | set RETRY= 30 | goto SkipCreateRD 31 | 32 | :NotDOSBox 33 | verrlvl 0 34 | 35 | :TryRAMDrive 36 | if exist \FREEDOS\BIN\FDRAMDRV.BAT CALL \FREEDOS\BIN\FDRAMDRV.BAT 37 | :SkipCreateRD 38 | set RAMDRV=%FDRAMDRV% 39 | if "%FDRAMDRV%" == "" goto NoRamDrive 40 | 41 | :SetTempPath 42 | set TEMP=%RAMDRV%\TEMP 43 | set RAMDRV= 44 | set RETRY= 45 | 46 | if "%1" == "QUITE" goto TempExists 47 | 48 | echo Temporary directory set to %TEMP%. 49 | 50 | :TempExists 51 | if not exist %TEMP%\NUL mkdir %TEMP% >NUL 52 | if not exist %TEMP%\NUL goto NoRamDrive 53 | 54 | verrlvl 0 55 | goto Done 56 | 57 | :Assimilate 58 | set RAMDRV=%FDRAMDRV% 59 | goto SetTempPath 60 | 61 | :TryAgain 62 | set RETRY= 63 | goto TryRAMDrive 64 | 65 | :NoRamDrive 66 | if not "%RETRY%" == "" goto TryAgain 67 | set RAMDRV= 68 | set TEMP= 69 | verrlvl 1 70 | goto Done 71 | 72 | :Required 73 | vinfo /d %FDRIVE% 74 | if errorlevel 1 goto Failed 75 | vfdutil /u %FDRIVE%\????????.??? >NUL 76 | if errorlevel 1 goto Failed 77 | set FTMP=%FDRIVE%\FDITEMP.$$$ 78 | if exist %FTMP%\NUL goto PathExists 79 | mkdir %FTMP% >NUL 80 | if not exist %FTMP%\NUL goto Failed 81 | :PathExists 82 | if "%TEMP%" == "" set TEMP=%FTMP% 83 | goto done 84 | 85 | :IsQEMU 86 | if not "%FDRAMDRV%" == "" goto Assimilate 87 | :QEMU 88 | if exist \FREEDOS\BIN\FDRAMDRV.BAT CALL \FREEDOS\BIN\FDRAMDRV.BAT LAST CHANCE 89 | set RAMDRV=%FDRAMDRV% 90 | if "%FDRAMDRV%" == "" goto Failed 91 | goto SetTempPath 92 | 93 | :IsDOSBox 94 | if not "%FDRAMDRV%" == "" goto Assimilate 95 | :Failed 96 | set TEMP= 97 | set FTMP= 98 | verrlvl 1 99 | 100 | :Done 101 | set RETRY= 102 | set RESULT= 103 | 104 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDNORUN.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Reserved for custom message display when installation is not supported 4 | REM on the current platform. 5 | 6 | REM If a language file FDNOTICE.DEF exists, it will be automatically loaded 7 | REM prior to running this file. 8 | 9 | rem vecho /k0 /fGray /bBlack /p 10 | vecho /k0 /fLightRed /bBlack /n /t %FLANG% NORUN.1 "%OS_NAME%" "%OS_VERSION%" 11 | vecho /k0 /fLightRed /bBlack /n /t %FLANG% NORUN.2 "%OS_NAME%" "%OS_VERSION%" 12 | vecho /k0 /fGray /bBlack /p 13 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDNOTICE.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Reserved for custom message display when installation was not needed or 4 | REM performed. 5 | 6 | REM If a language file FDNOTICE.DEF exists, it will be automatically loaded 7 | REM prior to running this file. 8 | 9 | REM When the current version of the OS is already installed, this file will 10 | REM be called prior to exiting the batch file instead of automatically 11 | REM starting the install process. 12 | 13 | vecho /k0 /fDarkGray /x 0x2a /fGray 14 | vecho /k0 /n /fDarkGray '***' /fGray 15 | vecho /k0 /n /t %FLANG% NOTICE.1 "%OS_NAME%" "%OS_VERSION%" 16 | vgotoxy eor left left 17 | vecho /k0 /fDarkGray /x 0x2a /fGray /p /n /fDarkGray '***' /fGray 18 | vecho /k0 /n /t %FLANG% NOTICE.2 19 | vgotoxy eor left left 20 | vecho /k0 /fDarkGray /x 0x2a /fGray /p /fDarkGray /x 0x2a /fGray /p 21 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDSETUP.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM FreeDOS 1.2+ Installer version 1.00. 4 | REM GNU General Public License, Version 1 or later 5 | REM Copyright 2016-2021 Jerome Shidel. 6 | 7 | set FCURSOR=small 8 | if "%TEMP%" == "" goto NoReadCursor 9 | vcursor | set /p FCURSOR= 10 | :NoReadCursor 11 | 12 | REM Configure initial mode **************************************************** 13 | REM Change to directory and path of this batch file. 14 | vfdutil /c /p %0 15 | 16 | REM Configure commmand-line options 17 | set FADV= 18 | set FBOOTED= 19 | 20 | if "%1" == "boot" set FBOOTED=y 21 | if "%1" == "cdrom" set FBOOTED=CDROM 22 | if "%1" == "standard" set FBOOTED=CDROM 23 | if "%1" == "floppy" set FBOOTED=y 24 | if "%1" == "eltorito" set FBOOTED=LEGACY 25 | if "%1" == "legacy" set FBOOTED=LEGACY 26 | if "%1" == "live" set FBOOTED=CDROM 27 | 28 | if "%1" == "usb" set FBOOTED=y 29 | if "%1" == "full" set FBOOTED=y 30 | if "%1" == "lite" set FBOOTED=y 31 | 32 | if "%1" == "adv" set FADV=y 33 | if "%1" == "ADV" set FADV=y 34 | if "%1" == "MBRZAP" set FADV=y 35 | 36 | REM Run Installer Stages ****************************************************** 37 | 38 | set FDIDFMT=NO 39 | 40 | REM Run configuration stage. 41 | set FSTAGE=000 42 | call FDILANG.BAT FDSETUP 43 | if not exist STAGE%FSTAGE%.BAT goto Error 44 | call STAGE%FSTAGE%.BAT 45 | if errorlevel 1 goto Aborted 46 | 47 | :DetectPreviousInstall 48 | REM Detect if this version is already installed 49 | if "%FBOOTED%" == "" goto SkipInstallCheck 50 | set FSTAGE=100 51 | call FDILANG.BAT FDSETUP 52 | if not exist STAGE%FSTAGE%.BAT goto Error 53 | call STAGE%FSTAGE%.BAT 54 | if errorlevel 1 goto Aborted 55 | if exist FDCHECK.BAT call FDCHECK.BAT FIRST 56 | if errorlevel 1 goto PlatformNotSupported 57 | if "%FFOUND%" == "y" goto NoInstallNeeded 58 | verrlvl 0 59 | :SkipInstallCheck 60 | 61 | REM Set Installer theme. 62 | set FSTAGE=200 63 | if not exist STAGE%FSTAGE%.BAT goto Error 64 | call STAGE%FSTAGE%.BAT 65 | if errorlevel 1 goto Aborted 66 | 67 | REM Show Logo file if present. 68 | if exist FDSPLASH.BAT call FDSPLASH.BAT 69 | if errorlevel 1 goto Aborted 70 | 71 | if "%1" == "MBRZAP" goto DiskTesting 72 | 73 | REM Welcome 74 | set FSTAGE=300 75 | if not exist STAGE%FSTAGE%.BAT goto Error 76 | call STAGE%FSTAGE%.BAT 77 | if errorlevel 1 goto Aborted 78 | 79 | :DiskTesting 80 | REM Partitoned 81 | set FSTAGE=400 82 | if not exist STAGE%FSTAGE%.BAT goto Error 83 | call STAGE%FSTAGE%.BAT 84 | if errorlevel 1 goto Aborted 85 | 86 | REM Formatted 87 | set FSTAGE=500 88 | if not exist STAGE%FSTAGE%.BAT goto Error 89 | call STAGE%FSTAGE%.BAT 90 | if errorlevel 1 goto Aborted 91 | 92 | REM Beyond this point, a temp directory is required. 93 | set FSTAGE=TMP 94 | call FDITEMP.BAT REQUIRED 95 | if errorlevel 1 goto Error 96 | 97 | REM Check requirements if testing is present. 98 | if exist FDCHECK.BAT call FDCHECK.BAT SECOND 99 | if errorlevel 1 goto Aborted 100 | 101 | if "%1" == "MBRZAP" goto MBRZAP 102 | 103 | REM Locate Package Media. 104 | set FSTAGE=600 105 | if not exist STAGE%FSTAGE%.BAT goto Error 106 | call STAGE%FSTAGE%.BAT 107 | if errorlevel 1 goto Aborted 108 | 109 | REM Ask the user all of the Questions. 110 | SET HTARGET=%FTARGET% 111 | set FSTAGE=700 112 | if not exist STAGE%FSTAGE%.BAT goto Error 113 | call STAGE%FSTAGE%.BAT 114 | if errorlevel 1 goto Aborted 115 | if not "%HTARGET%" == "%FTARGET%" goto DiskTesting 116 | SET HTARGET= 117 | 118 | if exist FDCHECK.BAT call FDCHECK.BAT THIRD 119 | if errorlevel 1 goto Aborted 120 | 121 | REM Do the installation. 122 | set FSTAGE=800 123 | call FDILANG.BAT FDSETUP 124 | if not exist STAGE%FSTAGE%.BAT goto Error 125 | call STAGE%FSTAGE%.BAT 126 | if errorlevel 1 goto Aborted 127 | 128 | :PostInstall 129 | REM Post install stuff, like recommend reboot. 130 | set FSTAGE=900 131 | if not exist STAGE%FSTAGE%.BAT goto Error 132 | call STAGE%FSTAGE%.BAT 133 | if errorlevel 1 goto Aborted 134 | 135 | :CleanUp 136 | REM Run cleanup stage. 137 | if "%FREBOOT%" == "y" goto DoReboot 138 | call FDICLEAN.BAT 139 | 140 | REM Ran all installer stages ************************************************** 141 | verrlvl 0 142 | goto Completed 143 | 144 | REM Ran all installer stages ************************************************** 145 | :MBRZAP 146 | SET HTARGET=%FTARGET% 147 | set FSTAGE=700 148 | set OSYS=y 149 | vcursor hide 150 | call FDILANG.BAT FDSETUP 151 | call FDICLS.BAT 152 | vcls /g /f %TSF% /b %TSB% /c %TSC% /y2 /h24 153 | if not exist FDASK100.BAT goto Error 154 | verrlvl 0 155 | call FDASK100.BAT 156 | if errorlevel 1 goto Aborted 157 | vcls /g /f %TSF% /b %TSB% /c %TSC% /y2 /h24 158 | if not "%HTARGET%" == "%FTARGET%" goto DiskTesting 159 | SET HTARGET= 160 | if not exist FDASK600.BAT goto Error 161 | verrlvl 0 162 | call FDASK600.BAT 163 | if errorlevel 1 goto Aborted 164 | if not "%OBSS%" == "y" vcls /g /a7 165 | if not "%OBSS%" == "y" goto CleanUp 166 | vcls /g /f %TSF% /b %TSB% /c %TSC% /y2 /h24 167 | if not exist FDINS700.BAT goto Error 168 | verrlvl 0 169 | call FDINS700.BAT 170 | if errorlevel 1 goto Aborted 171 | vcls /g /f %TSF% /b %TSB% /c %TSC% /y2 /h24 172 | goto PostInstall 173 | 174 | :NoInstallNeeded 175 | REM Run cleanup stage. 176 | call FDICLEAN.BAT 177 | if exist FDNOTICE.BAT call FDNOTICE.BAT 178 | verrlvl 0 179 | set FDRIVE= 180 | goto Finished 181 | 182 | :PlatformNotSupported 183 | REM Run cleanup stage. 184 | call FDICLEAN.BAT 185 | if exist FDNORUN.BAT call FDNORUN.BAT 186 | verrlvl 0 187 | set FDRIVE= 188 | goto Finished 189 | 190 | REM Installer completed successfully ****************************************** 191 | :Completed 192 | verrlvl 0 193 | goto Finished 194 | 195 | REM Installer failed from missing stage file ********************************** 196 | :Error 197 | call FDICLEAN.BAT 198 | :NoCleanupStage 199 | vcls /g /a 0x07 200 | vecho /k0 /t %FLANG% STAGE_ERROR %FSTAGE% 201 | set FDRIVE= 202 | goto Finished 203 | 204 | REM Installer failed to install or was aborted ******************************** 205 | :Aborted 206 | call FDICLEAN.BAT 207 | :AbortedNoCleanup 208 | vcls /g /a 0x07 209 | if "%FREBOOT%" == "y" goto DoReboot 210 | if "%OS_NAME%" == "" goto NoOSName 211 | vecho /k0 /t %FLANG% ABORTED "%OS_NAME% %OS_VERSION%" 212 | vecho /k0 213 | :NoOSName 214 | if not "%FERROR%" == "" vecho /k0 /fWhite "Error: " /fGray /n 215 | if not "%FERROR%" == "" vecho /k0 %FERROR% 216 | if not "%FERROR%" == "" vecho 217 | if exist FDERROR.BAT call FDERROR.BAT 218 | set FDRIVE= 219 | goto Finished 220 | 221 | REM Post execution cleanup **************************************************** 222 | :Finished 223 | vfdutil /c /p %0 224 | 225 | if "%FREBOOT%" == "y" goto DoReboot 226 | 227 | set FADV= 228 | set FBOOTED= 229 | set FSTAGE= 230 | set FCURSOR= 231 | set FERROR= 232 | set FDEBUG= 233 | set FWAIT= 234 | set FDEL= 235 | set FLANG= 236 | 237 | if "%FREBOOT%" == "n" goto DoExit 238 | 239 | set FDRIVE= 240 | set FTARGET= 241 | 242 | goto DontDoAnything 243 | 244 | :DoReboot 245 | call FDICLEAN.BAT TEMPONLY 246 | vcls /g /a 0x07 247 | 248 | if "%CACHED%" == "NO" goto NoFlush 249 | if "%TEMP%" == "" goto JustFlush 250 | lbacache STAT | grep -i caching >NUL 251 | if errorlevel 1 goto NoFlush 252 | :JustFlush 253 | lbacache SYNC 254 | lbacache STOP 255 | :NoFlush 256 | 257 | vline /p0 /k0 hidden 258 | vgotoxy /g eop sor 259 | vecho /k0 /bRed /e /n /t %FLANG% REBOOT_PAUSE White Yellow 260 | 261 | REM POSTAL for vpause is an undocumented option. Generally, it should only 262 | REM be used in extremely rare cases. When specified, instead of returning to 263 | REM DOS after the pause is completed. vpause will initiate the BIOS POST system. 264 | REM (Power On Self Test). Basically, it is a forced reboot. If care is not 265 | REM taken, any disk write caches and buffers will be lost and will result in 266 | REM file system corruption. For this reason, the POSTAL option will always 267 | REM remain undocumented. 268 | vpause /fLightCyan /d 60 CTRL+C POSTAL 269 | if errorlevel 200 goto SkipReboot 270 | 271 | REM We really cannot get here unless something went really, really wrong. 272 | fdapm warmboot 273 | REM goto DontDoAnything 274 | 275 | :SkipReboot 276 | set FREBOOT=n 277 | goto CleanUp 278 | 279 | :DoExit 280 | set FREBOOT= 281 | vcls /g /a 0x07 282 | if exist FDTHANK.BAT call FDTHANK.BAT 283 | rem set FLANG= 284 | if exist FDSWPENV.BAT call FDSWPENV.BAT 285 | if not "%FDRIVE%" == "" cd %FDRIVE%\ 286 | cd \ 287 | 288 | REM End of Batch Script ******************************************************* 289 | :DontDoAnything 290 | rem set FLANG= 291 | if not "%FCLANG%" == "" set LANG= 292 | set FCLANG= 293 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDSPLASH.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Reserved for splash screen or log display. 4 | 5 | REM If a language file FDSPLASH.DEF exists, it will be automatically loaded 6 | REM prior to running this file. 7 | 8 | REM This file is called after STAGE000 (Configuration) and STAGE100 9 | REM (Installation Check). But, before STAGE200 (Welcome to Installer). 10 | 11 | REM vdelay 5000 12 | 13 | verrlvl 0 -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDSWPENV.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Post installation no reboot process. Swap environment to installed. 4 | 5 | REM Only valid installer variables are FDRIVE and FTARGET. All others have 6 | REM been cleared. 7 | 8 | set OLDPATH= 9 | set OLDDOS= 10 | 11 | set DOSDIR=%FTARGET% 12 | 13 | set PATH=%DOSDIR%\BIN 14 | if exist %DOSDIR%\LINKS\NUL set PATH=%PATH%;%DOSDIR%\LINKS 15 | 16 | set COMSPEC=%DOSDIR%\BIN\COMMAND.COM 17 | SET NLSPATH=%DOSDIR%\NLS 18 | SET HELPPATH=%DOSDIR%\HELP 19 | 20 | set AUTOFILE=%FDRIVE%\AUTOEXEC.BAT 21 | set CFGFILE=%FDRIVE%\FDCONFIG.SYS 22 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/FDTHANK.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Reserved for custom message display after installation. 4 | 5 | REM If a language file FDTHANK.DEF exists, it will be automatically loaded 6 | REM prior to running this file. 7 | 8 | REM When an installation completes successfully, this file will be called 9 | REM immediately before the script returns the user to the command prompt. 10 | 11 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/STAGE000.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Configure the installer. ************************************************** 4 | 5 | REM Set operating system TITLE and VERSION for installer, not cleared at exit. 6 | set OS_NAME=$OS_NAME$ 7 | set OS_VERSION=$OS_VERSION$ 8 | 9 | if "%1" == "VersionOnly" goto Done 10 | 11 | REM Debug Mode 12 | if "%FDEBUG%" == "" set FDEBUG=n 13 | 14 | REM Formatted volume label 15 | set OVOL=$OS_VOLUME$ 16 | 17 | REM Pause duration after Format and System file transfers. (seconds) 18 | set FWAIT=15 19 | 20 | REM Pause after displaying non-interactive messages. (milliseconds) 21 | set FDEL=2000 22 | 23 | REM Target path to install FreeDOS 24 | if not "%FINSD%" == "C:" set FDRIVE=C: 25 | if "%FINSD%" == "C:" set FDRIVE=D: 26 | set FTARGET=%FDRIVE%\$OS_DIR$ 27 | 28 | REM Backup path to when archiving. 29 | set FBAK=%FDRIVE%\FDBACKUP 30 | 31 | REM Show when little operations that complete. 32 | set FVERB=n 33 | if "%FADV%" == "y" set FVERB=y 34 | 35 | REM Skip Missing packages. 36 | set FPSKP=y 37 | 38 | REM Set installers path 39 | SET FINSP=%FINSD%\FREEDOS\SETUP 40 | 41 | REM Try to import some stuff from autoexec.bat and fdconfig.sys 42 | set HLANG=%LANG% 43 | set HTZ=%TZ% 44 | 45 | if "%TEMP%" == "" goto NoImport 46 | vfdutil /u %TEMP%\TEST????.??? >NUL 47 | if errorlevel 1 goto NoImport 48 | vinfo /d %FDRIVE% 49 | if errorlevel 1 goto NoImport 50 | vfdutil /u %FDRIVE%\TEST????.??? >NUL 51 | if errorlevel 1 goto NoImport 52 | 53 | echo @ECHO OFF>%TEMP%\FDIMPORT.000 54 | if not exist %FDRIVE%\FDCONFIG.SYS goto NoFDCONFIG 55 | grep -i "!SET " %FDRIVE%\FDCONFIG.SYS |grep -i " LANG=\| DOSDIR="|vstr /n /s ! "">>%TEMP%\FDIMPORT.000 56 | grep -i "!SET " %FDRIVE%\FDCONFIG.SYS |grep -i " TZ="|vstr /n /s ! "">>%TEMP%\FDIMPORT.000 57 | goto CheckAuto 58 | 59 | :NoFDCONFIG 60 | if not exist %FDRIVE%\CONFIG.SYS goto CheckAuto 61 | grep -i "!SET " %FDRIVE%\CONFIG.SYS|grep -i " LANG=\| DOSDIR="|vstr /n /s ! "">>%TEMP%\FDIMPORT.000 62 | grep -i "!SET " %FDRIVE%\CONFIG.SYS |grep -i " TZ="|vstr /n /s ! "">>%TEMP%\FDIMPORT.000 63 | 64 | :CheckAuto 65 | if not exist %FDRIVE%\AUTOEXEC.BAT goto NoAuto 66 | grep -i -v "REM " %FDRIVE%\AUTOEXEC.BAT|grep -i "SET "|grep -i " LANG=\| DOSDIR=">>%TEMP%\FDIMPORT.000 67 | grep -i -v "REM " %FDRIVE%\AUTOEXEC.BAT|grep -i "SET "|grep -i " TZ=">>%TEMP%\FDIMPORT.000 68 | 69 | :NoAuto 70 | if not exist %TEMP%\FDIMPORT.000 goto Done 71 | type %TEMP%\FDIMPORT.000|vstr /u/n/s " DOSDIR=" " TDOS="|vstr /n /s " " " ">%TEMP%\FDIMPORT.BAT 72 | 73 | call %TEMP%\FDIMPORT.BAT 74 | del %TEMP%\FDIMPORT.000 75 | del %TEMP%\FDIMPORT.BAT 76 | 77 | if "%TDOS%" == "" goto NoImport 78 | if "%TDOS%" == "\FDSetup" goto NoImport 79 | if "%TDOS%" == "\FDSETUP" goto NoImport 80 | 81 | SET FTARGET=%TDOS% 82 | 83 | :RepeatDrive 84 | vfdutil /d %FTARGET% | set /p FDRIVE= 85 | if "%FDRIVE%" == "" goto RepeatDrive 86 | if not "%FBOOTD%" == "%FDRIVE%" goto NotSelf 87 | if not "%FINSD%" == "%FBOOTD%" goto NotSelf 88 | 89 | if not "%FDRIVE%" == "C:" set TDOS=C: 90 | if "%FDRIVE%" == "C:" set TDOS=D: 91 | set FDRIVE=%TDOS% 92 | set FTARGET=%FDRIVE%\$OS_DIR$ 93 | 94 | :NotSelf 95 | set FBAK=%FDRIVE%\FDBACKUP 96 | 97 | :NoImport 98 | verrlvl 0 99 | set TDOS= 100 | 101 | :AdjustData 102 | if not "%HLANG%" == "" set LANG=%HLANG% 103 | if "%LANG%" == "" set FCLANG=y 104 | if "%FADV%" == "y" set FCLANG=y 105 | if "%LANG%" == "" set LANG=EN 106 | 107 | if not "%HTZ%" == "" set TZ=%HTZ% 108 | if "%TZ%" == "" set TZ=UTC 109 | 110 | REM Remove trailing spaces from LANG variable. 111 | if %LANG% == EN set LANG=EN 112 | if %LANG% == ES set LANG=ES 113 | if %LANG% == EO set LANG=EO 114 | if %LANG% == FR set LANG=FR 115 | if %LANG% == DE set LANG=DE 116 | if %LANG% == NL set LANG=NL 117 | if %LANG% == TR set LANG=TR 118 | 119 | REM Langage not supported switch to english 120 | if not exist %LANG%\NUL set LANG=EN 121 | set HLANG= 122 | set HTZ= 123 | :Done 124 | 125 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/STAGE100.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Test if current version of FreeDOS is already installed. 4 | REM exit 0, not installed 5 | REM exit 0, if found, but not this version set FFOUND=(version) 6 | REM exit 0, if found, and is this version set FFOUND=y 7 | REM exit 1, Error 8 | 9 | REM This can use some improvement later on when some additional functionality 10 | REM is added to V8Power Tools. For now, just a dumb yes no file comparison 11 | REM between version ID files will be used. 12 | 13 | vinfo /d %FTARGET% 14 | if errorlevel 1 goto NoDOS 15 | fc /L VERSION.FDI %FTARGET%\VERSION.FDI>NUL 16 | if errorlevel 1 goto OtherDOS 17 | goto SameDOS 18 | 19 | :NoDOS 20 | :OtherDOS 21 | set FFOUND= 22 | verrlvl 0 23 | goto Finished 24 | 25 | :SameDOS 26 | set FFOUND=y 27 | verrlvl 0 28 | goto Finished 29 | 30 | REM Installer failed or was aborted ******************************************* 31 | :Aborted 32 | verrlvl 1 33 | 34 | REM Post execution cleanup **************************************************** 35 | :Finished 36 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/STAGE200.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Basic Default (DEF) and Advanced (ADV) Theme Loader. 4 | 5 | set FTHEME=DEF 6 | if "%FADV%" == "y" set FTHEME=ADV 7 | if not exist THEME%FTHEME%.BAT goto Error 8 | call THEME%FTHEME%.BAT 9 | if errorlevel 1 goto Aborted 10 | 11 | verrlvl 0 12 | goto Finished 13 | 14 | REM Installer failed or was aborted ******************************************* 15 | :Aborted 16 | verrlvl 1 17 | 18 | REM Post execution cleanup **************************************************** 19 | :Finished 20 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/STAGE300.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Welcome to the installer, continue or exit. 4 | 5 | if "%1" == "Welcome" goto NoTitleClear 6 | 7 | vcursor hide 8 | 9 | call FDICLS.BAT 10 | goto Welcome 11 | 12 | :NoTitleClear 13 | vcls /k0 /f %TSF% /b %TSB% /c %TSC% /y2 /h24 14 | 15 | :Welcome 16 | if "%_WCI%" == "" set _WCI=1 17 | REM If Need to set language then do it now 18 | if not "%FCLANG%" == "y" goto LanguageSet 19 | 20 | REM the Language frame height is set automatically as 6 + language count by 21 | REM mkFDI.bat when the build creates the boot image. The languages order and 22 | REM count are determined by the order, number and name of the LANG_ variables 23 | REM stored the LANGUAGE\TEMPLATE\FDSETUP.DEF translation template file. 24 | 25 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /w45 /h$LANG_SETHEIGHT$ /c 26 | vgotoxy /k0 /l /y2 27 | vline /p0 /k0 hidden 28 | :LanguagePrompt 29 | set _XLNG=%LANG% 30 | vgotoxy /k0 sop /g up up /l sop 31 | vecho /k0 /n /t %FLANG% LANG_ASK 32 | vecho /k0 /n /e 33 | vgotoxy /k0 eop /g down down /l sop 34 | vecho /k0 /n /t %FLANG% LANG_LIST 35 | vchoice /k0 /a %TFC% Ctrl-C /p %_WCI% 36 | if errorlevel 200 FDICTRLC.BAT %0 Welcome 37 | if errorlevel 100 goto LanguageChange 38 | vcls /k0 /f %TSF% /b %TSB% /c %TSC% /y2 /h24 39 | goto LanguageSet 40 | 41 | REM Everything between the LanguageChange and DoChange Labels is replaced 42 | REM dynamically by the mkFDI.bat build utility. 43 | :LanguageChange 44 | 45 | $LANG_DOCHANGE$ 46 | 47 | :DoChange 48 | if "%_XLNG%" == "" goto NoPrevLang 49 | if exist SETFONT.BAT goto UseSetFont 50 | goto ApplyLang 51 | :UseSetFont 52 | call SETFONT.BAT %LANG% >NUL 53 | :ApplyLang 54 | call FDILANG.BAT FDSETUP 55 | vgotoxy /g /x30 /y1 56 | vecho /k0 /n /t %FLANG% TITLE %TTF% "%OS_NAME%" %TTH% "%OS_VERSION%" 57 | vecho /k0 /e 58 | vgotoxy /g /x40 /y12 59 | goto LanguagePrompt 60 | 61 | :LanguageSet 62 | if "%FCLANG%" == "y" set FCLANG=n 63 | set _WCI= 64 | set _XLNG= 65 | if exist SETLANG.BAT CALL SETFONT.BAT %LANG% >NUL 66 | call %LANG%\SETLANG.BAT >NUL 67 | call FDICLS.BAT 68 | 69 | REM Draw the welcome screen. 70 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% HELLO_FRAME 71 | if "%FADV%" == "y" goto AdvancedMesssage 72 | vecho /k0 /t %FLANG% HELLO %TFH% "%OS_NAME% %OS_VERSION%" %TFF% %TFX% 73 | goto Spacer 74 | :AdvancedMesssage 75 | vecho /k0 /t %FLANG% HELLO_ADV %TFH% "%OS_NAME% %OS_VERSION%" %TFF% %TFX% 76 | :Spacer 77 | vecho /k0 /p /n /t %FLANG% HELLO_WARN.1 %TFH% "%OS_NAME%" %TFF% %TFX% 78 | vecho /k0 /n /t %FLANG% HELLO_WARN.2 %TFH% "%OS_NAME%" %TFF% %TFX% 79 | vecho /k0 /n /t %FLANG% HELLO_WARN.3 %TFH% "%OS_NAME%" %TFF% %TFX% 80 | vecho /k0 /n /t %FLANG% HELLO_WARN.4 %TFH% "%OS_NAME%" %TFF% %TFX% 81 | vecho /k0 /n /t %FLANG% HELLO_WARN.5 %TFH% "%OS_NAME%" %TFF% %TFX% 82 | vecho /k0 /t %FLANG% PROCEED? 83 | vframe /p0 /b %TFB% /f %TFF% optionbox /t %FLANG% HELLO_OPTS 84 | vecho /k0 /t %FLANG% CONTINUE 85 | vecho /k0 /n /t %FLANG% EXIT 86 | vchoice /k0 /a %TFC% Ctrl-C 87 | 88 | if errorlevel 200 FDICTRLC.BAT %0 Welcome 89 | if errorlevel 2 goto Done 90 | 91 | verrlvl 0 92 | goto Done 93 | 94 | :Done -------------------------------------------------------------------------------- /FDISETUP/SETUP/STAGE400.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Check state of drive %FDRIVE% (C:), check if it needs partitioned. 4 | REM If so, prompt to run partitioner then reboot. 5 | 6 | vinfo /m 7 | if errorlevel 102 goto NotDOSBox 8 | if errorlevel 101 goto IsDOSBox 9 | :NotDOSBox 10 | 11 | set _FDPRI=/PRIO:2000 12 | if errorlevel 100 set _FDPRI=/PRI:100,100 13 | 14 | verrlvl 0 15 | 16 | vcls /f %TSF% /b %TSB% /c %TSC% /y2 /h24 17 | 18 | if not "%1" == "" goto %1 19 | 20 | if "%FDRAMDRV%" == "C:" goto FDiskTest 21 | vfdutil /u %FDRIVE%\TEMP????.??? >NUL 22 | if not errorlevel 1 goto Done 23 | 24 | if not "%TEMP%" == "" goto FDiskTest 25 | 26 | vinfo /d %FDRIVE% 27 | 28 | if errorlevel 100 goto Done 29 | if errorlevel 15 goto NoSuchDrive 30 | if errorlevel 5 goto IgnoreThisError 31 | if errorlevel 2 goto WrongTypeDrive 32 | 33 | :IsDOSBox 34 | :IgnoreThisError 35 | REM Drive C exists. 36 | verrlvl 0 37 | goto Done 38 | 39 | :FDiskTest 40 | fdisk /info 1 | grep "^ %FDRIVE%" >NUL 41 | if not errorlevel 1 goto IgnoreThisError 42 | fdisk /info 2 | grep "^ %FDRIVE%" >NUL 43 | if not errorlevel 1 goto IgnoreThisError 44 | fdisk /info 3 | grep "^ %FDRIVE%" >NUL 45 | if not errorlevel 1 goto IgnoreThisError 46 | fdisk /info 4 | grep "^ %FDRIVE%" >NUL 47 | if not errorlevel 1 goto IgnoreThisError 48 | fdisk /info 5 | grep "^ %FDRIVE%" >NUL 49 | if not errorlevel 1 goto IgnoreThisError 50 | fdisk /info 6 | grep "^ %FDRIVE%" >NUL 51 | if not errorlevel 1 goto IgnoreThisError 52 | fdisk /info 7 | grep "^ %FDRIVE%" >NUL 53 | if not errorlevel 1 goto IgnoreThisError 54 | fdisk /info 8 | grep "^ %FDRIVE%" >NUL 55 | if not errorlevel 1 goto IgnoreThisError 56 | goto NoSuchDrive 57 | 58 | :NoSuchDrive 59 | :WrongTypeDrive 60 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% NOPART_FRAME 61 | vecho /k0 /t %FLANG% NOPART %TFH% %FDRIVE% %TFF% 62 | vecho /k0 63 | vecho /k0 /t %FLANG% PART? 64 | vframe /p0 /b %TFB% /f %TFF% optionbox /t %FLANG% NOPART_OPTS 65 | vecho /k0 /t %FLANG% PART_YES %FDRIVE% 66 | vecho /k0 /n /t %FLANG% EXIT 67 | vchoice /k0 /a %TFC% Ctrl-C /d 2 68 | 69 | if errorlevel 200 FDICTRLC.BAT %0 70 | if errorlevel 2 goto AbortBatch 71 | 72 | if "%FADV%" == "y" goto ManualPartition 73 | if not "%TEMP%" == "" goto AutoPartition 74 | 75 | :ManualPartition 76 | verrlvl 0 77 | vcls /a0x07 78 | if "%FCURSOR%" == "" vcursor small 79 | if not "%FCURSOR%" == "" vcursor %FCURSOR% 80 | 81 | REM **** Launch Partitioning Program **** 82 | if "%FDRIVE%" == "D:" fdisk 2 83 | if not "%FDRIVE%" == "D:" fdisk 1 84 | REM **** Returned from Partitioning **** 85 | 86 | vcursor hide 87 | goto AfterPartitioned 88 | 89 | :AutoPartition 90 | vcls /f %TSF% /b %TSB% /c %TSC% /y2 /h24 91 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% PARTING_FRAME 92 | vecho /k0 /n /t %FLANG% PARTING 93 | vdelay %FDEL% 94 | 95 | :AutoInfo 96 | if "%FDRIVE%" == "C:" goto AutoInfoC 97 | if "%FDRIVE%" == "D:" goto AutoInfoD 98 | goto ManualPartition 99 | 100 | :AutoInfoC 101 | set _FDDC=0 102 | fdisk /info 1 | grep ":" | vstr /b /l total | set /p _FDDC= 103 | goto AutoInfoCheck 104 | 105 | :AutoInfoD 106 | set _FDDC=0 107 | fdisk /info 2 | grep ":" | vstr /b /l total | set /p _FDDC= 108 | 109 | :AutoInfoCheck 110 | if not "%_FDDC%" == "1" goto ManualPartition 111 | 112 | verrlvl 1 113 | if "%FDRIVE%" == "C:" fdisk %_FDPRI% 1 >NUL 114 | if "%FDRIVE%" == "D:" fdisk %_FDPRI% 2 >NUL 115 | if errorlevel 1 goto ManualPartition 116 | 117 | vdelay %FDEL% 118 | 119 | :AfterPartitioned 120 | vmode /p0 121 | call FDICLS.BAT 122 | 123 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% PARTED_FRAME 124 | vecho /k0 /t %FLANG% PARTED 125 | vecho 126 | vecho /k0 /t %FLANG% REBOOT? 127 | vframe /p0 /b %TFB% /f %TFF% optionbox /t %FLANG% PARTED_OPTS 128 | vecho /k0 /t %FLANG% REBOOT_YES 129 | vecho /k0 /n /t %FLANG% EXIT 130 | vchoice /k0 /a %TFC% Ctrl-C 131 | 132 | if errorlevel 200 FDICTRLC.BAT %0 AfterPartitioned 133 | if errorlevel 2 goto AbortBatch 134 | 135 | vcls /a0x07 136 | vecho /k0 /t %FLANG% REBOOT 137 | vecho 138 | fdapm warmboot 139 | set FREBOOT=y 140 | goto AbortBatch 141 | 142 | :AbortBatch 143 | verrlvl 1 144 | 145 | :Done 146 | set _FDDC= 147 | set _FDPRI= -------------------------------------------------------------------------------- /FDISETUP/SETUP/STAGE500.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Check state of drive %FDRIVE% (C:), check if it needs formatted. 4 | REM If so, prompt to run format, then retest. If fails again, 5 | REM prompt to reboot. 6 | 7 | vinfo /m 8 | if errorlevel 102 goto NotDOSBox 9 | if errorlevel 101 goto IsDOSBox 10 | :NotDOSBox 11 | verrlvl 0 12 | 13 | vcls /f %TSF% /b %TSB% /c %TSC% /y2 /h24 14 | 15 | if not "%1" == "" goto %1 16 | 17 | vinfo /d %FDRIVE% 18 | 19 | if errorlevel 5 goto NotFormatted 20 | if errorlevel 2 goto WrongTypeDrive 21 | 22 | :IsDOSBox 23 | REM Drive %FDRIVE% is formatted. 24 | verrlvl 0 25 | goto Done 26 | 27 | :WrongTypeDrive 28 | goto Done 29 | 30 | :NotFormatted 31 | if "%FADV%" == "y" goto AdvancedFormat 32 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% NOFORMAT_FRAME 33 | vecho /k0 /t %FLANG% NOFORMAT %TFH% %FDRIVE% %TFF% 34 | vecho /k0 35 | vecho /k0 /t %FLANG% FORMAT? 36 | vframe /p0 /b %TFB% /f %TFF% optionbox /t %FLANG% NOFORMAT_OPTS 37 | vecho /k0 /t %FLANG% FORMAT_YES %FDRIVE% 38 | vecho /k0 /n /t %FLANG% EXIT 39 | vchoice /k0 /a %TFC% Ctrl-C /d 2 40 | 41 | if errorlevel 200 FDICTRLC.BAT %0 42 | if errorlevel 2 goto AbortBatch 43 | 44 | set FDIDFMT=QuickFormat 45 | goto DoFormat 46 | 47 | :AdvancedFormat 48 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% NOFORMATADV_FRAME 49 | vecho /k0 /t %FLANG% NOFORMAT %TFH% %FDRIVE% %TFF% 50 | vecho /k0 51 | vecho /k0 /t %FLANG% FORMAT? 52 | vframe /p0 /b %TFB% /f %TFF% optionbox /t %FLANG% NOFORMATADV_OPTS 53 | vecho /k0 /t %FLANG% FORMATADV_QUICK %FDRIVE% 54 | vecho /k0 /t %FLANG% FORMATADV_SLOW %FDRIVE% 55 | vecho /k0 /n /t %FLANG% EXIT 56 | vchoice /k0 /a %TFC% Ctrl-C /d 3 57 | 58 | if errorlevel 200 FDICTRLC.BAT %0 59 | if errorlevel 1 set FDIDFMT=QuickFormat 60 | if errorlevel 2 set FDIDFMT=SlowFormat 61 | if errorlevel 3 goto AbortBatch 62 | goto DoFormat 63 | 64 | :DoFormat 65 | vcls /f %TSF% /b %TSB% /y2 /h24 66 | vgotoxy down 67 | vecho /k0 /t %FLANG% FORMATTING %FDRIVE% 68 | vecho /k0 69 | if "%FCURSOR%" == "" vcursor small 70 | if not "%FCURSOR%" == "" vcursor %FCURSOR% 71 | goto %FDIDFMT% 72 | 73 | :QuickFormat 74 | REM **** Launch Formatting Program **** 75 | format %FDRIVE% /V:%OVOL% /Q /U /Z:seriously 76 | REM **** Returned from Formatting **** 77 | goto DoneFormat 78 | 79 | :SlowFormat 80 | REM **** Launch Formatting Program **** 81 | format %FDRIVE% /V:%OVOL% /U /Z:seriously 82 | REM **** Returned from Formatting **** 83 | goto DoneFormat 84 | 85 | :DoneFormat 86 | set FDIDFMT=y 87 | 88 | vcursor hide 89 | vgotoxy eop sor 90 | vecho /k0 /n /t %FLANG% PAUSE 91 | vpause /fLightCyan /t %FWAIT% CTRL-C 92 | 93 | if errorlevel 200 FDICTRLC.BAT %0 AfterFormat 94 | 95 | :AfterFormat 96 | vinfo /d %FDRIVE% 97 | 98 | if errorlevel 2 goto StillCannotReadC 99 | 100 | verrlvl 0 101 | goto Done 102 | 103 | :StillCannotReadC 104 | set FERROR="Unable to read drive %FDRIVE% after format." 105 | call FDIFAIL.BAT ERROR_READC 106 | 107 | :AbortBatch 108 | verrlvl 1 109 | 110 | :Done -------------------------------------------------------------------------------- /FDISETUP/SETUP/STAGE600.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Locate Package Media 4 | 5 | vcls /f %TSF% /b %TSB% /c %TSC% /y2 /h24 6 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% GATHERING_FRAME 7 | vecho /k0 /n /t %FLANG% GATHERING 8 | vdelay %FDEL% 9 | 10 | REM Locate installer packages media. 11 | 12 | set PKGDIR=$PACKAGES$ 13 | 14 | REM Indirect check for packages on current drive 15 | :IndirectPkgSource 16 | set /e _MA=vfdutil /p ..\..\$PACKAGES$\ 17 | if "%_MA%" == "" goto IndirectPgkSource 18 | if exist %_MA%\BASE\KERNEL.ZIP goto IndirectFound 19 | :IndirectBaseSource 20 | set /e _MA=vfdutil /p ..\..\ 21 | if "%_MA%" == "" goto IndirectBaseSource 22 | if exist %_MA%\BASE\KERNEL.ZIP goto IndirectFound 23 | 24 | REM Search all Drives C - Z 25 | for %%d in ( C D E F G H I J K L M N O P Q R S T U V W X Y Z ) do call FDIMEDIA.BAT %%d 26 | 27 | if not "%FMEDIA%" == "" goto MediaFound 28 | goto MissingMedia 29 | 30 | :IndirectFound 31 | set FMEDIA=%_MA% 32 | goto MediaFound 33 | 34 | :MissingMedia 35 | set FERROR="Unable to locate installation packages." 36 | call FDIFAIL.BAT ERROR_MEDIA 37 | goto AbortBatch 38 | 39 | :MediaFound 40 | set _MA= 41 | 42 | verrlvl 0 43 | goto Done 44 | 45 | :AbortBatch 46 | verrlvl 1 47 | 48 | :Done 49 | set PKGDIR= 50 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/STAGE700.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Prompt user for all questions needed for install. 4 | 5 | set _TI=0 6 | 7 | vfdutil /c /p %FINSP%\ >NUL 8 | 9 | REM For some reason, DOS sometimes fails to do this correctly on the first try. 10 | REM So, make sure it is ready before moving on. 11 | :Sticky 12 | dir /on /a /b /p- FDASK*.BAT | vstr /b /l %_TI% | set /p _TA= 13 | if "%_TA%" == "" goto Sticky 14 | 15 | :Looping 16 | vfdutil /c /p %FINSP%\ >NUL 17 | dir /on /a /b /p- FDASK*.BAT | vstr /b /l %_TI% | set /p _TA= 18 | if "%_TA%" == "" goto Finished 19 | 20 | vfdutil /n %_TA% | set /p _TL= 21 | set _TL= 22 | verrlvl 0 23 | 24 | call %_TA% 25 | if errorlevel 1 goto AbortBatch 26 | vcls /f %TSF% /b %TSB% /c %TSC% /y2 /h24 27 | vmath %_TI% + 1 | set /p _TI= 28 | 29 | REM Fall-through if anyone changes the target installation directory. 30 | REM Parent batch will go back to testing drive readiness. 31 | if "%HTARGET%" == "%FTARGET%" goto Looping 32 | 33 | :Finished 34 | verrlvl 0 35 | goto Done 36 | 37 | :AbortBatch 38 | verrlvl 1 39 | 40 | :Done 41 | set _TI= 42 | set _TA= 43 | set PKGDIR= -------------------------------------------------------------------------------- /FDISETUP/SETUP/STAGE800.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Run entire install process. 4 | 5 | set OLDDOS=%DOSDIR% 6 | set OLDFDN=%FDNPKG.CFG% 7 | 8 | vcls /f %TSF% /b %TSB% /c %TSC% /y2 /h24 9 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% INSTALL_FRAME 10 | vecho /k0 /t %FLANG% INSTALL %TFH% "%OS_NAME% %OS_VERSION%" %TFF% 11 | vecho /k0 12 | vecho /k0 /t %FLANG% INSTALL? 13 | vframe /p0 /b %TFB% /f %TFF% optionbox /t %FLANG% INSTALL_OPTS 14 | vecho /k0 /t %FLANG% INSTALL_YES "%OS_NAME% %OS_VERSION%" 15 | vecho /k0 /n /t %FLANG% EXIT 16 | vchoice /k0 /a %TFC% Ctrl-C /d 2 17 | 18 | if errorlevel 200 FDICTRLC.BAT %0 19 | if errorlevel 2 goto AbortBatch 20 | 21 | :DoInstall 22 | REM From here on, we will keep the language setting. 23 | set FCLANG= 24 | 25 | vcls /f %TSF% /b %TSB% /c %TSC% /y2 /h24 26 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% PREPARING_FRAME 27 | vecho /k0 /n /t %FLANG% PREPARING 28 | vdelay %FDEL% 29 | 30 | REM Configure FDINST package manager. 31 | 32 | 33 | set DOSDIR=%FTARGET% 34 | set FDNPKG.CFG=%TEMP%\FDNPKG.CFG 35 | 36 | :NewFDNPKG 37 | set _TC= 38 | if "%FDRIVE%" == "C:" goto MapDisabled 39 | REM Cannot have space after ENV VAR in echo. Otherwise, there will be a space in the temp 40 | REM DOSDIR variable. This will cause FDINST to insert a space in the listing file on some 41 | REM entries. Which in turn will cause it to FAIL to remove those files if the package is 42 | REM uninstalled at a later time. 43 | echo %FTARGET%| vstr /d /f : 2| set /p _TC= 44 | if "%_TC%" == "" goto NewFDNPKG 45 | set DOSDIR=C:%_TC% 46 | 47 | :SetMapDrives 48 | set _TC= 49 | echo %FDRIVE% | vstr /d /f : 1 | set /p _TC= 50 | if "%_TC%" == "" goto SetMapDrives 51 | set _TC=mapdrives c%_TC% 52 | goto MapEnabled 53 | 54 | 55 | :MapDisabled 56 | set _TC=#mapdrives cc 57 | :MapEnabled 58 | set _TI=0 59 | type %FINSP%\..\BIN\FDNPKG.CFG|vstr /n /s #mapdrives "%_TC%" >%TEMP%\FDNPKG.1 60 | type %TEMP%\FDNPKG.1|vstr /n/s "sources 0" "sources %OSRC%" >%TEMP%\FDNPKG.2 61 | type %TEMP%\FDNPKG.2|vstr /n/s %%DOSDRV%% C: >%FDNPKG.CFG% 62 | del %TEMP%\FDNPKG.1 >NUL 63 | del %TEMP%\FDNPKG.2 >NUL 64 | 65 | :ReadyFDINST 66 | 67 | if "%FDEBUG%" == "y" call FDBUG.BAT shell Ready. About to run install scripts. 68 | 69 | REM Scan each installer in program file path 70 | set _TI=0 71 | set _TC= 72 | 73 | vfdutil /c/p %FINSP%\ 74 | 75 | :Sticky 76 | dir /on /a /b /p- %FINSP%\FDINS*.BAT | vstr /b /l TOTAL | set /p _TC= 77 | if "%_TC%" == "" goto Sticky 78 | 79 | :LoopingList 80 | if "%_TI%" == "%_TC%" goto FinishedList 81 | dir /on /a /b /p- %FINSP%\FDINS*.BAT | vstr /b /l %_TI% | set /p _TA= 82 | rem echo TC %_TC% TI %_TI% TA %_TA% 83 | if "%_TA%" == "" goto LoopingList 84 | 85 | vfdutil /n %_TA% | set /p _TL= 86 | set _TL= 87 | 88 | verrlvl 0 89 | if not exist %_TA% goto FinishedList 90 | pushd 91 | call %_TA% 92 | if errorlevel 1 goto FailedInstaller 93 | vcls /f %TSF% /b %TSB% /c %TSC% /y2 /h24 94 | popd 95 | 96 | set _TT= 97 | :LoopMath 98 | vmath %_TI% + 1 | set /p _TT= 99 | if "%_TT%" == "" goto LoopMath 100 | set _TI=%_TT% 101 | set _TT= 102 | goto LoopingList 103 | 104 | :FinishedList 105 | verrlvl 0 106 | goto DoneCheckWarning 107 | 108 | :FailedInstaller 109 | popd 110 | goto AbortBatch 111 | 112 | :DoneCheckWarning 113 | del %FDNPKG.CFG%>NUL 114 | set FDNPKG.CFG= 115 | if exist %FTARGET%\BIN\FDNPKG.CFG set FDNPKG.CFG=%FTARGET%\BIN\FDNPKG.CFG 116 | if not "%OSYS%" == "y" goto RebootWarning 117 | if not "%OBSS%" == "y" goto RebootWarning 118 | goto NoWarning 119 | :RebootWarning 120 | vinfo /m 121 | if errorlevel 102 goto vmWarning 122 | if errorlevel 101 goto NoWarning 123 | :vmWarning 124 | vcls /f %TSF% /b %TSB% /c %TSC% /y2 /h24 125 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% REBOOT_FRAME 126 | vecho /k0 /n /t %FLANG% REBOOT_WARN.1 %TFH% "%OS_NAME%" %TFF% 127 | vecho /k0 /n /t %FLANG% REBOOT_WARN.2 %TFH% "%OS_NAME%" %TFF% 128 | vecho /k0 /n /t %FLANG% REBOOT_WARN.3 %TFH% "%OS_NAME%" %TFF% 129 | vecho /k0 /n /t %FLANG% REBOOT_WARN.4 %TFH% "%OS_NAME%" %TFF% 130 | vecho /k0 /n /t %FLANG% REBOOT_WARN.5 %TFH% "%OS_NAME%" %TFF% 131 | vdelay 5000 132 | vgotoxy /g eop sor 133 | vecho /k0 /n /t %FLANG% PAUSE 134 | vpause /fLightCyan /t %FWAIT% CTRL-C 135 | :NoWarning 136 | verrlvl 0 137 | goto Done 138 | 139 | :AbortBatch 140 | verrlvl 1 141 | 142 | :Done 143 | set _TI= 144 | set _TA= 145 | set _TC= 146 | set DOSDIR=%OLDDOS% 147 | set OLDDOS= 148 | set FDNPKG.CFG=%OLDFDN% 149 | set OLDFDN= 150 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/STAGE900.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM Thank the user for installing and offer to reboot. 4 | 5 | call FDICLEAN.BAT TEMPONLY 6 | if "%TEMP%" == "" goto NoTemp 7 | if not exist %TEMP%\NUL goto NoTemp 8 | goto HasTemp 9 | :NoTemp 10 | set TEMP=%FTARGET%\TEMP 11 | if not exist %TEMP%\NUL mkdir %TEMP% >NUL 12 | :HasTemp 13 | call FDICLS.BAT 14 | vframe /p0 /b %TFB% /f %TFF% %TFS% textbox /t %FLANG% COMPLETE_FRAME 15 | vecho /k0 /t %FLANG% COMPLETE %TFH% "%OS_NAME% %OS_VERSION%" %TFF% 16 | vecho /k0 17 | vecho /k0 /t %FLANG% REBOOT? 18 | vframe /p0 /b %TFB% /f %TFF% optionbox /t %FLANG% COMPLETE_OPTS 19 | vecho /k0 /t %FLANG% REBOOT_YES 20 | vecho /k0 /n /t %FLANG% EXIT 21 | vchoice /k0 /a %TFC% Ctrl-C /d 1 postal 1 22 | 23 | if errorlevel 200 FDICTRLC.BAT %0 24 | if errorlevel 2 goto NoRestart 25 | 26 | set FREBOOT=y 27 | goto Done 28 | 29 | :NoRestart 30 | set FREBOOT=n 31 | 32 | :Done 33 | verrlvl 0 34 | 35 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/THEMEADV.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM THEMEADV, Advanced Installer Theme. 4 | 5 | REM Screen Foreground, Background and Fill Character 6 | set TSF=Gray 7 | set TSB=Black 8 | set TSC=0xB0 9 | 10 | REM Title Bar Foreground, Background and Highlight Colors 11 | set TTF=White 12 | set TTB=Red 13 | set TTH=Yellow 14 | 15 | REM Window Foreground, Background, Highlight Warning color 16 | REM Progress Bar Colors, Choice attribute and Box Style 17 | set TFF=White 18 | set TFH=LightGreen 19 | set TFB=Red 20 | set TFX=Yellow 21 | set TFP=Yellow 22 | set TFS=double shadow 23 | set TFC=0x1e 24 | 25 | REM Control-C Foreground, Background and Highlight Colors 26 | set TCF=White 27 | set TCH=Yellow 28 | set TCB=Red 29 | set TCS=single shadow 30 | set TCC=0x1f 31 | 32 | REM Pause Bar and Clock Colors 33 | set TPB=Red 34 | set TPF=White 35 | set TPH=Yellow 36 | 37 | REM Text Input Colors. 38 | set TQF=Yellow 39 | set TQB=Blue 40 | 41 | verrlvl 0 42 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/THEMEDEF.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM THEMEDEF, Default Installer Theme. 4 | 5 | REM Screen Foreground, Background and Fill Character 6 | set TSF=Gray 7 | set TSB=Blue 8 | set TSC=0x20 9 | 10 | REM Title Bar Foreground, Background and Highlight Colors 11 | set TTF=Black 12 | set TTB=Gray 13 | set TTH=Black 14 | 15 | REM Window Foreground, Background, Highlight Warning color 16 | REM Progress Bar Colors, Choice attribute and Box Style 17 | set TFF=Black 18 | set TFH=Blue 19 | set TFX=Red 20 | set TFP=Blue 21 | set TFB=Gray 22 | set TFS=single shadow 23 | set TFC=0x1e 24 | 25 | REM Control-C Foreground, Background and Highlight Colors 26 | REM Choice attribute and Box Style 27 | set TCF=White 28 | set TCH=Yellow 29 | set TCB=Red 30 | set TCS=double shadow 31 | set TCC=0x1e 32 | 33 | REM Pause Bar and Timer Countdown Colors 34 | set TPB=Blue 35 | set TPF=LightGreen 36 | set TPH=LightCyan 37 | 38 | REM Text Input Colors. 39 | set TQF=White 40 | set TQB=Blue 41 | 42 | verrlvl 0 43 | -------------------------------------------------------------------------------- /FDISETUP/SETUP/UNSTABLE.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | REM THEMEDEF, Default Installer Theme. 4 | 5 | REM Screen Foreground, Background and Fill Character 6 | set TSF=Gray 7 | set TSB=Black 8 | set TSC=0x20 9 | 10 | REM Title Bar Foreground, Background and Highlight Colors 11 | set TTF=Black 12 | set TTB=Gray 13 | set TTH=Black 14 | 15 | REM Window Foreground, Background, Highlight Warning color 16 | REM Progress Bar Colors, Choice attribute and Box Style 17 | set TFF=Black 18 | set TFH=Blue 19 | set TFX=Red 20 | set TFP=Blue 21 | set TFB=Gray 22 | set TFS=single shadow 23 | set TFC=0x1e 24 | 25 | REM Control-C Foreground, Background and Highlight Colors 26 | REM Choice attribute and Box Style 27 | set TCF=White 28 | set TCH=Yellow 29 | set TCB=Red 30 | set TCS=double shadow 31 | set TCC=0x1e 32 | 33 | REM Pause Bar and Timer Countdown Colors 34 | set TPB=Blue 35 | set TPF=LightGreen 36 | set TPH=LightCyan 37 | 38 | REM Text Input Colors. 39 | set TQF=White 40 | set TQB=Blue 41 | 42 | verrlvl 0 43 | -------------------------------------------------------------------------------- /INDEX.md: -------------------------------------------------------------------------------- 1 | # FDI 2 | 3 | # The FreeDOS Installer (FDI) 4 | 5 | The [FreeDOS](http://freedos.org) Installer is a customizable and flexible 6 | batch based installation kit based on the 7 | [V8Power Tools](http://up.lod.bz/V8Power) batch file enhancement utilities. 8 | 9 | 10 | For installation using floppy diskettes, the 11 | [FDI-x86](https://github.com/shidel/FDI-x86) is used instead of FDI. Although 12 | it is a completely different installer, it is referred to as an ADD-ON to FDI. 13 | This is because FDI-x86 needs the settings and configuration files that are 14 | part of FDI to be create install media. 15 | 16 | # Contributing 17 | 18 | Thank you for you interest to improve this project. 19 | 20 | ### Contributing Language Translations 21 | 22 | Please do not submit langauges translations directly to this project. The 23 | language files *(if any)* that may be in this source tree are **NOT** included 24 | in the software releases. If any exist in this project, they are for development 25 | purposes only. When a version of this project is built and released, all 26 | language files are pulled directly from the versions in the 27 | [FD-NLS](https://github.com/shidel/fd-nls) project. If you wish to provide an 28 | additional language translation or make corrections to an existing one, please 29 | update the corresponding files in the [FD-NLS](https://github.com/shidel/fd-nls) 30 | project. 31 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | FreeDOS 1.2+ Installer 2 | GNU General Public License, Version 1 or later 3 | Copyright 2016-2023 Jerome Shidel. 4 | -------------------------------------------------------------------------------- /LICENSE.v1: -------------------------------------------------------------------------------- 1 | 2 | GNU GENERAL PUBLIC LICENSE 3 | Version 1, February 1989 4 | 5 | Copyright (C) 1989 Free Software Foundation, Inc. 6 | 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 7 | 8 | Everyone is permitted to copy and distribute verbatim copies 9 | of this license document, but changing it is not allowed. 10 | 11 | Preamble 12 | 13 | The license agreements of most software companies try to keep users 14 | at the mercy of those companies. By contrast, our General Public 15 | License is intended to guarantee your freedom to share and change free 16 | software--to make sure the software is free for all its users. The 17 | General Public License applies to the Free Software Foundation's 18 | software and to any other program whose authors commit to using it. 19 | You can use it for your programs, too. 20 | 21 | When we speak of free software, we are referring to freedom, not 22 | price. Specifically, the General Public License is designed to make 23 | sure that you have the freedom to give away or sell copies of free 24 | software, that you receive source code or can get it if you want it, 25 | that you can change the software or use pieces of it in new free 26 | programs; and that you know you can do these things. 27 | 28 | To protect your rights, we need to make restrictions that forbid 29 | anyone to deny you these rights or to ask you to surrender the rights. 30 | These restrictions translate to certain responsibilities for you if you 31 | distribute copies of the software, or if you modify it. 32 | 33 | For example, if you distribute copies of a such a program, whether 34 | gratis or for a fee, you must give the recipients all the rights that 35 | you have. You must make sure that they, too, receive or can get the 36 | source code. And you must tell them their rights. 37 | 38 | We protect your rights with two steps: (1) copyright the software, and 39 | (2) offer you this license which gives you legal permission to copy, 40 | distribute and/or modify the software. 41 | 42 | Also, for each author's protection and ours, we want to make certain 43 | that everyone understands that there is no warranty for this free 44 | software. If the software is modified by someone else and passed on, we 45 | want its recipients to know that what they have is not the original, so 46 | that any problems introduced by others will not reflect on the original 47 | authors' reputations. 48 | 49 | The precise terms and conditions for copying, distribution and 50 | modification follow. 51 | 52 | GNU GENERAL PUBLIC LICENSE 53 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 54 | 55 | 0. This License Agreement applies to any program or other work which 56 | contains a notice placed by the copyright holder saying it may be 57 | distributed under the terms of this General Public License. The 58 | "Program", below, refers to any such program or work, and a "work based 59 | on the Program" means either the Program or any work containing the 60 | Program or a portion of it, either verbatim or with modifications. Each 61 | licensee is addressed as "you". 62 | 63 | 1. You may copy and distribute verbatim copies of the Program's source 64 | code as you receive it, in any medium, provided that you conspicuously and 65 | appropriately publish on each copy an appropriate copyright notice and 66 | disclaimer of warranty; keep intact all the notices that refer to this 67 | General Public License and to the absence of any warranty; and give any 68 | other recipients of the Program a copy of this General Public License 69 | along with the Program. You may charge a fee for the physical act of 70 | transferring a copy. 71 | 72 | 2. You may modify your copy or copies of the Program or any portion of 73 | it, and copy and distribute such modifications under the terms of Paragraph 74 | 1 above, provided that you also do the following: 75 | 76 | a) cause the modified files to carry prominent notices stating that 77 | you changed the files and the date of any change; and 78 | 79 | b) cause the whole of any work that you distribute or publish, that 80 | in whole or in part contains the Program or any part thereof, either 81 | with or without modifications, to be licensed at no charge to all 82 | third parties under the terms of this General Public License (except 83 | that you may choose to grant warranty protection to some or all 84 | third parties, at your option). 85 | 86 | c) If the modified program normally reads commands interactively when 87 | run, you must cause it, when started running for such interactive use 88 | in the simplest and most usual way, to print or display an 89 | announcement including an appropriate copyright notice and a notice 90 | that there is no warranty (or else, saying that you provide a 91 | warranty) and that users may redistribute the program under these 92 | conditions, and telling the user how to view a copy of this General 93 | Public License. 94 | 95 | d) You may charge a fee for the physical act of transferring a 96 | copy, and you may at your option offer warranty protection in 97 | exchange for a fee. 98 | 99 | Mere aggregation of another independent work with the Program (or its 100 | derivative) on a volume of a storage or distribution medium does not bring 101 | the other work under the scope of these terms. 102 | 103 | 3. You may copy and distribute the Program (or a portion or derivative of 104 | it, under Paragraph 2) in object code or executable form under the terms of 105 | Paragraphs 1 and 2 above provided that you also do one of the following: 106 | 107 | a) accompany it with the complete corresponding machine-readable 108 | source code, which must be distributed under the terms of 109 | Paragraphs 1 and 2 above; or, 110 | 111 | b) accompany it with a written offer, valid for at least three 112 | years, to give any third party free (except for a nominal charge 113 | for the cost of distribution) a complete machine-readable copy of the 114 | corresponding source code, to be distributed under the terms of 115 | Paragraphs 1 and 2 above; or, 116 | 117 | c) accompany it with the information you received as to where the 118 | corresponding source code may be obtained. (This alternative is 119 | allowed only for noncommercial distribution and only if you 120 | received the program in object code or executable form alone.) 121 | 122 | Source code for a work means the preferred form of the work for making 123 | modifications to it. For an executable file, complete source code means 124 | all the source code for all modules it contains; but, as a special 125 | exception, it need not include source code for modules which are standard 126 | libraries that accompany the operating system on which the executable 127 | file runs, or for standard header files or definitions files that 128 | accompany that operating system. 129 | 130 | 4. You may not copy, modify, sublicense, distribute or transfer the 131 | Program except as expressly provided under this General Public License. 132 | Any attempt otherwise to copy, modify, sublicense, distribute or transfer 133 | the Program is void, and will automatically terminate your rights to use 134 | the Program under this License. However, parties who have received 135 | copies, or rights to use copies, from you under this General Public 136 | License will not have their licenses terminated so long as such parties 137 | remain in full compliance. 138 | 139 | 5. By copying, distributing or modifying the Program (or any work based 140 | on the Program) you indicate your acceptance of this license to do so, 141 | and all its terms and conditions. 142 | 143 | 6. Each time you redistribute the Program (or any work based on the 144 | Program), the recipient automatically receives a license from the original 145 | licensor to copy, distribute or modify the Program subject to these 146 | terms and conditions. You may not impose any further restrictions on the 147 | recipients' exercise of the rights granted herein. 148 | 149 | 7. The Free Software Foundation may publish revised and/or new versions 150 | of the General Public License from time to time. Such new versions will 151 | be similar in spirit to the present version, but may differ in detail to 152 | address new problems or concerns. 153 | 154 | Each version is given a distinguishing version number. If the Program 155 | specifies a version number of the license which applies to it and "any 156 | later version", you have the option of following the terms and conditions 157 | either of that version or of any later version published by the Free 158 | Software Foundation. If the Program does not specify a version number of 159 | the license, you may choose any version ever published by the Free Software 160 | Foundation. 161 | 162 | 8. If you wish to incorporate parts of the Program into other free 163 | programs whose distribution conditions are different, write to the author 164 | to ask for permission. For software which is copyrighted by the Free 165 | Software Foundation, write to the Free Software Foundation; we sometimes 166 | make exceptions for this. Our decision will be guided by the two goals 167 | of preserving the free status of all derivatives of our free software and 168 | of promoting the sharing and reuse of software generally. 169 | 170 | NO WARRANTY 171 | 172 | 9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY 173 | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN 174 | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES 175 | PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED 176 | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 177 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS 178 | TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE 179 | PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, 180 | REPAIR OR CORRECTION. 181 | 182 | 10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 183 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR 184 | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, 185 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING 186 | OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED 187 | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY 188 | YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER 189 | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE 190 | POSSIBILITY OF SUCH DAMAGES. 191 | 192 | END OF TERMS AND CONDITIONS 193 | 194 | Appendix: How to Apply These Terms to Your New Programs 195 | 196 | If you develop a new program, and you want it to be of the greatest 197 | possible use to humanity, the best way to achieve this is to make it 198 | free software which everyone can redistribute and change under these 199 | terms. 200 | 201 | To do so, attach the following notices to the program. It is safest to 202 | attach them to the start of each source file to most effectively convey 203 | the exclusion of warranty; and each file should have at least the 204 | "copyright" line and a pointer to where the full notice is found. 205 | 206 | FDI (the FreeDOS Installer) 207 | Copyright (C) 2016-2023 Jerome Shidel 208 | 209 | This program is free software; you can redistribute it and/or modify 210 | it under the terms of the GNU General Public License as published by 211 | the Free Software Foundation; either version 1, or (at your option) 212 | any later version. 213 | 214 | This program is distributed in the hope that it will be useful, 215 | but WITHOUT ANY WARRANTY; without even the implied warranty of 216 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 217 | GNU General Public License for more details. 218 | 219 | You should have received a copy of the GNU General Public License 220 | along with this program; if not, write to the Free Software 221 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA 222 | 223 | 224 | Also add information on how to contact you by electronic and paper mail. 225 | 226 | If the program is interactive, make it output a short notice like this 227 | when it starts in an interactive mode: 228 | 229 | Gnomovision version 69, Copyright (C) 19xx name of author 230 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 231 | This is free software, and you are welcome to redistribute it 232 | under certain conditions; type `show c' for details. 233 | 234 | The hypothetical commands `show w' and `show c' should show the 235 | appropriate parts of the General Public License. Of course, the 236 | commands you use may be called something other than `show w' and `show 237 | c'; they could even be mouse-clicks or menu items--whatever suits your 238 | program. 239 | 240 | You should also get your employer (if you work as a programmer) or your 241 | school, if any, to sign a "copyright disclaimer" for the program, if 242 | necessary. Here a sample; alter the names: 243 | 244 | Yoyodyne, Inc., hereby disclaims all copyright interest in the 245 | program `Gnomovision' (a program to direct compilers to make passes 246 | at assemblers) written by James Hacker. 247 | 248 | , 1 April 1989 249 | Ty Coon, President of Vice 250 | 251 | That's all there is to it! -------------------------------------------------------------------------------- /LICENSE.v2: -------------------------------------------------------------------------------- 1 | GNU GENERAL PUBLIC LICENSE 2 | Version 2, June 1991 3 | 4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc., 5 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 6 | Everyone is permitted to copy and distribute verbatim copies 7 | of this license document, but changing it is not allowed. 8 | 9 | Preamble 10 | 11 | The licenses for most software are designed to take away your 12 | freedom to share and change it. By contrast, the GNU General Public 13 | License is intended to guarantee your freedom to share and change free 14 | software--to make sure the software is free for all its users. This 15 | General Public License applies to most of the Free Software 16 | Foundation's software and to any other program whose authors commit to 17 | using it. (Some other Free Software Foundation software is covered by 18 | the GNU Lesser General Public License instead.) You can apply it to 19 | your programs, too. 20 | 21 | When we speak of free software, we are referring to freedom, not 22 | price. Our General Public Licenses are designed to make sure that you 23 | have the freedom to distribute copies of free software (and charge for 24 | this service if you wish), that you receive source code or can get it 25 | if you want it, that you can change the software or use pieces of it 26 | in new free programs; and that you know you can do these things. 27 | 28 | To protect your rights, we need to make restrictions that forbid 29 | anyone to deny you these rights or to ask you to surrender the rights. 30 | These restrictions translate to certain responsibilities for you if you 31 | distribute copies of the software, or if you modify it. 32 | 33 | For example, if you distribute copies of such a program, whether 34 | gratis or for a fee, you must give the recipients all the rights that 35 | you have. You must make sure that they, too, receive or can get the 36 | source code. And you must show them these terms so they know their 37 | rights. 38 | 39 | We protect your rights with two steps: (1) copyright the software, and 40 | (2) offer you this license which gives you legal permission to copy, 41 | distribute and/or modify the software. 42 | 43 | Also, for each author's protection and ours, we want to make certain 44 | that everyone understands that there is no warranty for this free 45 | software. If the software is modified by someone else and passed on, we 46 | want its recipients to know that what they have is not the original, so 47 | that any problems introduced by others will not reflect on the original 48 | authors' reputations. 49 | 50 | Finally, any free program is threatened constantly by software 51 | patents. We wish to avoid the danger that redistributors of a free 52 | program will individually obtain patent licenses, in effect making the 53 | program proprietary. To prevent this, we have made it clear that any 54 | patent must be licensed for everyone's free use or not licensed at all. 55 | 56 | The precise terms and conditions for copying, distribution and 57 | modification follow. 58 | 59 | GNU GENERAL PUBLIC LICENSE 60 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 61 | 62 | 0. This License applies to any program or other work which contains 63 | a notice placed by the copyright holder saying it may be distributed 64 | under the terms of this General Public License. The "Program", below, 65 | refers to any such program or work, and a "work based on the Program" 66 | means either the Program or any derivative work under copyright law: 67 | that is to say, a work containing the Program or a portion of it, 68 | either verbatim or with modifications and/or translated into another 69 | language. (Hereinafter, translation is included without limitation in 70 | the term "modification".) Each licensee is addressed as "you". 71 | 72 | Activities other than copying, distribution and modification are not 73 | covered by this License; they are outside its scope. The act of 74 | running the Program is not restricted, and the output from the Program 75 | is covered only if its contents constitute a work based on the 76 | Program (independent of having been made by running the Program). 77 | Whether that is true depends on what the Program does. 78 | 79 | 1. You may copy and distribute verbatim copies of the Program's 80 | source code as you receive it, in any medium, provided that you 81 | conspicuously and appropriately publish on each copy an appropriate 82 | copyright notice and disclaimer of warranty; keep intact all the 83 | notices that refer to this License and to the absence of any warranty; 84 | and give any other recipients of the Program a copy of this License 85 | along with the Program. 86 | 87 | You may charge a fee for the physical act of transferring a copy, and 88 | you may at your option offer warranty protection in exchange for a fee. 89 | 90 | 2. You may modify your copy or copies of the Program or any portion 91 | of it, thus forming a work based on the Program, and copy and 92 | distribute such modifications or work under the terms of Section 1 93 | above, provided that you also meet all of these conditions: 94 | 95 | a) You must cause the modified files to carry prominent notices 96 | stating that you changed the files and the date of any change. 97 | 98 | b) You must cause any work that you distribute or publish, that in 99 | whole or in part contains or is derived from the Program or any 100 | part thereof, to be licensed as a whole at no charge to all third 101 | parties under the terms of this License. 102 | 103 | c) If the modified program normally reads commands interactively 104 | when run, you must cause it, when started running for such 105 | interactive use in the most ordinary way, to print or display an 106 | announcement including an appropriate copyright notice and a 107 | notice that there is no warranty (or else, saying that you provide 108 | a warranty) and that users may redistribute the program under 109 | these conditions, and telling the user how to view a copy of this 110 | License. (Exception: if the Program itself is interactive but 111 | does not normally print such an announcement, your work based on 112 | the Program is not required to print an announcement.) 113 | 114 | These requirements apply to the modified work as a whole. If 115 | identifiable sections of that work are not derived from the Program, 116 | and can be reasonably considered independent and separate works in 117 | themselves, then this License, and its terms, do not apply to those 118 | sections when you distribute them as separate works. But when you 119 | distribute the same sections as part of a whole which is a work based 120 | on the Program, the distribution of the whole must be on the terms of 121 | this License, whose permissions for other licensees extend to the 122 | entire whole, and thus to each and every part regardless of who wrote it. 123 | 124 | Thus, it is not the intent of this section to claim rights or contest 125 | your rights to work written entirely by you; rather, the intent is to 126 | exercise the right to control the distribution of derivative or 127 | collective works based on the Program. 128 | 129 | In addition, mere aggregation of another work not based on the Program 130 | with the Program (or with a work based on the Program) on a volume of 131 | a storage or distribution medium does not bring the other work under 132 | the scope of this License. 133 | 134 | 3. You may copy and distribute the Program (or a work based on it, 135 | under Section 2) in object code or executable form under the terms of 136 | Sections 1 and 2 above provided that you also do one of the following: 137 | 138 | a) Accompany it with the complete corresponding machine-readable 139 | source code, which must be distributed under the terms of Sections 140 | 1 and 2 above on a medium customarily used for software interchange; or, 141 | 142 | b) Accompany it with a written offer, valid for at least three 143 | years, to give any third party, for a charge no more than your 144 | cost of physically performing source distribution, a complete 145 | machine-readable copy of the corresponding source code, to be 146 | distributed under the terms of Sections 1 and 2 above on a medium 147 | customarily used for software interchange; or, 148 | 149 | c) Accompany it with the information you received as to the offer 150 | to distribute corresponding source code. (This alternative is 151 | allowed only for noncommercial distribution and only if you 152 | received the program in object code or executable form with such 153 | an offer, in accord with Subsection b above.) 154 | 155 | The source code for a work means the preferred form of the work for 156 | making modifications to it. For an executable work, complete source 157 | code means all the source code for all modules it contains, plus any 158 | associated interface definition files, plus the scripts used to 159 | control compilation and installation of the executable. However, as a 160 | special exception, the source code distributed need not include 161 | anything that is normally distributed (in either source or binary 162 | form) with the major components (compiler, kernel, and so on) of the 163 | operating system on which the executable runs, unless that component 164 | itself accompanies the executable. 165 | 166 | If distribution of executable or object code is made by offering 167 | access to copy from a designated place, then offering equivalent 168 | access to copy the source code from the same place counts as 169 | distribution of the source code, even though third parties are not 170 | compelled to copy the source along with the object code. 171 | 172 | 4. You may not copy, modify, sublicense, or distribute the Program 173 | except as expressly provided under this License. Any attempt 174 | otherwise to copy, modify, sublicense or distribute the Program is 175 | void, and will automatically terminate your rights under this License. 176 | However, parties who have received copies, or rights, from you under 177 | this License will not have their licenses terminated so long as such 178 | parties remain in full compliance. 179 | 180 | 5. You are not required to accept this License, since you have not 181 | signed it. However, nothing else grants you permission to modify or 182 | distribute the Program or its derivative works. These actions are 183 | prohibited by law if you do not accept this License. Therefore, by 184 | modifying or distributing the Program (or any work based on the 185 | Program), you indicate your acceptance of this License to do so, and 186 | all its terms and conditions for copying, distributing or modifying 187 | the Program or works based on it. 188 | 189 | 6. Each time you redistribute the Program (or any work based on the 190 | Program), the recipient automatically receives a license from the 191 | original licensor to copy, distribute or modify the Program subject to 192 | these terms and conditions. You may not impose any further 193 | restrictions on the recipients' exercise of the rights granted herein. 194 | You are not responsible for enforcing compliance by third parties to 195 | this License. 196 | 197 | 7. If, as a consequence of a court judgment or allegation of patent 198 | infringement or for any other reason (not limited to patent issues), 199 | conditions are imposed on you (whether by court order, agreement or 200 | otherwise) that contradict the conditions of this License, they do not 201 | excuse you from the conditions of this License. If you cannot 202 | distribute so as to satisfy simultaneously your obligations under this 203 | License and any other pertinent obligations, then as a consequence you 204 | may not distribute the Program at all. For example, if a patent 205 | license would not permit royalty-free redistribution of the Program by 206 | all those who receive copies directly or indirectly through you, then 207 | the only way you could satisfy both it and this License would be to 208 | refrain entirely from distribution of the Program. 209 | 210 | If any portion of this section is held invalid or unenforceable under 211 | any particular circumstance, the balance of the section is intended to 212 | apply and the section as a whole is intended to apply in other 213 | circumstances. 214 | 215 | It is not the purpose of this section to induce you to infringe any 216 | patents or other property right claims or to contest validity of any 217 | such claims; this section has the sole purpose of protecting the 218 | integrity of the free software distribution system, which is 219 | implemented by public license practices. Many people have made 220 | generous contributions to the wide range of software distributed 221 | through that system in reliance on consistent application of that 222 | system; it is up to the author/donor to decide if he or she is willing 223 | to distribute software through any other system and a licensee cannot 224 | impose that choice. 225 | 226 | This section is intended to make thoroughly clear what is believed to 227 | be a consequence of the rest of this License. 228 | 229 | 8. If the distribution and/or use of the Program is restricted in 230 | certain countries either by patents or by copyrighted interfaces, the 231 | original copyright holder who places the Program under this License 232 | may add an explicit geographical distribution limitation excluding 233 | those countries, so that distribution is permitted only in or among 234 | countries not thus excluded. In such case, this License incorporates 235 | the limitation as if written in the body of this License. 236 | 237 | 9. The Free Software Foundation may publish revised and/or new versions 238 | of the General Public License from time to time. Such new versions will 239 | be similar in spirit to the present version, but may differ in detail to 240 | address new problems or concerns. 241 | 242 | Each version is given a distinguishing version number. If the Program 243 | specifies a version number of this License which applies to it and "any 244 | later version", you have the option of following the terms and conditions 245 | either of that version or of any later version published by the Free 246 | Software Foundation. If the Program does not specify a version number of 247 | this License, you may choose any version ever published by the Free Software 248 | Foundation. 249 | 250 | 10. If you wish to incorporate parts of the Program into other free 251 | programs whose distribution conditions are different, write to the author 252 | to ask for permission. For software which is copyrighted by the Free 253 | Software Foundation, write to the Free Software Foundation; we sometimes 254 | make exceptions for this. Our decision will be guided by the two goals 255 | of preserving the free status of all derivatives of our free software and 256 | of promoting the sharing and reuse of software generally. 257 | 258 | NO WARRANTY 259 | 260 | 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY 261 | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN 262 | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES 263 | PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED 264 | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 265 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS 266 | TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE 267 | PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, 268 | REPAIR OR CORRECTION. 269 | 270 | 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 271 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR 272 | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, 273 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING 274 | OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED 275 | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY 276 | YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER 277 | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE 278 | POSSIBILITY OF SUCH DAMAGES. 279 | 280 | END OF TERMS AND CONDITIONS 281 | 282 | How to Apply These Terms to Your New Programs 283 | 284 | If you develop a new program, and you want it to be of the greatest 285 | possible use to the public, the best way to achieve this is to make it 286 | free software which everyone can redistribute and change under these terms. 287 | 288 | To do so, attach the following notices to the program. It is safest 289 | to attach them to the start of each source file to most effectively 290 | convey the exclusion of warranty; and each file should have at least 291 | the "copyright" line and a pointer to where the full notice is found. 292 | 293 | FDI (the FreeDOS Installer) 294 | Copyright (C) 2016-2023 Jerome Shidel 295 | 296 | This program is free software; you can redistribute it and/or modify 297 | it under the terms of the GNU General Public License as published by 298 | the Free Software Foundation; either version 2 of the License, or 299 | (at your option) any later version. 300 | 301 | This program is distributed in the hope that it will be useful, 302 | but WITHOUT ANY WARRANTY; without even the implied warranty of 303 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 304 | GNU General Public License for more details. 305 | 306 | You should have received a copy of the GNU General Public License along 307 | with this program; if not, write to the Free Software Foundation, Inc., 308 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 309 | 310 | Also add information on how to contact you by electronic and paper mail. 311 | 312 | If the program is interactive, make it output a short notice like this 313 | when it starts in an interactive mode: 314 | 315 | Gnomovision version 69, Copyright (C) year name of author 316 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 317 | This is free software, and you are welcome to redistribute it 318 | under certain conditions; type `show c' for details. 319 | 320 | The hypothetical commands `show w' and `show c' should show the appropriate 321 | parts of the General Public License. Of course, the commands you use may 322 | be called something other than `show w' and `show c'; they could even be 323 | mouse-clicks or menu items--whatever suits your program. 324 | 325 | You should also get your employer (if you work as a programmer) or your 326 | school, if any, to sign a "copyright disclaimer" for the program, if 327 | necessary. Here is a sample; alter the names: 328 | 329 | Yoyodyne, Inc., hereby disclaims all copyright interest in the program 330 | `Gnomovision' (which makes passes at compilers) written by James Hacker. 331 | 332 | {signature of Ty Coon}, 1 April 1989 333 | Ty Coon, President of Vice 334 | 335 | This General Public License does not permit incorporating your program into 336 | proprietary programs. If your program is a subroutine library, you may 337 | consider it more useful to permit linking proprietary applications with the 338 | library. If this is what you want to do, use the GNU Lesser General 339 | Public License instead of this License. 340 | 341 | -------------------------------------------------------------------------------- /PACKAGES/README.TXT: -------------------------------------------------------------------------------- 1 | Packages in this directory will override the packages from the CD drive. 2 | They will also be included on the Install Media image and will also override 3 | their counterparts when performing the installation. 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # The FreeDOS Installer (FDI) 2 | 3 | The [FreeDOS](http://freedos.org) Installer is a customizable and flexible 4 | batch based installation kit based on the 5 | [V8Power Tools](http://up.lod.bz/V8Power) batch file enhancement utilities. 6 | 7 | 8 | For installation using floppy diskettes, the 9 | [FDI-x86](https://github.com/shidel/FDI-x86) is used instead of FDI. Although 10 | it is a completely different installer, it is referred to as an ADD-ON to FDI. 11 | This is because FDI-x86 needs the settings and configuration files that are 12 | part of FDI to be create install media. 13 | -------------------------------------------------------------------------------- /SETTINGS/BONUS0.LST: -------------------------------------------------------------------------------- 1 | ; Package list for BONUS-CD0 packages. 2 | 3 | ; This is the package list used for the packages that are only on the BONUS CD 4 | ; Generally speaking... they are not on any of the install media nor installed 5 | ; under BASE or FULL. However, some may be included here even if they are 6 | ; included elsewhere. 7 | 8 | ; boot\romdsk ; contains binaries without sources 9 | ; boot\romos ; contains binaries without sources 10 | 11 | boot\syslnx 12 | boot\bootfix 13 | 14 | devel\bcc 15 | devel\bwbasic 16 | devel\cpp2ccmt 17 | devel\euphoria 18 | devel\fasm 19 | devel\fbc_help 20 | devel\fbc 21 | devel\fpc 22 | devel\insight 23 | devel\jwasm 24 | devel\lua 25 | devel\ldebug 26 | devel\nasm 27 | devel\watcomc 28 | devel\watcomf 29 | devel\perl 30 | devel\regina 31 | devel\runtime 32 | devel\suppls 33 | devel\upx 34 | 35 | devel\sqlite 36 | 37 | devel\i16env 38 | devel\i16budoc 39 | devel\i16butil 40 | devel\i16gcc 41 | devel\i16gcdoc 42 | devel\i16newli 43 | devel\i16src 44 | devel\i16lbi86 45 | devel\i16elklc 46 | devel\i16nlelk 47 | devel\dojs 48 | devel\msa 49 | devel\tinyasm 50 | devel\kittenc 51 | 52 | devel\fdisrc 53 | 54 | ; devel\djgpp 55 | ; devel\dj_bin 56 | ; devel\dj_alego 57 | ; devel\dj_bison 58 | ; devel\dj_gdb 59 | ; devel\dj_faq 60 | ; devel\dj_flex 61 | ; devel\dj_gcc 62 | ; devel\dj_gpp 63 | ; devel\dj_make 64 | ; devel\dj_objc 65 | ; devel\dj_rhide 66 | ; devel\dj_txinf 67 | ; devel\dj_watcp 68 | ; devel\dj_zlib 69 | ; devel\dj_gcsrc 70 | 71 | gui\opengem 72 | 73 | disk\aefdisk 74 | disk\dosfsck 75 | disk\edict 76 | disk\finddisk 77 | disk\ospimg 78 | disk\part 79 | disk\raread 80 | disk\rawrite 81 | disk\testdisk 82 | disk\wde 83 | disk\whichfat 84 | disk\xfdisk 85 | disk\zerofill 86 | 87 | util\ansimat 88 | util\b64 89 | ; util\bmp2png 90 | util\bsum 91 | util\cdrom2ui 92 | util\cpied 93 | util\daa2iso 94 | util\dialog 95 | util\dog 96 | util\dos32a 97 | util\dosview 98 | util\dzemm 99 | util\fdbanner 100 | util\fdshield 101 | util\flashrom 102 | util\foxcalc 103 | util\foxtype 104 | util\gifsicle 105 | util\gnuchcp 106 | util\gnufonts 107 | util\hexcomp 108 | util\hip 109 | util\listpci 110 | util\listvesa 111 | util\localcfg 112 | util\localize 113 | util\memteste 114 | util\password 115 | util\pbox 116 | util\pcisleep 117 | util\pdtree 118 | util\pg 119 | util\pngcrush 120 | util\rcal 121 | util\search 122 | util\setlock 123 | util\stamp 124 | util\switchar 125 | util\topspin 126 | util\tp7p5fix 127 | util\unrtf 128 | util\utf8tocp 129 | util\wcd 130 | util\wptail 131 | util\xdel 132 | util\zdir 133 | 134 | edit\biew 135 | edit\blocek 136 | edit\doshexed 137 | edit\e3 138 | edit\elvis 139 | edit\fed 140 | edit\freemacs 141 | edit\mbedit 142 | edit\mined 143 | edit\ospedit 144 | edit\pico 145 | edit\setedit 146 | edit\tde 147 | edit\uhex 148 | edit\vim 149 | edit\msedit 150 | 151 | 152 | -------------------------------------------------------------------------------- /SETTINGS/CLEANUP.LST: -------------------------------------------------------------------------------- 1 | ; Cleanup file list. 2 | 3 | ; In order to save space on the smaller install media, these unnecessary files 4 | ; will be removed after there packages are installed. They will not be present 5 | ; on the filesystem of the install media. (They are still in their associated 6 | ; packages.) 7 | 8 | BIN\FREECOM 9 | BIN\KERNL86.SYS 10 | BIN\KERNL86N.SYS 11 | BIN\KERNL386.SYS 12 | BIN\FDCOM.ICO 13 | BIN\FDNPKG.EXE 14 | BIN\IDLEDPMS.COM 15 | BIN\_MORE.EXE 16 | BIN\CTMOUSE 17 | BIN\CC.COM 18 | BIN\DRVON.COM 19 | BIN\JEMFBHLP.EXE 20 | BIN\UMBM.EXE 21 | BIN\EMSSTAT.EXE 22 | BIN\CPUSTAT.EXE 23 | BIN\MEMSTAT.EXE 24 | BIN\XMSSTAT.EXE 25 | BIN\JLOAD.EXE 26 | BIN\MOVEXBDA.EXE 27 | BIN\XCDROM32.DLL 28 | BIN\XDMA32.DLL 29 | APPINFO 30 | PACKAGES 31 | SOURCE 32 | DOC 33 | HELP 34 | BIN\SHCDX86.* 35 | BIN\SHFDRV86.EXE 36 | BIN\SHRDRV86.EXE 37 | BIN\SHSUFDRV.EXE 38 | BIN\SRDEMS3.SYS 39 | BIN\SRDEMSS.SYS 40 | BIN\SRDEMS.SYS 41 | BIN\SRDUMMY.SYS 42 | BIN\SRDXMSS.SYS 43 | BIN\ZIP16-SM.EXE 44 | BIN\ZIP16.EXE 45 | BIN\ZIPCLOAK.EXE 46 | BIN\ZIPNOTE.EXE 47 | BIN\ZIPSPLIT.EXE 48 | BIN\COUNTRY.SYS 49 | BIN\C*.TBL 50 | BIN\C*.GBK 51 | 52 | BIN\DOSLFNMS.COM 53 | BIN\HIMEMX2.EXE 54 | BIN\ONELANG.BAT 55 | BIN\UMBM-OLD.EXE 56 | 57 | BIN\*.HLP 58 | BIN\*.OEM 59 | 60 | BIN\VMODE.COM 61 | BIN\VPCSPKR.COM 62 | BIN\VVER.COM 63 | 64 | NLS\FC.* 65 | NLS\MEM.* 66 | NLS\MORE.* 67 | NLS\XCOPY.* 68 | NLS\FDISK.* 69 | 70 | BIN\HELP.BAT 71 | 72 | BIN\AHCICD.DLL 73 | BIN\JDBGBRK.EXE 74 | BIN\JEMMDBG.EXE 75 | BIN\JEMMEXL.EXE 76 | 77 | ; BIN\CPUID.EXE 78 | 79 | 80 | -------------------------------------------------------------------------------- /SETTINGS/PKG_BASE.LST: -------------------------------------------------------------------------------- 1 | ; Package list for BASE only installation of FreeDOS. 2 | 3 | ; This is the BASE package set. It contains the packages used Plain DOS system. 4 | 5 | base\kernel 6 | base\freecom 7 | base\jemm 8 | base\himemx 9 | base\fdisk 10 | base\format 11 | base\xcopy 12 | 13 | base\attrib 14 | base\chkdsk 15 | base\append 16 | base\assign 17 | base\choice 18 | base\comp 19 | base\cpidos 20 | base\ctmouse 21 | base\debug 22 | base\defrag 23 | base\deltree 24 | base\devload 25 | base\diskcomp 26 | base\diskcopy 27 | base\display 28 | base\edit 29 | base\edlin 30 | base\exe2bin 31 | base\fc 32 | base\fdapm 33 | base\find 34 | base\fdxms 35 | base\fdxms286 36 | base\keyb 37 | base\keyb_lay 38 | base\label 39 | base\lbacache 40 | base\mem 41 | base\mirror 42 | base\mkeyb 43 | base\mode 44 | base\more 45 | base\move 46 | base\nansi 47 | base\nlsfunc 48 | base\print 49 | base\recover 50 | base\replace 51 | base\share 52 | base\shsucdx 53 | base\sort 54 | base\swsubst 55 | base\tree 56 | base\undelete 57 | base\unformat 58 | base\graphics 59 | base\fdhelper 60 | 61 | base\htmlhelp 62 | 63 | ; Not actually part of BASE, but installed with it. 64 | 65 | net\fdnpkg 66 | tools\v8power 67 | apps\fdimples 68 | archiver\unzip 69 | tools\pkgtools 70 | 71 | ; Probably should always include these as well. 72 | 73 | archiver\zip 74 | drivers\udvd2 75 | tools\callver 76 | tools\cwsdpmi 77 | drivers\shsufdrv 78 | 79 | ; Include custom release user assistance packages 80 | 81 | $PKG_ASSIST$ 82 | -------------------------------------------------------------------------------- /SETTINGS/PKG_FDI.LST: -------------------------------------------------------------------------------- 1 | ; Package list for FDI install media 2 | 3 | ; These are the minimum packages required to run the FreeDOS Installer (FDI). 4 | ; They are present on the filesystem for all of the install media. 5 | 6 | base\freecom 7 | base\kernel 8 | base\deltree 9 | base\xcopy 10 | base\devload 11 | base\attrib 12 | base\shsucdx 13 | drivers\shsufdrv 14 | base\fdisk 15 | base\fdapm 16 | base\format 17 | base\fc 18 | 19 | tools\v8power 20 | apps\fdimples 21 | 22 | unix\grep 23 | 24 | drivers\udvd2 25 | drivers\cdrcache 26 | base\lbacache 27 | 28 | net\fdnpkg 29 | archiver\zip 30 | 31 | base\fdhelper 32 | 33 | ; Only required for CD install media 34 | 35 | drivers\udvd2 36 | 37 | ; El Torito driver is included through config options for CD boot media 38 | 39 | ; Only wanted / needed for QEMU RAM Disk 40 | drivers\srdisk 41 | 42 | ; These are not technically required. But, can be useful. 43 | 44 | base\himemx 45 | base\jemm 46 | base\edit 47 | base\mem 48 | base\more 49 | drivers\doslfn 50 | -------------------------------------------------------------------------------- /SETTINGS/PKG_FULL.LST: -------------------------------------------------------------------------------- 1 | ; Package list for FULL package installation. 2 | 3 | ; This is the package list for a FULL install of FreeDOS 4 | 5 | ; Always include all BASE and FDI packages 6 | $PKG_BASE$ 7 | $PKG_FDI$ 8 | 9 | ; Include custom release user assistance packages 10 | $PKG_ASSIST$ 11 | 12 | ; Additional packages installed with FULL 13 | unix\grep 14 | unix\xgrep 15 | unix\nro 16 | unix\head 17 | unix\du 18 | unix\sleep 19 | unix\tee 20 | unix\touch 21 | unix\which 22 | 23 | archiver\tar 24 | archiver\gzip 25 | archiver\bz2 26 | 27 | drivers\cdrcache 28 | unix\less 29 | unix\md5sum 30 | drivers\srdisk 31 | drivers\usbdos 32 | 33 | drivers\doslfn 34 | 35 | apps\doszip 36 | drivers\lfndos 37 | drivers\spool 38 | 39 | drivers\xkeyb 40 | 41 | drivers\shareext 42 | 43 | ; Not Usefull without Networking 44 | net\fdnet 45 | net\mtcp 46 | net\wget 47 | net\curl 48 | 49 | ; Per Jim, If a group is on primary install media, all of that groups packages 50 | ; should be installed with full. These Packages are not referenced earlier. 51 | games\bolitare 52 | games\boom 53 | games\dosdef 54 | games\eliza 55 | games\empong 56 | games\ev4de 57 | games\ewsnake 58 | games\flpybird 59 | games\fmines 60 | games\freedoom 61 | games\gnuchess 62 | games\hangman 63 | games\ivan 64 | games\kraptor 65 | games\liquiwar 66 | games\mirmagic 67 | games\nethack 68 | games\nge_nibb 69 | games\noudar 70 | games\qtetris 71 | games\senet 72 | games\sudoku86 73 | games\vertigo 74 | games\vitetris 75 | games\wing 76 | games\zmiy 77 | games\mistral 78 | 79 | archiver\7zip 80 | archiver\p7zip 81 | 82 | base\samcfg 83 | 84 | unix\cal 85 | unix\gnused 86 | unix\uptimec 87 | 88 | apps\dn2 89 | apps\fdshell 90 | 91 | ; apps\fdtui 92 | 93 | drivers\hiram 94 | drivers\lptdrv 95 | drivers\ntfs 96 | apps\pgme 97 | net\terminal 98 | 99 | sound\adplay 100 | ; sound\cdp ; freeware, not opensource 101 | sound\playcd 102 | sound\dosmid 103 | sound\mplayer 104 | sound\opencp 105 | ; base\htmlhelp 106 | tools\ambread 107 | base\ambhelp 108 | 109 | drivers\uhdd 110 | apps\imgedit 111 | games\smiley 112 | games\blkdrop 113 | games\sayswho 114 | 115 | ; new additions and returned packages 116 | 117 | drivers\logger 118 | sound\sbpmixer 119 | 120 | drivers\sbemu 121 | drivers\vsbhda 122 | 123 | ; Packages added to FULL that were previously only Extra or on the BonusCD. 124 | 125 | archiver\arj 126 | archiver\cabext 127 | archiver\lpq1 128 | archiver\lzip 129 | archiver\lzma 130 | archiver\lzop 131 | archiver\slicer 132 | archiver\zoo 133 | 134 | drivers\eltorito 135 | drivers\gcdrom 136 | drivers\himemsx 137 | drivers\rdisk 138 | drivers\uide 139 | 140 | net\arachne 141 | net\crynwr 142 | net\dillo 143 | net\dwol 144 | net\e1000pkt 145 | net\e100pkt 146 | net\etherdfs 147 | net\ethtools 148 | net\gopherus 149 | net\htget 150 | net\links 151 | net\lsppp 152 | net\lynx 153 | net\m2wat 154 | net\mskermit 155 | net\newsnuz 156 | net\ntool 157 | net\picosntp 158 | net\picotcp 159 | net\ping 160 | net\rsync 161 | net\ssh2dos 162 | net\sshdos 163 | net\vmsmount 164 | net\vncview 165 | net\wattcp 166 | 167 | sound\bladeenc 168 | sound\lame 169 | sound\sjgplay 170 | 171 | ; unix\minibox 172 | 173 | tools\ambread 174 | tools\slowdown 175 | tools\pkgtools 176 | 177 | -------------------------------------------------------------------------------- /SETTINGS/PKG_HYDR.LST: -------------------------------------------------------------------------------- 1 | ; Package list for LiveCD media startup image. 2 | 3 | ; This list contains the packages that required by the type 1 LiveCD to bring 4 | ; up a microscopic portion of FreeDOS that then can load the additional 5 | ; packages in the LIVE list. 6 | 7 | base\devload 8 | base\fdapm 9 | net\fdnpkg 10 | ; util\fdinst 11 | base\shsucdx 12 | base\xcopy 13 | tools\v8power 14 | drivers\shsufdrv 15 | drivers\srdisk 16 | base\himemx 17 | 18 | base\lbacache 19 | drivers\udvd2 20 | drivers\cdrcache 21 | 22 | ; El Torito driver is included through config options for CD boot media 23 | ; drivers\eltorito 24 | 25 | base\fdhelper 26 | 27 | ; not required but really should be there 28 | base\format 29 | base\fdisk 30 | base\more 31 | base\edit 32 | -------------------------------------------------------------------------------- /SETTINGS/PKG_LIVE.LST: -------------------------------------------------------------------------------- 1 | ; Package list for LIVE media. 2 | 3 | ; This LIVE list contains the packages that will be made LIVE on the LIVE 4 | ; media. 5 | 6 | ; Make sure entire BASE and FDI packages are available. 7 | $PKG_BASE$ 8 | $PKG_FDI$ 9 | 10 | ; Include custom release user assistance packages 11 | $PKG_ASSIST$ 12 | 13 | ; These are additional packages that are intalled onto the LIVE CD media. 14 | tools\slowdown 15 | drivers\doslfn 16 | 17 | ; The return an improvement of her FDNet Package :-) 18 | net\fdnet 19 | 20 | unix\grep 21 | unix\head 22 | unix\du 23 | unix\sleep 24 | unix\tee 25 | unix\touch 26 | unix\which 27 | unix\less 28 | 29 | ; high user requests in survey 30 | archiver\7zip 31 | archiver\tar 32 | archiver\gzip 33 | archiver\bz2 34 | unix\md5sum 35 | 36 | ; was live before 37 | tools\callver 38 | tools\cwsdpmi 39 | tools\slowdown 40 | tools\pkgtools 41 | 42 | ; new 43 | drivers\logger 44 | 45 | ; a couple simple games that always work on all hardware platforms :-) 46 | games\senet 47 | games\blkdrop 48 | games\flpybird 49 | 50 | 51 | -------------------------------------------------------------------------------- /SETTINGS/PKG_XTRA.LST: -------------------------------------------------------------------------------- 1 | ; Package list for EXTRA packages. 2 | 3 | ; This is the package list used for the packages included on larger install 4 | ; media. Not every package is installed. Depending on the users selection, 5 | ; only the packages in BASE or FULL are installed by the installer. 6 | 7 | ; Include all package sets to make sure there packages are present. 8 | ; $PKG_BASE$ 9 | ; $PKG_FDI$ 10 | ; $PKG_FULL$ 11 | ; $PKG_LIVE$ 12 | 13 | ; $PKG_ASSIST$ 14 | 15 | ; Extra packages that are not automatically installed. 16 | 17 | ; The return and improvement of the FDNet Package :-) 18 | ; net\fdnet 19 | 20 | ; Excluded, lacks a clear license. 21 | ;; util\paint2 22 | 23 | ; base\htmlhelp 24 | ; util\ambread 25 | ; base\ambhelp 26 | 27 | ; archiver\7zip 28 | ; archiver\arj 29 | ; archiver\cabext 30 | ; archiver\lpq1 31 | ; archiver\p7zip 32 | ; archiver\zoo 33 | ; base\samcfg 34 | ; boot\syslnx 35 | ; devel\bcc 36 | ; devel\fpc 37 | ; devel\nasm 38 | ; devel\watcomc 39 | ; devel\upx 40 | ; edit\fed 41 | ; edit\freemacs 42 | ; edit\uhex 43 | ; edit\vim 44 | ; net\arachne 45 | ; net\crynwr 46 | ; net\lsppp 47 | ; net\curl 48 | ; net\dillo 49 | ; net\dwol 50 | ; net\e1000pkt 51 | ; net\e100pkt 52 | ; net\ethtools 53 | ; net\gopherus 54 | ; net\htget 55 | ; net\links 56 | ; net\lynx 57 | ; net\m2wat 58 | ; net\mskermit 59 | ; net\mtcp 60 | ; net\newsnuz 61 | ; net\ntool 62 | ; net\picosntp 63 | ; net\picotcp 64 | ; net\ping 65 | ; net\rsync 66 | ; net\ssh2dos 67 | ; net\sshdos 68 | ; net\vmsmount 69 | ; net\vncview 70 | ; net\wattcp 71 | ; net\wget 72 | ; sound\adplay 73 | ;; sound\cdp ; freeware, not opensource 74 | ; sound\dosmid 75 | ; sound\mplayer 76 | ; sound\opencp 77 | ; apps\dn2 78 | ; util\dog 79 | ; util\fdisrc 80 | ; apps\fdshell 81 | ; util\finddisk 82 | ; util\flashrom 83 | ; util\gnufonts 84 | ; unix\gnused 85 | ; util\hexcomp 86 | ; drivers\hiram 87 | ; util\localcfg 88 | ; drivers\lptdrv 89 | ; util\memteste 90 | ; drivers\ntfs 91 | ; util\ospimg 92 | ; util\pdtree 93 | ; apps\pgme 94 | ; util\rcal 95 | ; util\search 96 | ; net\terminal 97 | ; util\testdisk 98 | ; util\unrtf 99 | ; unix\uptimec 100 | ; util\utf8tocp 101 | ; util\wcd 102 | ; util\wde 103 | ; util\whichfat 104 | ; util\wptail 105 | 106 | ; net\etherdfs 107 | ; util\edict 108 | ; apps\fdtui 109 | ; util\aefdisk 110 | 111 | ; drivers\gcdrom 112 | ; drivers\uide 113 | ; drivers\uhdd 114 | ; drivers\udvd2 115 | ; devel\kittenc 116 | ; util\tp7p5fix 117 | 118 | ; sound\sbpmixer 119 | -------------------------------------------------------------------------------- /SETTINGS/VERSION.CFG: -------------------------------------------------------------------------------- 1 | ; General FreeDOS Installer and Builder Configuration file. 2 | 3 | ; Should be FreeDOS or custom distribution name 4 | PLATFORM=FreeDOS 5 | 6 | ; Version of release 7 | VERSION=1.4 8 | 9 | ; OS release file version prefix 10 | ; PREFIX=FD13 11 | PREFIX=FD14 12 | 13 | ; Floppy-Only Edition Prefix, kinda like "%PREFIX%-%FOEP%720k.zip" 14 | ; has no effect if the RBE is told to put all FloppyEdition versions into 15 | ; a single release archive. 16 | FOEP=FE 17 | 18 | ; URL of the operating system homepage & download pages 19 | URL=http://www.freedos.org 20 | DOWNLOAD=https://www.freedos.org/download/ 21 | 22 | ; Label to apply when hard drive is formatted. 23 | VOLUME=FreeDOS2025 24 | 25 | ; Default sub-directory for media packages, please note that this is the 26 | ; directory that mkFDI.bat will place the package folders when building the 27 | ; release. the root \ will also be checked to maintain compatibility with 28 | ; the older repository CDs. 29 | PACKAGES=\packages\ 30 | 31 | ; Official online software repository BASE path (Exclude trailing slash) 32 | REPO=http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/repositories/1.4 33 | 34 | ; Configuration file names 35 | AUTOEXEC.BAT=FDAUTO.BAT 36 | CONFIG.SYS=FDCONFIG.SYS 37 | 38 | ; Default FreeDOS install directory 39 | DOSDIR=FreeDOS 40 | 41 | ; LITE USB to only provide BASE packages and install options 42 | BASEONLY=yes 43 | 44 | ; Also include EL TORITO driver on CD floppy boot images. (live & legacy) 45 | ADD_ELTORITO=yes 46 | 47 | ; Path for Floppy Only Edition Install Files on other release media 48 | PATHX86=FDOS-x86 49 | 50 | ; Include "Extra" packages on what media (LEGACY, LIVE, LITE, FULL and BONUSn) 51 | ADD_EXTRA=LIVE,FULL,BONUS0 52 | 53 | ; Media to include Floppy Only Edition (same choices as ADD_EXTRA) 54 | ADD_X86=LEGACY,LIVE,FULL,BONUS0 55 | 56 | ; Include bootable image of Floppy Only Edition on LiveCD 57 | LIVEx86=yes 58 | 59 | ; Floppy disk sizes to build for Floppy Only Edition (2880,1440,1200,720 & 360) 60 | ; At present 360k images will not have sufficient space and will fail. 61 | x86_SIZES=1440,1200,720 62 | 63 | ; When set, overrides usage of the default COMMAND.COM for the boot media. 64 | ; if needed, file will be renamed to COMMAND.COM by Release Build Environment. 65 | ; COMMAND=FREECOM,BIN/FREECOM/XSWAP/CMD-EN.COM 66 | 67 | ; The following option is in regards to the SLIM/LITE usb version. But, is 68 | ; not yet been implemented. (And probably won't be) 69 | ; EXCLUDE_SRC=no 70 | 71 | ; Disk image sizes for USB stick images. 72 | LITE_USB=32M 73 | FULL_USB=1024M 74 | -------------------------------------------------------------------------------- /TODO: -------------------------------------------------------------------------------- 1 | Things planned for FDI installer .. Eventually. 2 | 3 | * Reorder the Config Menu to eliminate the need for a separate VirtualBox AutoExec. 4 | 5 | Things that aren't actually the installer, but are improvements planned that effect it. 6 | 7 | * Create VVIEW to read DOCs during install 8 | * Update VCHOICE to support lists 9 | * Get around to making V8Turbo for overall better performance. --------------------------------------------------------------------------------