UPDATE: FreeDOS (REV1.33) for UBCD4/5

Discussion/announcements about test/beta releases of UBCD will be posted here.

Moderators: Icecube, StopSpazzing

Message
Author
as702
Posts: 276
Joined: Tue Jun 17, 2008 3:14 am

UPDATE: FreeDOS (REV1.33) for UBCD4/5

#1 Post by as702 » Thu Jul 03, 2008 12:28 pm

NwDsk 3.40, Revision 1.33
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)

Image

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
Imagehttp://ubcd.partedmagic.com/downloads/f ... fdubcd.igz - (2.88Mb core version) for UBCD4.11/5.xx

Installation
Download, unzip, then replace the existing image "dosubcd.igz" from the UBCD ISO:
UBCD 5.0b

Code: Select all

/ubcd/images/dosubcd.igz
UBCD 4.1.1

Code: Select all

/images/dosubcd.igz
F.A.Q.
I'm open to suggestions.

History
Change Log, rev1.33
added 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.32
fixed 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.31
adjusted 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.28
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.27):
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.21):
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.2):
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.1):
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)
Change Log (rev1.0):
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.
Feedback:
Would be appreciated :)
Last edited by as702 on Wed Aug 27, 2008 4:24 am, edited 23 times in total.

grayfox
Posts: 48
Joined: Sat Mar 22, 2008 6:04 am

Still not working

#2 Post by grayfox » Sat Jul 05, 2008 8:32 am

Same probable.

Are you telling us to change the log ?
Change Log:
Quote:


If so, boy that a lot.

as702
Posts: 276
Joined: Tue Jun 17, 2008 3:14 am

Re: Still not working

#3 Post by as702 » Sat Jul 05, 2008 10:33 am

grayfox wrote:Same probable.

Are you telling us to change the log ?
no, son - it's a log of what changes have been made. ;)

Icecube
Posts: 1278
Joined: Fri Jan 11, 2008 2:52 pm
Contact:

#4 Post by Icecube » Sun Jul 06, 2008 2:56 pm

I have found an unimportant "bug".
The reboot command doesn't work in a virtual machine (virtualbox and qemu), but on a real machine it should work.
When I try "fdapm COLDboot" it works, while "fdapm WARMboot" hangs.
I didn't check how you did it exactly but probably just like I described some time ago at: viewtopic.php?t=1291&highlight=reboot+bat.

as702
Posts: 276
Joined: Tue Jun 17, 2008 3:14 am

#5 Post by as702 » Mon Jul 07, 2008 2:53 am

Icecube wrote:I have found an unimportant "bug".
The reboot command doesn't work in a virtual machine (virtualbox and qemu), but on a real machine it should work.
When I try "fdapm COLDboot" it works, while "fdapm WARMboot" hangs.
I didn't check how you did it exactly but probably just like I described some time ago at: viewtopic.php?t=1291&highlight=reboot+bat.
I've tested both methods on VPC2007 and VMware - seem to work fine. I've since tried it on a couple of live machines - again, no issue. Tested using both types of memory managers (UMBPCI and EMM386). Also, both methods flush cache before triggering a reset (can't be a problem there).

However, the warmboot method (calls shutDownHandler with AX=1) can crash if you're using incompatible protected mode software, since this method relies on calling the BIOS bootstrap code.

Interestingly, the coldboot method (call shutDownHandler with AX=2) appears to involve polling hardware reset circuits via the keyboard controller (ctrl+alt+del).

Upon examining the reboot.bat file, i've noticed the command calls warmboot by default. A likely fix would be to change this to coldboot (I may update the code to address this issue for revision 1.1).

Can you tell me in which boot mode you experience this issue (i.e. UMBPCI, EMM386, no UMB).

Icecube
Posts: 1278
Joined: Fri Jan 11, 2008 2:52 pm
Contact:

#6 Post by Icecube » Mon Jul 07, 2008 1:46 pm

I get this in each boot mode (UMBPCI, EMM386, no UMB).
I tested the dosubcd.igz for ubcd411.

It is probably an issue of the virtual machine programs that I use. The authors should fix this.

Maybe you can add a commandline option to reboot.bat

Code: Select all

reboot and reboot -w      for warm boot
reboot -c                       for cold boot
OR

Code: Select all

reboot -w                      for warm boot
reboot and reboot -c      for cold boot
Choose whatever you think is appropriate.

as702
Posts: 276
Joined: Tue Jun 17, 2008 3:14 am

#7 Post by as702 » Mon Jul 07, 2008 2:23 pm

thanks for the suggestion, icecube. :)

expect to see a fix included in revision 1.1 (in the works).

Icecube
Posts: 1278
Joined: Fri Jan 11, 2008 2:52 pm
Contact:

#8 Post by Icecube » Mon Jul 07, 2008 2:57 pm

I don't use the dosapps frequently, but maybe it would be nice if dosubcd.igz can handle extra command line parameters. (ntfs, kbrd=fr, ...) so they can be added to the config files so if someone makes a custom menu, he can add all the options that he wants to the append command without being prompted for those options in the freedos bootdisk.
e.g. APPEND initrd=/images/dosubcd.igz ubcdcmd=nameofprogram ntfs

I don't know if other people like this or not. For me it isn't essential. It is just an idea. :D

as702
Posts: 276
Joined: Tue Jun 17, 2008 3:14 am

#9 Post by as702 » Mon Jul 07, 2008 4:38 pm

well, the ideal set-up would be similar to v4.11 whereby the FreeDOS environment could be easily used after quitting a program launched from BCDW.

i have something similar set-up on my personal live cd whereby the freedos menu and help commands prompt users to access further programs without requiring a reboot. i'd need to speak to victor about it, but the way i manage it is by creating a set of batch files for each corresponding program in the fdubcd image or the cd.

Code: Select all

level1\
level1\bin\prog1.bat
level1\bin\prog2.bat
level1\bin\prog3.bat
level1\help\progs.hlp
level1\menu\progs.mnu

all archived to

Code: Select all

level1\dos.cab
each batch file then calls an unpack routine to extract the necessary app to ramdrive before launching; if i want to launch an app all i have to do is type the app's name at the command prompt (or maybe access it from the menu).

your suggested implementation would require something more elaborate (i'll look into it).
I don't use the dosapps frequently
there are some critical apps i'd like to see on UBCD since i'd rarely frequent FD otherwise. Maintenance tools like the MFT Defragmenter for NTFS drives (NTFS4DOS), HDD Regenerator (shareware), Spinrite (Demo), NTFS checkdisk, Gdisk, and so on. I need to raise these issues to Victor at some point.

At the moment i'm concentrating on improving the core FreeDOS environment (stability/performance) before tackling the aforementioned issues (namely, improving accessibility and feature set).

Not enough hours in the day... :(

decay45
Posts: 2
Joined: Thu Jul 31, 2008 5:43 am

PANIC: MCB chain corrupted

#10 Post by decay45 » Thu Jul 31, 2008 6:38 am

Hi,
I just added the new version of NwDsk (3.42 r1.1) to my UBCD 4.11 disc and I am getting the following error:

PANIC: MCB chain corrupted
System halted

I was able to boot using the previous version (3.40).

The machine is a HP ProLiant DL380, two Dual Core Xeon 3.33GHz procs, 4GB RAM.

Here is a screenshot of the error:
Image

I get this error with all boot modes: UMBPCI, EMM386, and no UMB. The "no UMB (clean)" and "no UMB (ultra-defensive)" options are the only ones that boot.

Any ideas? If more information is needed about my server, please let me know.

Thanks

as702
Posts: 276
Joined: Tue Jun 17, 2008 3:14 am

#11 Post by as702 » Thu Jul 31, 2008 8:36 am

i suspect it to be a problem with the a XMS memory manager (himemx). i've heard a similar report from another user.

please upgrade to R1.2 if you can. this should hopefully remedy the problem.

let me know if it doesn't.

decay45
Posts: 2
Joined: Thu Jul 31, 2008 5:43 am

#12 Post by decay45 » Thu Jul 31, 2008 9:06 am

@as702

Thanks for the updated image. I can boot now!

I am having another problem, but it doesn't belong in this thread. If you stumble across my new post and can help out, I would really appreciate it.

Thanks again!

as702
Posts: 276
Joined: Tue Jun 17, 2008 3:14 am

#13 Post by as702 » Thu Jul 31, 2008 9:53 am

No problem. Alternatively, send me a pm and i'll see what i can do.

as702
Posts: 276
Joined: Tue Jun 17, 2008 3:14 am

#14 Post by as702 » Fri Aug 01, 2008 9:34 am

Updated to 1.21 (see change log for details)

Victor Chew
Posts: 1368
Joined: Mon Feb 21, 2005 10:59 pm
Contact:

#15 Post by Victor Chew » Sun Aug 03, 2008 5:29 am

@as702:
Updated to 1.21 (see change log for details)
Is it possible _not_ to make the "bcd" menu pop up by default?

In some apps (eg. BIOS), the default behaviour is to display the app's help page, and let the user launch the app again with the desired args. The "bcd" menu gets in the way of that.

The "bcd" help line is a nice touch though. Make that display:

Code: Select all

BCD: Type "bcd" to launch the main menu
when the app finishes running will be sufficient IMHO.

as702
Posts: 276
Joined: Tue Jun 17, 2008 3:14 am

:: R1.27 Development Notes ::

#16 Post by as702 » Sun Aug 10, 2008 6:02 am

R1.27 is now available for download.
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.
Development Notes
Victor Chew wrote:@as702:
Is it possible _not_ to make the "bcd" menu pop up by default?
Done!
Image

A recursive loop function is used to generate the menu. In order to suppress the menu WITHOUT upsetting the function, you need to add the parameter "-$" in the "startup.bat" file in question:

Code: Select all

:: STARTUP.BAT ::
::
@echo off
set APPNAME=BIOS
set APPCODE=bios
set APPEXE=bios.exe
call runapp -$
"Runapp.bat" searches for this parameter. If found, it returns a variable that tells the menu generated by "ubcd.bat" to close and exit.

Code: Select all

:: RUNAPP.BAT ::
::
%ramdrv%
cd \
cd %_appath%\%_apparc%
if not exist %_appbin% %0 : _err missing %_appbin% (check %_appsrc%)
if "%1"=="-$" shift
if "%_appver%"=="5" call %_appcmd% %1 %2 %3 %4 %5 %6 %7 %8
if "%0"=="-$" set ubcd_off=1
goto _end
::

Code: Select all

:: UBCD.BAT ::
::
:_loop_j
if "%ubcd_off%"=="1" goto _ubcdend
for %%i in (%tmp%\_ubcd.*) do del %_delq% %%i
echo :w_ubcd " CD Applications " [x]>%tmp%\_ubcd.bak
type %home%\ubcd.mnu>>%tmp%\_ubcd.tmp
type %tmp%\_ubcd.tmp | lmod /L* /B~ echo [$1][~62][~62]%tmp%\_ubcd.bak>%tmp%\_ubcd.bat
call %tmp%\_ubcd.bat
call w.bat list @%tmp%\_ubcd.bak:w_ubcd
if "%wbat%"=="" goto _ubcd
type %tmp%\_ubcd.tmp | tfind "%wbat%" | lmod /B~ set wbat=[$2] [$3]>%tmp%\_ubcd.bat
call %tmp%\_ubcd.bat
if "%wbat%"=="" goto _ubcd
call %wbat%
set wbat=
goto _loop_j
::
I'll generate a list of programs which require this; out of the 53 programs included in 5.0b4, only a handful need have this applied (I'm still working on a fix for UBCD 4.1.1 without disabling the menu entirely).

So what else is new?

Image

Image

How was this made possible? The first two attempts involved recursive loop functions which proved rather slow.

Image
Image

Method 1

Code: Select all

set _cn=0
call var set _lm=lines %tmp%\_bcd.tmp
:_loop_i
    call var set _cn=(%_cn%+1)
    lmod /l%_cn% set _m=[] <%tmp%\_bcd.bak >%tmp%\_var.bat
    lmod /l%_cn% set _n=[] <%tmp%\_bcd.tmp >>%tmp%\_var.bat
    call %tmp%\_var.bat
    echo %_m%~%ramdrv%\bin\%_n% >>%home%\bcd.mnu
    ::
    call var set _n=name %_n% /l
    varset x=string %_n% >%tmp%\nul
    for %%i in (1 2 3 4 5 6 7 8) do if errorlevel %%i set _ln=%%i
    if "%_ln%"=="" _loop_i
    if "%_ln%"=="8" echo %_n% %_m%>>%ramdrv%\help\bcd.hlp
    if "%_ln%"=="7" echo %_n%  %_m%>>%ramdrv%\help\bcd.hlp
    if "%_ln%"=="6" echo %_n%   %_m%>>%ramdrv%\help\bcd.hlp
    if "%_ln%"=="5" echo %_n%    %_m%>>%ramdrv%\help\bcd.hlp
    if "%_ln%"=="4" echo %_n%     %_m%>>%ramdrv%\help\bcd.hlp
    if "%_ln%"=="3" echo %_n%      %_m%>>%ramdrv%\help\bcd.hlp
    if "%_ln%"=="2" echo %_n%       %_m%>>%ramdrv%\help\bcd.hlp
    if "%_ln%"=="1" echo %_n%        %_m%>>%ramdrv%\help\bcd.hlp
    ::
  if "%_cn%"=="%_lm%" goto _end_i
  goto _loop_i
  :_end_i
  echo.>>%ramdrv%\help\bcd.hlp
  for %%i in (_cn _m _n _lm _ln) do set %%i=
  del %_delq% %tmp%\_var.bat
  goto _eof
Method 2

Code: Select all

set _cn=0
call var set _lm=lines %tmp%\_bcd.tmp
:_loop_i
    call var set _cn=(%_cn%+1)
    linex %_cn% <%tmp%\_bcd.bak >%tmp%\_var.bat
    linex %_cn% <%tmp%\_bcd.tmp >>%tmp%\_var.bat
    call %tmp%\_var.bat
    echo %_m%~%ramdrv%\bin\%_n% >>%home%\bcd.dat
    goto _errok
    ::
    call var set _n=name %_n% /l
    varset x=string %_n% >%tmp%\nul
    if errorlevel 8 goto _char8
    if errorlevel 7 goto _char7
    if errorlevel 6 goto _char6
    if errorlevel 5 goto _char5
    if errorlevel 4 goto _char4
    if errorlevel 3 goto _char3
    if errorlevel 2 goto _char2
    if errorlevel 1 goto _char1
    goto _errok
    :_char8
    echo %_n% %_m%>>%ramdrv%\help\bcd.hlp
    goto _errok
    :_char7
    echo %_n%  %_m%>>%ramdrv%\help\bcd.hlp
    goto _errok
    :_char6
    echo %_n%   %_m%>>%ramdrv%\help\bcd.hlp
    goto _errok
    :_char5
    echo %_n%    %_m%>>%ramdrv%\help\bcd.hlp
    goto _errok
    :_char4
    echo %_n%     %_m%>>%ramdrv%\help\bcd.hlp
    goto _errok
    :_char3
    echo %_n%      %_m%>>%ramdrv%\help\bcd.hlp
    goto _errok
    :_char2
    echo %_n%       %_m%>>%ramdrv%\help\bcd.hlp
    goto _errok
    :_char1
    echo %_n%        %_m%>>%ramdrv%\help\bcd.hlp
    :_errok
    ::
  if "%_cn%"=="%_lm%" goto _end_i
  goto _loop_i
  :_end_i
  for %%i in (_cn _m _n _lm) do set %%i=
  del %_delq% %tmp%\_var.bat
Finally "cheated" by concatenating the necessary files via "concat.exe"

Method 3 (no loop)

Code: Select all

shift
shift
if exist %tmp%\_ubcd.* del %_delq% %tmp%\_ubcd.*
xgrep -shxy %1 %tmp%\~bin\*.bat >%tmp%\_ubcd.tmp
if errorlevel 1 goto _eof
lmod /l* /b= [$2]~%ramdrv%\bin\<%tmp%\_ubcd.tmp >>%tmp%\_ubcd.bak
lmod /l* /b= [$2]<%tmp%\_ubcd.tmp >>%tmp%\_ubcd.$$$
dir /o /b %tmp%\~bin\*.bat | lmod /l* []>%tmp%\_ubcd.tmp
lmod /s. /l* [$1,l]<%tmp%\_ubcd.tmp >%tmp%\_ubcd.#$#
::
if not exist %ramdrv%\help\nul mkdir %ramdrv%\help
concat %tmp%\_ubcd.#$# %tmp%\_ubcd.$$$ /f9 >%ramdrv%\help\ubcd.hlp
concat %tmp%\_ubcd.bak %tmp%\_ubcd.tmp >%home%\ubcd.mnu
echo ubcd     Ultimate Boot CD>>%ramdrv%\help\ubcd.hlp
echo.>>%ramdrv%\help\ubcd.hlp
goto _eof
Result:
Image

There's plenty more to discuss but I'll leave it there for now. Enjoy.

(-:

Icecube
Posts: 1278
Joined: Fri Jan 11, 2008 2:52 pm
Contact:

#17 Post by Icecube » Sun Aug 10, 2008 1:26 pm

@as702
Can you zip the dosubcd.igz file the next time and name it dosubcd<version>.zip? I know that the size won't decrease, but it is easier for me to know where I have downloaded the last version of dosubcd so that I don't test an old version.

There is a error in the help menu: (don't know the exact message anymore)
reboot: will reboot (add parameter for COLDBOOT) your system.
Change COLDBOOT to WARMBOOT.

There is also a bug in your ubcd.bat script:

Code: Select all

xgrep -shxy %cddrv% %tmp\_ubcd.tmp | lmod /s\ /l*move %cddrv%\ubcd\dosapps\[$4]\startup.bat %tmp%\~bin\[$4].bat ...
Change the move to a xcopy command. For the CD version this is not a problem, but I tested it on my usb thumb drive and all the startup.bat files disappeared :). I think that is only the case with the ubcd5 version, not with the ubcd411 version.


http://www.geocities.com/jadoxa/shsucdx/index.html


Update for CuteMouse (beta):
http://www.freedos.org/
CuteMouse version 2.1beta4 (UPDATED)
2008-07-15 18:31 -
NagyD has passed the role of CuteMouse Maintainer to Eric, who has been busy working on a new release. Eric writes: "- less picky about PS/2 device detection, to support Dell Inspiron 1501 touchpad (as ctmouse 1.9 but not 2.0) which supports no int 15.c204. - new /O "enable wheel detection" and /M "enable old mousesystems mode" options (old /Y "disable old mousesystems mode" now silently ignored) - ported from TASM to JWASMD (various docs and diffs included) - versions with and without PS/2 debug messages included - docs should now be up to date, please check! - added notes about UART usage and DOS apps which support the wheel - updated more than half of the translations: Please help translating the /O and /M help text and EGA message to Spanish, Hungarian, Slovak and Latvian to complete the collection." http://www.coli.uni-saarland.de/~eric/stuff/soft/mixed/ cutemouse21b4-jwasm.zip ** Updated: Eric has released a new version of cutemouse21b4-jwasm.zip (same version label) so if you downloaded this release already, please get the new version. Also mirrored to ibiblio.
Maybe you can add the following program (no need to do it directly)
SHSUCD
SHSUCD is a suite of programs dealing with the CD-ROM. It contains:

# SHSUCDX: a replacement for MSCDEX. v3.02
# SHSUCDHD: emulates a CD-ROM using an image file. v3.01
# SHSUCDRD: emulates a CD-ROM using an image file in memory. v1.00
# SHSUDVHD: emulates a DVD-ROM using multiple image files. v1.00
# SHSUCDRI: emulates a CD-ROM using an image created in memory. v1.00
# OMI: creates an image file from a CD or DVD. v1.00
# ISOBAR: extracts the boot image from a bootable CD or image. v1.01
http://www.geocities.com/jadoxa/shsucdx/index.html

It can be used by people who have edited, updated and remastered ubcd but first want to test if the iso works in real live without burning (if it can't be tested in a virtual machine).
Then SHSUCDHD should be handy to emulate the iso on the hard disk. It only will fork for applications that work with freedos of course. This is just an idea and you don't have to spend time on it now :)

as702
Posts: 276
Joined: Tue Jun 17, 2008 3:14 am

#18 Post by as702 » Sun Aug 10, 2008 2:49 pm

Icecube wrote:@as702
Can you zip the dosubcd.igz file the next time and name it dosubcd<version>.zip?
Good idea. Consider it done for future releases.
Icecube wrote: There is a error in the help menu: (don't know the exact message anymore)
reboot: will reboot (add parameter for COLDBOOT) your system.
Change COLDBOOT to WARMBOOT.
Not a major problem.
Icecube wrote: There is also a bug in your ubcd.bat script:

Code: Select all

xgrep -shxy %cddrv% %tmp\_ubcd.tmp | lmod /s\ /l*move %cddrv%\ubcd\dosapps\[$4]\startup.bat %tmp%\~bin\[$4].bat ...
Change the move to a xcopy command. For the CD version this is not a problem, but I tested it on my usb thumb drive and all the startup.bat files disappeared :). I think that is only the case with the ubcd5 version, not with the ubcd411 version.
Thanks. I'll fix this immediately since I haven't been able to test the release using USB (and you're right, it should only affect UBCD 5).
Icecube wrote: Maybe you can add the following program (no need to do it directly)
SHSUCD
http://www.geocities.com/jadoxa/shsucdx/index.html
Interesting idea. I'll certainly look into it.
Icecube wrote: CuteMouse version 2.1beta4 (UPDATED)
Downloaded and done.

(-:

Victor Chew
Posts: 1368
Joined: Mon Feb 21, 2005 10:59 pm
Contact:

#19 Post by Victor Chew » Sun Aug 10, 2008 10:40 pm

@as702: Man, this is great!

Here's how the new popup menu looks with the detailed APPNAME:

Image

Here's how the new help screen looks:

Image

Typo spotted:

"power Show APM information (Battrey, AC)"

Tell me what you think.
I'll generate a list of programs which require this.
Thanks!

BTW, AIDA16 works properly now with LFN disabled.

as702
Posts: 276
Joined: Tue Jun 17, 2008 3:14 am

#20 Post by as702 » Mon Aug 11, 2008 12:05 am

R1.28 is up (more of a patch)

changes:
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)
corrected some typos q;

** requires unharc.exe (not included due to fd size constraints)
Thanks, guys.

Post Reply