CD-ROM aansluiten en benaderbaar maken
Henri Derksen trekt de computer weer open

Over het aansluiten van CD-ROM drives bestaan helaas nog steeds misverstanden, welke ik met dit verhaal hoop weg te nemen. In de eerste plaats moeten we een CD-ROM drive hardwarematig, dus echt fysiek op onze RISC OS computer aan sluiten. Daarbij bestaan er 2 veel gebruikte systemen met ieder hun eigen interface, kabelsoort en instellingen. De oudere drives waren vaak via het SCSI systeem aansluitbaar, en vele nieuwere drives maken gebruik van IDE/ATAPI. Zoals bekend is ATAPI het softwarematige gebruik van SCSI-commando's over de IDE kabel.

De IDE methode
Bij IDE kunnen we 2 apparaten op de IDE-bus aansluiten met een 40 polige kabel die 3 aansluit-connectoren heeft. De 1e connector gaat naar het moederbord, de 2e connector naar de 1e IDE drive, meestal een interne IDE-harddisc, en de 3e connector kunnen we dan op onze IDE/ATAPI CD-ROM drive aansluiten. Standaard heeft een RISC PC meestal een IDE kabel met slechts 2 aansluitconnectoren, namelijk voor het moederbord en de interne harde schijf. Als we dus ook een CD-ROM drive willen aansluiten, dan zullen we of een extra connector op de kabel moeten aanknijpen, mits de kabel lang genoeg is voor dat doel. Maar veel vaker zullen we een nieuwe kabel met 3 connectoren moeten aanschaffen. Soms wordt die met een nieuwe CD-ROM drive meegeleverd. Daarnaast moeten we vaak ook nog jumpers plaatsen.

Bij IDE is het ene rand-apparaat namelijk "Master2 en het andere dient zich dan als "Slave" te gedragen. Twee maal Master of 2 x Slave kan dus niet op dezelfde kabel. Soms kan het handig zijn om een IDE CD-ROM drive op een andere IDE-bus dan de standaard aanwezige interne (Acorn) IDE-bus aan te sluiten. B.v. omdat we meer dan 2 IDE randapparaten, zoals; extra HD's, CD-branders, ZIP-drives e.d. willen aansluiten. Zo'n 2e IDE-bus wordt verkregen middels een podule insteekkaart.

De SCSI methode
Bij SCSI worden er intern 50 polige kabels gebruikt, en ook daar moeten we onze nieuwe aanwist hardwarematig identificeren, zodat de computer weet hoe elk apparaat heet. Dat identificeren wordt daar gedaan door middel van een of meer jumper(s) die het SCSI-ID bepaalt. SCSI ID's zijn een uniek getal tussen 0 en 7, zodat we dus 8 SCSI apparaten op een en dezelfde SCSI bus kunnen aansluiten. Daarnaast moet de SCSI bus aan beide uiteinden "getermineerd" worden. D.w.z. een stel weerstanden ingeschakeld om het SCSI signaal zuiver te houden.

Natuurlijk willen we ook weten of de computer onze SCSI CD-ROM drives en CD-branders ziet. Dat kan met het commando:

*DEVICES

Het resultaat daarvan:

Device Type              Capacity    Vendor   Product          Rev  Level
1      Direct Access      573 MBytes CDC      94181-15         0293 SCSI-1
2      Read-Only          650 MBytes PLEXTOR  CDRW PX-W121032S 1.00 SCSI-2
3      Scanner            120 MBytes Mustek   600 x 1200 dpi   1.07 SCSI-1
4      Direct Access     1021 MBytes iomega   jaz 1GB          J.83 SCSI-2
5      Read-Only          650 MBytes PLEXTOR  CD-ROM PX-40TS   1.12 SCSI-2
6      Sequential         525 MBytes WANGTEK  5525ES SCSI REV7 3R1  SCSI-1
7      Host                          Morley   SCSI Expansion   1.66 SCSI-1

Hier zijn dus 2 Plextors aanwezig, een als CD-ROM en een als CDbrander. We kunnen ook alleen op CD drives zoeken met:

*-CDFS-CDDEVICES

Het resultaat daarvan:

Drive  Dev  LUN  Card Product              Capacity      Firmware
00     0    0    0    CDFaker              Unknown       0.52
01     2    0    0    CD-R   PX-W1210S    4096 Mbytes    1.00
02     5    0    0    CD-ROM PX-40TS       Unknown       1.12

De Drive is het logische drive nummer zoals RISC OS die toekent. Het Dev van device is het fysieke drive nummer. LUN staat voor Logical Unit Number, en dient er voor om meerdere SCSI apparten op dezelfde controller en met hetzelfde SCSI-ID te onderscheiden. Naast 8 SCSI-ID's kunnen we ook 8 LUNs hebben. Maar in de praktijk komt dat zelden voor. Wel was er een unieke Proteus drice van Cumana die zowel CD-ROM drive als removable harddisc was. De CD-ROM was dan LUN 0 en de HD was dan LUN 1 met beiden hetzelfde ingestelde SCSI-ID. CDFaker is een softwarematige (virtuele) drive om CD ISO iamges (copie van CD) mee te kunnen lezen alsof het een echte CD-ROM betrof. Wanneer je !CD-ROMFS (zie verderop) gebruikt is CDfaker niet meer nodig.

Software
Maar zeker zo belangrijk zijn de softwarematige instellingen die we voor het gebruik van CD-ROM drives goed moeten uitvoeren. In RISC OS zijn daartoe standaard een aantal modules in ROM opgenomen. We hebben er echter maar enkele van nodig en lang niet allemaal. Zeer veel gebruikers hebben de niet noodzakelijke modules vergeten uit te schakelen. Hier een klein overzicht uit RISC OS 4.03

116 System ROM  CDFSResources           2.36    Active
117 System ROM  CDFSdriver              2.33    Active
118 System ROM  CDFSSoftATAPI           1.50    Active
119 System ROM  CDFSSoftChinonEESOX     1.02    Active
120 System ROM  CDFSSoftHitachiEESOX    1.02    Active
121 System ROM  CDFSSoftPhilipsEESOX    1.03    Active
122 System ROM  CDFSSoftSonyEESOX       1.09    Active
123 System ROM  CDFSSoftToshibaEESOX    1.03    Active
124 System ROM  CDFSSoftSCSI2           1.31    Active
125 System ROM  CDFS                    2.37    Active
126 System ROM  CDFSFiler               2.40    Active

CDFSSoftATAPI hebben we alleen nodig wanneer we een IDE CD-ROM drive hebben geïnstalleerd. CDFSSoftSCSI2 hebben we alleen nodig wanneer we een SCSI CD-ROM drive hebben geïnstalleerd.

Maar beiden kan dus ook als we inderdaad 2 verschillende typen CD-ROM drives (IDE _en_ SCSI) daadwerkelijk fysiek aanwezig hebben in onze machine. De modules 119 tot en met 123 heeft men zelden nodig, en dan nog alleen voor de echt heel oude trage CD-ROM spelers uit de begintijd. Dus die modules kunnen we gerust unpluggen. Dat scheelt tijd en ruimte.
Dat unpluggen kan met:

*UNPLUG CDFSSoftChinonEESOX
*UNPLUG CDFSSoftHitachiEESOX
*UNPLUG CDFSSoftPhilipsEESOX
*UNPLUG CDFSSoftSonyEESOX
*UNPLUG CDFSSoftToshibaEESOX
Geen E-IDE/ATAPI CD-Rom drive(s), dan:
*UNPLUG CDFSSoftATAPI
Wel een E-IDE/ATAPI CD-Rom drive(s), dan:
*RMREINIT CDFSSoftATAPI
Geen SCSI CD-Rom drives(s), dan:
*UNPLUG CDFSSoftSCSI2
Wel SCSI CD-Rom drives(s), dan:
*RMREINIT CDFSSoftSCSI2

En helaas moet dat elke keer weer wanneer de totale CMOS weer eens met een Delete Power On wordt gereset ;-(. Je kan die *unplug- en *rmreinit-regels ook in een Obey bestand plaatsen en dan uitvoeren na een Cmos reset.

Het lijstje wordt dan bij b.v. alleen SCSI:

116 System ROM  CDFSResources           2.36    Active
117 System ROM  CDFSdriver              2.33    Active
118 System ROM  CDFSSoftATAPI           1.50    Unplugged
119 System ROM  CDFSSoftChinonEESOX     1.02    Unplugged
120 System ROM  CDFSSoftHitachiEESOX    1.02    Unplugged
121 System ROM  CDFSSoftPhilipsEESOX    1.03    Unplugged
122 System ROM  CDFSSoftSonyEESOX       1.09    Unplugged
123 System ROM  CDFSSoftToshibaEESOX    1.03    Unplugged
124 System ROM  CDFSSoftSCSI2           1.31    Active
125 System ROM  CDFS                    2.37    Active
126 System ROM  CDFSFiler               2.40    Active

Maar dan zijn we er nog niet, we willen ook een CD-ROM icon op de taakbalk.

Dat kan met het commando:

*CONFIGURE CD-ROMdrives n

waarbij n het aantal CD-ROMs is wat we actief willen hebben.

Daarna is meestal een Ctrl Break nodig om opnieuw op te starten met de nieuwe instelleingen.

Doe b.v. ook eens *HELP CDFS.

We kunnen in plaats van CDFS ook met !CDROMFS gaan werken. Deze heeft het voordeel dat hij lange bestandsnamen en tevens in kleine letters zoals in Windows ondersteunt. !CDROMFS is te koop bij Warm Silence Software in Engeland.

We kunnen ook omschakelen:

*RMKill CDFSFiler
*Filer_Run $.Utilities.CD-ROM.!CDROMFS

en weer terug met:

*RMReinit CDFSFiler
*Wimpslot -min 32K
*Newfiler          
*IconSprites <SCSI$IconDir>.CDFSCSI
*TaskMsg ! CD-ROMFS Filer, Quit
*RMKill CDROMFS

Een andere sprite voor het CD-ROM logo bij CDFS is niet echt noodzakelijk, maar meer voor de verfraaiing voor wie dat wil. Bij het gebruik van TaskMsg moet die module in $.!Boot.Library aanwezig zijn. Ik hoop dat ook jullie je CD-ROM drives aan het werk krijgen en wens een ieder daar veel plezier mee.

Met een vriendelijke groet van Henri Derksen.