Formato de Cinta "Universal": Spectrum-Amstrad-Commodore-MSX

Comentarios sobre el actual panorama retro. Lanzamiento de libros, películas, vídeos, y cualquier media sobre retro. Cualquier otra iniciativa que promueva nuestra afición y noticias retro que no cuenten con foro específico en ZONADEPRUEBAS.
Avatar de Usuario
PabloMarmol
Commodore 128
Commodore 128
Mensajes: 115
Registrado: 03 Sep 2012, 17:32
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
Primera consola: Nintendo NES/Clónica
Ubicación: León, España
Gracias dadas: 3 veces
Gracias recibidas: 3 veces

Re: Formato de Cinta "Universal": Spectrum-Amstrad-Commodore-MSX

Mensajepor PabloMarmol » 31 Ago 2017, 23:30

nataliapc escribió:Entiendo lo que dices y estoy decuerdo en esencia, pero en cuanto a definición no hay diferencia entre esa cabecera y los datos...

Nada me impediría a mi crear un juego en cinta cuyos bloques no tuvieran piloto y usar los primeros 256 bytes de datos como yo quisiera.


Claro que podría aparecer un juego que tuviera partes sin tono guía. Pero esos casos ya se contemplan en el bloque 4B "indicando que la duración del tono es cero" ¿no?

nataliapc escribió:De todas formas (de confirmarse que he entendido bien lo que explicaba @Blackhole), ¿cual sería tu propuesta para codificar este tipo de bloques?


¿ Propuesta para poder preservar esas "cintas Opera" respetando el sentido que tiene/tenía el tsx ?
Pues es necesario definir otro bloque.
No se me ocurre otra manera.

Avatar de Usuario
nataliapc
Amstrad CPC 464
Amstrad CPC 464
Mensajes: 62
Registrado: 03 Feb 2017, 10:25
Sistema Favorito: MSX
primer_sistema: MSX
consola_favorita: (Otro)
Primera consola: (Otro)
Gracias dadas: 22 veces
Gracias recibidas: 10 veces
Contactar:

Re: Formato de Cinta "Universal": Spectrum-Amstrad-Commodore-MSX

Mensajepor nataliapc » 31 Ago 2017, 23:49

Igual deberíamos empezar por definir qué significa para cada uno "respetar el sentido que tiene el TSX".

Para mi, el "sentido que tiene el TSX" es:
- Tener una forma de representar de forma nativa y sencilla los bloques estandar MSX (con el MSX 4B se consigue y obtenemos ficheros similares a los CAS en cuanto a sencillez pero más fieles al original).
- Mantener el formato lo más sencillo posible (usar los bloques KCS 4B para los datos que puedan ser representados con ellos sin perder información semántica)
- Las excepciones tratarlas como tales y utilizar los bloques existentes para representarlas. No se puede crear un bloque por cada excepción que encontremos, sería contraproducente para el propio formato y su aceptación.

Y como te he dicho veo completamente representado ese bloque usando un KCS 4B.
No veo necesario crear un bloque nuevo para representar algo que ya entra dentro de lo que es la norma KCS manteniendo totalmente su acceso a los bytes reales de los datos sin necesidad de usar bloques 19 como usaba al principio @Blackhole antes de que definiera el 4B.

NOTA: cuando me refiero a bloques MSX 4B me me sigo refiriendo a un subconjunto de lo que representa la definición del bloque KCS 4B.
@ishwin74

manolito74
Amstrad PCW 8256
Amstrad PCW 8256
Mensajes: 152
Registrado: 18 Mar 2010, 22:44
Sistema Favorito: MSX
primer_sistema: MSX
consola_favorita: Sony PlayStation 2
Primera consola: Nintendo NES/Clónica
Gracias dadas: 1 vez
Gracias recibidas: 6 veces

Re: Formato de Cinta "Universal": Spectrum-Amstrad-Commodore-MSX

Mensajepor manolito74 » 01 Sep 2017, 02:18

Hola:

Respecto a los Juegos de Ópera y su "protección" en este Hilo se comentaba algo:

https://www.msx.org/node/51473

En concreto el Usuario osises comentaba lo siguiente:

Yo recuerdo los primeros de Opera que tenían ese tipo de carga. Concretamente Last Mission hacía unas rayas rojas y blancas (o rojas y gris). Como en los demás casos se cargaba un bloque Bload que era el cargador turbo.

Creo que todos los de esas primeras épocas lo debían hacer de igual manera (Last Mission, Livingston Supongo, Goody, Cosa Nostra...). Desconozco cuantos eran así, aunque recuerdo haber tenido alguno muy posterior que no hacía nada de esto.


Entiendo entonces que esa protección sí que fue usada al principiol Lo comento por si sirve de algo a la hora de analizar tamibén otros Juegos como el Goody y el Cosa Nostra y os pueden aportar algo sobre el patrón-comportamiento de la carga.

Gracias & Saludetes. ;-)

BlackHole
Amiga 1200
Amiga 1200
Mensajes: 1050
Registrado: 07 Nov 2009, 11:38
Ubicación: Madrid
Gracias dadas: 2 veces
Gracias recibidas: 68 veces

Re: Formato de Cinta "Universal": Spectrum-Amstrad-Commodore-MSX

Mensajepor BlackHole » 01 Sep 2017, 12:26

@PabloMarmol: Efectivamente esta protección consiste en sustituir el tono guía por datos para confundir a los posibles copiadores que hubiese por la época. Al oído, parece un tono guía con "interferencias", que no son otra cosa que los bits cero de arranque a 1200 Hz cada diez bits uno (20 ondas) a 2400 Hz. El cargador usa la propia rutina TAPIN ($00E4) de la BIOS para la carga, que lee el primer byte que esté en ese momento en la cinta, a lo bestia, sin importarle que exista o no un tono guía (es más, si lo hay lo descarta). Esa rutina normalmente está dentro de bucles como el que el BASIC gestiona a escribir LOAD, ya que lee un único byte y ahí acaba su función.

No hay que definir un bloque TZX nuevo porque en realidad son datos en modulación MSX (11 bits por byte, con bits de arranque y parada) y eso ya lo hace el bloque 4B que yo definí en su momento. Podría haber generado un único bloque grande con los 40193+256 bytes, pero tras analizar el código del cargador, preferí separarlo en dos: los datos que son ignorados, y los datos que realmente van a memoria, sin pausas entre ellos. Efectivamente, como no existe tono guía, ponemos su número de ondas a cero. El bloque 4B está diseñado con esa versatilidad. De hecho en los TZX de Spectrum encontramos esa estrategia en multitud de cintas.

Recordemos que los TZX describen cómo están físicamente las ondas dispuestas en la cinta, para recrear el sonido original. El que un preservador decida cómo mostrar al usuario esa información (junta o separada), es una capa de complejidad que está por encima de la capa física y que solo nos vale a nosotros los humanos para intentar abstraer la lógica subyacente. No os comáis mucho el coco con ello.
Última edición por BlackHole el 01 Sep 2017, 13:45, editado 6 veces en total.

manolito74
Amstrad PCW 8256
Amstrad PCW 8256
Mensajes: 152
Registrado: 18 Mar 2010, 22:44
Sistema Favorito: MSX
primer_sistema: MSX
consola_favorita: Sony PlayStation 2
Primera consola: Nintendo NES/Clónica
Gracias dadas: 1 vez
Gracias recibidas: 6 veces

Re: Formato de Cinta "Universal": Spectrum-Amstrad-Commodore-MSX

Mensajepor manolito74 » 01 Sep 2017, 12:43

Hola:

Gracias por la exposición-aclaración técnica BlackHole. ;-)

Gracias & Saludetes. ;-)

Avatar de Usuario
PabloMarmol
Commodore 128
Commodore 128
Mensajes: 115
Registrado: 03 Sep 2012, 17:32
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
Primera consola: Nintendo NES/Clónica
Ubicación: León, España
Gracias dadas: 3 veces
Gracias recibidas: 3 veces

Re: Formato de Cinta "Universal": Spectrum-Amstrad-Commodore-MSX

Mensajepor PabloMarmol » 01 Sep 2017, 16:05

BlackHole escribió:No hay que definir un bloque TZX nuevo porque en realidad son datos en modulación MSX


Esa es la cuestión, que yo creo que "lo que se está preservando en ese bloque no son datos msx". Alguien verá después el fichero tsx resultante y dirá "mira, este de aquí es un bloque de datos seguido de otro bloque de datos" y no será verdad, habrá que decir que se ha pactado simular los datos en diferido :mrgreen:

Pero bueno. Es una cuestión "de concepto". Como el resultado será válido pues no pasa nada, usad bloques de datos para guardar cosas que no son datos :)

(ya no insisto mas, lo prometo. Lamento haberme puesto en modo "ser mas papista que el papa")

BlackHole
Amiga 1200
Amiga 1200
Mensajes: 1050
Registrado: 07 Nov 2009, 11:38
Ubicación: Madrid
Gracias dadas: 2 veces
Gracias recibidas: 68 veces

Re: Formato de Cinta "Universal": Spectrum-Amstrad-Commodore-MSX

Mensajepor BlackHole » 01 Sep 2017, 16:57

Bueno, es mi última intervención sobre este tema del The Last Mission. Claro que es un bloque de datos, el cargador carga esos datos porque además espera que esos datos estén ahí. El que no los deposite en memoria después no es mi problema. Parece que todavía siguieses con la mentalidad de los CAS, pero no es el objetivo del TZX (TSX) que es replicar fielmente la cinta original.

Mira, voy a poner un ejemplo del ZX Spectrum, que es donde más experiencia tengo. Una de las versiones del West Bank de Dinamic (pues hubo varias) cargaba un bloque de 60K todo seguido de golpe y eso que el ordenador tenía 48K de RAM!!! Resulta que 22K eran una copia de la ROM (BIOS) y de la pantalla de video y se descartaban en el resultado final. ¿Hubiese sido posible otra versión con solo el contenido del juego? Por supuesto, puesto que posteriormente la versión de caja jewel y la traducción al inglés del juego por Gremlin Graphics así lo hicieron, pero si quieres replicar el comportamiento del West Bank en estuche, tienes que generar un bloque de 60K a no ser que lo craquees (y entonces no sería original).
Última edición por BlackHole el 01 Sep 2017, 17:32, editado 6 veces en total.

manolito74
Amstrad PCW 8256
Amstrad PCW 8256
Mensajes: 152
Registrado: 18 Mar 2010, 22:44
Sistema Favorito: MSX
primer_sistema: MSX
consola_favorita: Sony PlayStation 2
Primera consola: Nintendo NES/Clónica
Gracias dadas: 1 vez
Gracias recibidas: 6 veces

Re: Formato de Cinta "Universal": Spectrum-Amstrad-Commodore-MSX

Mensajepor manolito74 » 01 Sep 2017, 17:02

Hola:

Tranquilidad chic@s, que no pasa nada. Está bien que cada uno aporte su opinión y contrastar cosas y puntos de vista. Lo que a uno no se le ocurre o no ve se le ocurre a otro o lo ve otro y viceversa. Se trata de que aparezcan y se toquen el máximo de escenarios distintos y en este caso el de Ópera ha puesto para "poner cuestiones encima de la mesa" así que bienvenido sea.

Gracias & Saludetes. ;-)

Avatar de Usuario
araubi
Amstrad PCW 8256
Amstrad PCW 8256
Mensajes: 177
Registrado: 11 Sep 2012, 11:06
Sistema Favorito: MSX
primer_sistema: MSX
consola_favorita: Nintendo SNES
Primera consola: Sony PlayStation 1
Gracias dadas: 4 veces
Gracias recibidas: 4 veces

Re: Formato de Cinta "Universal": Spectrum-Amstrad-Commodore-MSX

Mensajepor araubi » 02 Sep 2017, 20:19

Mmmm, cuando regrese a casa miraré de volcar el Cosa Nostra por si es de utilidad.

manolito74
Amstrad PCW 8256
Amstrad PCW 8256
Mensajes: 152
Registrado: 18 Mar 2010, 22:44
Sistema Favorito: MSX
primer_sistema: MSX
consola_favorita: Sony PlayStation 2
Primera consola: Nintendo NES/Clónica
Gracias dadas: 1 vez
Gracias recibidas: 6 veces

Re: Formato de Cinta "Universal": Spectrum-Amstrad-Commodore-MSX

Mensajepor manolito74 » 03 Sep 2017, 19:46

Hola:

Acabo de probar a crear un TSX usando un Wav del Juego Stardust. En este caso no se trata del Juego original sino de la versión hecha por un Grupo piratilla argentino de la época. Esta gente les metía a los Juegos su propio Cargador y al parecer el Formato de Carga debe ser bastante peculiar. Yo no he conseguido crear el TSX. Os subo el Juego al FTP por si os interesa echarle un vistazo.

Lo dejo en la Carpeta "UPLOADS" y es el Fichero: "Stardust - Red Point version".

Gracias & Saludetes. ;-)


Volver a “Retroinformatica hoy”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 12 invitados