Lines Matching defs:_floppy

588 static struct floppy_struct *_floppy = floppy_type;
2112 _floppy = floppy_type + type;
2114 _floppy = current_type[drive];
2153 raw_cmd->rate = _floppy->rate & 0x43;
2155 raw_cmd->cmd[COMMAND] = FM_MODE(_floppy, FD_FORMAT);
2156 raw_cmd->cmd[DR_SELECT] = UNIT(current_drive) + PH_HEAD(_floppy, format_req.head);
2157 raw_cmd->cmd[F_SIZECODE] = FD_SIZECODE(_floppy);
2158 raw_cmd->cmd[F_SECT_PER_TRACK] = _floppy->sect << 2 >> raw_cmd->cmd[F_SIZECODE];
2159 raw_cmd->cmd[F_GAP] = _floppy->fmt_gap;
2180 if (_floppy->fmt_gap < 0x22)
2203 if (_floppy->stretch & FD_SECTBASEMASK) {
2205 here[count].sect += FD_SECTBASE(_floppy) - 1;
2212 setup_format_params(format_req.track << STRETCH(_floppy));
2232 if (!_floppy ||
2233 _floppy->track > drive_params[current_drive].tracks ||
2234 tmp_format_req->track >= _floppy->track ||
2235 tmp_format_req->head >= _floppy->head ||
2236 (_floppy->sect << 2) % (1 << FD_SIZECODE(_floppy)) ||
2237 !_floppy->fmt_gap) {
2295 if (block > _floppy->sect)
2385 current_type[current_drive] = _floppy;
2386 floppy_sizes[TOMINOR(current_drive)] = _floppy->size;
2393 _floppy->name, current_drive);
2394 current_type[current_drive] = _floppy;
2395 floppy_sizes[TOMINOR(current_drive)] = _floppy->size;
2438 max_sector -= (max_sector % _floppy->sect) % ssize;
2583 raw_cmd->cmd[COMMAND] = FM_MODE(_floppy, FD_READ);
2586 raw_cmd->cmd[COMMAND] = FM_MODE(_floppy, FD_WRITE);
2592 max_sector = _floppy->sect * _floppy->head;
2596 if (_floppy->track && raw_cmd->cmd[TRACK] >= _floppy->track) {
2603 raw_cmd->cmd[HEAD] = fsector_t / _floppy->sect;
2605 if (((_floppy->stretch & (FD_SWAPSIDES | FD_SECTBASEMASK)) ||
2607 fsector_t < _floppy->sect)
2608 max_sector = _floppy->sect;
2611 if ((_floppy->rate & FD_2M) && (!raw_cmd->cmd[TRACK]) && (!raw_cmd->cmd[HEAD])) {
2612 max_sector = 2 * _floppy->sect / 3;
2615 min_t(int, _floppy->sect - fsector_t,
2621 raw_cmd->cmd[SIZECODE] = FD_SIZECODE(_floppy);
2622 raw_cmd->rate = _floppy->rate & 0x43;
2623 if ((_floppy->rate & FD_2M) &&
2631 raw_cmd->track = raw_cmd->cmd[TRACK] << STRETCH(_floppy);
2632 raw_cmd->cmd[DR_SELECT] = UNIT(current_drive) + PH_HEAD(_floppy, raw_cmd->cmd[HEAD]);
2633 raw_cmd->cmd[GAP] = _floppy->gap;
2635 raw_cmd->cmd[SECT_PER_TRACK] = _floppy->sect << 2 >> raw_cmd->cmd[SIZECODE];
2636 raw_cmd->cmd[SECTOR] = ((fsector_t % _floppy->sect) << 2 >> raw_cmd->cmd[SIZECODE]) +
2637 FD_SECTBASE(_floppy);
2642 tracksize = _floppy->sect - _floppy->sect % ssize;
2643 if (tracksize < _floppy->sect) {
2645 if (tracksize <= fsector_t % _floppy->sect)
2649 while (tracksize <= fsector_t % _floppy->sect) {
2650 while (tracksize + ssize > _floppy->sect) {
2658 max_sector = raw_cmd->cmd[HEAD] * _floppy->sect + tracksize;
2659 } else if (!raw_cmd->cmd[TRACK] && !raw_cmd->cmd[HEAD] && !(_floppy->rate & FD_2M) && probing) {
2660 max_sector = _floppy->sect;
2663 max_sector = _floppy->sect;
2666 in_sector_offset = (fsector_t % _floppy->sect) % ssize;
2689 raw_cmd->cmd[COMMAND] = FM_MODE(_floppy, FD_READ);
2896 if (!_floppy) { /* Autodetection */
2901 _floppy = NULL;
2907 _floppy = floppy_type + drive_params[current_drive].autodetect[drive_state[current_drive].probed_format];