Revision 7859cb98
b/hw/fdc.c | ||
---|---|---|
109 | 109 |
drv->max_track = 0; |
110 | 110 |
} |
111 | 111 |
|
112 |
static int _fd_sector (uint8_t head, uint8_t track,
|
|
113 |
uint8_t sect, uint8_t last_sect)
|
|
112 |
static int fd_sector_calc(uint8_t head, uint8_t track, uint8_t sect,
|
|
113 |
uint8_t last_sect)
|
|
114 | 114 |
{ |
115 | 115 |
return (((track * 2) + head) * last_sect) + sect - 1; |
116 | 116 |
} |
... | ... | |
118 | 118 |
/* Returns current position, in sectors, for given drive */ |
119 | 119 |
static int fd_sector(FDrive *drv) |
120 | 120 |
{ |
121 |
return _fd_sector(drv->head, drv->track, drv->sect, drv->last_sect);
|
|
121 |
return fd_sector_calc(drv->head, drv->track, drv->sect, drv->last_sect);
|
|
122 | 122 |
} |
123 | 123 |
|
124 | 124 |
/* Seek to a new position: |
... | ... | |
149 | 149 |
drv->max_track, drv->last_sect); |
150 | 150 |
return 3; |
151 | 151 |
} |
152 |
sector = _fd_sector(head, track, sect, drv->last_sect);
|
|
152 |
sector = fd_sector_calc(head, track, sect, drv->last_sect);
|
|
153 | 153 |
ret = 0; |
154 | 154 |
if (sector != fd_sector(drv)) { |
155 | 155 |
#if 0 |
... | ... | |
1100 | 1100 |
ks = fdctrl->fifo[4]; |
1101 | 1101 |
FLOPPY_DPRINTF("Start transfer at %d %d %02x %02x (%d)\n", |
1102 | 1102 |
GET_CUR_DRV(fdctrl), kh, kt, ks, |
1103 |
_fd_sector(kh, kt, ks, cur_drv->last_sect));
|
|
1103 |
fd_sector_calc(kh, kt, ks, cur_drv->last_sect));
|
|
1104 | 1104 |
switch (fd_seek(cur_drv, kh, kt, ks, fdctrl->config & FD_CONFIG_EIS)) { |
1105 | 1105 |
case 2: |
1106 | 1106 |
/* sect too big */ |
... | ... | |
1370 | 1370 |
ks = fdctrl->fifo[8]; |
1371 | 1371 |
FLOPPY_DPRINTF("format sector at %d %d %02x %02x (%d)\n", |
1372 | 1372 |
GET_CUR_DRV(fdctrl), kh, kt, ks, |
1373 |
_fd_sector(kh, kt, ks, cur_drv->last_sect));
|
|
1373 |
fd_sector_calc(kh, kt, ks, cur_drv->last_sect));
|
|
1374 | 1374 |
switch (fd_seek(cur_drv, kh, kt, ks, fdctrl->config & FD_CONFIG_EIS)) { |
1375 | 1375 |
case 2: |
1376 | 1376 |
/* sect too big */ |
Also available in: Unified diff