summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/drive.c4
-rw-r--r--src/drive.h2
2 files changed, 3 insertions, 3 deletions
diff --git a/src/drive.c b/src/drive.c
index cc85635..64b765a 100644
--- a/src/drive.c
+++ b/src/drive.c
@@ -55,7 +55,7 @@ void drive_step_up(drive_t *drive) {
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];
+ drive->sector = drive->sector * SECTORS_PER_TRACK[drive->track] / SECTORS_PER_TRACK[drive->track - 1];
}
}
@@ -64,7 +64,7 @@ void drive_step_down(drive_t *drive) {
if (drive->track > 0 && drive->halftrack == 0) {
drive->image_ptr -= SECTORS_PER_TRACK[drive->track - 1] << 8;
drive->track -= 1;
- drive->sector = drive->sector % SECTORS_PER_TRACK[drive->track];
+ 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 c41712a..e131c5c 100644
--- a/src/drive.h
+++ b/src/drive.h
@@ -4,7 +4,7 @@
#include <stdbool.h>
#include <stdint.h>
-#define DRIVE_LOOKAHEAD 16
+#define DRIVE_LOOKAHEAD 8
extern const uint8_t SECTORS_PER_TRACK[40];
extern const uint8_t BITRATE_PER_TRACK[40];