Lines Matching defs:_floppy

588 static struct floppy_struct *_floppy = floppy_type;
2112 _floppy = floppy_type + type;
2114 _floppy = current_type[drive];
2154 raw_cmd->rate = _floppy->rate & 0x43;
2156 raw_cmd->cmd[COMMAND] = FM_MODE(_floppy, FD_FORMAT);
2157 raw_cmd->cmd[DR_SELECT] = UNIT(current_drive) + PH_HEAD(_floppy, format_req.head);
2158 raw_cmd->cmd[F_SIZECODE] = FD_SIZECODE(_floppy);
2159 raw_cmd->cmd[F_SECT_PER_TRACK] = _floppy->sect << 2 >> raw_cmd->cmd[F_SIZECODE];
2160 raw_cmd->cmd[F_GAP] = _floppy->fmt_gap;
2181 if (_floppy->fmt_gap < 0x22)
2204 if (_floppy->stretch & FD_SECTBASEMASK) {
2206 here[count].sect += FD_SECTBASE(_floppy) - 1;
2213 setup_format_params(format_req.track << STRETCH(_floppy));
2233 if (!_floppy ||
2234 _floppy->track > drive_params[current_drive].tracks ||
2235 tmp_format_req->track >= _floppy->track ||
2236 tmp_format_req->head >= _floppy->head ||
2237 (_floppy->sect << 2) % (1 << FD_SIZECODE(_floppy)) ||
2238 !_floppy->fmt_gap) {
2296 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;
2416 max_sector -= (max_sector % _floppy->sect) % ssize;
2556 raw_cmd->cmd[COMMAND] = FM_MODE(_floppy, FD_READ);
2559 raw_cmd->cmd[COMMAND] = FM_MODE(_floppy, FD_WRITE);
2565 max_sector = _floppy->sect * _floppy->head;
2569 if (_floppy->track && raw_cmd->cmd[TRACK] >= _floppy->track) {
2576 raw_cmd->cmd[HEAD] = fsector_t / _floppy->sect;
2578 if (((_floppy->stretch & (FD_SWAPSIDES | FD_SECTBASEMASK)) ||
2580 fsector_t < _floppy->sect)
2581 max_sector = _floppy->sect;
2584 if ((_floppy->rate & FD_2M) && (!raw_cmd->cmd[TRACK]) && (!raw_cmd->cmd[HEAD])) {
2585 max_sector = 2 * _floppy->sect / 3;
2588 min_t(int, _floppy->sect - fsector_t,
2594 raw_cmd->cmd[SIZECODE] = FD_SIZECODE(_floppy);
2595 raw_cmd->rate = _floppy->rate & 0x43;
2596 if ((_floppy->rate & FD_2M) &&
2604 raw_cmd->track = raw_cmd->cmd[TRACK] << STRETCH(_floppy);
2605 raw_cmd->cmd[DR_SELECT] = UNIT(current_drive) + PH_HEAD(_floppy, raw_cmd->cmd[HEAD]);
2606 raw_cmd->cmd[GAP] = _floppy->gap;
2608 raw_cmd->cmd[SECT_PER_TRACK] = _floppy->sect << 2 >> raw_cmd->cmd[SIZECODE];
2609 raw_cmd->cmd[SECTOR] = ((fsector_t % _floppy->sect) << 2 >> raw_cmd->cmd[SIZECODE]) +
2610 FD_SECTBASE(_floppy);
2615 tracksize = _floppy->sect - _floppy->sect % ssize;
2616 if (tracksize < _floppy->sect) {
2618 if (tracksize <= fsector_t % _floppy->sect)
2622 while (tracksize <= fsector_t % _floppy->sect) {
2623 while (tracksize + ssize > _floppy->sect) {
2631 max_sector = raw_cmd->cmd[HEAD] * _floppy->sect + tracksize;
2632 } else if (!raw_cmd->cmd[TRACK] && !raw_cmd->cmd[HEAD] && !(_floppy->rate & FD_2M) && probing) {
2633 max_sector = _floppy->sect;
2636 max_sector = _floppy->sect;
2639 in_sector_offset = (fsector_t % _floppy->sect) % ssize;
2662 raw_cmd->cmd[COMMAND] = FM_MODE(_floppy, FD_READ);
2809 if (!_floppy) { /* Autodetection */
2814 _floppy = NULL;
2820 _floppy = floppy_type + drive_params[current_drive].autodetect[drive_state[current_drive].probed_format];