|
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..
|
|
|
|
|
ATAPI DRIVE IS NOT SUPPORTED IN CURRENT VERSION
In other words, when this was first posted, it contained software which the author did not have the right to distribute, and he removed it when this was pointed out to him. As a result, this code won't work for most CD-RW drives, at least not without the dll the author removed.
Christian
No offense, but I don't really want to encourage the creation of another VB developer.
- Larry Antram 22 Oct 2002
C# will attract all comers, where VB is for IT Journalists and managers - Michael
P Butler 05-12-2002
It'd probably be fairly easy to make a bot that'd post random stupid VB questions, and nobody would probably ever notice - benjymous - 21-Jan-2003
|
|
|
|
|
Christian Graus wrote:
> ATAPI DRIVE IS NOT SUPPORTED IN CURRENT VERSION
In other words, when this was first posted, it contained software which the author did not have the right to distribute, and he removed it when this was pointed out to him.
Is that a fact?
From what I read from the article, he made just one (fatal) mistake, and that was using only the ASPI API. Had he used any of the the published ASPI <-> SPTI (and make no mistake, SPTI is what is used even for ATAPI devices on NT kernel based operating systems) I believe this would have worked like a charm for almost any ATAPI CD-R/W drive.
I've got some GPL'd source to use ASPI calls with very little source code change to instead access SPTI. I'm not interested in hosting it myself, but should anyone else want it, you know how to reach me.
It works like a charm - I've used it for CDRecord/cdrtools for several years now. Hell, I've even got a full CD-buring/reading incl. MP3 encoding and decoding suite on one single floppy disk. With enough room to spare to put some MP3'd heavy metal on it!
I have never tried it for packet writing since I 1) never had the need, and 2) haven't bothered to look into how UDF works (which I must give a lot of credit to the author of this article, to have displayed the stamina to research it, put it in source and write an - albeit short - article about it), but I see no reason whatsoever it shouldn't work.
|
|
|
|
|
Is there anyone trying to compile the project source after dl?
I can not find the .rc file ...
By the way, may I ask: when I try to write files to the already-formatted CDR, it told me "out of memory", what does it mean?
Thanks ahead
|
|
|
|