|
Will this work with a DVD RAM ? Can this format a dvd ram in udf ?
|
|
|
|
|
This code must be modified to run with DVD-RAM.
DVD-RAM works like a hard drive : No tracks, sessions... Only sectors (or blocks).
|
|
|
|
|
I modified your code to format a DVD-RAM (in Vista) However, vista is unable to read the disc afterwards. (It says its blank)
Here are my questions:
First: When you write the udf header you start at a location other than 0, why is that?
Second: How many blocks does the header take up?
My work around was somewhat interesting. I've used vista to format the DVD, then I opened the volume and copied the first 4096 blocks into a file on my hard drive. When I want a blank DVD, I simply copy the bytes back on to the volume. Do you see a major issue with this approach?
Ken
|
|
|
|
|
Hi,
This is Prashant from India. I have down load your sample application from codeproject.com. When I run this application, it is not detecting CD writer connected there to my system. On system I am using has WindowsXp OS, and Adaptec Drivers
1. aspi32.sys (ver. 4.71.2)
2. wowpost.exe (ver. 4.6(1021))
3. winaspi.dll (ver. 4.6(1021))
4. wnaspi32.dll (ver. 4.71.2)
Please let me know what shoud I do so using Adaptec driver this application will detect IDE CD Writer (IDE Sony CD writer.)
regards
Prashant
|
|
|
|
|
Hi,
I am working on UDF file system decoder. I am blocked as of now and I cannot proceed further until I get to know how to get last block information. Please help me out!
Regards
Kiran
|
|
|
|
|
It seems this demo can't write directories. What shall be considered when write dirctories? Cdr-tools offers this ability, but the source code is hard to read. Can somebody gives me some tips or URLs upon this topic?
|
|
|
|
|
Can I get the disc manufaturer off the disc with this code?
|
|
|
|
|
After so problems with the sample code to run an ATAPI CD-RW drive, I took a close look with the code. There are few basic problems with the code to run ATAPI CD-R/RW drives:
1. ATAPI CDB length is 12 (this in not critical)
2. Mode sense and select pages should be 0x5A and 0x55 command code
3. Need to issue Sync CACHE 0x35 and read disc info 0x55 after done all
intended write(s) (not every write) to force clean write buffer data to
the disc before any other command.
4. Needs to double check the write address and re-allocation buffer in the
write files routines. Note: The sync cache after write fixs the problem.
The next write address is then properly read.
This may fix most of the problems in the sample code.
F King
|
|
|
|
|
OS : window 2000
CD/RW Model : Yamaha CRW8824S or YAMAHA CRW2100S
During Format CD/RW Media ...
Occur Write Error
but Sense key, ASC and ASCQ's value are zero(0x00, 0x00,0x00 )
SCSI2::WritePacket (unsigned char* buffer,long addr,long len,bool packet)
{
.
.
.
//////////////////////////////////////////////////
// here write errror occured position
// Question
// 1. Why the value is zeor for
// srbExec.SRB_BufLen = 0;
// srbExec.SRB_BufPointer=0;
// .
// .
// srbExec.CDBByte [ 7 ] = 0;
// srbExec.CDBByte [ 8 ] = 0;
//
// 2. Why error code( sensekey, asc, ascq's value are zero ?
//
if(srbExec.SRB_Status == SS_COMP && packet)
{
m_lba+=7;
srbExec.SRB_BufLen = 0;
srbExec.SRB_BufPointer=0;
srbExec.CDBByte [ 2 ] = (m_lba>>24)&0xff;
srbExec.CDBByte [ 3 ] = (m_lba>>16)&0xff;
srbExec.CDBByte [ 4 ] = (m_lba>>8)&0xff;
srbExec.CDBByte [ 5 ] = m_lba&0xff;
srbExec.CDBByte [ 7 ] = 0;
srbExec.CDBByte [ 8 ] = 0;
pfnSendASPI32Command ( ( LPSRB ) &srbExec );
while ( srbExec.SRB_Status == SS_PENDING );
if(checkError(srbExec.SRB_Status)!="SUCCESS"&&!m_silence)
{
m_sense=*(scsi_sense *)srbExec.SenseArea;
AfxMessageBox(checkSense());
}
}
////////////////////////////////////////////
}
|
|
|
|
|
Help!
What mmc command not support ATAPI in udf-cdr?
I want to use it for my ATAPI CDRW , but this program only can read cd infomation.
|
|
|
|
|
Hello,
I'm a Delphi developper and I wish to find something which can help me to format a CDR. Someone on a forum sent me a link to a website page (http://www.codeproject.com/useritems/udfcdr.asp) but your solution is in C++ and I search it for Delphi 5... I've tried your demo CDR.EXE, but nothing happens except overload processor at 98% !! Have you already seen that ? And what can you suggest me to make it works under Delphi 5 ?
|
|
|
|
|
Hi,
I am Ahsan Mostafa from Bangladesh. I have ordered from my boss that I should make a software that write sector by sector in CD-R or CD-RW. I have found the Nero SDK, but I can write files or folders in CD-R or CD-RW.
Now I am in problem,How can I write sectors in CD-R or CD-RW ? Any one out there to help me.
Is this possible using C++? I am trying using DDK(Driver Development Kit) in Windows 2000.But still cann't.
Thanks in forward
Mostafa
|
|
|
|
|
My question is related to data being burned on a CD-R disk using a packet-writing software like Roxio, NERO and or XP under windows based computer, when does the TOC get written to the disk?
Before or after the data is burned?
It seems that the Lead-In and Lead-Out (in variable length packet writing) physically (as opposed to timing) is written at the end of the last user data entered. If this is the case, it seems that "the directory/file information..., plus the volume descriptor (at filesystem level), and as you add a session on the CD-R, the TOC of the CD" is written at this physical location:
1. Could anyone detail exactly what's contained in the Table of Contents (TOC) and the "Volume Descriptor" (or what the volume descriptor is supposed to accomplish).
2. What's in the Lead-Out area?
3. How does the UDF VAT relate to a TOC?
4. What, in general, does an ICB do? Do ICBs play any role with either a
TOC?
5. What is the difference between a path table and a directory?
Thanks - I very much appreciate your responses.
|
|
|
|
|
It has been long since I worked on this, hope I recall it correctly.
TOC is in the lead-in area of a session. It's written when
the session is being closed.
TOC contains track number and LBA.
In UDF, TOC isn't a critical part. The volume stucture and file system stucture
are stored in data area.
Lead-out contains audio or data null. Generally, you dont need to r/w it.
UDF VAT doesn't relate to TOC directly.
ICB tells you where to find the file. It might contain the
file location(embedded),or the pointer to where the address is.
ECMA167 is a good reference, so is MMC3.
|
|
|
|
|
I have a couple of follow-up questions even afater reciewing OSTA 1.5 and ECMA167 all weekend:
1 - Could you describe to me what is and what is included within the
volume structure and the file system structure that are stored in the
data area? Is the file system structure the directory?
2 - Where is the lead-in area physically located in relation to the data
entry area and the lead out area? Is it written at the end of the data
entry just before the lead out area or is it written before the user
data area?"
Thank you all for helping
|
|
|
|
|
Volume structure contains info like volume name,character set, logic block size, partition maps.
File system contains directory structure, file size/location/datetime, allocation table.
Data area is between lead-in and lead-out.
|
|
|
|
|
Thanks sir, your response helps but it still leaves the following questions in my mind.
1. Is the directory structure, file size/location/datetime,
allocation table physically located at the end of the user data area? Yes or no?
2. Is the directory structure and the file size/location/dateline
typically what we would call a directory or is it more than just a
typical directory? If it's more, what "extra information" does it
include that directories typically do not?
3. Can you explain exactly what an allocation table is?
Thank you all for helping
|
|
|
|
|
i found source code to audio cd burning here. i guess itll burn mp2,mp3,atrac3,wma,and ogg vrbis to audio cd all on the fly. http://www.dgpdev.com/activex.htm i ordered it should be getting it soon. just thought id pass this great informat to anyone else interested in cd burning programming.
|
|
|
|
|
|
in my case
"write" butten -> command sequence error
I thing SCSIRead() function is dose not work
|
|
|
|
|
I really want to know how to read VAT ICB on CD-R/DVD-R recorded with UDF.
Could you give me some solution?
|
|
|
|
|
VAT ICB is the last block written to the disc.
You should read track info of the last track,
get the next writtable address.
address of last VAT ICB is this address-8.
See function ListFiles().
|
|
|
|
|
I think it is wrong! When I get the next writtable address, then lastVATICB=this address-8. In your source, I see: SCSIRead(blk,lastVATICB_Addr,1);
but SCSIRead function read 2448*size=2448bytes, its wrong because the next writtable address is the last block but 2448 >8 then I alway get the error:
sense key =0x05, ASC = 0x21 and ASCQ =0x00, that means LOGICAL BLOCK ADDRESS OUT OF RANGE.
am I right, Hongfeng?
If Im wrong, can U explain for me this issue?
Thank a lot!
chimpanzeeVN
|
|
|
|
|
I am not very sure about the problem you are talking about. 8 refers to 8 logic blocks,not 8 bytes, so it's not comparable to the number 2048.
There's one thing for sure, if you get LOGICAL BLOCK ADDRESS OUT OF RANGE error, definitely the LBA is not correct.
|
|
|
|
|
hi..
your program is very detail.. and..
so..large ..
but
in my cd-rw is do not work for your program..
it work.. only open / Eject command.. and.. bus scan...
but..
can not read and..
record..
can you more easy way to.. record?
and..
how can I Burn it well..
thanks..
|
|
|
|