Página 1 de 14

cargando TAPs en un +3 con ROM´s +3e [LOGRADO]

Publicado: 17 Dic 2014, 05:13
por djr
Hace poco menos de 2 meses preguntaba por este hilo si se sabía en donde están los fuentes del proyecto +3e, ya que mi única intención era ver si era factible modificar las ROMs para cargar ficheros TAP en un +3e.

Lamentablemente no he podido contactar a su autor (Garry Lancaster), sin embargo wilco2009 me sugirió visitar este otro hilo desde donde podría descargarme las roms de antoniovillena, que aunque no eran exactamente lo que quería serían por lo menos un buen punto de comienzo.

Una cosa si he podido notar de las diferentes versiones de ROMs, las ROMs 0 y 3 son binariamente iguales en cualquier version de interface IDE.

En cambio, Las ROMS 1 y 2 son en parte desensamble de los archivos bajados de emuscriptoria y parte de desensambles míos ayudándome del maravilloso DZ80, todo realizado con muchísimo trabajo y una buena cantidad de horas de dedicación en lo últimos 2 meses, hasta que por fin tuve en mis manos unos fuentes operativos para llevar a cabo mis modificaciones... pero eso si, para el inteface IDE simple de 8 bits, de modo que dicho queda, esto sirve solamente para los que tengan tal interface.

A lo nuesto:

PRIMERO: Lógicamente será necesario grabar las nuevas ROMS que se pueden bajar de aqui

SEGUNDO: Luego se deberá volcar en un disquete o compact flash, o disco IDE, o lo que sea que usemos, los TAPs a cargar (cada cual verá como).

Y finalmente ejecutarlos de este modo:

Código: Seleccionar todo

SPECTRUM "fichero.tap"
LOAD ""
tan simple como eso.

Es una pena que no haya podido conseguir los fuentes del proyecto +3, así hubiese podido ofrecer estas modificaciones en todas las versiones de interfaces IDE, pero de momento queda circunscrito al IDE de 8 bits.

Por último es necesario recalcar que como se "emula" una carga desde "cinta" desde +3DOS, hay programas que puede fallar estrepitosamente si hacen uso de la pagina 7 de RAM en el momento de la carga.

Es casi 100% probable que nunca tengamos problemas para cargar juegos de 48K, pero puede fallar con algunos de 128K, (uno que me falló con seguridad fue WTSS pero es el único hasta el momento y tal vez no probé mucho).

Dejo un vídeo demostrativo de mi propio +3e con estas ROMS y cargando ficheros TAP que pude transferir al +3 via RS232 con mi otro utilitario protocolo Ymodem para +3 http://www.va-de-retro.com/foros/viewtopic.php?t=2187



Y ahora sí por último, los fuentes están disponibles para quién quiera, si esto gusta y/o sirve puede ser interesante portar esta extensión del +3e a otros interfaces IDE.

Re: cargando TAPs en un +3 [LOGRADO]

Publicado: 17 Dic 2014, 07:41
por Sinclair
Juer! que buena noticia...
Muchas gracias.

Pd.- ¿es posible seguir cargando igualmente snapshots?

Re: cargando TAPs en un +3 [LOGRADO]

Publicado: 17 Dic 2014, 08:43
por wilco2009
Esto es una pasada que hace que los interface ide se aproximen mucho en utilidad a la funcionalidad de un divide, manteniendo las ventajas propias que tienen respecto de este.

Estaria muy bien que modificaras las del divide, ya que tendrias las dos mas usadas.

Re: cargando TAPs en un +3 con ROM´s +3e [LOGRADO]

Publicado: 17 Dic 2014, 09:38
por admin
Fantastica noticia Djr, me he permitido una licencia y te he cambiado el titulo, ya que no era representativo de tu logro y ademas daba lugar a confusion, ya que en el +3 normal. se pueden cargar TAP´s, creo que asi queda mas claro, perdona por el cambio, pero creo que asi queda mas claro que es un +3 con las ROM´s del proyecto +3e.

El equipo de VdR.

Re: cargando TAPs en un +3 con ROM´s +3e [LOGRADO]

Publicado: 17 Dic 2014, 10:06
por Pachuquin
Joder. Si ya me hiciste feliz con el Ymodem, ni te cuento con esto.
Esta tarde lo pruebo sin falta.
Seguro que será genial. Da gusto tener a gente así por el foro.

Re: cargando TAPs en un +3 con ROM´s +3e [LOGRADO]

Publicado: 17 Dic 2014, 10:12
por wilco2009
admin escribió:Fantastica noticia Djr, me he permitido una licencia y te he cambiado el titulo, ya que no era representativo de tu logro y ademas daba lugar a confusion, ya que en el +3 normal. se pueden cargar TAP´s, creo que asi queda mas claro, perdona por el cambio, pero creo que asi queda mas claro que es un +3 con las ROM´s del proyecto +3e.

El equipo de VdR.

En un +3 normal ¿se pueden cargar taps? :o :o . Creo que no.

A no ser que te refieras a cargarlos desde un divIDE o a reproducir el sonido desde un PC.

Re: cargando TAPs en un +3 con ROM´s +3e [LOGRADO]

Publicado: 17 Dic 2014, 11:06
por Sinclair
Efectivamente, hasta la fecha sólo se podrían cargar archivos .tap desde divIDE.

Puestos a afinar en el titulo, creo que hubiera sido más preciso: "Cargando TAPs en +2A/B y +3 [LOGRADO]" o simplemente: "Cargando TAPs en +3e [LOGRADO]"

Lo dicho, un gran logro.

Saludos.

Re: cargando TAPs en un +3 con ROM´s +3e [LOGRADO]

Publicado: 17 Dic 2014, 11:31
por antoniovillena
Una pasada de proyecto. Me alegro de que te hayan servido los fuentes que recopilé. Si quieres aportar tu parte de desensamblado puedo incluirla en los fuentes.

Re: cargando TAPs en un +3 [LOGRADO]

Publicado: 17 Dic 2014, 14:58
por djr
Sinclair escribió:Pd.- ¿es posible seguir cargando igualmente snapshots?
Si claro, la idea era extender al +3e pero sin quitarle funcionalidades, yo lo que hice fue interceptar el final del comando "SPECTRUM" en la ROM1 y hacer un "bypass" llamando a una rutinita mía en donde examino el nombre del fichero, y si este termina en ."tap" entonces hago "mis cosas", si no lo es (entonces sería un .Z80) pues retorno y que la programación de Garry siga haciendo lo suyo.
wilco2009 escribió:Estaria muy bien que modificaras las del divide, ya que tendrias las dos mas usadas.
Si pretendo hacer eso, pero los cambios preferiría hacerlo sobre los fuentes y no emparchando las ROMs y al no disponer de los fuentes se me hace cuesta arriba.

Para el caso de los fuentes de la versión IDE de 8 bits, lo que hice fue hacer un desensamble completo de la ROM1 y la ROM2 con DZ80 y luego compararlos con los fuentes de antoniovillena, buscando las diferencias.... y volviendo desensamblar.... y volviendo a comparar... y uf.... fue un currazo!, si hay que repetirlo con la versión DiviIDE se hará sí, pero ni siquiera he empezado. :D

Es una pena que no haya podido contactar a Garry Lancaster, quizás algún forero le conozca y pueda hablar con él, más allá de todo me parece muy importante que los fuentes estén disponibles para todo el mundo por una cuestión de preservación mas que nada.
admin escribió:Fantastica noticia Djr, me he permitido una licencia y te he cambiado el titulo
Si estoy de acuerdo, queda más claro, pero me dí cuenta después =)
antoniovillena escribió:Una pasada de proyecto. Me alegro de que te hayan servido los fuentes que recopilé. Si quieres aportar tu parte de desensamblado puedo incluirla en los fuentes.
Sin tus fuentes hubiese sido realmente una misión imposible, por que esos fuentes son hermosos, prolijos, y bien comentados gracias a ello me animé a hacer esto.

Los fuentes modificados están aquí y ahí quedarán, sin embargo voy a ver si en lo que queda de la semana puedo agregar comentarios del tipo

Código: Seleccionar todo

/* COMIENZA MODIFICACION */
.......
.......
.......
/* TERMINA MODIFICACION */
para que puedas guiarte mejor.

De todos modos te comento que el 99% de las modificaciones están en la ROM3 (prácticamente ya no tiene huecos libres :)) ) y en la ROM1 apenas si hay una pequeña modificación para interceptar el final del comando "SPECTRUM" y analizar (y abrir si cabe) el nombre del fichero pasado como argumento al comando SPECTRUM.

Re: cargando TAPs en un +3 con ROM´s +3e [LOGRADO]

Publicado: 17 Dic 2014, 15:21
por antoniovillena
Gracias por compartir tu trabajo. Los fuentes son una recopilación que hice. El 80% del desensamblado que hay no es mío, sino de la autoría que se ve en los comentarios.

En una primera versión traté de extraer los fuentes de las 4 ROMs (inglesa/española 4.0/4.1) del +2A/+3. Metí todos los archivos en uno siguiendo la filosofía del Geoff Wearmouth, aunque como has podido comprobar (veo que lo has partido) es complicado mantener un archivo de más de 50.000 líneas. La idea era emplear ensamblado condicional para que del mismo fichero fuente se puedan extraer todas las ROMs.

Más adelante para el ZX-Uno nos hacía falta la ROM del +3e pero con los puertos cambiados (DivMMC en lugar de ZXMMC). Así que me encomendé la tarea de incluir el código de Gary Lancaster, sólo de la versión ZXMMC. Este proceso es lento porque tienes que hacer comparaciones binarias todo el rato y decidir en qué puntos pones el ensamblado condicional. Pero claro, hay como 12 modificaciones del +3e para distintos dispositivos y yo sólo tengo una.

Gracias a tu código podré incluir la versión IDE simple de 8 bits a los fuentes. Así poco a poco se pueden llegar a completar todas las versiones para que cualquiera pueda hacer un trabajo derivado. Desgraciadamente la parte "nueva" apenas tiene comentarios y eso sí que va a ser un problema a la hora de comprender el código.