Help - Search - Members - Calendar
Full Version: Cdshell.ini
The CD Forum > CD Shell and Boot Scriptor > Troubleshooting & Problems
opteron
Hi, I made a multi-boot DVD, I am using two scripts from DoctorXP folder "dblblue.cds; _dblmenu.cds" My DVD Layout looks like this:
C:\cdimage.exe makeiso.bat AIO-DVD> BOOT, PRO1, PRO1.DAT ETC...
In the BOOT folder I got the following:
C:\AIO-DVD>BOOT>SCRIPTS\dblblue.cds, _dblmenu.cds

This is my cdshell.ini: I'm using cdshell 2.1 (the latest version)
====================================================
1 #
2 #Sample startup script demonstrating some basics.
3 #For CD Shell 2.0, Feb 2003
4 #
5
6 # Set the name of the file we will attempt to start
7 set samplePath="scripts"
8 set sampleFile="dblblue.cds"
9
10 # Check for the sample script.
11 if file[$samplePath/$sampleFile]; then cd $samplePath; then script $sampleFile
12
13 #Sample script not found.
14 print "Sample script not found!\n"
15 end
=====================================================
I tested the ISO on my virutual machine it worked find no problems, but when I burn the iso to a DVD it boots the splash screen, but just to the command promt /boot/scripts>...

It gives this error:
Error: could not read from the device
[command: script] [Line: 11.3] File cdshell.ini

=====================================================
Also I made a Multi-Boot CD using the same version cdshell 2.1 the iso works find in my virtual machine, but when I burn it to a CD it boots the splash screen and menu but when I select an action it gives this error:
Error: could not read from the device.
[command: chain] [line: 70.2] File: cdshell.ini

This is my cdshell.ini:
=====================================================
boot:
cls
print "\n"
print "Press Enter to boot from CD... \n"
getkey 5 boot 0x80
if $lastKey == key[enter]; then goto time
# When no key found...
goto boot
# Function to display time of day
time:
set hour = $timeHour
set ampm = "am"
if $timeHour > 12; then set hour = $timeHour - 12
if $timeHour > 12; then set ampm = "pm"
set time = "$hour: $timeMinute $ampm"
# Function to display date
date:
set month = "n/a"
if $dateMonth == 1; then set month = "Jan."
if $dateMonth == 2; then set month = "Feb."
if $dateMonth == 3; then set month = "Mar."
if $dateMonth == 4; then set month = "Apr."
if $dateMonth == 5; then set month = "May."
if $dateMonth == 6; then set month = "Jun."
if $dateMonth == 7; then set month = "Jul."
if $dateMonth == 8; then set month = "Aug."
if $dateMonth == 9; then set month = "Sep"
if $dateMonth == 10; then set month = "Oct."
if $dateMonth == 11; then set month = "Nov."
if $dateMonth == 12; then set month = "Dec."
set date = "$month, $dateDay, $dateYear"
#
# Main Menu
#
main_menu:
set textColor = color[white on black]
clear
set textColor = color[yellow on red]
print "\c49 Advanced Multi-Boot CD-ROM "
print " "
print " "
print "\cxx \c4B$time $date\cxx "
set textColor = color[white on brown]
print "\c6E Windows XP Professsional SP2 "
set textColor = color[white on green]
print " "
print " "
print " "
print " [1] Setup for Tom's Computer "
print " [2] Setup for Greg's Computer "
print " [3] Norton PartionMagic v8.0 "
print " [R] Reboot "
print " [4] Boot First Hard Disk "
print " [C] Drop to Console "
print " "
print " "
print " "
print " "
print " "
print " "
print " "
print " "
set textColor = color[white on blue]
print " Please select an item (First hard disk will boot after 5 minutes) "
set textColor = color[white on black]

getkey 500 goto hddboot80
clear
if $lastKey == key[1]; then chain /TOMS.DAT
if $lastKey == key[2]; then chain /GREG.DAT
if $lastKey == key[3]; then memdisk /pm8.img
if $lastKey == key[r]; then reboot
if $lastKey == key[4]; then boot 0x80
if $lastKey == key[c]; then end
end
=====================================================
Moreover, I used the same cdshell.ini file but with cdshell 2.0 and the cd boots just find.....
It looks to me like there is a problem with the chain command on the second cdshell.ini with cdshell 2.1.....

Thanks
CWP
QUOTE
Error: could not read from the device.

For me, using a different burner resolved the problem.

The problem isn't in the chain command. It should be in the ISO reader, because I tried to do a directory listing and nothing shows up. However, anything that was read before the first script/chain/memdisk/etc command are working.

CWP
opteron
QUOTE (CWP @ Sep 11 2004, 08:56 PM)
QUOTE
Error: could not read from the device.

For me, using a different burner resolved the problem.


CWP How do you explain this:
Moreover, I used the same cdshell.ini file with cdshell 2.0 and the cd boots just find.....
It looks to me like there is a problem with the chain command when using cdshell.ini with cdshell 2.1.....
CWP
Hey, don't ask me why.... ask my burners why one of them didn't like CD Shell 2.1. All I'm saying is I tried a different burner (and it's the same model too) to make the CD and it works. Since it worked for me, I thought I'd throw that in so that you might also have some luck with another burner.

CWP
opteron
QUOTE (CWP @ Sep 12 2004, 03:02 PM)
Hey, don't ask me why.... ask my burners why one of them didn't like CD Shell 2.1. All I'm saying is I tried a different burner (and it's the same model too) to make the CD and it works. Since it worked for me, I thought I'd throw that in so that you might also have some luck with another burner.

CWP

smile.gif I have two burners a CDRW and A DVDRW I tried both of the them with the same result 2.1 doesn't work only 2.0...
Doctor xp
So, why don't you keep using CDShell 2.0.x until the a stable release is available.

I usually don't move my (personal) CDs from a version to the other until I make sure it is rock solid.
opteron
QUOTE (Doctor xp @ Sep 14 2004, 01:00 PM)
So, why don't you keep using CDShell 2.0.x until the a stable release is available.

I usually don't move my (personal) CDs from a version to the other until I make sure it is rock solid.

That's exactly what I did since I didn't have any other choice...
I thought 2103 was a stable realese!...

By the way DoctorXP, can you please tell me how I can use the menus that come in the doctorXP folder with my Multi-Boot DVD.

I did this:
set samplePath="scripts"
set sampleFile="dblblue.cds"

The ISO actually worked in my virtual machine but since I know nothing or very little about them, I don't even know if thatís the right way to call or execute those scripts..
Doctor xp
I assume that you have put the contents of the doctorxp folder inside folder scripts, and have created your own custom menu by editing the options inside the dblblue.cds file.

All you need to do in the cdshell.ini file is to wipe it clean and put just one line of code inside it, that line is:
CODE
script /scripts/dblblue.cds


That would make CDShell starts by handling the control to the script dblblue.cds.

Also your method is completely valid, and because CDSHell runs inside a Virtual machine, it should run correctly on a usual machine.
opteron
For some reason this method doesn't work in my virtual and real pc:
QUOTE
script /scripts/dblblue.cds
but this one does:
QUOTE
set samplePath="scripts"
set sampleFile="dblblue.cds"

Also, it works in my virtual and real machine from ISO and CD...

Thanks
Doctor xp
Ah, I'm very sorry.

I didn't correctly read your first post, the command you need is
CODE
script [b]/boot[/b]/scripts/dblmenu.cds

or
CODE
script scripts/dblmenu.cds
opteron
QUOTE (CWP @ Sep 11 2004, 08:56 PM)
QUOTE
Error: could not read from the device.

For me, using a different burner resolved the problem.

Moreover, I tried cdshell2103 in two PCs, I made a CD using cdshell2103 and it works on pc#1 ( I don't get the error: could not read from the device when I press a selection to install x OS ) pc #1 has or is an Asus P3V4X, PIII, 667 MHZ motherboard running Windows XP Pro SP2.
However on pc#2 it doesn't work ( I get the error: could not read from the device when I press a selection to install x OS) PC #2 has or is a Soyo SY-K7VMP2, AMD Athalon 2500+ CPU motherboard running Windows XP SP2.

So my question is; is it a cdshell bug or could it be an incompatibility issue between the cdshell and the bios on the Soyo motherboard?

I know this is not a big deal... I am only trying to see if someone has a solution for this issue... smile.gif
IVaN_000
Can you check the brand of the BIOS of both motherboards? I have an Award BIOS, and I am a victim of that bug. Maybe it works fine on AMI BIOSes.

Check here.
opteron
QUOTE (IVaN_000 @ Oct 1 2004, 05:53 AM)
Can you check the brand of the BIOS of both motherboards? I have an Award BIOS, and I am a victim of that bug. Maybe it works fine on AMI BIOSes.


PC #1 just says Award bios and pc#2 Phoenix Award bios
So both of them have the same bios Phoenix Award bios the only difference is that P3V4X is from Asus and the K7VMP2 is from Soyo and newer.
tkg
QUOTE (opteron @ Sep 30 2004, 05:57 PM)
QUOTE (CWP @ Sep 11 2004, 08:56 PM)
QUOTE
Error: could not read from the device.

For me, using a different burner resolved the problem.

Moreover, I tried cdshell2103 in two PCs, I made a CD using cdshell2103 and it works on pc#1 ( I don't get the error: could not read from the device when I press a selection to install x OS ) pc #1 has or is an Asus P3V4X, PIII, 667 MHZ motherboard running Windows XP Pro SP2.
However on pc#2 it doesn't work ( I get the error: could not read from the device when I press a selection to install x OS) PC #2 has or is a Soyo SY-K7VMP2, AMD Athalon 2500+ CPU motherboard running Windows XP SP2.

So my question is; is it a cdshell bug or could it be an incompatibility issue between the cdshell and the bios on the Soyo motherboard?

I know this is not a big deal... I am only trying to see if someone has a solution for this issue... smile.gif

Hi guys,

I also have a problem of not beeing able to properly boot cds on one computer.

I have tried various configurations and this is what I found out:

I tested 3 configurations

1) Compaq Armada 7800 , PII 300 laptop +compaq dvd
2) Asus A7A266 (ali chipset) + plextor cdrw 161040, athl 1.4G
3) Asus Asus A7NX-E Deluxe , (nforce2 chipset)+ liteon 811s , Athl 2400+


first with cdshell 2.0.11 and then with cdshell 2.1.3

The 2.0.11 version worked in all of them.

The rest of the discussion is only about 2.1.3


I have started by running from the cdshell prompt

about more

by using this you can see what is the int 13h reporting.

The important flag in my case is the one following 0xaa55
On the first 2 configurations it was 0001 and that means it suports packet functions
and cdshell worked fine. (for instance just typed dir and got the proper output)

On the nforce2, however, the number was 0004. If I understand corectly this means it suports enhanced disk calls, but not packet access (e.g function 42h).

Still, cdshell can load the splash ok and also the modules ....

if I type dir I get an empty listing.

now the thing that bothers me is how is cdshell getting to this point considering the 0004 value.

The dir command fails when reading a sector from the cd. It is exactly the first sector it requests to read in order to get the directories listing. (basic\template.asm -> core\file.asm ->core\disk.asm)
If what I saw was correct the failure code of the real int 13 is 32h which I don't know what it means (the read command from the disc.asm will report an error code (ax=2 readdisk error )) .

This is why the dir listing is empty because it fails from the start (get_first).

The funny thing is that the "cd" command works perfectly, also "type" can show the files, but "dir" cannot see them. Script doesen't work as well.

So for instance if I have a file in the /boot dir. , If I am in the /boot dir. I can do "type myfile.cds" and it will show it, but If I do script myfile.cds it gives a disk read error.

Since I was booting a plain chshell env. not enclosed in an iso image, I also tried disabling the int 13 handler. However the behaviour was the same.

The thing that changed a bit the situation was diabling error reporting from the int 13h .

In this case the dir command was reading the information from another folder.

For instance if I was in /boot it was showing the contents of /boot/scripts,
If I went up to / then it was showing the contents of / boot and so on.

I also tested with onboard sata on or off but the result was unchanged.


So could you guys check if whenever you receive the "cannot read .." messege on your systems the "about more" command shows a "bad" int 13 as well ?
tkg
Hi guys,

I have been playing a bit with cdshell 2.1.3 around and I found out that the int 13h on my system that did't work was sesitive to the direction flag from efl register. I don't know why, but if direction is 1 then it fails to read the requested sector(s). Maybe it thinks that it should copy the sectors in the wrong direction. smile.gif

So, after making sure that the direction flag is unset using cld in [B]disc.read (core/disk.asm)[B] things started to work. At least I can do "dir" biggrin.gif

I don't know if restoring the original direction flag is necessary, but it doesent hurt to be safe... ).
Mike
Thanks tkg, if this indeed fixes the problem, you will have been a *huge* help! I'll make the change and put out a new release to see if it fixes the problem, but I'll need you guys to test it. The systems that I currently have to work with don't exhibit the bug.

As for the stable tag on this release, I'm sorry that this bug has inconvenienced you all. The direction flag was being set by the new reverse line parser, which scans for variables backwards by setting this flag. Technically this should not affect any of the BIOS disc I/O functions, but apparently it does.
tkg
Hi Mike,

it is no problem to restore the old value since you do a pusf in disc.read

and then a popf, so just adding a cld after the pushf shoud do it.

It works for me, maybe other guys have other problems wink.gif

Regards,

tkg.
Mike
Ok, everyone who has the bug, can you download version 2.1.4 and see if it fixes it? You can grab it here.

Please let me know how it goes.
IVaN_000
It works!

Thanks tkg.
opteron
smile.gif Yes, it does work!
Thanks very much tkg!
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.