taglinefilesource code
DriveStruct581drivers/block/sbpcd.c} DriveStruct[NR_SBPCD];
DriveStruct748drivers/block/sbpcd.cDriveStruct[d].CD_changed=0xFF;
DriveStruct878drivers/block/sbpcd.cDriveStruct[d].status_byte=0;
DriveStruct879drivers/block/sbpcd.cif (st&p_caddin_old) DriveStruct[d].status_byte |= p_door_closed|p_caddy_in;
DriveStruct880drivers/block/sbpcd.cif (st&p_spinning) DriveStruct[d].status_byte |= p_spinning;
DriveStruct881drivers/block/sbpcd.cif (st&p_check) DriveStruct[d].status_byte |= p_check;
DriveStruct882drivers/block/sbpcd.cif (st&p_busy_old) DriveStruct[d].status_byte |= p_busy_new;
DriveStruct883drivers/block/sbpcd.cif (st&p_disk_ok) DriveStruct[d].status_byte |= p_disk_ok;
DriveStruct885drivers/block/sbpcd.celse { DriveStruct[d].status_byte=st;
DriveStruct974drivers/block/sbpcd.cDriveStruct[d].error_byte=0;
DriveStruct979drivers/block/sbpcd.cDriveStruct[d].error_byte=infobuf[i];
DriveStruct980drivers/block/sbpcd.cDPRINTF((DBG_ERR,"SBPCD: xx_ReadError: infobuf[%d] is %d (%02X)\n",i,DriveStruct[d].error_byte,DriveStruct[d].error_byte));
DriveStruct1011drivers/block/sbpcd.cif (DriveStruct[d].in_SpinUp != 0) DPRINTF((DBG_SPI,"SBPCD: to CDi_stat_loop.\n"));
DriveStruct1020drivers/block/sbpcd.cif (DriveStruct[d].in_SpinUp != 0) DPRINTF((DBG_SPI,"SBPCD: to xx_ReadStatus.\n"));
DriveStruct1026drivers/block/sbpcd.cif (DriveStruct[d].in_SpinUp != 0) DPRINTF((DBG_SPI,"SBPCD: to ResponseStatus.\n"));
DriveStruct1043drivers/block/sbpcd.cif (DriveStruct[d].in_SpinUp != 0) DPRINTF((DBG_SPI,"SBPCD: to xx_ReadError.\n"));
DriveStruct1045drivers/block/sbpcd.cif (DriveStruct[d].in_SpinUp != 0) DPRINTF((DBG_SPI,"SBPCD: to cmd_out OK.\n"));
DriveStruct1083drivers/block/sbpcd.cDriveStruct[d].in_SpinUp = 1;
DriveStruct1102drivers/block/sbpcd.cDriveStruct[d].in_SpinUp = 0;
DriveStruct1152drivers/block/sbpcd.cDriveStruct[d].diskstate_flags &= ~volume_bit;
DriveStruct1154drivers/block/sbpcd.cchannel0=DriveStruct[d].vol_chan0;
DriveStruct1155drivers/block/sbpcd.cvolume0=DriveStruct[d].vol_ctrl0;
DriveStruct1156drivers/block/sbpcd.cchannel1=control1=DriveStruct[d].vol_chan1;
DriveStruct1157drivers/block/sbpcd.cvolume1=value1=DriveStruct[d].vol_ctrl1;
DriveStruct1160drivers/block/sbpcd.cif (((DriveStruct[d].drv_options&sax_a)!=0)&&(DriveStruct[d].drv_type>=drv_211))
DriveStruct1213drivers/block/sbpcd.cif (DriveStruct[d].drv_type>=drv_300)
DriveStruct1225drivers/block/sbpcd.cif (DriveStruct[d].drv_type<drv_211)
DriveStruct1258drivers/block/sbpcd.celse if (DriveStruct[d].drv_type<drv_201) volume0=volume1=value0;
DriveStruct1260drivers/block/sbpcd.cif (DriveStruct[d].drv_type>=drv_201)
DriveStruct1265drivers/block/sbpcd.cif (DriveStruct[d].drv_type>=drv_211)
DriveStruct1281drivers/block/sbpcd.cDriveStruct[d].diskstate_flags |= volume_bit;
DriveStruct1314drivers/block/sbpcd.cif (DriveStruct[d].error_byte!=aud_12) return -1;
DriveStruct1322drivers/block/sbpcd.cif (!(DriveStruct[d].drv_options&(speed_auto|speed_300|speed_150))) return (0);
DriveStruct1324drivers/block/sbpcd.cif (!(DriveStruct[d].drv_options&speed_auto))
DriveStruct1327drivers/block/sbpcd.cif (!(DriveStruct[d].drv_options&speed_300)) speed=0;
DriveStruct1347drivers/block/sbpcd.cDriveStruct[d].CD_changed=1;
DriveStruct1422drivers/block/sbpcd.cDriveStruct[d].diskstate_flags &= ~subq_bit;
DriveStruct1450drivers/block/sbpcd.cDriveStruct[d].SubQ_ctl_adr=DriveStruct[d].SubQ_trk=DriveStruct[d].SubQ_pnt_idx=DriveStruct[d].SubQ_whatisthis=0;
DriveStruct1451drivers/block/sbpcd.cDriveStruct[d].SubQ_run_tot=DriveStruct[d].SubQ_run_trk=0;
DriveStruct1455drivers/block/sbpcd.cDriveStruct[d].SubQ_ctl_adr=swap_nibbles(infobuf[1]);
DriveStruct1456drivers/block/sbpcd.cDriveStruct[d].SubQ_trk=byt2bcd(infobuf[2]);
DriveStruct1457drivers/block/sbpcd.cDriveStruct[d].SubQ_pnt_idx=byt2bcd(infobuf[3]);
DriveStruct1460drivers/block/sbpcd.cDriveStruct[d].SubQ_run_tot=make32(make16(0,infobuf[i]),make16(infobuf[i+1],infobuf[i+2])); /* msf-bin */
DriveStruct1463drivers/block/sbpcd.cDriveStruct[d].SubQ_run_trk=make32(make16(0,infobuf[i]),make16(infobuf[i+1],infobuf[i+2])); /* msf-bin */
DriveStruct1464drivers/block/sbpcd.cDriveStruct[d].SubQ_whatisthis=infobuf[i+3];
DriveStruct1465drivers/block/sbpcd.cDriveStruct[d].diskstate_flags |= subq_bit;
DriveStruct1473drivers/block/sbpcd.cDriveStruct[d].diskstate_flags &= ~frame_size_bit;
DriveStruct1492drivers/block/sbpcd.cif (new_drive) DriveStruct[d].sense_byte=infobuf[i++];
DriveStruct1493drivers/block/sbpcd.cDriveStruct[d].frame_size=make16(infobuf[i],infobuf[i+1]);
DriveStruct1502drivers/block/sbpcd.cDriveStruct[d].diskstate_flags |= frame_size_bit;
DriveStruct1511drivers/block/sbpcd.cDriveStruct[d].diskstate_flags &= ~frame_size_bit;
DriveStruct1513drivers/block/sbpcd.cDriveStruct[d].frame_size=framesize;
DriveStruct1514drivers/block/sbpcd.cif (framesize==CD_FRAMESIZE_RAW) DriveStruct[d].sense_byte=0x82;
DriveStruct1515drivers/block/sbpcd.celse DriveStruct[d].sense_byte=0x00;
DriveStruct1518drivers/block/sbpcd.cDriveStruct[d].sense_byte, DriveStruct[d].frame_size));
DriveStruct1524drivers/block/sbpcd.cdrvcmd[2]=DriveStruct[d].sense_byte;
DriveStruct1525drivers/block/sbpcd.cdrvcmd[3]=(DriveStruct[d].frame_size>>8)&0xFF;
DriveStruct1526drivers/block/sbpcd.cdrvcmd[4]=DriveStruct[d].frame_size&0xFF;
DriveStruct1533drivers/block/sbpcd.cdrvcmd[2]=(DriveStruct[d].frame_size>>8)&0xFF;
DriveStruct1534drivers/block/sbpcd.cdrvcmd[3]=DriveStruct[d].frame_size&0xFF;
DriveStruct1541drivers/block/sbpcd.cDriveStruct[d].diskstate_flags |= frame_size_bit;
DriveStruct1552drivers/block/sbpcd.cDriveStruct[d].diskstate_flags &= ~volume_bit;
DriveStruct1603drivers/block/sbpcd.cif (DriveStruct[d].drv_type>=drv_201)
DriveStruct1605drivers/block/sbpcd.cif (DriveStruct[d].drv_type<drv_300)
DriveStruct1610drivers/block/sbpcd.cif (DriveStruct[d].drv_type>=drv_211)
DriveStruct1628drivers/block/sbpcd.cDriveStruct[d].vol_chan0=chan0;
DriveStruct1629drivers/block/sbpcd.cDriveStruct[d].vol_ctrl0=vol0;
DriveStruct1630drivers/block/sbpcd.cDriveStruct[d].vol_chan1=chan1;
DriveStruct1631drivers/block/sbpcd.cDriveStruct[d].vol_ctrl1=vol1;
DriveStruct1632drivers/block/sbpcd.cDriveStruct[d].vol_chan2=2;
DriveStruct1633drivers/block/sbpcd.cDriveStruct[d].vol_ctrl2=0xFF;
DriveStruct1634drivers/block/sbpcd.cDriveStruct[d].vol_chan3=3;
DriveStruct1635drivers/block/sbpcd.cDriveStruct[d].vol_ctrl3=0xFF;
DriveStruct1636drivers/block/sbpcd.cDriveStruct[d].diskstate_flags |= volume_bit;
DriveStruct1645drivers/block/sbpcd.cDriveStruct[d].diskstate_flags &= ~cd_size_bit;
DriveStruct1660drivers/block/sbpcd.cDriveStruct[d].CDsize_blk=make32(make16(0,infobuf[0]),make16(infobuf[1],infobuf[2]));
DriveStruct1661drivers/block/sbpcd.cif (new_drive) DriveStruct[d].CDsize_blk=msf2blk(DriveStruct[d].CDsize_blk);
DriveStruct1662drivers/block/sbpcd.cDriveStruct[d].CDsize_frm = (DriveStruct[d].CDsize_blk * make16(infobuf[3],infobuf[4])) / CD_FRAMESIZE;
DriveStruct1663drivers/block/sbpcd.cDriveStruct[d].CDsize_blk += 151;
DriveStruct1664drivers/block/sbpcd.cDriveStruct[d].diskstate_flags |= cd_size_bit;
DriveStruct1672drivers/block/sbpcd.cDriveStruct[d].diskstate_flags &= ~toc_bit;
DriveStruct1687drivers/block/sbpcd.cDriveStruct[d].xa_byte=infobuf[0];
DriveStruct1688drivers/block/sbpcd.cDriveStruct[d].n_first_track=infobuf[1];
DriveStruct1689drivers/block/sbpcd.cDriveStruct[d].n_last_track=infobuf[2];
DriveStruct1690drivers/block/sbpcd.cDriveStruct[d].size_msf=make32(make16(0,infobuf[3]),make16(infobuf[4],infobuf[5]));
DriveStruct1691drivers/block/sbpcd.cDriveStruct[d].size_blk=msf2blk(DriveStruct[d].size_msf);
DriveStruct1692drivers/block/sbpcd.cDriveStruct[d].diskstate_flags |= toc_bit;
DriveStruct1694drivers/block/sbpcd.cDriveStruct[d].xa_byte,DriveStruct[d].n_first_track,DriveStruct[d].n_last_track,DriveStruct[d].size_msf));
DriveStruct1718drivers/block/sbpcd.cDriveStruct[d].TocEnt_nixbyte=infobuf[0];
DriveStruct1719drivers/block/sbpcd.cDriveStruct[d].TocEnt_ctl_adr=swap_nibbles(infobuf[1]);
DriveStruct1720drivers/block/sbpcd.cDriveStruct[d].TocEnt_number=infobuf[2];
DriveStruct1721drivers/block/sbpcd.cDriveStruct[d].TocEnt_format=infobuf[3];
DriveStruct1724drivers/block/sbpcd.cDriveStruct[d].TocEnt_address=make32(make16(0,infobuf[i]),
DriveStruct1727drivers/block/sbpcd.cDriveStruct[d].TocEnt_nixbyte, DriveStruct[d].TocEnt_ctl_adr,
DriveStruct1728drivers/block/sbpcd.cDriveStruct[d].TocEnt_number, DriveStruct[d].TocEnt_format,
DriveStruct1729drivers/block/sbpcd.cDriveStruct[d].TocEnt_address));
DriveStruct1753drivers/block/sbpcd.cif (new_drive) DriveStruct[d].UPC_buf[i]=swap_nibbles(*p++);
DriveStruct1756drivers/block/sbpcd.cDriveStruct[d].UPC_buf[i]=((*p++)<<4)&0xFF;
DriveStruct1757drivers/block/sbpcd.cDriveStruct[d].UPC_buf[i] |= *p++;
DriveStruct1760drivers/block/sbpcd.cDriveStruct[d].UPC_buf[6] &= 0xF0;
DriveStruct1771drivers/block/sbpcd.cDriveStruct[d].diskstate_flags &= ~upc_bit;
DriveStruct1823drivers/block/sbpcd.cDriveStruct[d].UPC_ctl_adr=0;
DriveStruct1829drivers/block/sbpcd.cDriveStruct[d].UPC_ctl_adr = (DriveStruct[d].TocEnt_ctl_adr & 0xF0) | 0x02;
DriveStruct1833drivers/block/sbpcd.cDPRINTF((DBG_UPC,"(%02X) ", DriveStruct[d].UPC_ctl_adr));
DriveStruct1836drivers/block/sbpcd.cDPRINTF((DBG_UPC,"%02X ", DriveStruct[d].UPC_buf[i]));
DriveStruct1840drivers/block/sbpcd.cDriveStruct[d].diskstate_flags |= upc_bit;
DriveStruct1848drivers/block/sbpcd.cDriveStruct[d].f_multisession=0;
DriveStruct1862drivers/block/sbpcd.cDriveStruct[d].f_multisession=1;
DriveStruct1863drivers/block/sbpcd.cDriveStruct[d].lba_multi=msf2blk(make32(make16(0,infobuf[1]),
DriveStruct1865drivers/block/sbpcd.cDriveStruct[d].last_redirect=20;
DriveStruct1884drivers/block/sbpcd.cDriveStruct[d].lba_multi=msf2blk(make32(make16(0,infobuf[5]),
DriveStruct1886drivers/block/sbpcd.cif (DriveStruct[d].lba_multi>200)
DriveStruct1888drivers/block/sbpcd.cDPRINTF((DBG_MUL,"SBPCD: MultiSession base: %06X\n", DriveStruct[d].lba_multi));
DriveStruct1889drivers/block/sbpcd.cDriveStruct[d].f_multisession=1;
DriveStruct1890drivers/block/sbpcd.cDriveStruct[d].last_redirect=20;
DriveStruct1908drivers/block/sbpcd.cif (DriveStruct[d].audio_state!=audio_playing) return (-ENODATA);
DriveStruct1919drivers/block/sbpcd.cDriveStruct[d].frame_size=CD_FRAMESIZE_SUB;
DriveStruct1998drivers/block/sbpcd.cDriveStruct[d].drv_type=0;
DriveStruct2002drivers/block/sbpcd.cDriveStruct[d].drive_model[0]=infobuf[i++];
DriveStruct2003drivers/block/sbpcd.cDriveStruct[d].drive_model[1]=infobuf[i++];
DriveStruct2004drivers/block/sbpcd.cDriveStruct[d].drive_model[2]='-';
DriveStruct2005drivers/block/sbpcd.cDriveStruct[d].drive_model[3]='x';
DriveStruct2006drivers/block/sbpcd.cDriveStruct[d].drv_type=drv_new;
DriveStruct2008drivers/block/sbpcd.cif (!DriveStruct[d].drv_type)
DriveStruct2013drivers/block/sbpcd.cDriveStruct[d].drive_model[0]='2';
DriveStruct2014drivers/block/sbpcd.cDriveStruct[d].drive_model[1]='x';
DriveStruct2015drivers/block/sbpcd.cDriveStruct[d].drive_model[2]='-';
DriveStruct2016drivers/block/sbpcd.cDriveStruct[d].drive_model[3]='x';
DriveStruct2017drivers/block/sbpcd.cDriveStruct[d].drv_type=drv_old;
DriveStruct2020drivers/block/sbpcd.cif (!DriveStruct[d].drv_type)
DriveStruct2025drivers/block/sbpcd.cDriveStruct[d].drive_model[0]=infobuf[i++];
DriveStruct2026drivers/block/sbpcd.cDriveStruct[d].drive_model[1]=infobuf[i++];
DriveStruct2027drivers/block/sbpcd.cDriveStruct[d].drive_model[2]=infobuf[i++];
DriveStruct2028drivers/block/sbpcd.cDriveStruct[d].drive_model[3]=infobuf[i++];
DriveStruct2029drivers/block/sbpcd.cDriveStruct[d].drv_type=drv_lcs;
DriveStruct2032drivers/block/sbpcd.cif (!DriveStruct[d].drv_type)
DriveStruct2037drivers/block/sbpcd.cif (lcs_drive) DriveStruct[d].drv_type=drv_260; /* still needs a closer look */
DriveStruct2040drivers/block/sbpcd.cfor (j=0;j<4;j++) DriveStruct[d].firmware_version[j]=infobuf[i+j];
DriveStruct2041drivers/block/sbpcd.cj = (DriveStruct[d].firmware_version[0] & 0x0F) * 100 +
DriveStruct2042drivers/block/sbpcd.c(DriveStruct[d].firmware_version[2] & 0x0F) *10 +
DriveStruct2043drivers/block/sbpcd.c(DriveStruct[d].firmware_version[3] & 0x0F);
DriveStruct2046drivers/block/sbpcd.cif (j<100) DriveStruct[d].drv_type=drv_099;
DriveStruct2047drivers/block/sbpcd.celse DriveStruct[d].drv_type=drv_100;
DriveStruct2049drivers/block/sbpcd.celse if (j<200) DriveStruct[d].drv_type=drv_199;
DriveStruct2050drivers/block/sbpcd.celse if (j<201) DriveStruct[d].drv_type=drv_200;
DriveStruct2051drivers/block/sbpcd.celse if (j<210) DriveStruct[d].drv_type=drv_201;
DriveStruct2052drivers/block/sbpcd.celse if (j<211) DriveStruct[d].drv_type=drv_210;
DriveStruct2053drivers/block/sbpcd.celse if (j<300) DriveStruct[d].drv_type=drv_211;
DriveStruct2054drivers/block/sbpcd.celse DriveStruct[d].drv_type=drv_300;
DriveStruct2069drivers/block/sbpcd.cDPRINTF((DBG_DID,"SBPCD: switch_drive: drive %d activated.\n",DriveStruct[d].drv_minor));
DriveStruct2086drivers/block/sbpcd.cDriveStruct[j].drv_minor=j;
DriveStruct2094drivers/block/sbpcd.cDriveStruct[d].drv_options=drv_pattern[j];
DriveStruct2096drivers/block/sbpcd.cDriveStruct[d].drv_options&=~(speed_auto|speed_300|speed_150);
DriveStruct2098drivers/block/sbpcd.cDriveStruct[d].drv_minor,
DriveStruct2100drivers/block/sbpcd.cDriveStruct[d].drive_model,
DriveStruct2101drivers/block/sbpcd.cDriveStruct[d].firmware_version);
DriveStruct2104drivers/block/sbpcd.celse DriveStruct[d].drv_minor=-1;
DriveStruct2244drivers/block/sbpcd.ci=msf2blk(DriveStruct[d].pos_audio_end)-1;
DriveStruct2253drivers/block/sbpcd.cDriveStruct[d].diskstate_flags &= ~toc_bit;
DriveStruct2254drivers/block/sbpcd.cDriveStruct[d].ored_ctl_adr=0;
DriveStruct2255drivers/block/sbpcd.cfor (j=DriveStruct[d].n_first_track;j<=DriveStruct[d].n_last_track;j++)
DriveStruct2259drivers/block/sbpcd.cDriveStruct[d].TocBuffer[j].nixbyte=DriveStruct[d].TocEnt_nixbyte;
DriveStruct2260drivers/block/sbpcd.cDriveStruct[d].TocBuffer[j].ctl_adr=DriveStruct[d].TocEnt_ctl_adr;
DriveStruct2261drivers/block/sbpcd.cDriveStruct[d].TocBuffer[j].number=DriveStruct[d].TocEnt_number;
DriveStruct2262drivers/block/sbpcd.cDriveStruct[d].TocBuffer[j].format=DriveStruct[d].TocEnt_format;
DriveStruct2263drivers/block/sbpcd.cDriveStruct[d].TocBuffer[j].address=DriveStruct[d].TocEnt_address;
DriveStruct2264drivers/block/sbpcd.cDriveStruct[d].ored_ctl_adr |= DriveStruct[d].TocEnt_ctl_adr;
DriveStruct2267drivers/block/sbpcd.cDriveStruct[d].TocBuffer[j].nixbyte=0;
DriveStruct2268drivers/block/sbpcd.cDriveStruct[d].TocBuffer[j].ctl_adr=0;
DriveStruct2269drivers/block/sbpcd.cDriveStruct[d].TocBuffer[j].number=CDROM_LEADOUT;
DriveStruct2270drivers/block/sbpcd.cDriveStruct[d].TocBuffer[j].format=0;
DriveStruct2271drivers/block/sbpcd.cDriveStruct[d].TocBuffer[j].address=DriveStruct[d].size_msf;
DriveStruct2273drivers/block/sbpcd.cDriveStruct[d].diskstate_flags |= toc_bit;
DriveStruct2281drivers/block/sbpcd.cDriveStruct[d].mode=READ_M1;
DriveStruct2325drivers/block/sbpcd.ci=xx_ReadTocEntry(DriveStruct[d].n_first_track);
DriveStruct2338drivers/block/sbpcd.cif ((!new_drive) && (DriveStruct[d].xa_byte==0x20)) /* XA disk with old drive */
DriveStruct2362drivers/block/sbpcd.cif (DriveStruct[d].CD_changed==0xFF)
DriveStruct2366drivers/block/sbpcd.cDriveStruct[d].diskstate_flags=0;
DriveStruct2368drivers/block/sbpcd.cDriveStruct[d].audio_state=0;
DriveStruct2379drivers/block/sbpcd.cDriveStruct[d].CD_changed=1;
DriveStruct2390drivers/block/sbpcd.cDriveStruct[d].diskstate_flags=0;
DriveStruct2392drivers/block/sbpcd.cDriveStruct[d].audio_state=0;
DriveStruct2400drivers/block/sbpcd.cif (DriveStruct[d].audio_state!=audio_pausing)
DriveStruct2408drivers/block/sbpcd.cif (DriveStruct[d].audio_state==audio_playing) seek_pos_audio_end();
DriveStruct2409drivers/block/sbpcd.cDriveStruct[d].audio_state=0;
DriveStruct2418drivers/block/sbpcd.cDriveStruct[d].diskstate_flags=0;
DriveStruct2420drivers/block/sbpcd.cDriveStruct[d].audio_state=0;
DriveStruct2434drivers/block/sbpcd.cif (DriveStruct[d].audio_state==audio_playing) return (-EINVAL);
DriveStruct2568drivers/block/sbpcd.cswitch (DriveStruct[d].audio_state)
DriveStruct2573drivers/block/sbpcd.cDriveStruct[d].audio_state=audio_pausing;
DriveStruct2576drivers/block/sbpcd.cDriveStruct[d].pos_audio_start=DriveStruct[d].SubQ_run_tot;
DriveStruct2579drivers/block/sbpcd.ci=xx_Seek(DriveStruct[d].pos_audio_start,1);
DriveStruct2591drivers/block/sbpcd.cif (DriveStruct[d].audio_state!=audio_pausing) return -EINVAL;
DriveStruct2594drivers/block/sbpcd.cDriveStruct[d].audio_state=audio_playing;
DriveStruct2599drivers/block/sbpcd.cif (DriveStruct[d].audio_state==audio_playing)
DriveStruct2605drivers/block/sbpcd.cDriveStruct[d].pos_audio_start=DriveStruct[d].SubQ_run_tot;
DriveStruct2606drivers/block/sbpcd.ci=xx_Seek(DriveStruct[d].pos_audio_start,1);
DriveStruct2612drivers/block/sbpcd.cDriveStruct[d].pos_audio_start = (msf.cdmsf_min0<<16) |
DriveStruct2615drivers/block/sbpcd.cDriveStruct[d].pos_audio_end = (msf.cdmsf_min1<<16) |
DriveStruct2619drivers/block/sbpcd.cDriveStruct[d].pos_audio_start,DriveStruct[d].pos_audio_end));
DriveStruct2620drivers/block/sbpcd.ci=xx_PlayAudio(DriveStruct[d].pos_audio_start,DriveStruct[d].pos_audio_end);
DriveStruct2625drivers/block/sbpcd.cDriveStruct[d].audio_state=audio_playing;
DriveStruct2630drivers/block/sbpcd.cif (DriveStruct[d].audio_state==audio_playing)
DriveStruct2645drivers/block/sbpcd.cif (ti.cdti_trk0<DriveStruct[d].n_first_track) return (-EINVAL);
DriveStruct2646drivers/block/sbpcd.cif (ti.cdti_trk0>DriveStruct[d].n_last_track) return (-EINVAL);
DriveStruct2648drivers/block/sbpcd.cif (ti.cdti_trk1>DriveStruct[d].n_last_track) ti.cdti_trk1=DriveStruct[d].n_last_track;
DriveStruct2649drivers/block/sbpcd.cDriveStruct[d].pos_audio_start=DriveStruct[d].TocBuffer[ti.cdti_trk0].address;
DriveStruct2650drivers/block/sbpcd.cDriveStruct[d].pos_audio_end=DriveStruct[d].TocBuffer[ti.cdti_trk1+1].address;
DriveStruct2651drivers/block/sbpcd.ci=xx_PlayAudio(DriveStruct[d].pos_audio_start,DriveStruct[d].pos_audio_end);
DriveStruct2655drivers/block/sbpcd.cDriveStruct[d].audio_state=audio_playing;
DriveStruct2660drivers/block/sbpcd.ctochdr.cdth_trk0=DriveStruct[d].n_first_track;
DriveStruct2661drivers/block/sbpcd.ctochdr.cdth_trk1=DriveStruct[d].n_last_track;
DriveStruct2673drivers/block/sbpcd.cif (i==CDROM_LEADOUT) i=DriveStruct[d].n_last_track+1;
DriveStruct2674drivers/block/sbpcd.celse if (i<DriveStruct[d].n_first_track||i>DriveStruct[d].n_last_track) return (-EINVAL);
DriveStruct2675drivers/block/sbpcd.ctocentry.cdte_adr=DriveStruct[d].TocBuffer[i].ctl_adr&0x0F;
DriveStruct2676drivers/block/sbpcd.ctocentry.cdte_ctrl=(DriveStruct[d].TocBuffer[i].ctl_adr>>4)&0x0F;
DriveStruct2677drivers/block/sbpcd.ctocentry.cdte_datamode=DriveStruct[d].TocBuffer[i].format;
DriveStruct2679drivers/block/sbpcd.c{ tocentry.cdte_addr.msf.minute=(DriveStruct[d].TocBuffer[i].address>>16)&0x00FF;
DriveStruct2680drivers/block/sbpcd.ctocentry.cdte_addr.msf.second=(DriveStruct[d].TocBuffer[i].address>>8)&0x00FF;
DriveStruct2681drivers/block/sbpcd.ctocentry.cdte_addr.msf.frame=DriveStruct[d].TocBuffer[i].address&0x00FF;
DriveStruct2684drivers/block/sbpcd.ctocentry.cdte_addr.lba=msf2blk(DriveStruct[d].TocBuffer[i].address);
DriveStruct2694drivers/block/sbpcd.cDriveStruct[d].audio_state=0;
DriveStruct2700drivers/block/sbpcd.cDriveStruct[d].audio_state=0;
DriveStruct2708drivers/block/sbpcd.cDriveStruct[d].open_count=0; /* to get it locked next time again */
DriveStruct2712drivers/block/sbpcd.cDriveStruct[d].CD_changed=0xFF;
DriveStruct2713drivers/block/sbpcd.cDriveStruct[d].diskstate_flags=0;
DriveStruct2714drivers/block/sbpcd.cDriveStruct[d].audio_state=0;
DriveStruct2720drivers/block/sbpcd.cDriveStruct[d].f_eject=arg;
DriveStruct2728drivers/block/sbpcd.cDriveStruct[d].vol_chan0=0;
DriveStruct2729drivers/block/sbpcd.cDriveStruct[d].vol_ctrl0=volctrl.channel0;
DriveStruct2730drivers/block/sbpcd.cDriveStruct[d].vol_chan1=1;
DriveStruct2731drivers/block/sbpcd.cDriveStruct[d].vol_ctrl1=volctrl.channel1;
DriveStruct2743drivers/block/sbpcd.cswitch (DriveStruct[d].audio_state)
DriveStruct2755drivers/block/sbpcd.cSC.cdsc_adr=DriveStruct[d].SubQ_ctl_adr;
DriveStruct2756drivers/block/sbpcd.cSC.cdsc_ctrl=DriveStruct[d].SubQ_ctl_adr>>4;
DriveStruct2757drivers/block/sbpcd.cSC.cdsc_trk=bcd2bin(DriveStruct[d].SubQ_trk);
DriveStruct2758drivers/block/sbpcd.cSC.cdsc_ind=bcd2bin(DriveStruct[d].SubQ_pnt_idx);
DriveStruct2761drivers/block/sbpcd.cSC.cdsc_absaddr.lba=msf2blk(DriveStruct[d].SubQ_run_tot);
DriveStruct2762drivers/block/sbpcd.cSC.cdsc_reladdr.lba=msf2blk(DriveStruct[d].SubQ_run_trk);
DriveStruct2766drivers/block/sbpcd.cSC.cdsc_absaddr.msf.minute=(DriveStruct[d].SubQ_run_tot>>16)&0x00FF;
DriveStruct2767drivers/block/sbpcd.cSC.cdsc_absaddr.msf.second=(DriveStruct[d].SubQ_run_tot>>8)&0x00FF;
DriveStruct2768drivers/block/sbpcd.cSC.cdsc_absaddr.msf.frame=DriveStruct[d].SubQ_run_tot&0x00FF;
DriveStruct2769drivers/block/sbpcd.cSC.cdsc_reladdr.msf.minute=(DriveStruct[d].SubQ_run_trk>>16)&0x00FF;
DriveStruct2770drivers/block/sbpcd.cSC.cdsc_reladdr.msf.second=(DriveStruct[d].SubQ_run_trk>>8)&0x00FF;
DriveStruct2771drivers/block/sbpcd.cSC.cdsc_reladdr.msf.frame=DriveStruct[d].SubQ_run_trk&0x00FF;
DriveStruct2785drivers/block/sbpcd.cDriveStruct[d].mode=READ_M1;
DriveStruct2792drivers/block/sbpcd.cDriveStruct[d].mode=READ_M2;
DriveStruct2811drivers/block/sbpcd.cif (DriveStruct[d].aud_buf==NULL) return (-EINVAL);
DriveStruct2834drivers/block/sbpcd.cDriveStruct[d].mode=READ_AU;
DriveStruct2909drivers/block/sbpcd.cp = DriveStruct[d].aud_buf;
DriveStruct2960drivers/block/sbpcd.cDriveStruct[d].status_byte));
DriveStruct2972drivers/block/sbpcd.c(u_char *) DriveStruct[d].aud_buf,
DriveStruct2979drivers/block/sbpcd.cDriveStruct[d].mode=READ_M1;
DriveStruct3011drivers/block/sbpcd.c(CURRENT->sector/4 >= DriveStruct[d].sbp_first_frame) &&
DriveStruct3012drivers/block/sbpcd.c(CURRENT->sector/4 <= DriveStruct[d].sbp_last_frame) )
DriveStruct3014drivers/block/sbpcd.coffs = (CURRENT->sector - DriveStruct[d].sbp_first_frame * 4) * 512;
DriveStruct3015drivers/block/sbpcd.cmemcpy(CURRENT->buffer, DriveStruct[d].sbp_buf + offs, 512);
DriveStruct3080drivers/block/sbpcd.cif ((!new_drive) && (DriveStruct[d].xa_byte==0x20)) /* XA disk with old drive */
DriveStruct3129drivers/block/sbpcd.cDriveStruct[d].sbp_first_frame=DriveStruct[d].sbp_last_frame=-1;      /* purge buffer */
DriveStruct3136drivers/block/sbpcd.cif (DriveStruct[d].f_multisession)
DriveStruct3139drivers/block/sbpcd.cblk2msf(DriveStruct[d].lba_multi+block),
DriveStruct3141drivers/block/sbpcd.cblock=DriveStruct[d].lba_multi+block;
DriveStruct3144drivers/block/sbpcd.cif ((block<=DriveStruct[d].last_redirect)
DriveStruct3145drivers/block/sbpcd.c&& (DriveStruct[d].f_multisession))
DriveStruct3148drivers/block/sbpcd.cblk2msf(DriveStruct[d].lba_multi+block),
DriveStruct3150drivers/block/sbpcd.cblock=DriveStruct[d].lba_multi+block;
DriveStruct3155drivers/block/sbpcd.cif (block+SBP_BUFFER_FRAMES <= DriveStruct[d].CDsize_frm)
DriveStruct3156drivers/block/sbpcd.cDriveStruct[d].sbp_read_frames = SBP_BUFFER_FRAMES;
DriveStruct3159drivers/block/sbpcd.cDriveStruct[d].sbp_read_frames=DriveStruct[d].CDsize_frm-block;
DriveStruct3161drivers/block/sbpcd.cif (DriveStruct[d].sbp_read_frames < 1)
DriveStruct3164drivers/block/sbpcd.cblock, DriveStruct[d].CDsize_frm));
DriveStruct3165drivers/block/sbpcd.cDriveStruct[d].sbp_read_frames=1;
DriveStruct3168drivers/block/sbpcd.cDriveStruct[d].sbp_current = 0;
DriveStruct3178drivers/block/sbpcd.cif (DriveStruct[d].xa_byte==0x20)
DriveStruct3186drivers/block/sbpcd.cdrvcmd[5]=DriveStruct[d].sbp_read_frames;
DriveStruct3193drivers/block/sbpcd.cif (DriveStruct[d].drv_type>=drv_201)
DriveStruct3207drivers/block/sbpcd.cdrvcmd[5]=DriveStruct[d].sbp_read_frames;
DriveStruct3208drivers/block/sbpcd.cdrvcmd[6]=(DriveStruct[d].drv_type<drv_201)?0:2; /* flag "lba or msf-bcd format" */
DriveStruct3217drivers/block/sbpcd.cdrvcmd[6]=DriveStruct[d].sbp_read_frames;
DriveStruct3243drivers/block/sbpcd.cfor (frame=DriveStruct[d].sbp_current;frame<DriveStruct[d].sbp_read_frames&&!error_flag; frame++)
DriveStruct3275drivers/block/sbpcd.cif ((DriveStruct[d].ored_ctl_adr&0x40)==0)
DriveStruct3284drivers/block/sbpcd.cp = DriveStruct[d].sbp_buf + frame *  CD_FRAMESIZE;
DriveStruct3291drivers/block/sbpcd.cDriveStruct[d].sbp_current++;
DriveStruct3350drivers/block/sbpcd.cDriveStruct[d].status_byte));
DriveStruct3362drivers/block/sbpcd.cDriveStruct[d].sbp_first_frame = CURRENT -> sector / 4;
DriveStruct3363drivers/block/sbpcd.cDriveStruct[d].sbp_last_frame = DriveStruct[d].sbp_first_frame + DriveStruct[d].sbp_read_frames - 1;
DriveStruct3403drivers/block/sbpcd.cDPRINTF((DBG_STA,"SBPCD: sbpcd_open: status %02X\n", DriveStruct[d].status_byte));
DriveStruct3419drivers/block/sbpcd.cDriveStruct[d].open_count,DriveStruct[d].open_count+1));
DriveStruct3420drivers/block/sbpcd.cif (++DriveStruct[d].open_count==1)
DriveStruct3429drivers/block/sbpcd.cif ((DriveStruct[d].ored_ctl_adr&0x40)==0)
DriveStruct3449drivers/block/sbpcd.cDriveStruct[d].sbp_first_frame=DriveStruct[d].sbp_last_frame=-1;
DriveStruct3452drivers/block/sbpcd.cDriveStruct[d].diskstate_flags &= ~cd_size_bit;
DriveStruct3458drivers/block/sbpcd.cDriveStruct[d].open_count,DriveStruct[d].open_count-1));
DriveStruct3459drivers/block/sbpcd.cif (DriveStruct[d].open_count!=0) /* CDROMEJECT may have been done */
DriveStruct3461drivers/block/sbpcd.cif (--DriveStruct[d].open_count==0) 
DriveStruct3466drivers/block/sbpcd.cif (DriveStruct[d].f_eject) yy_SpinDown();
DriveStruct3681drivers/block/sbpcd.cif (DriveStruct[j].drv_minor==-1) continue;
DriveStruct3685drivers/block/sbpcd.cDriveStruct[d].sbp_first_frame = -1;  /* First frame in buffer */
DriveStruct3686drivers/block/sbpcd.cDriveStruct[d].sbp_last_frame = -1;   /* Last frame in buffer  */
DriveStruct3687drivers/block/sbpcd.cDriveStruct[d].sbp_read_frames = 0;   /* Number of frames being read to buffer */
DriveStruct3688drivers/block/sbpcd.cDriveStruct[d].sbp_current = 0;       /* Frame being currently read */
DriveStruct3689drivers/block/sbpcd.cDriveStruct[d].CD_changed=1;
DriveStruct3690drivers/block/sbpcd.cDriveStruct[d].frame_size=CD_FRAMESIZE;
DriveStruct3692drivers/block/sbpcd.cif (new_drive) DriveStruct[d].f_eject=1;
DriveStruct3693drivers/block/sbpcd.celse DriveStruct[d].f_eject=0;
DriveStruct3695drivers/block/sbpcd.cDriveStruct[d].f_eject=0;
DriveStruct3711drivers/block/sbpcd.cif (DriveStruct[d].error_byte==aud_12)
DriveStruct3721drivers/block/sbpcd.cif (i>=0) DriveStruct[d].CD_changed=1;
DriveStruct3755drivers/block/sbpcd.cif (DriveStruct[j].drv_minor==-1) continue;
DriveStruct3759drivers/block/sbpcd.cDriveStruct[j].sbp_buf=(u_char *)mem_start;
DriveStruct3763drivers/block/sbpcd.cDriveStruct[j].aud_buf=(u_char *)mem_start;
DriveStruct3766drivers/block/sbpcd.celse DriveStruct[j].aud_buf=NULL;
DriveStruct3814drivers/block/sbpcd.cDPRINTF((DBG_CHK,"SBPCD: media_check: %02X\n",DriveStruct[d].status_byte));
DriveStruct3820drivers/block/sbpcd.cif (DriveStruct[d].CD_changed==0xFF) DPRINTF((DBG_CHK,"SBPCD: media_check: \"changed\" assumed.\n"));
DriveStruct3825drivers/block/sbpcd.cDriveStruct[d].CD_changed=0xFF;
DriveStruct3830drivers/block/sbpcd.cDriveStruct[d].CD_changed=0xFF;
DriveStruct3835drivers/block/sbpcd.cif (DriveStruct[d].CD_changed==0xFF)
DriveStruct3837drivers/block/sbpcd.cDriveStruct[d].CD_changed=1;
DriveStruct145include/linux/sbpcd.h#define upc_valid (DriveStruct[d].diskstate_flags&upc_bit)
DriveStruct146include/linux/sbpcd.h#define volume_valid (DriveStruct[d].diskstate_flags&volume_bit)
DriveStruct147include/linux/sbpcd.h#define toc_valid (DriveStruct[d].diskstate_flags&toc_bit)
DriveStruct148include/linux/sbpcd.h#define cd_size_valid (DriveStruct[d].diskstate_flags&cd_size_bit)
DriveStruct149include/linux/sbpcd.h#define subq_valid (DriveStruct[d].diskstate_flags&subq_bit)
DriveStruct150include/linux/sbpcd.h#define frame_size_valid (DriveStruct[d].diskstate_flags&frame_size_bit)
DriveStruct174include/linux/sbpcd.h#define st_door_closed (DriveStruct[d].status_byte&p_door_closed)
DriveStruct175include/linux/sbpcd.h#define st_caddy_in (DriveStruct[d].status_byte&p_caddy_in)
DriveStruct176include/linux/sbpcd.h#define st_spinning (DriveStruct[d].status_byte&p_spinning)
DriveStruct177include/linux/sbpcd.h#define st_check (DriveStruct[d].status_byte&p_check)
DriveStruct178include/linux/sbpcd.h#define st_busy (DriveStruct[d].status_byte&p_busy_new)
DriveStruct179include/linux/sbpcd.h#define st_door_locked (DriveStruct[d].status_byte&p_door_locked)
DriveStruct180include/linux/sbpcd.h#define st_diskok (DriveStruct[d].status_byte&p_disk_ok)
DriveStruct213include/linux/sbpcd.h#define old_drive (DriveStruct[d].drv_type&drv_old)
DriveStruct214include/linux/sbpcd.h#define lcs_drive (DriveStruct[d].drv_type&drv_lcs)
DriveStruct215include/linux/sbpcd.h#define new_drive (DriveStruct[d].drv_type&drv_new)