ORIC DSK Manager por overCLK.

Avatar de Usuario
overCLK
Mensajes: 254
Registrado: 26 Ene 2017 12:26
Agradecido : 77 veces
Agradecimiento recibido: 112 veces

Re: ORIC DSK Manager por overCLK.

Mensajepor overCLK » 27 May 2020 19:29

Último mensaje de la página anterior:

Chema escribió:
overCLK escribió:...


Oye overCLK... mirando como ayudar a un usuario me encontré con que los archivos en SEDORIC tienen varios bits de estado que indican su tipo. En DSK Manager parece que puedes poner 3: protected, executable y block, pero no encontré como poner a uno el resto:

Annexe 4 : CODAGE D'UN FICHIER

L'octet d'état (STATUS Byte) d'un fichier est en fait un code binaire établi selon les règles ci-dessous L'Octet est représenté sous sa forme classique b7 b6 b5 b4 b3 b2 b1 b0

Le bit est actif s'il est à 1.

b0 : exécution automatique
b1 : inutilisé
b2 : inutilisé
b3 : direct
b4 : séquentiel
b5 : window (b6 = 1 aussi)
b6 : bloc de données
b7 : Basic


¿Anda la opción por algún lado? No somos capaces de grabar datos para luego leerlos de BASIC como un archivo secuencial (por ejemplo).


Hola Chema.
Pues cuando implementé los flags me fijé en los ejemplos que había por ahí (tap2dsk) pero no conocía todas las opciones posibles. Podemos implementarlo así pero tendría que saber que flags son excluyentes. ¿Qué posibilidades tendría sentido ofrecer en la aplicación?
De los flags actuales sólo block y executable aplican a los flags del fichero, protected aplica a la entrada de directorio de Sedoric para este fichero.
Imagen

Avatar de Usuario
Chema
Mensajes: 2473
Registrado: 21 Jun 2012 20:13
Ubicación: Gijón
Agradecido : 2512 veces
Agradecimiento recibido: 754 veces
Contactar:

Re: ORIC DSK Manager por overCLK.

Mensajepor Chema » 27 May 2020 22:09

Para ser sinceros yo tampoco me conozco los flags que usa sedoric... pero según entiendo, y mi francés es muy malo, el 3 y el 4 son excluyentes e indican si el fichero se puede leer de manera secuencial o como registros en modo acceso aleatorio.

La cuestión es un usuario quería incluir unos archivos de datos que luego leer usando las llamadas del sistema operativo en modo secuencial y le daba un error de que el archivo no tenía el tipo correcto porque ese flag no estaba activo.

Yo te preguntaba si ya existía la opción y simplemente no la había visto, si hay que añadirla quizás merezca la pena estudiar un poco más a fondo cuál es la utilidad y si hay que hacer alguna cosa más. Por ejemplo los otros bits (5 y 6) no sé para qué sirven.

Avatar de Usuario
overCLK
Mensajes: 254
Registrado: 26 Ene 2017 12:26
Agradecido : 77 veces
Agradecimiento recibido: 112 veces

Re: ORIC DSK Manager por overCLK.

Mensajepor overCLK » 30 May 2020 09:00

Lo que yo sé de los otros viene básicamente de la implementación de tap2dsk. He buscado de nuevo y por ejemplo aquí:

https://github.com/oric-international/o ... /tap2dsk.c

Para los flags del fichero sólo tenemos esto:

Código: Seleccionar todo

descriptor[3]=(block?0x40:0x80)+(exec?1:0);

De lo que parece que los bits 7 y 6 son excluyentes o al menos para este caso de uso lo son. Viendo lo que has pegado en francés, diría que el bit 7 declara un fichero de BASIC y el bit 6 un bloque binario así que tiene cierto sentido que sean excluyentes. Esto es lo que se hace con los flags block y exec en la aplicación.
El de protected se utiliza en la entrada de directorio, lo mismo que en el código fuente de tap2dsk:

Código: Seleccionar todo

directory[dir_offset+15]=0x40; // UNPROT


Si conoces alguna fuente más completa o fiable puedo tratar de reimplementar la parte de los flags.
Imagen


Volver a “Oric”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado