Mercurial > repos > blastem
changeset 2124:ad346054ca78
Return "not ready" status sometimes when seeking. Fixes issues in multiple games
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Fri, 11 Mar 2022 00:40:17 -0800 |
parents | 50385ae2617b |
children | 8a67b043ba25 |
files | cdd_mcu.c |
diffstat | 1 files changed, 6 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/cdd_mcu.c Thu Mar 10 22:33:08 2022 -0800 +++ b/cdd_mcu.c Fri Mar 11 00:40:17 2022 -0800 @@ -185,8 +185,13 @@ } break; } + uint8_t force_not_ready = 0; + if (context->seeking && context->head_pba - prev_pba != 1) { + //BIOS depends on getting a not ready status during seeking to clear certain state + force_not_ready = context->status_buffer.format != SF_NOTREADY; + } if (context->first_cmd_received) { - switch (context->requested_format) + switch (force_not_ready ? SF_NOTREADY : context->requested_format) { case SF_ABSOLUTE: if (context->toc_valid && prev_pba >= LEADIN_SECTORS) {