diff options
| -rw-r--r-- | src/drive.c | 6 | ||||
| -rw-r--r-- | src/drive.h | 2 | ||||
| -rw-r--r-- | src/pico1541.c | 8 |
3 files changed, 7 insertions, 9 deletions
diff --git a/src/drive.c b/src/drive.c index 8c06e69..67b2d61 100644 --- a/src/drive.c +++ b/src/drive.c @@ -3,11 +3,11 @@ #include "drive.h" -const uint8_t SECTORS_PER_TRACK[35] = { +const uint8_t SECTORS_PER_TRACK[40] = { 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 19, 19, 19, 19, 19, 19, 19, 18, 18, 18, 18, 18, 18, - 17, 17, 17, 17, 17 + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, }; const uint16_t BITRATES[4] = { 16221, 17175, 18129, 20038 }; @@ -49,7 +49,7 @@ void drive_init(drive_t *drive) { void __not_in_flash_func(drive_step_up)(drive_t *drive) { drive->halftrack = (drive->halftrack + 1) & 1; - if (drive->track < 34 && drive->halftrack == 0) { + if (drive->track < 39 && drive->halftrack == 0) { drive->image_ptr += SECTORS_PER_TRACK[drive->track] << 8; drive->track += 1; drive->sector = drive->sector * SECTORS_PER_TRACK[drive->track] / SECTORS_PER_TRACK[drive->track - 1]; diff --git a/src/drive.h b/src/drive.h index 7d1daae..2415e25 100644 --- a/src/drive.h +++ b/src/drive.h @@ -6,7 +6,7 @@ #define DRIVE_LOOKAHEAD 8 -extern const uint8_t SECTORS_PER_TRACK[35]; +extern const uint8_t SECTORS_PER_TRACK[40]; extern const uint16_t BITRATES[4]; extern const uint8_t GCR_CONV[16]; diff --git a/src/pico1541.c b/src/pico1541.c index cb0473b..0cc5d61 100644 --- a/src/pico1541.c +++ b/src/pico1541.c @@ -37,7 +37,7 @@ static FILINFO disks[MAX_DISKS]; static uint8_t ram[2048]; static volatile uint8_t dos1541[16384]; -static volatile uint8_t disk[174848]; +static volatile uint8_t disk[196608]; static uint32_t ts; static cpu_t cpu; @@ -335,9 +335,7 @@ void drive_thread() { && disks[n_disks].fname[0] && n_disks < MAX_DISKS - 1 ) { - if (disks[n_disks].fsize == 174848) { - n_disks++; - } + n_disks++; res = f_findnext(&d, &disks[n_disks]); } f_closedir(&d); @@ -356,7 +354,7 @@ void drive_thread() { res = f_open(&file, im_path, FA_READ); if (!res) { - btr = 174848; + btr = f_size(&file); br = 0; while (btr > 0) { UINT brr; |
