-----------------------------
  KOnCD - Burn your own CDs
----=== KDE 3 EDITION ===----
-----------------------------
-------->>> README <<<-------
-----------------------------

Developed and Copyright (C) 2000-2001 by Kai Heitkamp
eMail: kai@kde.org | koncd@kai-heitkamp.de
Project homepage: http://www.koncd.org

KOnCD is a frontend for different cd programs with an easy to use GUI
and it's running under Linux / KDE !

Of course you use this software at YOUR OWN RISK - don't kill me
because of unusable CD-R media !


IMPORTANT INFORMATIONS FOR CURRENT VERSION !
--------------------------------------------

- aRts will be used to convert mp3 or ogg files to raw data,
  you don't need mpg123 and ogg123 anymore !
- To use KOnCD as user, execute KOnCD as root first to configure the system !
- None burn-proof in audio cd creation available at this time !
- You must resave your settings !
- Your cd writer must support cdrs over 650 MB to use the overburn option !
- To use CD-TEXT, your cd writer must support it !
- You don't need the 'koncdrc.example' to work with KOnCD, but it's an example
  for a config file with base settings ! If you need to use it, copy it to:
  '/$HOME/.kde2/share/config/koncdrc' (without '.example') !
- You need to install cdparanoia lib to work with Rip CD ! To encode to MP3,
  you need to install lame and for ogg vorbis the ogg vorbis libs !


CONTACT ME !
------------

eMail: kai@kde.org or koncd@kai-heitkamp.de

Before you eMail me, search in the web / usenet for answers or use
the new interactive website of KOnCD: http://www.koncd.org !!!
I'm getting more than 20 eMails each day and have no more
time to working on KOnCD !!!


REQUIREMENTS
------------

  - Linux 2.2.x or 2.4.x
  - QT 3.0.0
  - KDE 2.91 (developer version from cvs !)
  - SCSI CD-ROM and SCSI CD writer or IDE with SCSI emulation support
  - cdrecord >= 1.9
  - mkisofs >= 1.13 (included in cdrecord)
  - cdrdao >= 1.1.5 (don't use < 1.1.5, because there are bugs in dao mode !)

KOnCD tested on Suse Linux 7.2:
Kernel 2.4.4 / KDE 2.91 / QT 3.0.0
cdrecord 1.9 / mkisofs 1.13 / cdrdao 1.1.5
CD-Writer: Yamaha CRW-6416S (SCSI) and Yamaha CRW-2100S (SCSI, CD-TEXT)
CD-Reader: Plextor PX-40TS SCSI CD-ROM, a Plextor SCSI DVD-ROM and several ATAPI CD-ROMs

If the programs or right versions are not included in your distribution, look here:
Qt:			http://www.trolltech.com
KDE:			http://www.kde.org
cdrecord & mkisofs:	http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html
cdrdao:   		http://cdrdao.sourceforge.net

You can get RPMs here:
http://rpmfind.net


INSTALLATION
------------

- ./configure
- make
- make install (as root !)

Read the INSTALL file !


ATAPI CD-WRITER
---------------

The ATAPI standard describes method of sending SCSI commands over IDE
with some small limitations to the "real" SCSI standard.
For this reason ATAPI-SCSI emulation is the native method of
supporting ATAPI devices.

Many people ask why I use ATAPI-SCSI emulation.
The use of the naming convention "ATAPI-SCSI emulation" is a
litle bit misleading. It should rather be called:
"SCSI host adapter emulation"

Make your kernel ready for ATAPI CD-Writers,
made the following changes:

1.  Identify which device is the CD-R (/dev/hdx).

2.  Compile the kernel to include ATAPI CDROM and SCSI emulation:

     Under the block devices menu:
                Y or M     Include IDE/ATAPI CDROM support
                Y or M     SCSI emulation

3.  Build and install the upgraded kernel.


If you selected modules (Suse Linux !):

1.  Add 'ide-scsi' and 'sg' to the /etc/modules.conf file.
    If you want autoload the modules, add this lines to 'modules.conf':

	alias char-major-21 sg
	post-install sg modprobe "-k" ide-scsi

2.  In the /etc/lilo.conf file add an append line for ide-scsi:
        append = "hdx=ide-scsi hdy=ide-scsi"

        'x' is your CD-R device, 'y' is your CD device !
	Don't forget to run 'lilo' !
    
3.  Reboot to the new kernel and make sure the ide-scsi module is loaded

        to test with 'lsmod' !

4.  Make a link from the proper SCSI device to a symbolic, e.g., /dev/cdrom:
    Mostly the DVD is the first CD, hence appears as /dev/scd0 to scd7
    ('cat /proc/scsi/scsi' to get a full list of devices -- the first
    CD-ROM will appear as scd0, etc.)  With the current ATAPI-SCSI module, each CD
    device appears as 8 SCSI devices (different logical units).  If you have
    two devices, you may have to make a node for the second device:

            cd /dev
            mknod scd8 b 11 8

    Then make links:

            ln -s scd0 cdrom
            ln -s scd8 cdr

    Note, many CD-ROM player programs expect the audio CD drive to
    be located at /dev/cdrom (xplaycd, etc.), hence this link is recommended.

    If you try to use /dev/hdc (or wherever your CD or CD-R is) after loading
    the ide-scsi module, you may not be able to mount CD's or play audio
    discs -- you have to use the new SCSI names for the device.

5.  Fix your /etc/fstab file to mount the /dev/cdrom and /dev/cdr


6.  Run 'cdrecord -scanbus' to make sure, cdrecord can see the unit(s) and
    talk to it. Or use the KOnCD setup to see the devices !


YOUR PERMISSIONS !
------------------

Make sure you have enough permissions to cdrecord !
To make this, type at the console 'as root':

chown root /usr/bin/cdrecord
chmod 4711 /usr/bin/cdrecord

'/usr/bin/cdrecord' is the default path. When you don't know, where cdrecord is
located, type 'whereis cdrecord' ! Then you have the complete path of them !

You must have enough permissions to the cd-reader and cd-writer devices:
At least read permissions to the cd-reader and write permissions to the
cd-writer device ! Better you set read AND write permissions to the writer !
That is '/dev/scd0' or so. You must set this 'as root' with 'chmod' !


OTHER IMPOTANT INFORMATIONS !
-----------------------------

- You must enable 'padding' to create an audio cd from wav files !
- You must enable 'isosize' to copy a cd !


DEBUGGING !
-----------

You can enable debugging with the commandline option '--debug',
a log file (default: ~/koncd.log) will be logging all debug messages !
Execute 'koncd --help' for an overview of all commandline options !


OPTIMIZED CODE FOR PENTIUM CPUS !
---------------------------------

You set the environment variable CPPFLAGS:

export CPPFLAGS=-march=i586  or  export CPPFLAGS=-march=pentium
./configue
make
make install (as root)

The code will be optimized for the i586 (Pentium) !
With '-march=pentiumpro' the code will be optimized for an i686 !


COMPILE WITH DEBUGGING INFOS !
------------------------------

You set the environment variable CPPFLAGS:

export CPPFLAGS=-gx (x must be 1, 2 or 3 ! 1 generates less infos, 2 more and 3 many infos !)
./configue
make
make install (as root)

The code will be compiled with debugging symbols to use with the debugger and
display infos by a crash ! These infos are useful for me to detect bugs !



Have fun with it !
Kai
