taglinefilesource code
drvcmd547drivers/block/sbpcd.cstatic u_char drvcmd[10];
drvcmd910drivers/block/sbpcd.cfor (i=0;i<10;i++) drvcmd[i]=0;
drvcmd1127drivers/block/sbpcd.cdrvcmd[0]=CMDT_STATUS;
drvcmd1247drivers/block/sbpcd.cdrvcmd[0]=CMD1_READ_ERR;
drvcmd1253drivers/block/sbpcd.cdrvcmd[0]=CMD0_READ_ERR;
drvcmd1262drivers/block/sbpcd.cdrvcmd[0]=CMD2_READ_ERR;
drvcmd1269drivers/block/sbpcd.cdrvcmd[0]=CMDT_READ_ERR;
drvcmd1295drivers/block/sbpcd.cfor (i=0;i<10;i++) sprintf(&msgbuf[i*3]," %02X",drvcmd[i]);
drvcmd1312drivers/block/sbpcd.cfor (i=0;i<10;i++) OUT(CDo_command,drvcmd[i]);
drvcmd1316drivers/block/sbpcd.cif (drvcmd[0]==CMDT_READ_VER) sbp_sleep(HZ);
drvcmd1324drivers/block/sbpcd.cif (drvcmd[0]==CMDT_READ) return (0); /* handled elsewhere */
drvcmd1325drivers/block/sbpcd.cif (drvcmd[0]==CMDT_DISKINFO)
drvcmd1340drivers/block/sbpcd.cmsg(DBG_TEA,"cmd_out_T: data response with cmd_%02X !!!!!!!!!!!!!!!!!!!!\n", drvcmd[0]);
drvcmd1371drivers/block/sbpcd.cif (recursion>1) msg(DBG_TEA,"cmd_out_T READ_ERR recursion (%02X): %d !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n", drvcmd[0], recursion);
drvcmd1373drivers/block/sbpcd.cdrvcmd[0]=CMDT_READ_ERR;
drvcmd1390drivers/block/sbpcd.cif (drvcmd[0]==CMDT_READ) return (0); /* handled elsewhere */
drvcmd1393drivers/block/sbpcd.cmsg(DBG_TEA,"cmd_out_T: next CMDT_TRIES (%02X): %d.\n", drvcmd[0], ntries-1);
drvcmd1410drivers/block/sbpcd.csprintf(&msgbuf[i*3], " %02X", drvcmd[i]);
drvcmd1414drivers/block/sbpcd.cfor (i=0;i<7;i++) OUT(CDo_command,drvcmd[i]);
drvcmd1475drivers/block/sbpcd.cdrvcmd[0]=CMD0_SEEK;
drvcmd1477drivers/block/sbpcd.cdrvcmd[2]=(pos>>16)&0x00FF;
drvcmd1478drivers/block/sbpcd.cdrvcmd[3]=(pos>>8)&0x00FF;
drvcmd1479drivers/block/sbpcd.cdrvcmd[4]=pos&0x00FF;
drvcmd1485drivers/block/sbpcd.cdrvcmd[0]=CMD1_SEEK; /* same as CMD1_ and CMDL_ */
drvcmd1487drivers/block/sbpcd.cdrvcmd[1]=(pos>>16)&0x00FF;
drvcmd1488drivers/block/sbpcd.cdrvcmd[2]=(pos>>8)&0x00FF;
drvcmd1489drivers/block/sbpcd.cdrvcmd[3]=pos&0x00FF;
drvcmd1497drivers/block/sbpcd.cdrvcmd[0]=CMD2_SEEK;
drvcmd1499drivers/block/sbpcd.cdrvcmd[2]=(pos>>24)&0x00FF;
drvcmd1500drivers/block/sbpcd.cdrvcmd[3]=(pos>>16)&0x00FF;
drvcmd1501drivers/block/sbpcd.cdrvcmd[4]=(pos>>8)&0x00FF;
drvcmd1502drivers/block/sbpcd.cdrvcmd[5]=pos&0x00FF;
drvcmd1507drivers/block/sbpcd.cdrvcmd[0]=CMDT_SEEK;
drvcmd1509drivers/block/sbpcd.cdrvcmd[2]=(pos>>24)&0x00FF;
drvcmd1510drivers/block/sbpcd.cdrvcmd[3]=(pos>>16)&0x00FF;
drvcmd1511drivers/block/sbpcd.cdrvcmd[4]=(pos>>8)&0x00FF;
drvcmd1512drivers/block/sbpcd.cdrvcmd[5]=pos&0x00FF;
drvcmd1529drivers/block/sbpcd.cdrvcmd[0]=CMD0_SPINUP;
drvcmd1535drivers/block/sbpcd.cdrvcmd[0]=CMD1_SPINUP;
drvcmd1540drivers/block/sbpcd.cdrvcmd[0]=CMD2_TRAY_CTL;
drvcmd1541drivers/block/sbpcd.cdrvcmd[4]=0x01; /* "spinup" */
drvcmd1546drivers/block/sbpcd.cdrvcmd[0]=CMDT_TRAY_CTL;
drvcmd1547drivers/block/sbpcd.cdrvcmd[4]=0x03; /* "insert", it hopefully spins the drive up */
drvcmd1564drivers/block/sbpcd.cdrvcmd[0]=CMD1_SPINDOWN;
drvcmd1569drivers/block/sbpcd.cdrvcmd[0]=CMD2_TRAY_CTL;
drvcmd1570drivers/block/sbpcd.cdrvcmd[4]=0x02; /* "eject" */
drvcmd1575drivers/block/sbpcd.cdrvcmd[0]=CMDL_SPINDOWN;
drvcmd1576drivers/block/sbpcd.cdrvcmd[1]=1;
drvcmd1581drivers/block/sbpcd.cdrvcmd[0]=CMDT_TRAY_CTL;
drvcmd1582drivers/block/sbpcd.cdrvcmd[4]=0x02; /* "eject" */
drvcmd1594drivers/block/sbpcd.cdrvcmd[0]=CMDT_GETMODE;
drvcmd1595drivers/block/sbpcd.cdrvcmd[4]=response_count;
drvcmd1606drivers/block/sbpcd.cdrvcmd[0]=CMDT_SETMODE;
drvcmd1607drivers/block/sbpcd.cdrvcmd[1]=D_S[d].speed_byte;
drvcmd1608drivers/block/sbpcd.cdrvcmd[2]=D_S[d].frmsiz>>8;
drvcmd1609drivers/block/sbpcd.cdrvcmd[3]=D_S[d].frmsiz&0x0FF;
drvcmd1610drivers/block/sbpcd.cdrvcmd[4]=D_S[d].f_XA; /* 1: XA */
drvcmd1611drivers/block/sbpcd.cdrvcmd[5]=D_S[d].type_byte; /* 0, 1, 3 */
drvcmd1612drivers/block/sbpcd.cdrvcmd[6]=D_S[d].mode_xb_6;
drvcmd1613drivers/block/sbpcd.cdrvcmd[7]=D_S[d].mode_yb_7|D_S[d].volume_control;
drvcmd1614drivers/block/sbpcd.cdrvcmd[8]=D_S[d].mode_xb_8;
drvcmd1615drivers/block/sbpcd.cdrvcmd[9]=D_S[d].delay;
drvcmd1657drivers/block/sbpcd.cdrvcmd[0]=CMD1_SETMODE;
drvcmd1658drivers/block/sbpcd.cdrvcmd[1]=0x03;
drvcmd1659drivers/block/sbpcd.cdrvcmd[2]=speed;
drvcmd1660drivers/block/sbpcd.cdrvcmd[3]=x1;
drvcmd1661drivers/block/sbpcd.cdrvcmd[4]=x2;
drvcmd1666drivers/block/sbpcd.cdrvcmd[0]=CMD2_SETSPEED;
drvcmd1669drivers/block/sbpcd.cdrvcmd[2]=0xFF;
drvcmd1670drivers/block/sbpcd.cdrvcmd[3]=0xFF;
drvcmd1674drivers/block/sbpcd.cdrvcmd[2]=0;
drvcmd1675drivers/block/sbpcd.cdrvcmd[3]=150;
drvcmd1733drivers/block/sbpcd.cdrvcmd[0]=CMD1_SETMODE;
drvcmd1734drivers/block/sbpcd.cdrvcmd[1]=0x05;
drvcmd1735drivers/block/sbpcd.cdrvcmd[3]=control0;
drvcmd1736drivers/block/sbpcd.cdrvcmd[4]=value0;
drvcmd1737drivers/block/sbpcd.cdrvcmd[5]=control1;
drvcmd1738drivers/block/sbpcd.cdrvcmd[6]=value1;
drvcmd1749drivers/block/sbpcd.cdrvcmd[0]=CMD2_SETMODE;
drvcmd1750drivers/block/sbpcd.cdrvcmd[1]=0x0E;
drvcmd1751drivers/block/sbpcd.cdrvcmd[3]=control0;
drvcmd1752drivers/block/sbpcd.cdrvcmd[4]=value0;
drvcmd1753drivers/block/sbpcd.cdrvcmd[5]=control1;
drvcmd1754drivers/block/sbpcd.cdrvcmd[6]=value1;
drvcmd1762drivers/block/sbpcd.cdrvcmd[0]=CMDL_SETMODE;
drvcmd1763drivers/block/sbpcd.cdrvcmd[1]=0x03;
drvcmd1764drivers/block/sbpcd.cdrvcmd[4]=control0;
drvcmd1765drivers/block/sbpcd.cdrvcmd[5]=value0;
drvcmd1828drivers/block/sbpcd.cdrvcmd[0]=CMD0_SETMODE;
drvcmd1829drivers/block/sbpcd.cdrvcmd[1]=0x83;
drvcmd1830drivers/block/sbpcd.cdrvcmd[4]=control0;
drvcmd1831drivers/block/sbpcd.cdrvcmd[5]=value0;
drvcmd1874drivers/block/sbpcd.cdrvcmd[0]=CMD1_RESET;
drvcmd1880drivers/block/sbpcd.cdrvcmd[0]=CMD2_RESET;
drvcmd1958drivers/block/sbpcd.cdrvcmd[0]=CMDL_PLAY;
drvcmd1961drivers/block/sbpcd.cdrvcmd[1]=(i>>16)&0x00FF;
drvcmd1962drivers/block/sbpcd.cdrvcmd[2]=(i>>8)&0x00FF;
drvcmd1963drivers/block/sbpcd.cdrvcmd[3]=i&0x00FF;
drvcmd1964drivers/block/sbpcd.cdrvcmd[4]=(n>>16)&0x00FF;
drvcmd1965drivers/block/sbpcd.cdrvcmd[5]=(n>>8)&0x00FF;
drvcmd1966drivers/block/sbpcd.cdrvcmd[6]=n&0x00FF;
drvcmd1975drivers/block/sbpcd.cdrvcmd[0]=CMD1_PLAY_MSF;
drvcmd1981drivers/block/sbpcd.cdrvcmd[0]=CMD2_PLAY_MSF;
drvcmd1986drivers/block/sbpcd.cdrvcmd[0]=CMDT_PLAY_MSF;
drvcmd1992drivers/block/sbpcd.cdrvcmd[0]=CMD0_PLAY_MSF;
drvcmd1996drivers/block/sbpcd.cdrvcmd[j]=(pos_audio_start>>16)&0x00FF;
drvcmd1997drivers/block/sbpcd.cdrvcmd[j+1]=(pos_audio_start>>8)&0x00FF;
drvcmd1998drivers/block/sbpcd.cdrvcmd[j+2]=pos_audio_start&0x00FF;
drvcmd1999drivers/block/sbpcd.cdrvcmd[j+3]=(pos_audio_end>>16)&0x00FF;
drvcmd2000drivers/block/sbpcd.cdrvcmd[j+4]=(pos_audio_end>>8)&0x00FF;
drvcmd2001drivers/block/sbpcd.cdrvcmd[j+5]=pos_audio_end&0x00FF;
drvcmd2015drivers/block/sbpcd.cdrvcmd[0]=CMD1_PAU_RES;
drvcmd2016drivers/block/sbpcd.cif (pau_res!=1) drvcmd[1]=0x80;
drvcmd2021drivers/block/sbpcd.cdrvcmd[0]=CMD2_PAU_RES;
drvcmd2022drivers/block/sbpcd.cif (pau_res!=1) drvcmd[2]=0x01;
drvcmd2027drivers/block/sbpcd.cdrvcmd[0]=CMD0_PAU_RES;
drvcmd2028drivers/block/sbpcd.cif (pau_res!=1) drvcmd[1]=0x80;
drvcmd2039drivers/block/sbpcd.celse if (pau_res==1) drvcmd[0]=CMDT_PAUSE;
drvcmd2057drivers/block/sbpcd.cdrvcmd[0]=CMD1_LOCK_CTL;
drvcmd2058drivers/block/sbpcd.cif (lock==1) drvcmd[1]=0x01;
drvcmd2063drivers/block/sbpcd.cdrvcmd[0]=CMD2_LOCK_CTL;
drvcmd2064drivers/block/sbpcd.cif (lock==1) drvcmd[4]=0x01;
drvcmd2069drivers/block/sbpcd.cdrvcmd[0]=CMDL_LOCK_CTL;
drvcmd2070drivers/block/sbpcd.cif (lock==1) drvcmd[1]=0x01;
drvcmd2075drivers/block/sbpcd.cdrvcmd[0]=CMDT_LOCK_CTL;
drvcmd2076drivers/block/sbpcd.cif (lock==1) drvcmd[4]=0x01;
drvcmd2143drivers/block/sbpcd.cdrvcmd[0]=CMD1_TRAY_CTL;
drvcmd2148drivers/block/sbpcd.cdrvcmd[0]=CMD2_TRAY_CTL;
drvcmd2149drivers/block/sbpcd.cdrvcmd[1]=0x01;
drvcmd2150drivers/block/sbpcd.cdrvcmd[4]=0x03; /* "insert" */
drvcmd2155drivers/block/sbpcd.cdrvcmd[0]=CMDL_TRAY_CTL;
drvcmd2161drivers/block/sbpcd.cdrvcmd[0]=CMDT_TRAY_CTL;
drvcmd2162drivers/block/sbpcd.cdrvcmd[4]=0x03; /* "insert" */
drvcmd2179drivers/block/sbpcd.cdrvcmd[0]=CMD1_READSUBQ;
drvcmd2185drivers/block/sbpcd.cdrvcmd[0]=CMD2_READSUBQ;
drvcmd2186drivers/block/sbpcd.cdrvcmd[1]=0x02;
drvcmd2187drivers/block/sbpcd.cdrvcmd[3]=0x01;
drvcmd2193drivers/block/sbpcd.cdrvcmd[0]=CMD0_READSUBQ;
drvcmd2194drivers/block/sbpcd.cdrvcmd[1]=0x02;
drvcmd2204drivers/block/sbpcd.cdrvcmd[0]=CMDT_READSUBQ;
drvcmd2205drivers/block/sbpcd.cdrvcmd[1]=0x02;
drvcmd2206drivers/block/sbpcd.cdrvcmd[2]=0x40;
drvcmd2207drivers/block/sbpcd.cdrvcmd[3]=0x01;
drvcmd2208drivers/block/sbpcd.cdrvcmd[8]=response_count;
drvcmd2255drivers/block/sbpcd.cdrvcmd[0]=CMD1_GETMODE;
drvcmd2261drivers/block/sbpcd.cdrvcmd[0]=CMD0_GETMODE;
drvcmd2268drivers/block/sbpcd.cdrvcmd[0]=CMDT_GETMODE;
drvcmd2269drivers/block/sbpcd.cdrvcmd[4]=response_count;
drvcmd2309drivers/block/sbpcd.cdrvcmd[0]=CMD1_SETMODE;
drvcmd2310drivers/block/sbpcd.cdrvcmd[1]=0x00;
drvcmd2311drivers/block/sbpcd.cdrvcmd[2]=D_S[d].sense_byte;
drvcmd2312drivers/block/sbpcd.cdrvcmd[3]=(D_S[d].frame_size>>8)&0xFF;
drvcmd2313drivers/block/sbpcd.cdrvcmd[4]=D_S[d].frame_size&0xFF;
drvcmd2318drivers/block/sbpcd.cdrvcmd[0]=CMD0_SETMODE;
drvcmd2319drivers/block/sbpcd.cdrvcmd[1]=0x00;
drvcmd2320drivers/block/sbpcd.cdrvcmd[2]=(D_S[d].frame_size>>8)&0xFF;
drvcmd2321drivers/block/sbpcd.cdrvcmd[3]=D_S[d].frame_size&0xFF;
drvcmd2322drivers/block/sbpcd.cdrvcmd[4]=0x00;
drvcmd2352drivers/block/sbpcd.cdrvcmd[0]=CMD1_GETMODE;
drvcmd2353drivers/block/sbpcd.cdrvcmd[1]=0x05;
drvcmd2359drivers/block/sbpcd.cdrvcmd[0]=CMD2_GETMODE;
drvcmd2360drivers/block/sbpcd.cdrvcmd[1]=0x0E;
drvcmd2366drivers/block/sbpcd.cdrvcmd[0]=CMD0_GETMODE;
drvcmd2367drivers/block/sbpcd.cdrvcmd[1]=0x03;
drvcmd2485drivers/block/sbpcd.cdrvcmd[0]=CMD1_CAPACITY;
drvcmd2491drivers/block/sbpcd.cdrvcmd[0]=CMD2_CAPACITY;
drvcmd2497drivers/block/sbpcd.cdrvcmd[0]=CMD0_CAPACITY;
drvcmd2523drivers/block/sbpcd.cdrvcmd[0]=CMD1_DISKINFO;
drvcmd2529drivers/block/sbpcd.cdrvcmd[0]=CMD0_DISKINFO;
drvcmd2540drivers/block/sbpcd.cdrvcmd[0]=CMD2_DISKINFO;
drvcmd2541drivers/block/sbpcd.cdrvcmd[1]=0x02;
drvcmd2542drivers/block/sbpcd.cdrvcmd[2]=0xAB;
drvcmd2543drivers/block/sbpcd.cdrvcmd[3]=0xFF; /* session */
drvcmd2551drivers/block/sbpcd.cdrvcmd[0]=CMDT_DISKINFO;
drvcmd2552drivers/block/sbpcd.cdrvcmd[1]=0x02;
drvcmd2553drivers/block/sbpcd.cdrvcmd[6]=CDROM_LEADOUT;
drvcmd2554drivers/block/sbpcd.cdrvcmd[8]=response_count;
drvcmd2555drivers/block/sbpcd.cdrvcmd[9]=0x00;
drvcmd2580drivers/block/sbpcd.cdrvcmd[0]=CMD2_DISKINFO;
drvcmd2581drivers/block/sbpcd.cdrvcmd[1]=0x02;
drvcmd2582drivers/block/sbpcd.cdrvcmd[2]=0xAB;
drvcmd2583drivers/block/sbpcd.cdrvcmd[3]=count;
drvcmd2593drivers/block/sbpcd.cdrvcmd[0]=CMD2_DISKINFO;
drvcmd2594drivers/block/sbpcd.cdrvcmd[1]=0x02;
drvcmd2595drivers/block/sbpcd.cdrvcmd[2]=0xAA;
drvcmd2596drivers/block/sbpcd.cdrvcmd[3]=0xFF;
drvcmd2636drivers/block/sbpcd.cdrvcmd[0]=CMD1_READTOC;
drvcmd2637drivers/block/sbpcd.cdrvcmd[2]=num;
drvcmd2644drivers/block/sbpcd.cdrvcmd[0]=CMD2_DISKINFO;
drvcmd2645drivers/block/sbpcd.cdrvcmd[1]=0x02;
drvcmd2646drivers/block/sbpcd.cdrvcmd[2]=num;
drvcmd2652drivers/block/sbpcd.cdrvcmd[0]=CMD0_READTOC;
drvcmd2653drivers/block/sbpcd.cdrvcmd[1]=0x02;
drvcmd2654drivers/block/sbpcd.cdrvcmd[2]=num;
drvcmd2664drivers/block/sbpcd.cdrvcmd[0]=CMDT_DISKINFO;
drvcmd2665drivers/block/sbpcd.cdrvcmd[1]=0x02;
drvcmd2666drivers/block/sbpcd.cdrvcmd[6]=num;
drvcmd2667drivers/block/sbpcd.cdrvcmd[8]=response_count;
drvcmd2668drivers/block/sbpcd.cdrvcmd[9]=0x00;
drvcmd2707drivers/block/sbpcd.cdrvcmd[0]=CMD0_PACKET;
drvcmd2708drivers/block/sbpcd.cdrvcmd[1]=response_count;
drvcmd2769drivers/block/sbpcd.cdrvcmd[0]=CMD1_READ_UPC;
drvcmd2771drivers/block/sbpcd.cdrvcmd[1]=(block>>16)&0xFF;
drvcmd2772drivers/block/sbpcd.cdrvcmd[2]=(block>>8)&0xFF;
drvcmd2773drivers/block/sbpcd.cdrvcmd[3]=block&0xFF;
drvcmd2780drivers/block/sbpcd.cdrvcmd[0]=CMD0_READ_UPC;
drvcmd2782drivers/block/sbpcd.cdrvcmd[2]=(block>>16)&0xFF;
drvcmd2783drivers/block/sbpcd.cdrvcmd[3]=(block>>8)&0xFF;
drvcmd2784drivers/block/sbpcd.cdrvcmd[4]=block&0xFF;
drvcmd2858drivers/block/sbpcd.cdrvcmd[0]=CMD1_MULTISESS;
drvcmd2872drivers/block/sbpcd.cdrvcmd[0]=CMDL_MULTISESS;
drvcmd2873drivers/block/sbpcd.cdrvcmd[1]=3;
drvcmd2874drivers/block/sbpcd.cdrvcmd[2]=1;
drvcmd2885drivers/block/sbpcd.cdrvcmd[0]=CMDT_DISKINFO;
drvcmd2886drivers/block/sbpcd.cdrvcmd[1]=0x02;
drvcmd2887drivers/block/sbpcd.cdrvcmd[6]=0;
drvcmd2888drivers/block/sbpcd.cdrvcmd[8]=response_count;
drvcmd2889drivers/block/sbpcd.cdrvcmd[9]=0x40;
drvcmd2928drivers/block/sbpcd.cdrvcmd[0]=CMD1_SUBCHANINF;
drvcmd2929drivers/block/sbpcd.cdrvcmd[1]=(frame>>16)&0xFF;
drvcmd2930drivers/block/sbpcd.cdrvcmd[2]=(frame>>8)&0xFF;
drvcmd2931drivers/block/sbpcd.cdrvcmd[3]=frame&0xFF;
drvcmd2932drivers/block/sbpcd.cdrvcmd[5]=(count>>8)&0xFF;
drvcmd2933drivers/block/sbpcd.cdrvcmd[6]=count&0xFF;
drvcmd2999drivers/block/sbpcd.cdrvcmd[0]=CMD0_READ_ERR; /* same as CMD1_ and CMDL_ */
drvcmd3004drivers/block/sbpcd.cdrvcmd[0]=CMD2_READ_ERR;
drvcmd3042drivers/block/sbpcd.cdrvcmd[0]=CMD0_READ_ERR; /* same as CMD1_ and CMDL_ */
drvcmd3050drivers/block/sbpcd.cdrvcmd[0]=CMD0_READ_VER; /* same as CMD1_ and CMDL_ */
drvcmd3113drivers/block/sbpcd.cdrvcmd[0]=CMD2_READ_ERR;
drvcmd3128drivers/block/sbpcd.cdrvcmd[0]=CMD2_READ_VER;
drvcmd3201drivers/block/sbpcd.cdrvcmd[0]=CMDT_READ_VER;
drvcmd3202drivers/block/sbpcd.cdrvcmd[4]=response_count;
drvcmd4186drivers/block/sbpcd.cdrvcmd[0]=CMD0_READ_XA; /* "read XA frames", old drives */
drvcmd4187drivers/block/sbpcd.cdrvcmd[1]=(block>>16)&0x000000ff;
drvcmd4188drivers/block/sbpcd.cdrvcmd[2]=(block>>8)&0x000000ff;
drvcmd4189drivers/block/sbpcd.cdrvcmd[3]=block&0x000000ff;
drvcmd4190drivers/block/sbpcd.cdrvcmd[4]=0;
drvcmd4191drivers/block/sbpcd.cdrvcmd[5]=read_audio.nframes; /* # of frames */
drvcmd4192drivers/block/sbpcd.cdrvcmd[6]=0;
drvcmd4196drivers/block/sbpcd.cdrvcmd[0]=CMD1_READ; /* "read frames", new drives */
drvcmd4197drivers/block/sbpcd.clba2msf(block,&drvcmd[1]); /* msf-bin format required */
drvcmd4198drivers/block/sbpcd.cdrvcmd[4]=0;
drvcmd4199drivers/block/sbpcd.cdrvcmd[5]=0;
drvcmd4200drivers/block/sbpcd.cdrvcmd[6]=read_audio.nframes; /* # of frames */
drvcmd4209drivers/block/sbpcd.cfor (i=0;i<7;i++) OUT(CDo_command,drvcmd[i]);
drvcmd4499drivers/block/sbpcd.cdrvcmd[0]=CMD0_READ_XA; /* "read XA frames", old drives */
drvcmd4500drivers/block/sbpcd.cdrvcmd[1]=(block>>16)&0x000000ff;
drvcmd4501drivers/block/sbpcd.cdrvcmd[2]=(block>>8)&0x000000ff;
drvcmd4502drivers/block/sbpcd.cdrvcmd[3]=block&0x000000ff;
drvcmd4503drivers/block/sbpcd.cdrvcmd[5]=D_S[d].sbp_read_frames;
drvcmd4507drivers/block/sbpcd.cdrvcmd[0]=CMD0_READ; /* "read frames", old drives */
drvcmd4510drivers/block/sbpcd.clba2msf(block,&drvcmd[1]); /* msf-bcd format required */
drvcmd4511drivers/block/sbpcd.cbin2bcdx(&drvcmd[1]);
drvcmd4512drivers/block/sbpcd.cbin2bcdx(&drvcmd[2]);
drvcmd4513drivers/block/sbpcd.cbin2bcdx(&drvcmd[3]);
drvcmd4517drivers/block/sbpcd.cdrvcmd[1]=(block>>16)&0x000000ff;
drvcmd4518drivers/block/sbpcd.cdrvcmd[2]=(block>>8)&0x000000ff;
drvcmd4519drivers/block/sbpcd.cdrvcmd[3]=block&0x000000ff;
drvcmd4521drivers/block/sbpcd.cdrvcmd[5]=D_S[d].sbp_read_frames;
drvcmd4522drivers/block/sbpcd.cdrvcmd[6]=(D_S[d].drv_type<drv_201)?0:2; /* flag "lba or msf-bcd format" */
drvcmd4527drivers/block/sbpcd.cdrvcmd[0]=CMD1_READ;
drvcmd4528drivers/block/sbpcd.clba2msf(block,&drvcmd[1]); /* msf-bin format required */
drvcmd4529drivers/block/sbpcd.cdrvcmd[6]=D_S[d].sbp_read_frames;
drvcmd4533drivers/block/sbpcd.cdrvcmd[0]=CMD2_READ;
drvcmd4534drivers/block/sbpcd.clba2msf(block,&drvcmd[1]); /* msf-bin format required */
drvcmd4535drivers/block/sbpcd.cdrvcmd[5]=D_S[d].sbp_read_frames;
drvcmd4536drivers/block/sbpcd.cdrvcmd[6]=0x02;
drvcmd4540drivers/block/sbpcd.cdrvcmd[0]=CMDT_READ;
drvcmd4541drivers/block/sbpcd.cdrvcmd[2]=(block>>24)&0x0ff;
drvcmd4542drivers/block/sbpcd.cdrvcmd[3]=(block>>16)&0x0ff;
drvcmd4543drivers/block/sbpcd.cdrvcmd[4]=(block>>8)&0x0ff;
drvcmd4544drivers/block/sbpcd.cdrvcmd[5]=block&0x0ff;
drvcmd4545drivers/block/sbpcd.cdrvcmd[7]=(D_S[d].sbp_read_frames>>8)&0x0ff;
drvcmd4546drivers/block/sbpcd.cdrvcmd[8]=D_S[d].sbp_read_frames&0x0ff;
drvcmd4550drivers/block/sbpcd.cfor (i=0;i<7;i++) OUT(CDo_command,drvcmd[i]);
drvcmd4551drivers/block/sbpcd.cif (famT_drive) for (i=7;i<10;i++) OUT(CDo_command,drvcmd[i]);
drvcmd4727drivers/block/sbpcd.cdrvcmd[0]=CMDT_READ_ERR;