summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxwell Beck <max@rastertail.net>2025-05-29 16:01:53 -0500
committerMaxwell Beck <max@rastertail.net>2025-05-29 16:01:53 -0500
commit51e0bafe0304b201652fd32564138d6ca78a819d (patch)
treef12ad976557837a488ee6de65107bac215584dd9
parent22997d87d03825a9d470f70218b387682ebbb46b (diff)
fix: Definitely only support 35 track images (for now)
-rw-r--r--src/drive.c6
-rw-r--r--src/drive.h4
2 files changed, 5 insertions, 5 deletions
diff --git a/src/drive.c b/src/drive.c
index e31a964..c71cd1f 100644
--- a/src/drive.c
+++ b/src/drive.c
@@ -2,11 +2,11 @@
#include <stdlib.h>
-const uint8_t SECTORS_PER_TRACK[40] = {
+const uint8_t SECTORS_PER_TRACK[35] = {
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 uint8_t BITRATES[4] = { 61, 65, 68, 76 };
@@ -48,7 +48,7 @@ void drive_init(drive_t *drive) {
void drive_step_up(drive_t *drive) {
drive->halftrack = (drive->halftrack + 1) & 1;
- if (drive->track < 39 && drive->halftrack == 0) {
+ if (drive->track < 34 && 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 c7e02f2..d2e8dd8 100644
--- a/src/drive.h
+++ b/src/drive.h
@@ -6,8 +6,8 @@
#define DRIVE_LOOKAHEAD 8
-extern const uint8_t SECTORS_PER_TRACK[40];
-extern const uint8_t BITRATE_PER_TRACK[40];
+extern const uint8_t SECTORS_PER_TRACK[35];
+extern const uint8_t BITRATES[4];
extern const uint8_t GCR_CONV[16];
typedef struct drive_s {