Chema escribió:No me entero muy bien... Estoy este finde un poco desconectado y, por lo que veo, espeso. Me pareció que imágenes de más de 21 pistas funcionaban bien. ¿Estáis diciendo que imágenes que no funcionan, si las grabáis a 21 pistas, sí que lo hacen? Porque durante la retrocripta yo hice una imagen con el Xenon1 e iba en el emulador al menos... Eso sí haciendo QUIT primero.
Si es eso, es curioso. Parece una pista importante para buscar el posible fallo, porque tap2dsk genera discos de hasta 80 pistas....
En emulador parecen funcionar todas bien. Nos estábamos centrando en hacer que funcionasen sobre controladora física. Ahí las de simple cara (o al menos las de 21 pistas) funcionan pero hay algo que no le gusta cuando el disco es de doble cara (aunque todavía no estoy seguro de que sea exactamente por esto). He visto que algunas imágenes DSK de doble cara que sí funcionan (ya existentes, no creadas con la aplicación) , tienen un encoding MFM un poco diferente del que generaría oldmfm: una secuencia {C2, C2, C2, FC} en la cabecera de cada pista y el GAP2 con 0x4E en lugar de 0x22 como lo hace oldmfm. Cambiando estos detalles en las imágenes generadas siguen sin funcionar, así que probablemente el problema está en otro sitio, o en varios sitios a la vez.

A mi me da la impresión de que tiene que ver con la codificación a bajo nivel de la pista (gaps, valores,crc,...) pero comparando con una imagen viable todavía no he encontrado qué es lo que marca la diferencia. Por si a alguien le puede sonar a algo:
- Arrancando con una imagen defectuosa (pasándola a HFE), sale el mensaje de copyright de Sedoric y se tuesta.
- Arrancando con otra imagen válida y luego cambiando el disco por el defectuoso, haciendo un DIR, sale este mensaje de error:
La pista 14 supongo que está en hexadecimal y se refiere a la pista 20, sector 1 donde se guarda el bitmap. Por alguna razón no le gusta como está codificada, o el CRC o lo que sea.
Tanto sobre Oricutron como Euphoric, las imágenes de doble cara funcionan correctamente, o al menos arrancan el sistema y permiten listar los ficheros y ejecutarlos. La información sobre caras, pistas y sectores en un DIR también parece consistente.
Soy optimista porque teniendo imágenes de doble cara que sí funcionan, supongo que es cosa de ir aislando las diferencias con las imágenes generadas por la herramienta y ver por qué se producen. Ya iré informando.

EDIT: De estas cosas que se encuentran de casualidad: Resulta que si en la imagen de doble cara haces dir varias veces, acaba sacando el directorio. Esto creo que puede significar que el problema está en la codificación a bajo nivel, y debe haber algo mal con los gaps, valores de relleno o similar. Si lo lee al menos una vez es que el CRC debe estar bien y la información es además consistente. Es como si no consiguiera engancharse bien al flujo de datos. Intentar ejecutar luego algún archivo de la imagen lleva a nuevos errores I/O del mismo tipo. Así que toca comparar imágenes DSK y ver que diferencias quedan.