} else {
blocks = SECTOR_BUFFER_SIZE - secnum;
}
+ if (blocks) {
#if AKIKO_DEBUG_IO_CMD
- if (1)
- write_log(_T("CD32: filling buffer sector=%d-%d, blocks=%d\n"), sector, sector + blocks - 1, blocks);
+ if (1)
+ write_log(_T("CD32: filling buffer sector=%d-%d, blocks=%d\n"), sector, sector + blocks - 1, blocks);
#endif
- if (blocks) {
uae_sem_post(&akiko_sem);
int ok = sys_command_cd_rawread (unitnum, sector_buffer_2, sector, blocks, 2352);
if (!ok) {
}
}
uae_sem_wait(&akiko_sem);
+ }
+ if (blocks || secnum) {
+ uae_sem_post(&akiko_sem);
tmp1 = sector_buffer_info_1;
sector_buffer_info_1 = sector_buffer_info_2;
sector_buffer_info_2 = tmp1;
tmp3 = sector_buffer_sector_1;
sector_buffer_sector_1 = sector_buffer_sector_2;
sector_buffer_sector_2 = tmp3;
+ uae_sem_wait(&akiko_sem);
}
}
uae_sem_post (&akiko_sem);