# HG changeset patch # User Michael Pavone # Date 1643706867 28800 # Node ID 5a2b759f6b2df0b001004e456fd7141936ff154c # Parent c534a319902044c59b7c1d926ef11d9df3bf2306 BIOS doesn't like it if TOC read happens too quickly diff -r c534a3199020 -r 5a2b759f6b2d cdd_mcu.c --- a/cdd_mcu.c Tue Feb 01 01:07:42 2022 -0800 +++ b/cdd_mcu.c Tue Feb 01 01:14:27 2022 -0800 @@ -124,7 +124,7 @@ if (!context->seeking) { context->head_pba++; if (context->media && context->media->type == MEDIA_CDROM && context->media->num_tracks) { - if (context->head_pba > 3*context->media->num_tracks + 1) { + if (context->head_pba > 3*(context->media->num_tracks + 2)) { context->toc_valid = 1; context->seeking = 1; context->seek_pba = LEADIN_SECTORS + context->media->tracks[0].start_lba; diff -r c534a3199020 -r 5a2b759f6b2d cue.c --- a/cue.c Tue Feb 01 01:07:42 2022 -0800 +++ b/cue.c Tue Feb 01 01:14:27 2022 -0800 @@ -244,20 +244,14 @@ } media->buffer = calloc(2048, 1); media->size = fread(media->buffer, 1, 2048, media->f); - media->num_tracks = 2; - media->tracks = calloc(sizeof(track_info), 2); + media->num_tracks = 1; + media->tracks = calloc(sizeof(track_info), 1); media->tracks[0] = (track_info){ .fake_pregap = 2 * 75, .start_lba = 0, .end_lba = file_size(media->f), .type = TRACK_DATA }; - media->tracks[1] = (track_info){ - .fake_pregap = 2 * 75, - .start_lba = media->tracks[0].end_lba, - .end_lba = media->tracks[0].end_lba + 2 * 75, - .type = TRACK_DATA - }; media->type = MEDIA_CDROM; media->seek = iso_seek; media->read = iso_read;