Original distribution (c) Bart Lagerweij and Erwin Veermans
Overview
An updated version of Erwin Veermans' excellent NwDsk (FreeDOS UBCD). This new release features bug-fixes, updates and enhancements from previous revisions (see change log for a complete list of updates/changes)

Features
- Improved memory management and detection
- Improved compatibility, redundancy and error handling
- Reduced memory footprint (more conventional memory now available)
- Improved device driver/tsr program handling
- Better boot transparency
- Extended driver support (USB, UDMA, SCSI)
- Dynamic front-end UI
- Joint-compatible with version 4.11 and 5.xx
Download
Source: MediaFire

Installation
Download, unzip, then replace the existing image "dosubcd.igz" from the UBCD ISO:
UBCD 5.0b
Code: Select all
/ubcd/images/dosubcd.igz
Code: Select all
/images/dosubcd.igz
I'm open to suggestions.
History
Change Log, rev1.33
Change Log, rev1.32added support for passing variables (ubcdcmd parameter) to the image, when using grub4dos floppy emulation
corrected parsing of version number when it is longer than previously assumed
Change Log, rev1.31fixed serious bug for UBCD 4.1.1 (forgot to set valid path to "dosapps" /main folder)
adjusted ramdrive (volume label now assigned)
replaced SHSURDRV to 1.11a (no-GZIP + ~10Kb smaller)
replaced stow.exe with nset.exe (~3Kb smaller + more features)
replaced choice.exe with choix.exe (~4Kb smaller)
Change Log, rev1.28adjusted NwDsk version number (3.42=>3.40)
updated UMBPCI to 3.77
adjusted ramdisk:
- set ramdisk XMSDSK/SHSURDRV sector size from 0(?) to 512 bytes
- replaced XMSDSK with SHSURDRV v1.10
replaced unzip.exe with pkunzip.exe (PKWARE 2.50 for DOS) ~20Kb smaller
- adjusted autoexec.bat, runapp.bat and unpack.bat to reflect change
adjusted /level3 post-processing
- adjusted cd drive detection routine (e.g. no longer dependent on ubcd.ico)
- NwDsk settings can now be supplemented via an .INI file**
- relative path(s) of dosapps no longer dependent on UBCD version
- can now choose to launch CD dosapps as an archive or unpacked as a directory
- launching CD dosapps is no longer dependent on "dosapp" root directory (NwDsk will find it)
adjusted UBCD program handling
- automatically finds the program archive/directory regardless of location
- added archive support to include rar,7z and uha in addition to cab and zip
- see development notes for a full list of features...
adjusted saveset.bat in utilz.cab
removed ranish partition manager (already included on CD)
fixed an error in cdrom loader for non-eltorito drives : "_devld not found"
replaced stype.exe with more.exe (~18Kb smaller)
added mdir.exe (consistent DIR command across FD/DR/MS platforms)
fixed other tiny errors
Change Log (rev1.27):fixed bug for USB users (should now work when booting UBCD 5b from USB)
fixed a minor error in the help menu (reboot command now echoes the correct parameter)
added support for uha archives; CD dosapps can now be archived as CAB, ZIP, or UHA**
updated CuteMouse version 2.1beta4 to "PATCHED" jwasm version
removed APPEND.EXE, MOVE.EXE
removed DOS32A 32-bit DOS Extender (DOS4GW does the same)
some typos q;
** requires unharc.exe (not included due to fd size constraints)
Change Log (rev1.21):code optimisation
- upped code granularity and speed
adjusted device driver/tsr program handling
- adjusted devhigh.bat, devload.bat in /bin/modboot.cab
- removed tsrload.bat from /bin/modboot.cab (now automatically handled by devload.bat)
corrected method by which CD directories are set if found to exist
- using "if exist %path%" does not always work when applied to a CD-ROM (due to different directory system)
adjusted /bin/utilz.cab
- added VAR.BAT (auto sets environmental variable declared by varset.com)
- added INTF.BAT (simple loop function used to test if an integer exists between a sent range)
- added concat.exe
- added stow.exe
adjusted /level3 post-processing
- full names now displayed in CD Menu (UBCD 5.xx only)**
- CD help file now accessible (UBCD 5.xx only)**
added btcdrom.sys to /lib/cdsys.cab (SCSI CD-ROM Driver for Buslogic Controller Cards)
updated (ASPI)USB modboot to ver1.3
- major overhaul of loader (see development notes for details)
updated UDMA modboot to ver1.51 (improved execution speed and error handling)
added support for additional SCSI Host Controllers:
- Adaptec 39320/29320/7902/7901 Ultra320 PCI SCSI Host Contoller
- AMI MegaRAID 428 Ultra SCSI RAID Controller
- Future Domain TMC-18C30 Fast PCI SCSI Host Controller
- Tekram Technology DC-315U PCI SCSI-3 Host Adapter
- Tekram DC-390 PCI SCSI Host Controller
- Symbios Logic 3c1030/3c1035 PCI-X Dual Ultra320 SCSI
- type "aspi" or "scsi" at the command prompt to launch
reduced ramdisk size from 20Mb to 16Mb
** duplicate/incorrect entries are being addressed by Victor.
Change Log (rev1.2):Typing "bcd" or "ubcd" at the command prompt would loop back and execute any previously launched application if called from the root isolinux menu INSTEAD of launching the menu (put simply, I forgot to clear an environmental variable).
Change Log (rev1.1):Fully dynamic ubcd front-end UI for all available dosapps, system tools and commands
ubcd 5.xx dosapp archives now support .cab (higher compression ratios when using LZH)
ubcd 5.xx will prompt user to free-up ramdisk if running a dosapp without enough available memory present
fixed a bug from previous version for UBCD 4.1.1 (variable assignment of %UBCDDRV% now resolved from %CDDRV% - i.e. stuff works better)
updated ubcd.bat in /level3/autorun3.cab
All "startup.bat" files found in /ubcd/dosapps/<appname> (UBCD 5.xx) or /dosapps/<appname> (UBCD 4.11) are automatically
parsed and copied to /bcd in ramdrive AND renamed to their corresponding application title. access via
ubcd front-end or simply browse /bcd to view. alternatively, type the name of the application from
anywhere in the command prompt:
e.g. type "aida16" to load aida16
updated config.sys
- moving of EBDA (Extended BIOS Data Area) is incompatible with some BIOSes. Now disabled.
replaced himemx 3.32 with himem64 3.26 (himemx compatibility issues on some systems >8Gb mem?)
compressed /bin/bcdw.com to /bin/bcdw.cab (saves ~20Kb)
added stype.exe to /level1/help.cab
adjusted "help" command in /level1/help.cab (now pauses at the end of each screen page)
adjusted Keyboard modboot (v1.2)
- updated mkeyb driver to 0.41
adjusted MOUSE modboot (v1.1)
- updated ctmouse to v2.1b4
- new configuration options available (type "mouse" at command prompt to look see)
added DOS4GW 32-bit DOS Extender (royalty free)
updated ASPIUSB modboot (ver1.2)
- stuff
- adjusted error detection for "guest" mass storage driver (i.e. there exists one as of now)
- added DUSE 4.9 USB drivers (useful)
- added help page (tells you what a "USB" is)
- fixed bug (you can now type "usb" and/or access via menu to correctly launch the modboot)
updated /bin/lbacache.cab
- adjusted fdcch.bat (can now send parameter to unload/restore lbacache)
- param: -u|e (uninstall/enable) or -e -l to enable LOW
- when unloaded, may leave small allocation in memory (~300 bytes or more). script checks to see memory used as well as whether it is present in memory or not
- following unload, loadhigh may fail when using -e parameter -> script tries to force low if this happens
- won't go resident if already loaded etc
- put simply, a "pain-in-the-arse" driver (-:
updated UDMA (ver1.5)
- fixed bug whereby lbacache might fail to re-initialise if forced to conventional memory (see fdcch.bat)
- added Terrabye 1.03 "UDMATSR" driver (rawread gain on some systems)
- adjusted load-check (will now abort if ANY udma driver found resident)
- adjusted UDMA2 transfer mode (will default to "6" if invalid mode specified)
- added option to load driver "Low" (for EMM386)
- added help page (exciting)
- consolidated all drivers to /lib/udma.cab (saves ~10Kb)
removed enufdisc.exe, stow.exe, calc387.exe from "/bin/supp.cab" (identical functions achieved using "magic") q:
removed get.exe from "/bin/supp.cab" (identical functions achieved using wbat)
removed diskcopy.exe from /level1/freedos.cab
deprecated /bin/supp.cab
cab files in path %srcdrv%/bin auto-delete once inflated
consolidated cdrom drivers to /lib/cdsys.cab (saves ~4Kb)
added atapi aspi.sys to /lib/cdsys.cab (required for burning cds from DOS)
moved vmode.bat and L25,L36,L50.com to /bin/utilz.cab
moved mi.com to /bin/utilz.cab
fixed bug(?) where ranish partman fails to launch from the menu
adjusted Keyboard modboot (rev1.2)
- US keyboards don't require a keyboard handler (i.e. driver wont load unecessarily if a "US" keyboard is declared)
adjusted autoexec.bat (creates /usr directory in ramdrive)
adjusted volkov commander (now unpacks to "/usr/vc" in ramdrive)
re-wrote runapp.bat in /bin/utilz.cab (a pleasant experience)
now echoes the correct UBCD version and build date
...
...plenty more i'd care to forget (-:
Change Log (rev1.0):updated "/bin/modboot.cab"
- added umbchk.bat - checks status of UMB; echoes "MEM: UMA(n) where n=1(enabled) or 0(unavailable)
- updated modboot.bat (now calls umbchk.bat during boot)
removed tsrhigh from "/bin/modboot.cab"
updated tsrload/devload from "/bin/modboot.cab"
- each script intelligently loads a given device/tsr program
- automatically determines if UMA available for high load (forces low if UMA unavailable)
- gracefully aborts load if given device/tsr already resident
- usage: "devload [-l] %ramdrv%\lib\driver.sys /1 /2 /etc"
- pass "-l" parameter to force load into conventional
updated lbacache (freeDOS diskcache) to 2008apr07
updated "/level3/autorun3.cab"
- any modboot varaible "*_NCFG" parameter is erased post-boot from "/etc/global.set"
- same applies to global set (if exist)
- why? so you can now freely access any required modboot if booting from option "0 Default (silent)" from config.sys (e.g. usbaspi, udma, etc)
removed split.exe, vmode.exe, batt.exe from "/bin/supp.cab"
removed share.exe, more.exe, undelete.com from "/level1/freedos.cab"
added "power.bat" in "/level2/idle.cab"
- invokes FdApm INFO (check AC, battery level)
added "vmode.bat" to "/bin/supp.cab"
- toggles screen between 25, 35 and 50 (43 EGA) line modes
- type "vmode" at command prompt to toggle OR add parameters -25,-36,-50 to set
updated "/bin/supp.cab"
- added sleep.exe (pause batch files for pre-determined time)
- replaced calc.exe with calc387.exe (+386 only)
reboot command now defaults to cold boot (type "reboot /?" for options)
added LFNTOOLS 1.79 "/level0/lfntools.cab" (DOS tools for long file names)
- LFNDIR.EXE List a directory/folder like DIR
- LFNCD.EXE Changes to any directory/folder like CD
- LFNREN.EXE Renames a file like REN
- LFNDEL.EXE Deletes a file line DEL
- LFNCHK.EXE Display information about a volume
- LFNCOPY.EXE Copies files with LFN intact
- LFNMD.EXE Creates a directory like MD
- LFNRD.EXE Removes a directory like RD
updated ASPIUSB modboot (rev1.1)
- streamlined the config menu (many superfluous switches in previous version)
- renamed "aspiusb.bat" to "usb.bat" (less of a handful to type/remember at command prompt)
- Panasonic USB-to-ASPI driver now unloads properly from memory if target device error generated
- added Iomega USB host controller and guest driver
- DUSE support functional but removed (10,000 switches + consumes too much conventional memory ~375k!!!)
updated IDLE modboot (rev1.4)
- cleaned up the config menu (was a mess)
- fixed a couple of bugs (error checking)
- can now change the applied settings once loaded (prevous revision aborted)
updated LFN modboot (rev1.3)
- changed detection routine for 0.40e/0.34d
- added enable/disable switch; "lfn -[e|d]" to enable/disable (e.g. aida16 refuses to run with LFN enabled)
- optimised load ordering
updated UDMA modboot (ver1.4)
- default udma driver now limits DMA to "low memory" automatically (/L) if in UMBPCI mode
- UDMA drivers will NEVER load into UMA when using UMBPCI (by design, please stop asking)
- Option to relocate diskcache from UMA (default) to "low memory" in UMBPCI mode
- see article http://www.freedos.org/freedos/news/technote/213.html
- Unload switch now added* (type "udma -u" at command prompt to unload driver)
- default values set at load (no longer dependent on "/etc/GLOBAL.SET")
- drivers now stored in "/lib/udma/"
- optimised load ordering
- type "udma -h" to access help info
- type "udma -c" to access config
- type "udma" to launch or access via "menu"
unload WILL fail in if diskcache relocated to "low" (lbacache disrupts interrupt chains)
added MOUSE modboot (ver1.0)
- loads transparently as before - to prompt during boot, change MOUSE_NCFG to "0" in "\etc\global.set"
- can now configure device (left-hand support, 3 button etc)
- type "mouse -c" to access/change config
- to apply new config, type "mouse -u" to uninstall, then apply by typing "mouse"
general tidying (loose variables, etc)
Feedback:4DOS shell removed (compatability)
All boot modes now functional (e.g. no UMB, ultra-defensive)
Updated UMBPCI to v3.76
Replaced HIMEM.EXE with HIMEMX.EXE 3.32 (still supported; extended version of FD himem)
Updated autoexec.bat to address UMBPCI/HIMEMX
Updated "/level1/aspiusb.cab" (Panasonic Usbaspi.sys 2.24)
Updated "/level1/bootutil.cab" (spfdisk.exe)
Updated SHCUCDX to v3.04
Added UDMA modboot (version 1.3) "/level1/UIDE.CAB"
- UDMA.CAB (v8.2, 24-Oct-2005)
- UDMA2.CAB (v2.7, 24-Oct-2005)
- UDMA2s.CAB (v2.7, 24-Oct-2005)
- XDMA.CAB (v3.3, 15-Feb-2006)
- QDMA.CAB (v2.5, 7-July-2006)
LFN Modboot (Revision 1.2), moved "/level1/lfn.cab" to "/level2/lfn.cab"
- Updated to DOSLFN to 0.40e (requires SHCUCDX for LFN cdrom support)
- Included 0.34d for legacy support (non-SHCUCDX version)
- Autodetects appropriate version to load
- Dependent on SHCUCDX (hence, moved to "/level2")
- Added memory resident check (only installs if NOT resident in memory)
- Old version crashed on some machines if no UMB loaded and ldh called
- Previously, if you typed "lfn -c" to access config, you couldn't exit!
IDLE Modboot (Revision 1.3), /level2/Idle.cab
- added IdleDPMS screen saver
- IdleDMPS (screen saver) option now available in FdApm modboot
- IdelDPMS addded to "bin/utilz.cab"
- some memory-mangement juggling (compatability)
- added memory resident check (only installs if NOT resident in memory)
CDROM Modboot (Version 2.21), /level1/cdrom.cab
- improved QCDROM device handling (attempts to load into UMB if EMM386 detected)
- gcdom.sys/qcdrom.sys can be now accessed via "lib\qcdrom.cab" and "lib\gcdrom.cab"
- changed the default config to "best detection" (see /ect/global.set)
KEYBRD Modboot (Revision 1.1), /level2/keybrd.cab
- added memory resident check (only installs if NOT resident in memory)
Addressed a bug on some machines whereby IFSHLP would hang the boot-cycle if UMB was disabled
Moved "/bin/ifshlp.cab" to "/lib/ifshlp.cab" (no longer loaded by default)
Updated "/level0/msnet.cab" to version 2.71 (due to IFSHLP update)
Replaced edit.com with FreeDos Edit 0.7d in "bin/utils.cab"
Added pciscan.exe to "/bin/utils.cab"
Updated "bin/modboot.cab"
- Updated devload (device.com) to version 3.21
- Added loadsys.exe v1.4i (TSR/device loader)
- Updated devhigh.bat to call loadsys.exe instead of device.com
- Added devload.bat (loads device into conventional only)
- Added tsrload.bat (loadsys attempts to load device/tsr program into UMB)
- Added unload.bat (unloads device/tsr program(s) if loaded via loadsys)
Updated "/level1/freedos.cab"
- added callver.exe (legacy MS-DOS support tool)
- added undelete.exe
- added more.exe
- added choice.exe
- added append.exe
- added share.com
- added replace.exe
- added locate.com
- added diskcopy.com
- added format.exe
Updated HX-DOS extender runtime in "/level0/win32.cab"
Addded DOS/32 Advanced DOS Extender (v9.1.2) in "/level0/dos32a.cab"
Added DOS/4G 32-bit DOS Extender 2.61 in "/level0/dos4g.cab" (REMOVED DUE TO LICENSING ISSUES)
Added "/bin/supp.cab"
- enufdisc.exe
- stow.exe
- get.exe
- mi.com
- batt.exe
- calc.exe
- vmode.exe (set video mode & rows)
- split.exe
- get.exe
- ansi.com (non-TSR ANSI.SYS/NANSI.SYS)
Added "/level0/hex.cab" (hex editor)
Added NTFSDOS back BUT in /level0 (won't pop-up during boot).
- If you wish to use it simply type "ntfs" at the command prompt ("ntfs -u" to uninstall).
ubcd.bat, runapp.bat, ubcdos.bat move to "/bin/ubcd.cab"
Some others bits and bobs i'm sure i've forgotten.
Would be appreciated
