Error de carga

Dudas, cuestiones, sugerencias y peticiones en general sobre el proyecto / Questions and requests about the project
cay_garamonde
Mensajes: 8
Registrado: 22 Dic 2016, 23:16

Error de carga

Mensaje por cay_garamonde » 22 Dic 2016, 23:36

Buenas

Mi problema es que no consigo cargar el TAP de Antiriad desde el DIVMMC 0.8.6 del ZXUNO
Es tenido problema con algún otro pero no les he dado importancia o los he dejado como corruptos o pendientes de revisar.
Éste concretamente lo pongo como ejemplo para examinar.


El TAP de World of Spectrum es ANTRIADE.TAP

En Spectaculator carga correctamente.

En ZXUNO no hay manera. En 48K, si uso TAPEIN se queda la pantalla negra y no avanza. Si lo hago usando la NMI se resetea .

He conseguido configurar ZEsarUX 4.2 con una imagen de prueba con los archivos que tengo en mi SD y con la emulación de ZX-UNO se repite lo mismo.
Pero en cambio, si con esta misma configuración de ZEsarUX 4.2 que comento, uso la opción del emulador Tape y selecciono ANTRIADE.TAP de mi disco duro, ¡carga perfectamente! Con máquina ZX-UNO, DIVMMC y toda la historia activada.

He probado a alterar las configuraciones activando y desactivando cosas pero no hay manera.
¿Alguien más puede comprobarlo y darme alguna opinión?

Gracias

Avatar de Usuario
antoniovillena
Mensajes: 2621
Registrado: 27 Sep 2015, 20:41

Re: Error de carga

Mensaje por antoniovillena » 23 Dic 2016, 00:08

Hay algunos TAPs que son incompatibles con ESXDOS. Para que funcione tiene que usar la rutina de la ROM. Comprobar eso es fácil. Pones un breakpoint en $0556, que es la rutina de carga estándar de ROM. En los primeros bloques te saltará el breakpoint, ya que debe cargar la cabecera y el cargador BASIC. Pero si después del cargador ves que el juego continúa la carga sin que te salte el depurador es porque aunque use carga estándar, usa otra rutina alojada en RAM en lugar de la de la ROM. En estos casos hay que o bien buscar un TAP alternativo o en el caso de que no exista hacerte el tuyo propio redirigiendo el call que apunta al cargador RAM a $0556.

Zup
Mensajes: 112
Registrado: 16 Sep 2016, 20:22

Re: Error de carga

Mensaje por Zup » 23 Dic 2016, 10:07

Ese juego lo tienes en "Los 40 principales vol 2", pasarlo de disco a cinta es una tontería.

Avatar de Usuario
mcleod_ideafix
Mensajes: 831
Registrado: 27 Sep 2015, 00:14
Ubicación: Jerez de la Frontera
Contactar:

Re: Error de carga

Mensaje por mcleod_ideafix » 23 Dic 2016, 10:32

El Antiriad este que dices..... no entiendo por qué no te carga, ya que su cargador es lo más tonto del mundo. Prueba a hacer lo siguiente:
.tapein antiriade.tap
LOAD ""CODE: RANDOMIZE USR 25000

Eso sí: desde modo 48K de verdad. Este juego por alguna razón es incompatible con el 128K, incluso aunque arranques con la ROM de 48K como hace ESXDOS. Para bloquear el modo 48K haz OUT 32765,48
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
carmeloco
Mensajes: 751
Registrado: 25 Dic 2015, 12:02

Re: Error de carga

Mensaje por carmeloco » 23 Dic 2016, 11:50

mcleod_ideafix escribió:El Antiriad este que dices..... no entiendo por qué no te carga, ya que su cargador es lo más tonto del mundo. Prueba a hacer lo siguiente:
.tapein antiriade.tap
LOAD ""CODE: RANDOMIZE USR 25000

Eso sí: desde modo 48K de verdad. Este juego por alguna razón es incompatible con el 128K, incluso aunque arranques con la ROM de 48K como hace ESXDOS. Para bloquear el modo 48K haz OUT 32765,48
He probado esto que comentas, y no funciona. También he probado a cargar el bloque basic con un MERGE "" para que no autoarranque, pero se cuelga. Cargándolo en Basin, obtengo este programa en basic:

Código: Seleccionar todo

1 POKE 23659,0: POKE pr,0
2 REM 99
3 LOAD ""CODE : RANDOMIZE USR 25000
1000 LET pr=PEEK 23635+256*PEEK 23636: LET pr=pr+37: POKE pr,255
1010 LET n$="ANTIRIAD"
1035 INPUT "Disk drive connected";f$
1036 IF f$<>"y" OR f$<>"Y" THEN LET pr=pr-112
1040 SAVE n$ LINE 1
1045 PRINT "stop tape"
1050 RANDOMIZE USR 15363: REM :\#247"tape1"
También he probado a convertir el .TAP a .WAV y cargarlo desde audio en el :zxuno: y me ha funcionado perfecto.

Zup
Mensajes: 112
Registrado: 16 Sep 2016, 20:22

Re: Error de carga

Mensaje por Zup » 23 Dic 2016, 13:27

Así a bulto parece una versión preparada para rular desde un TR-DOS.

Prueba a pasar a TAP la versión que te he comentado, está en castellano y además funciona bien en los 128k.

Avatar de Usuario
mcleod_ideafix
Mensajes: 831
Registrado: 27 Sep 2015, 00:14
Ubicación: Jerez de la Frontera
Contactar:

Re: Error de carga

Mensaje por mcleod_ideafix » 23 Dic 2016, 13:43

Pues sí que es raro... Qué puñetas hará el juego ese para que no funcione incluso cuando ESXDOS. Lo investigaré...
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

cay_garamonde
Mensajes: 8
Registrado: 22 Dic 2016, 23:16

Re: Error de carga

Mensaje por cay_garamonde » 23 Dic 2016, 20:57

Cuando tenga algo de tiempo me remangaré y echaré un ojo con lo que comentais.

En todo caso, con un Z80 me basta para jugarlo.
El caso es más que nada apuntar a un problema para que se investigue; y que tal vez alguien más se haya topado y lo haya descartado como un fichero defectuoso más que como un posible bug.
Será cosa propiamente de la rutina de carga del TAP por parte del ESXDOS y DIVMMC pero ya se verá.

Gracias

Avatar de Usuario
carmeloco
Mensajes: 751
Registrado: 25 Dic 2015, 12:02

Re: Error de carga

Mensaje por carmeloco » 23 Dic 2016, 23:42

Se me olvidó comentar, que con un spectrum real, con DivIDE, también falla, así que yo descartaría lo de un bug en el :zxuno:

Avatar de Usuario
antoniovillena
Mensajes: 2621
Registrado: 27 Sep 2015, 20:41

Re: Error de carga

Mensaje por antoniovillena » 24 Dic 2016, 00:15

Yo he encontrado 1000 bytes que se cargan directamente en la parte alta de ROM, lo cual no sirve para nada. He modificado el archivo recortando esos 1000 bytes y cambiando los punteros. Mirad si ahora funciona.
Adjuntos
ANTRIADE.zip
(28.01 KiB) Descargado 205 veces

Responder