Página 1 de 2

Acceso Divide desde basic sin software adicional

NotaPublicado: Sab Dic 05, 2015 10:04 am
por Rafa
Quería saber si conocéis algún método para acceder a los archivos de la compact flash de un divide desde basic, sin utilizar software adicional, por ejemplo, cargar un archivo .bas

Re: Acceso Divide desde basic sin software adicional

NotaPublicado: Sab Dic 05, 2015 11:37 am
por zup
Si tienes un +3, tienes la opción de usar las ROMs del +3e y formatear la tarjeta en +3DOS. Si no, tendrías que utilizar ESXDOS y su emulación de TRDOS o TAP pero no va a ser un acceso "directo".

Re: Acceso Divide desde basic sin software adicional

NotaPublicado: Sab Dic 05, 2015 11:53 am
por Rafa
No sé, de alguna manera llamando a puertos. Tendría que haber algún tipo de OUT en el que los LOAD y SAVE de la ROM escribieran en la CF

Re: Acceso Divide desde basic sin software adicional

NotaPublicado: Sab Dic 05, 2015 12:29 pm
por Rafa
De hecho se debe poder, porque existen los comandos .tapein y .tapeout en esxdos. Otra cosa es el follón de manejarlos

Re: Acceso Divide desde basic sin software adicional

NotaPublicado: Sab Dic 05, 2015 12:41 pm
por zup
El problema es que el divide te da una manera de "interceptar" las rutinas de la ROM, pero solo eso. No da un sistema operativo que permita acceder al disco.

En el caso de un +3, la mejor opción es utilizar el +3e que permite usar los comandos el +3DOS para acceder a disco (y, por tanto, los comandos BASIC funcionan igual). El problema es que la tarjeta debe estar formateada como +3DOS, y ya no es tan cómodo pasar ficheros del PC al divide. También tienes el comando SPECTRUM que te deja cargar directamente ficheros Z80 desde BASIC.

En el caso del resto de equipos, como has dicho, la solución es utilizar .tapein y .tapeout. Ten en cuenta que, de esta manera, accederás a los contenidos del fichero .TAP pero no al fichero TAP en sí. Además, no podrás avanzar/retroceder la cinta virtual, y estás limitado a utilizar las rutinas de la ROM (si el juego utiliza cargas/grabaciones no estándar, no vas a lograr gran cosa).

Otra opción es utilizar la emulación de TRDOS, pero estamos ante el mismo problema: podrás manipular imágenes de disco, pero no tocar la imagen de disco en sí. Para pasar un fichero al Spectrum tendrías que meterlo primero dentro de una imagen de disco y luego cargarlo desde la imagen.

Re: Acceso Divide desde basic sin software adicional

NotaPublicado: Sab Dic 05, 2015 4:03 pm
por Rafa
Madre mía. Es más fácil que me toque la primitiva, creo yo

Re: Acceso Divide desde basic sin software adicional

NotaPublicado: Dom Dic 06, 2015 7:38 pm
por mcleod_ideafix
Rafa escribió:Quería saber si conocéis algún método para acceder a los archivos de la compact flash de un divide desde basic, sin utilizar software adicional, por ejemplo, cargar un archivo .bas

El DivIDE es un aparatejo muy sencillo, que sólo te da un acceso a una interfaz ATA, por lo que a trav'es de OUTs e INs lo que podrás es leer sectores de la compact flash. Para convertir eso a ficheros tendrías que currarte una serie de rutinas en BASIC que implementaran el sistema de ficheros FAT16.

Si usas algún otro firmware (disponibles aquí)
http://velesoft.speccy.cz/zx/divide/divide-soft.htm

tal como el +DivIDE, convertirás tu DivIDE en un emulador de disquetes compatible con el +D y el Disciple, por lo que puedes usar comandos en BASIC para cargar ficheros.

También puedes usar el +3DOS del +3e para manejar ficheros en la compact flash, pero ya no sería FAT, sino IDEDOS.

Hoy por hoy, la mejor alternativa, que permite un poco de todo, es ESXDOS, ya que además de poder ser usado de forma parecida a Fatware, también ofrece un API estilo UNIX con el que puedes abrir, leer y escribir en ficheros en la compact flash o tarjeta SD. Para el proeycto ZX-Uno hemos escrito, de hecho, algunos comandos ESXDOS que nos permiten interactuar con ficheros en la SD, para por ejemplo, cargar un nuevo mapa de teclado, cargar un archivo PZX para reproducirlo, o incluso ver videos en el propio Spectrum leyéndolos a toda velocidad desde la tarjeta. Eso sí: desde C/M, no desde BASIC. En BASIC hay un soporte muy "básico" (puedes usar CAT, ERASE, y no sé si alguna cosa más)

Re: Acceso Divide desde basic sin software adicional

NotaPublicado: Dom Dic 06, 2015 9:32 pm
por rockersuke
mcleod_ideafix escribió:Hoy por hoy, la mejor alternativa, que permite un poco de todo, es ESXDOS (..) Eso sí: desde C/M, no desde BASIC. En BASIC hay un soporte muy "básico" (puedes usar CAT, ERASE, y no sé si alguna cosa más)


Bueno, con ESXDOS también puedes hacer LOAD, SAVE, MERGE... con programas en BASIC o pantallas, bloques de código... La sintáxis adecuada la explican en:

http://velesoft.speccy.cz/zx/divide/divide-esxdos.htm

Yo uso habitualmente esos SAVE y LOAD desde BASIC para salvar/cargar mis programas BASIC en la CF y doy fe de que funciona, sin +3e ni nada.

--

Re: Acceso Divide desde basic sin software adicional

NotaPublicado: Dom Dic 06, 2015 9:38 pm
por Rafa
El problema es que el divide está flasheado con otra aplicación y no puedo meter ningún software. Por cinta ni mp3 me carga nada, pero gracias a todos

Re: Acceso Divide desde basic sin software adicional

NotaPublicado: Dom Dic 06, 2015 9:52 pm
por mcleod_ideafix
Rafa escribió:El problema es que el divide está flasheado con otra aplicación y no puedo meter ningún software. Por cinta ni mp3 me carga nada, pero gracias a todos

Pues cambiate a ESXDOS.... imagino que lo tienes ahora es Fatware. Fatware es para lo que es: poder cargar fácilmente cintas y snapshots, pero no extiende el BASIC de ninguna forma. Para ello, quita el jumper que pone E en el DivIDE y con eso deshabilitas los traps, con lo que podrás volver a cargar cosas desde cinta como siempre.

Re: Acceso Divide desde basic sin software adicional

NotaPublicado: Dom Dic 06, 2015 9:58 pm
por Rafa
No puedo... me falla el conector de cinta. No me carga nadar

Re: Acceso Divide desde basic sin software adicional

NotaPublicado: Dom Dic 06, 2015 10:46 pm
por zup
Rafa escribió:No puedo... me falla el conector de cinta. No me carga nadar


Dos opciones.
- La segura sería usar un programador de EPROM para flashear el divide. Si tienes uno de esos, aunque la cagues tendrás forma de volver a la situación anterior,
- La arriesgada: metes el .tap con la actualización a ESXDOS en la tarjeta flash. Cargas el .tap desde la flash y una vez cargado (y antes de que actualice el firmware), quitas el jumper E del divide. Dejas que actualice y listo. El problema es que si algo va mal, necesitarás cargar otra vez el firmware desde cinta. Si vas a hacerlo así, te recomiendo que ejecutes primero sin quitar el jumper, para asegurarte que el programa de actualización hace la pausa que necesitas.

Si vas a usar ESXDOS, te recuerdo que para que todo funcione bien hay que cargar algunos ficheros en el directorio raíz de la flash. Lee bien las instrucciones para saber cuáles son.

Re: Acceso Divide desde basic sin software adicional

NotaPublicado: Lun Dic 07, 2015 10:18 am
por Rafa
Si dejo el jumper puesto, me carga el software que hay en las eprom y por eso no puedo actualizar a esxdos.
Si lo dejo quitado, no puedo cargar a la memoria del spectrum el tap para flashear la eprom.
Creo que lo he explicado bien.

Re: Acceso Divide desde basic sin software adicional

NotaPublicado: Lun Dic 07, 2015 11:31 am
por zup
Muchos de los tap para actualizar firmware hacen una pausa entre que cargan y actualizan el firmware en sí. El procedimiento es el siguiente:

- Preparas todos los ficheros de la tarjeta para ESXDOS (los directorios BIN, SYS y todas esas cosas). Metes el .tap que actualiza el divide en la flash.
- Pones el jumper E.
- Cargas el .tap para actualizar.
- Una vez que haya cargado y esté en pausa, quitas el jumper E sin apagar el Spectrum (con cuidado de no mover el divide).
- Pulsas tecla para que actualice.

Y con eso deberías tenerlo listo.

Acabo de mirarlo en un emulador y al menos esxide muestra un mensaje para permitirte quitar el jumper E antes de flashear.

Re: Acceso Divide desde basic sin software adicional

NotaPublicado: Lun Dic 07, 2015 11:49 am
por Rafa
Gracias zup, pero el problema es que no puedo cargar el tap para actualizar, porque si el jumper E está puesto, me salta el firmware grabado en eprom, no puedo cargar otra cosa; y si el jumper está quitado, no puedo acceder al divide o a la tarjeta flash.

Ese es el problema: de ninguna manera puedo meter el tap en memoria para actualizar, porque además me falla el conector de cassette.
Necesitaría arreglar ese conector y poder cargar desde cinta o desde un wav, o actualizarlo desde otro ordenador.