Help - Search - Members - Calendar
Full Version: Cd Shell 2.1.3 Changes
The CD Forum > CD Shell and Boot Scriptor > Troubleshooting & Problems
ZULU NINER
After updating to the latest stable version (2.1.3), my script began giving me an error message (worked fine on the previous version). This is the offending code:

CODE
ELSE GOTO BOOT$MENU$OPT


Where the $MENU variable and $OPT variable are combined to goto a specific label (e.g. BOOT39:).

I was able to get the script to work by changing to the following:

CODE
ELSE GOTO BOOT$(MENU)$OPT


Now, I'm wondering why I had to make that change. The documentation says the parenthesis is optional ("Optionally, you can enclose the variable name in parenthesis.") I'm guessing it has something to do about the reverse script parsing?

Now, some other things:

1. "Diskemu can now emulate multiple floppy images at once, and emulate a floppy without booting it (noboot mode)."
How would one emulate multiple floppy images at once? I'm guessing this would be used for times when normally you boot from two or more floppies? How do we use this command?

2. "Reverse and selective input parsing, for more powerful yet faster running scripts."
How do we control the parsing? Also, how does this effect the scripts (as per my problem above with the multiple variables)?

3. "Updated/new interface modules for isolinux (memdisk), Ranish Partition Manager, and Memtest86+.
I use Memtest86+ quite regularly and know about Ranish Partition Manager (but don't use it). I question whether it's a wise idea to branch CD Shell away from just boot-type functions. I mean, there are tons of tools that could be added; but I feel this takes away from the development of CD Shell and the endusers can add the tools to their CD as they see fit. Obviously, it's your project and you can do as you'd like; but I thought I'd add my 2 cents worth.

4. "Ability to neatly pack all CD Shell files into an iso, so only one file need be placed on your disc."
Has this changed from the old way of creating and .iso and hiding the files? If so, what's the new way? The documentation on the website describes this as "OUTDATED INFORMATION!".


Mike, let me just end by saying thank you for such a wonderful piece of software. I know it's been extremely helpful to me and a lot of others. I appreciate all your hard work in creating and supporting it.
Doctor xp
The parenthesis is optional if you are only using one variable inside the name of the other, if you are using multiple variables you need parenthesis.

This is because CDShell interprets its variable names from right to left this will make it:
1. If $Opt = 9 then it replaces Boot$Menu$Opt with Boot$Menu9
2. Then it tries to find the variable $Menu9 to replace it with its value
3. If fails, so it gives this error.

But when you are using parenthesis:
1. If $Opt = 9 then it replaces Boot$(Menu)$Opt with Boot$(Menu)9
2. Here is where things change, it finds a variable named $Menu and a trailing string with value 9, it now replaces $Menu with 3 (if $Menu = 3)
3. Now the line is interpreted as GoTo Boot39 and is executed correctly.


2. "Reverse and selective input parsing, for more powerful yet faster running scripts."
You can't change the way of parsing without changing CDShell source code and re-compiling it.
But you don't need to do so, the new parsing way gives great speed increases when executing the GoTo instruction (which is a very common and much used instruction), and allows the reverse variable name interpretation (which you used in your script when issuing the Boot$Menu$Opt command).
CWP
4. Most applications can read the contents of the ISO files (WinImage, WinRAR, probably any program with the "ISO" word in it, etc), so it is not exactly a new way of hiding the boot files, depending on what you want to accomplish. If your boot files are semi-top-secret, the appendix C section is the way to go (but I'll need to get back to the "OUTDATED INFO" in a sec). If you want a nicer layout, the ISO package is an easier method. If you want to prevent people from copying your CD, none of these methods work.

Now regarding the outdated info, it is outdated since the information works with early versions of CD Shell (v2.0.8b-2.0.10b), because the index location and the calculation method is different in the later versions. The bytes displayed on those pages are also different, although that is not too big of a deal.

If you are still looking for a way to hide these files from prying eyes, my program (cdshHider) can help you with that on CD Shell v2.0.8b and above. You can get a copy here.

CWP
ZULU NINER
Doctor XP and CWP, thanks for the replys.

CWP:
I'm completely familiar with ISO's, but I was wanting clarification on item 4 which was quoted from the CD Shell website. I didn't really understand what was meant by this, so I referred to the closest thing I could find which was the whole CD Shell hiding feature that's been around for awhile. I'm not really concerned about the security of my boot files or people copying my CD, just an explanation of the feature. Unfortunately, the CD Shell website lists these new features for the latest stable release, but I don't see much documentation on how to implement them (i.e., how does one implement the "Ability to neatly pack all CD Shell files into an iso, so only one file need be placed on your disc."?

Thanks...
CWP
Well, I haven't tried that method at all, but I'm guessing that you would put all your /boot files (and all files that the scripts use) into this cdshell.iso file using mkisofs or any other ISO-making software. You will then put this file into the root directory of your bootable CD.
CODE
/
|
+---cdshell.iso
|   |
|   \---boot
|       |
|       +---cdsh.bin
|       |
|       +---cdshell.ini
|       |
|       \---etc...
|      
+---I386
|    |
|    \---etc...
...

Of course, the cdshell.iso isn't a directory but an ISO file.

CWP
opteron
QUOTE
You can create your main ISO using any tool: mkisofs, CDImage, Nero, or whatever. Just make it bootable as usual using the CD Shell loader. The only difference we will make on this ISO is to leave out the /boot folder. We will include that folder in the Boot ISO. An example mkisofs command line for this step follows. It assumes you have loader.bin in the root of the filesystem, and that filesystem lies in a folder called 'main_files'.



What are the parameters (commands) to create the iso with CDIMAGE to hide the boot files?
Mike
QUOTE
1.  "Diskemu can now emulate multiple floppy images at once, and emulate a floppy without booting it (noboot mode)."
How would one emulate multiple floppy images at once?  I'm guessing this would be used for times when normally you boot from two or more floppies?  How do we use this command?

If you call diskemu once with the noboot parameter, and once again after that, then your two disk images will be emulated as disks A: and B:. Of course you can only boot from one of the disks, hence the noboot parameter requirement.

QUOTE
3.  "Updated/new interface modules for isolinux (memdisk), Ranish Partition Manager, and Memtest86+.
I use Memtest86+ quite regularly and know about Ranish Partition Manager (but don't use it).  I question whether it's a wise idea to branch CD Shell away from just boot-type functions.  I mean, there are tons of tools that could be added; but I feel this takes away from the development of CD Shell and the endusers can add the tools to their CD as they see fit.  Obviously, it's your project and you can do as you'd like; but I thought I'd add my 2 cents worth.

RPM was a module since back in the Boot Scriptor days, but I couldn't get it to work for the longest time. It's one of my favorite tools and I use it all the time, and like to be able to jump right into it without running it from an emulated floppy or other such hack. The Memtest module was just an example of me getting carried away for a big release. smile.gif Well not entirely, I did have complaints that it wasn't playing nice with memdisk. There was always diskemu, of course.

QUOTE
4.  "Ability to neatly pack all CD Shell files into an iso, so only one file need be placed on your disc."
Has this changed from the old way of creating and .iso and hiding the files?  If so, what's the new way?  The documentation on the website describes this as "OUTDATED INFORMATION!".

I thought I added documentation of this feature to the user's guide. Woops. smile.gif I'll stick a little blurb in there when I get the chance.

QUOTE
Mike, let me just end by saying thank you for such a wonderful piece of software.  I know it's been extremely helpful to me and a lot of others.  I appreciate all your hard work in creating and supporting it.

You're welcome...thanks for the complement! biggrin.gif
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2014 Invision Power Services, Inc.