Access to CD-ROM files from MSX.

Written by Henrik Gilvad.


Because I have a lot of hardware projects for the MSX at the 
moment then I have not been able to do a CDROM driver for DOS 
yet. This is because I do not know DOS 2 internally good 
enough to make a foolproof CDROM -> file converter.

The CDROM format is quite simple when you know how to use it 
but MSX DOS have many details which must be followed before 
normal DOS programs can use files from CDROM as if they were 
Floppy or Harddisk files.


At the moment you can only access the CDROM from a basic 
program called "CDDIR?.BAS". This program uses a machinecode 
routine to read sectors and copy files to floppy/harddisk.
The program is written in basic because there are still 
comming new CD's which uses another variation of what I 
though was the CDROM file 'standard'. The basic program part 
have to do with finding the rootdirectory and displaying the 
filenames, size, date etc. on the screen. It might seem a 
litle clumpsy and I agree it is not Norton Utilities or XDOS.

What you can do:
Start the program. This will show an overview of the first 
level directories on the CDROM. You then chooses one of the 
numbers (1 for the ROOT directory) and the program continues 
to the normal Directory part.
In this part each entry (including '.' and '..') are shown on 
each line. If it is a subdirectory you can go into that 
directory or you can ignore it. If it is a file then you can 
copy it to the harddisk/floppydisk/ramdisk.
The copy routine is completely in machinecode, written for 
DOS 2 only.

Why written in Basic ?

Because this is a test program made to explore how the CDROM 
system works.

I also have a DOS program called "CDIR.COM" which can be used 
to show the rootdirectory of most CD's.
The "CDIR.COM" have not been expanded with sub-directories 
yet but it is my idea to do other COM files as well like:
CCD.COM   Change directory.
CCOPY.COM Copy files
The benefit of these program are that then the CDROM does not 
need a 'Drive name' and we have 1 more partition for our 
harddisk. But the ideal will be a DOS driver so DOS uses the 
CDROM drive just as any other drive.

Writing programs which can access CD-ROM on file level is not 
so difficult. The only restriction are:

* Allow 2-4kbytes for directory buffer.
* Functions : FindFirst, FindNext, ChDir (1 step at a time)
* Use the 'Findxx' information to locate the first sector of
  the file you want to work with.
* Use READ sectors to read the file.

All functions should be using AsciiZ strings.

Wouldn't it be nice to have GIF viewer, MOD player etc. which 
works directly on CDROM ?
If there is any serious programmers out there who know a lot 
about DOS 2 and how to put in new file drivers etc. or if 
they would like their own created programs to be changed for 
CD rom then try to write to me at this address:

Henrik Gilvad
Holger Danskes Vej 62, 2tv.
DK-2000 Frederiksberg
Tel/Fax (+45) 31 87 11 08

I am also seeking a "UNZIP" program for MSX ! The program 
should be able to do the new 'deflating' as well.

HG.
