Hi,

Can someone help me with the CD-ROM pathtable structure?
There must be some sort of structure in it! 

I've included one example of a pathtable.

Hoping someone can help me. 

Greetz,

Martijn Groen


You may read the pathtable from SAM Basic:

10 LET adr=81920
20 READ *0,0,16,0,adr           (B-DOS command only!)
This will read the Primary Volume Descriptor sector from CD-ROM.

30 LET size=DPEEK (adr+132)     (size of pathtable)     
40 LET a=PEEK (adr+142), b=PEEK (adr+143)
50 LET c=PEEK (adr+140), d=PEEK (adr+141)
60 READ *a,b,c,d,adr            
This will read the pathtable at adr.
Variable c will usually be 18,19 or 20 

Variables a,b,c & d specify the 32-bit sector address
a = 32-bit high, LSB
b = 32-bit high, MSB
c = 32-bit low,  LSB
d = 32-bit low,  MSB

READ *a,b,c,d,adr,sectors may also be used.
This will read multiple sectors from CD-ROM.
Note that each CD-ROM sector will be 2048 bytes. That's four
times bigger than standard floppy & harddisk sectors.

CD-ROM's can have a maximum of 8 branches.

Pathtable example: Heretic II

        Branch1         Branch2         Branch3         Branch4

ROOT    BIN
        (1)             
        
        HELP    ----    IMAGES                          
        (1)             (3)

        SETUP   ----    BASE    ----    VIDEO           
        (1)             (4)             (6)
                                
                ----    DIRECTX ----    DRIVERS ----    ENG (11)        
                        (4)             (7)     ----    FRN (11)
                                                ----    GER (11)
                                                ----    ITN (11)
                                                ----    SPA (11)
                ----    GAMESPY
                        (4)             
        
                ----    TOOLKIT
                        (4)


Pathtable at adr:

Notice that I'v not included the 4-byte startsector in each entry.

1,0             
1,0     - Root entry (not important)
0,0

3,0     - length of dir. name
1,0     - some sort of code
BIN     - dir. name
0       - belongs to this or next entry?

4,0
1,0
HELP

5,0
1,0
SETUP
0

6,0
3,0
IMAGES

4,0
4,0
BASE

7,0
4,0
DIRECTX
0

7,0
4,0
GAMESPY
0

7,0
4,0
TOOLKIT
0

5,0
6,0
VIDEO
0

7,0
7,0
DRIVERS
0

3,0
11,0
ENG
0

3,0
11,0
FRN
0

3,0
11,0
GER
0

3,0
11,0
ITN
0

3,0
11,0
SPA
0



















Reply via email to