ZONADEPRUEBAS RETROINFORMÁTICA
Por favor Iniciar sesión o Registrarse.
La fecha y hora actual es viernes, 03 de mayo 2024, 11:09
Inicio  Buscar  Ayuda  Iniciar sesión  Registrarse  Miembros  Sala de chat

ZONADEPRUEBAS RETROINFORMÁTICA :: SISTEMAS CLÁSICOS :: MICROORDENADORES :: Mensaje de error al terminar un programa cargado desde el loader en un spectrum +3 emulado en fuse  :: Página 1 De 1
NotFound
Senior Member
Imagen


Mensajes: 131
Mensaje de error al terminar un programa cargado desde el loader en un spectrum +3 emulado en fuse (jueves, 25 de marzo 2004, 14:38) Citar  
Hola.

He observado una cosa rara: al terminar un programa cargado desde el loader en un Spectrum +3 emulado en fuse da algún mensaje de error, no el mismo en todos los casos. Esto lo observé primero al probar la opción --tapbas de pasmo, que genera un tap con un cargador Basic autoarrancable, y haciendo pruebas vi que pasa con programas escritos en Basic y grabados. Cargando el mismo programa en cualquier otro modelo de Spectrum, o en el mismo +3 haciéndolo con LOAD "" en vez desde el menú no se produce ningún error.

La duda es: ¿esto es algún fallo del fuse, o en un Spectrum +3 de verdad y en otros emuladores ocurre lo mismo?


Salu2
IP conectada Estado: desconectado Perfil Página web del miembro 
Orden de las respuestas: última respuesta primero :: primera respuesta primero
colossus
Moderador
Imagen
Imagen

Mensajes: 315
RE: Mensaje de error al terminar un programa cargado desde el loader en un spectrum +3 emulado en fuse (jueves, 25 de marzo 2004, 18:18) Citar  
Buenas:

Pues he hecho la prueba en el Spectaculator, y el resultado es e l mismo:

Al cargar un programa de cassette desde el Loader del menú de inicio del +3 se presenta un error "Drive not ready" al finalizar la carga. Por cierto que si el +3 detecta un disquete en la unidad el Loader del menú se refiere a ese disquete. Sólo si la unidad está vacía el Loader intentará cargar desde cassette.

Emulando el +2A, sin embargo, esto no sucede a pesar de que lleva la misma ROM. Deduzco, pues, que el problema se debe a la presencia de la unidad de disco.

Eso sí, sólo me ha pasado con los programas en BASIC que yo mismo he salvado desde el emulador (con o sin autoarranque, en .tzx o .tap). No he logrado reproducir el error con las imágenes de juegos comerciales que he probado.

Es muy extraño... La ROM del +2A/+3 es famosa por sus bugs, pero este no lo conocía. A ver si consigo un cassette para probarlo con mi Spectrum +3 "físico".

Un saludo: Colossus

IP conectada Estado: desconectado Perfil 
colossus
Moderador
Imagen
Imagen

Mensajes: 315
RE: Bug en la ROM del +3 (¿nuevo?) (viernes, 26 de marzo 2004, 05:01) Citar  
Buenas:

Comprobado. He enchufado un magnetófono a un +3 real, y el error se repite.

Consiste en lo siguiente: si en un Spectum +3 cargamos desde la opción Loader del Menu un programa en Basic (para lo cual la disquetera tiene que estar vacía) el programa se carga correctamente, pero finalizada la carga el Spectrum presenta un error "Drive not Ready". Esto sucede también si el programa tiene autoejecución y, finalizada la misma, sale limpiamente al BASIC. Si el programa es, por ejemplo, un bucle infinito y salimos de él con BREAK no se produce el error, sino que se muestra correctamente el mensaje "Break into program".

Esto último explica por qué no lograba reproducir el error con juegos comerciales: como si se cargan correctamente no se devuelve el control al BASIC, el mensaje "Drive not ready" nunca llega a producirse.

Por último señalar que el mensaje será "Drive not ready, 0:1" si el programa no tiene autoejecución, y "Drive not ready, X:Y" si el programa se ejecuta y sale al BASIC en la línea X, sentencia Y.

De manera que, NotFound, creo que has encontrado un nuevo Bug en la ROM del Spectrum... Si quieres envíale un correo a la dirección que hay al final de la página users.comlab.ox.ac.uk/ian.collier/Spectrum/+3_oddities.txt, a ver si Ian Collier todavía sigue interesado en el tema.

Un saludo: Colossus

PD: Si efectivamente hasta ahora no se había documentado este BUG imagino que será porque nadie con un +3 utilizará el cassette a menos que sea para cargar un programa comercial. Y si alguien lo detectó en un emulador no habrá tenido la curiosidad de investigarlo...


PD2: Las pruebas las he realizado en un +3 inglés. Ahora que lo pienso no sé si si llegó a comercializarse un +3 castellanizado. ¿Alguien tiene noticias al respecto?

IP conectada Estado: desconectado Perfil 
NotFound
Senior Member
Imagen


Mensajes: 131
RE: Mensaje de error al terminar un programa cargado desde el loader en un spectrum +3 emulado en fuse (viernes, 26 de marzo 2004, 10:18) Citar  
Voy a preguntar en comp.sys.sinclair a ver si es algo conocido. Ya había comentado antes el asunto en es.comp.sistemas.sinclair pero nadie comentó nada.

Había comentado que el tipo de error era variable pero ahora veo que en todas las pruebas sale el "Drive not ready", me hebré confundido con otra cosa.

En cuanto a lo del +2a, supongo que habría que probar con uno que tuviera disquetera conectada pero fuse no tiene opciones para eso.

He encontrado una solución para que el problema no afee el uso de la opción --tapbas de Pasmo: incluir en el cargador un POKE 23610, 255. Esto me hace pensar que el error puede consistir en que al intentar la carga desde disco la variable de error quede fijada, e inmediatamente pase a cargar de cinta sin limpiarla.



Salu2
IP conectada Estado: desconectado Perfil Página web del miembro 
colossus
Moderador
Imagen
Imagen

Mensajes: 315
RE: Mensaje de error al terminar un programa cargado desde el loader en un spectrum +3 emulado en fuse (viernes, 26 de marzo 2004, 12:57) Citar  
Buenas:

En efecto tu explicación parece la más lógica.

Yo apostaría a que con un +2A/B con disquetera el efecto es exactamente el mismo. Por lo que he leído la ROM de un +2A detecta la presencia de la disquetera, y se anuncia en el menú como "128 +3". Detectada la disquetara, y dado que las ROMS son exactamente la misma (salvo revisiones que no están relacionadas necesariamente con el modelo), lo más normal me parece que el error se presente igualmente.

A ver si en comp.sys.sinclair comentan algo.

Un saludo: Colossus

PD: ¡Qué bien les habría venido a Sinclair o Amstrad tenerte en plantilla, NotFound! Seguro que sus máquinas habrían salido con menos bugs

IP conectada Estado: desconectado Perfil 
NotFound
Senior Member
Imagen


Mensajes: 131
RE: Mensaje de error al terminar un programa cargado desde el loader en un spectrum +3 emulado en fuse (viernes, 26 de marzo 2004, 14:21) Citar  
Citar:

Yo apostaría a que con un +2A/B con disquetera el efecto es exactamente el mismo. Por lo que he leído la ROM de un +2A detecta la presencia de la disquetera, y se anuncia en el menú como "128 +3". Detectada la disquetara, y dado que las ROMS son exactamente la misma (salvo revisiones que no están relacionadas necesariamente con el modelo), lo más normal me parece que el error se presente igualmente.


Sí, en teoría creo que debería ser así, pero me gustaría verlo en la práctica. A ver si trasteo un poco con algún otro emulador.

Citar:
PD: ¡Qué bien les habría venido a Sinclair o Amstrad tenerte en plantilla, NotFound! Seguro que sus máquinas habrían salido con menos bugs


Bueno, en aquellos tiempos no era tan fácil disponer de tantas herramientas con las que poner a prueba las cosas. El mejor sistema de desarrollo cruzado para Z80 de aquellas haría una mínima parte de lo que se puede hacer hoy en día sólo con herramientas libres y un PC normalito.

Por cierto, también he encontrado un bug en una rom alternativa de Spectrum, la "ZX Sea change ROM". Éste lo encontré al ensamblarla con pasmo y ver que el resultado no era idéntico a la versión binaria. La cosa era que había una cadena abierta con comilla simple y cerrada con comilla doble y parece que el ensamblador que usaron en ese caso insertaba una comilla simple al principio de la cadena. Yo había corregido la comilla sin pensar mucho en ello y después tardé un rato en encontrar que venía de ahí la diferencia.

En este caso he podido contactar con el autor y el problema se ha corregdio, en el caso del +3 original sería un poco difícil consguir corregir las rom de todas las máquinas existentes


Salu2
IP conectada Estado: desconectado Perfil Página web del miembro 
NotFound
Senior Member
Imagen


Mensajes: 131
RE: Mensaje de error al terminar un programa cargado desde el loader en un spectrum +3 emulado en fuse (domingo, 28 de marzo 2004, 11:06) Citar  
Pues nadie ha comentado nada en comp.sys.sinclair, parece que no hay nadie aficionado a coleccionar bugs de rom, o será que los aficionados a jugar con las rom se decidan mayormente a la de los primeros Spectrum.

A mandarle un mensjae a Ian Collier no me decido, ya que la última actualización de su página de Spectrum es de 30-ene-98, así que puede que ya no esté interesado en estos temas.


Salu2
IP conectada Estado: desconectado Perfil Página web del miembro 

PBLang 4.59 © 2002-2003 by Martin Senftleben
Imagen