La comprobación de la versión del archivo .z80 en snaps.c, línea 260:
if ((word) buffer[6] == 0) {
falla porque no está comprobando el word en buffer[6], sino que lee el byte, lo extiende a word y luego lo comprueba. Por lo tanto, el valor de buffer[7] no se tiene en cuenta, y si tenemos un archivo .z80 de versión 1 en el cual la parte baja de PC vale 0, no se identificará correctamente.
if ((buffer[6] == 0)&&(buffer[7] == 0)) {
resuelve el problema.