How to Use a UNIX (Silicon Graphics) CD-ROM under OS/2

From OS2World.Com Wiki
Jump to navigation Jump to search
Article Info
Author Tom Dodge
Date 1996-01-21
OS Version IBM OS/2 Warp 3
Companion File N/A
Source unixcdr.zip


Background:

Some UNIX CD-ROMs have a special EPROM which declares the CD-ROM as "Unit Type" 0, which is a DISK and not a CD-ROM (Unit Type 5).

Unit Type          Device
-----------------------------------------
0                  Disk
1                  Tape
2                  Printer
3                  Processor
4                  WORM
5                  CD-ROM
6                  Scanner
7                  Optical
8                  Juke Box
9                  Communication Device


When connecting these "type 0" CD-ROM drives to a PC, OS/2 will not load the CD-ROM manager OS2CDROM.DMD. RMVIEW will show the device is there, but you will not be able to access it (no drive letter, no drive icon):

 Device: DISK_(4,0)  TOSHIBA  CD-ROM XM-3401TA ABCD      DISK

(If RMVIEW doesn't see the drive, check drive power, cables, termination and your SCSI controller.)


Remedy

1. Tell your SCSI base device in CONFIG.SYS to not load the disk and generic SCSI managers for the device, e.g.:

BASEDEV=AHA154X.ADD /A:0 /!DM:4 /!SM:4

where 4 is the SCSI ID of your drive as displayed by RMVIEW.

2. Back up OS2CDROM.DMD in \OS2\BOOT.

3. Ensure OS2DASD.DMD will be loaded before OS2CDROM.DMD in your CONFIG.SYS.

4. Patch the CD-ROM manager OS2CDROM.DMD to accept DISK type devices. It will not allocate your hard disk, since it only allocates devices which have not been allocated by other device managers. Therefore step 3 above is important.

Search for the byte string

6B C0 12 03 D8 83 7F 2E 05 75 E7 F6 47 26 80 75 E1
                       **

in the file OS2CDROM.DMD. In original Warp, the offset is 55B0. In my version of the file (FixPack 5), it's 561C.

Now use PATCH to modify the file and change the "05" to "00" (this byte is the device type). A sample session (using the file from original Warp) follows:

[D:\OS2\BOOT]patch OS2CDROM.DMD

Patching OS2CDROM.DMD

End of file is at 5EAC
Enter the hexadecimal offset of patch: 55B0
000055B0  6B C0 12 03 D8 83 7F 2E 00 75 E7 F6 47 26 80 75 k........u..G&.u

Do you want to continue patching OS2CDROM.DMD (Y/N)? N

Patches entered for OS2CDROM.DMD

000055B0  6B C0 12 03 D8 83 7F 2E 00 75 E7 F6 47 26 80 75 k........u..G&.u

Do you want these patches applied to OS2CDROM.DMD (Y/N)? Y
Patches applied to OS2CDROM.DMD

[D:\OS2\BOOT]

5. Reboot

6. If everything is OK, there will be a new CD-ROM icon in your "Drives" folder. If not, read the disclaimer.


Disclaimer

Use this patch at your own risk. This patch is provided "as is" and without any express or implied warranties, including, without limitation, the implied warranties of merchantability and fitness for any particular purpose.

In no event shall the author be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, loss of use, data, or profits or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this patch, even if advised of the possibility of such damage.


Caution

When using this patch, OS/2 will no longer recognize "real" CD-ROMs. It might be possible to rename OS2CDROM.DMD, patch the renamed copy and then load both the real and the patched copy. However, I don't know whether this will work.


Author

Robert Muchsel, lifetime E-mail address: muchsel@acm.org.

08/13/1995


---

Thank you Robert Muchsel!!

This article provided me with the information to get my Pinnacle Micro RCD-1000 CD-Recordable to work as a CD reader under OS/2.

The RCD-1000 is recognized by a SCSI inquiry as a WORM device, therefore follow Mr. Muchsel directions but change the device type to 04.

6B C0 12 03 D8 83 7F 2E 05 75 E7 F6 47 26 80 75 E1
                                **

to

6B C0 12 03 D8 83 7F 2E 04 75 E7 F6 47 26 80 75 E1
                                **


This has worked for me while calls to IBM (900 service!!) and Pinnacle Micro have not!

Tom Dodge
Dynamic Information Systems
dodge@cy-net.net
http://www.disisit.com