I was experiencing a crash (segfault) when working with some macgcr disks (SCP dumps of 3.5" Mac LD disks). The issue appears to be that in the scp_read() function, it's hardcoded to only read in 40 tracks (0-39), but 3.5" disks have 80 tracks. As a result, it segfaults later in the code when reading the uninitialized tracks 40-79.
I've resolved it in my local copy and verified that it seems to work (I think...) with this change. Just FYI.