Guía para hacer Turbo cargas de cinta en C64.

Avatar de Usuario
kikems
Mensajes: 4184
Registrado: 30 May 2013 19:23
Agradecido : 1473 veces
Agradecimiento recibido: 1924 veces

Guía para hacer Turbo cargas de cinta en C64.

Mensajepor kikems » 25 Ago 2019 20:12

01_TurboCargasC64.JPG
01_TurboCargasC64.JPG (108.66 KiB) Visto 1385 veces


Como en otras ocasiones, abro este hilo para compartir esta guía y que los que saben más sobre el asunto puedan aportar información o procedimientos adicionales.

En los 80 yo era usuario de ZX y desconocía todos estos procesos existentes en otros sistemas. Mi experiencia en ZX era algo tan sencillo como copiar las cintas con una cadena musical de doble pletina, solo alguna carga turbo o speedlock se resistía, pero si tenías buenas cintas y un buen equipo musical podías llegar a saltar ese problema sin más complicaciones. En otros sistemas como el C64, parece ser que el proceso de copia no era tan sencillo como copiar de cinta a cinta ya que la fase de la señal está invertida.

El caso es que hace unos días un amigo me preguntó si quería un datassette de Commodore y me lo envió, yo ya tenía uno por casa pero en algún momento se averió el motor. Cuando me llegó el Datassette, lo primero que hice fue cargar alguna cinta original para comprobar que funcionaba correctamente. Llegado a este punto me dije... voy a hacerme una cinta PIRATONA de esas como las que tenía en ZX llena de juegos y me he puesto a investigar un poco el proceso. Ya sabéis como va esto del jonkie retro , empiezas a probar una cosa rápida y te terminas engorilando todo el fin de semana lluvioso, intentando aprender y recrear cómo se hacían esas cosas en los 80. Ahora que ya lo tengo resuelto, publico aquí esta mini guía para que pueda servir de ayuda al resto de usuarios.

Voy a describir el proceso desde vuestro ordenador actual con el emulador y también todo necesario para desarrollar el proceso desde la máquina real. Se podría hacer todo desde casetes, pero para facilitar un poco las cosas me voy a basar en el uso de discos o imágenes D64 para todo el proceso. Yo me he preparado y formateado un par de discos o imágenes D64, que he denominado "de trabajo", para ir volcando los procesos.
En el Commodore 64 necesitaras tener un Datassette y una unidad de disco real o emulada ( Chamaleon, Ultimate, etc... ) que te permita leer y escribir.

Nuestro objetivo es obtener el PRG de los juegos, compactarlo para hacerlo lo más pequeño posible y volcarlo a cinta en modo turbo con la menor longitud posible. Además de velocidad también buscamos meter el mayor número de juegos posible en una cinta de 60 min ( yo he conseguido meter una media de 50 juegos ).

Así a modo resumido hay fases o pasos globales, luego dentro de cada paso se pueden usar procesos o programas alternativos:

1- Lo primero es obtener el juego en un solo archivo, que bien podemos obtenerlo descargándolo de internet, extraerlo de un disco real o una imagen D64, obtenerlo de una captura de memoria con un Action Replay o similar, etc...
2- El segundo paso importante es conseguir comprimir y reducir al máximo el tamaño del archivo de juego para que ocupe lo menos posible y cargue lo más rápido que seamos capaces de conseguir. Si eres un poco más perezoso puedes saltarte este paso, pero no conseguirás los mejores tiempos de carga.
3- El último paso es el volcado a cinta real o emulada con algún programa que utilice las rutinas turbo. En nuestro caso intentaremos buscar una forma que sea autoejecutable, que no requiera de roms extra, cargadores turbo previamente cargados en memoria,etc..., de modo que nuestras cintas turbo puedan funcionar en cualquier C64 con datacasette sin más aditivos.

1.- Obtención del PRG del juego.
Lo primero que necesitamos obtener es el PRG del juego a cargar, sin pantalla de carga, ni música de carga o florituras.
Afortunadamente a día de hoy es muy fácil conseguir juegos ya correctamente comprimidos, con trainers, etc... en imágenes de disco D64. Lo más fácil es buscar esa imagen D64 de nuestro juego favorito y obtener el PRG.
Para esta tarea , desde el ordenador actual , yo uso el programa DiskImagery64 ( disponible Mac, PC, Linux ) que me permite abrir, explorar e importar/exportar archivos de cualquier imagen D64.
https://sourceforge.net/projects/diskimagery64/

02_DiskImagery64.png
02_DiskImagery64.png (51.64 KiB) Visto 1382 veces


Para mantener todo ordenado y que me sea más fácil ordenar todo el contenido de la cinta, yo he creado una carpeta en mi escritorio y he metido todos los PRG.

Esta tarea también la podéis hacer desde la máquina real con unidad de disco usando un copiador para pasar los PRG de los D64 " originales " o a vuestro propio D64 o disco de trabajo. Para esta tarea yo suelo usar el "Single file Hack'em" .
https://csdb.dk/release/?id=97091

97091.gif
97091.gif (6.73 KiB) Visto 1381 veces


En caso de no disponer de una imagen de disco adecuada, de vuestro gusto o querer hacer el proceso desde un juego original o protegido, siempre queda el recurso alternativo de hacer una captura de memoria con el Action Replay o cualquier otro freezer. Si no vas a usar el Action Replay es importante que busques un freezer que permita que el archivo resultante cargue en un C64 sin aditivos, para que puedas compartir tu cinta PIRATONA, una vez realizada.

Este es el proceso con Action Replay.
1.1 Cuando encendemos el emulador con Action Replay o la máquina original, lo primero es seleccionar la opción "F1- Configure Memory" , para limpiar y llenar la memoria libre con ceros. Esto será determinante para obtener un tamaño de archivo pequeño y lo más limpio posible.
1.2 Una vez que ha reiniciado el C64, cargamos el juego normalmente ya sea de cinta o disco y esperamos a que esté cargado. Si deseas hacer mejoras o pokear el juego, este es el momento de hacerlo antes de guardar los cambios y continuar.
Si deseas ampliar más información sobre cómo trucar tus juegos, aquí en RetroWiki tienes una guía paso a paso.
viewtopic.php?t=200034225

04_CargaJuego.JPG
04_CargaJuego.JPG (62.09 KiB) Visto 1379 veces


1.3 Una vez cargado el juego en memoria vamos a hacer un Snapshot para obtener un PRG del juego. Pulsamos el botón del freezer ( o la función equivalente en vuestro emulador, en mi caso es Manzana+z ) y entramos al menú del Action Replay.

05_Freezer.JPG
05_Freezer.JPG (56.82 KiB) Visto 1379 veces


Seleccionamos la opción "F1-Backup". Una vez que ya estamos en las opciones de Backup, vemos los bloques que va a ocupar el PRG resultante, metemos el disco destino/trabajo para nuestra recopilación y guardamos el archivo con la opción "A-Disk Save- Turbo".

06_GuardadoFreezer.JPG
06_GuardadoFreezer.JPG (68 KiB) Visto 1379 veces


Alguno se habrá fijando en la opción que tiene el Action Replay de volcar a cinta SuperTurbo, pues sí, con esa opción ya podéis ir creando directamente vuestra cinta Turbo, titulo a título. El tiempo obtenido con estas cargas es muy bueno unos 1,30 - 2,40 minutos por carga , así que si eres perezoso, con esta opción no necesitas continuar complicándote la vida con el resto del tutorial. El Action Replay ya aplica una compresión razonable y un sistema turbo de carga que funciona en cualquier C64 sin necesidad de tener un Action Replay conectado, pero si eres de los que les gusta experimentar tendrás que seguir con la guía. Para que te hagas una idea, con la utilidad SuperTurbo a cinta del Action Replay he conseguido meter unos 30 juegos en una cinta de 60 min, con el proceso que se describe a continuación he metido 50 juegos.

2.- La compresión o el cruncher. Este proceso es fundamental para reducir el tamaño del PRG y conseguir unas cargas lo más cortas posibles.

Generalmente obtendrás una reducción de tamaño del 40-50%, si el resultado apenas ha comprimido o incluso llega a ocupar más que el original , entonces significa que el PRG ya estaba comprimido y en ese caso es mejor dejar el PRG original intacto.

En el caso de estar realizando el proceso desde vuestro ordenador actual, podéis usar el ejecutable del Exomizer para obtener fácilmente un buen nivel de compresión en el ejecutable. ( Disponible para PC, Mac, Linux, AmigaOS... ) https://bitbucket.org/magli143/exomizer/wiki/Home .
Descargar el ejecutable de Exomizer para tu sistema y desde el terminal o la línea de comandos usas el la siguiente sintaxis :

exomizer sfx basic RutaDelArchivoOrigen -o RutaDelArchivoComprimido

03_Exomizer.png
03_Exomizer.png (89.52 KiB) Visto 1376 veces


Ahora el método de realizar la compresión en la máquina real, si este paso no te interesa puedes saltar directo al punto 3.

2.1- Descarga el MS-Cruncher 1.5, puedes usar cualquier otro compresor existen un montón, yo te propongo este como solución fácil, rápida y que tiene un resultado razonablemente bueno.
https://csdb.dk/release/?id=81209

81209.gif
81209.gif (18.08 KiB) Visto 1291 veces


2.2- Carga el MS Cruncher y luego inserta el disco con el PRG origen obtenido del D64 o del Action Replay, para que liste el contenido.
Selecciona el archivo a comprimir y pulsa return 2 veces. El primer return es para detectar la dirección de memoria donde empieza el programa y el segundo return es por si lo quieres modificar.

07_MSCruncher.JPG
07_MSCruncher.JPG (53.9 KiB) Visto 1371 veces


2.3- Seleccionamos el nivel de compresión. A más nivel de compresión, menos ocupa el archivo final y más tiempo tarda en comprimirlo , así que paciencia.

08_MSCruncher_compresion.JPG
08_MSCruncher_compresion.JPG (52.48 KiB) Visto 1371 veces


2.4- Guardamos el archivo comprimido al disco de trabajo. Podemos poner el mismo nombre y reescribir el original, así vamos liberando espacio en nuestro disco de trabajo a medida que avanzamos.
Dejamos las opciones como nos sugiere el programa y escogemos la opción de borrar la cabecera de basic ( esto supone que tendremos que hacer un RUN tras cargar el juego, pero lo resolveremos en el siguiente paso ).

09_MSCruncher_salvado.JPG
09_MSCruncher_salvado.JPG (52.96 KiB) Visto 1371 veces


3.- Ha llegado el momento de la verdad, el volcado a cinta real.

Tanto si has seguido el proceso desde tu computador actual, como desde el Commodore 64, ahora deberías tener uno o varios D64 o disco reales de trabajo con la recopilación de tus PRG ya comprimidos.

Existen opciones para volcar desde el PC/Mac directo a cinta o datassette pero, en este caso, solo voy a comentar el proceso con la máquina real. Creo que es el proceso más sencillo y lógico ya que la idea es obtener una cinta real y para eso no hay nada mejor que tu C64 conectado a tu monitor y el datacassette listo para trabajar.

3.1- Descargamos el programa Spectacular Copy para C64 ( hay muchos turbo loaders, pero este me ha parecido de los más completos, es autocontenido, así que no necesitar tener una rom especial o cargar previamente un cargador turbo para usar la cinta y además puede procesar automáticamente todos los PRG que tenemos en el D64 o el Disco real, en lote.
https://csdb.dk/release/?id=43738

11_SpectacularCopy.JPG
11_SpectacularCopy.JPG (52.06 KiB) Visto 1369 veces


3.2- Metemos el D64 o disco de trabajo y seleccionamos la opción "3 Disk to Auto-Turbo", que autoejecutará los juegos una vez cargados ( con esto resolvemos el haber quitado la cabecera basic desde el compresor ). Pulsando I se puede acceder a las instrucciones del programa, para los que quieran más información.

3.3- Una vez que nos lista el contenido del disco pulsamos la "a" y return , para que comience a volcar a cinta todos los PRG. En este punto ya debemos tener listo el Datassette con la cinta dentro , rebobinada y el contador puesto a cero para comenzar a anotar las posiciones de cada juego.
Seguir las instrucciones de pantalla y el programa solo va cargando los PRG y solicitando que le demos a grabar en la cinta.

12_VolcandoSpectacularCopy.JPG
12_VolcandoSpectacularCopy.JPG (46.42 KiB) Visto 1369 veces


Acordaros de ir anotando en un papel la posición de inicio de cada juego para luego haceros vuestra carátula con el índice del contenido.
Para usar la cinta final con los juegos solo hay que encender el C64 y pulsar la tecla commodore+run/stop para comenzar la carga de cada juego.

13_ProbandoCargaTurbo.JPG
13_ProbandoCargaTurbo.JPG (83.26 KiB) Visto 1369 veces


Según el juego , la compresión y complejidad de cada uno obtendréis unos tiempos de carga de entre 1,20 min y 20 segundos, que teniendo en cuenta que el C64 estaba pensado para usarse a tan solo 300 baudio, está muy bien. Yo he conseguido meter hasta 50 juegos en un cinta de 60 min a doble cara, lo cual es un logro para un C64.

Seguramente aún se puede mejorar más el proceso, usar algún turbo cargador más rápido o un compresor/cruncher mejor, pero he intentado buscar la fórmula más sencilla, rápida y cómoda.

14_final.JPG
14_final.JPG (101.88 KiB) Visto 1369 veces


Mis agradecimientos a Almighty God, que me ha ido ayudando durante el proceso de investigación con algunos de los programas a escoger para el C64.

Avatar de Usuario
kikems
Mensajes: 4184
Registrado: 30 May 2013 19:23
Agradecido : 1473 veces
Agradecimiento recibido: 1924 veces

Re: Guía para hacer Turbo cargas de cinta en C64.

Mensajepor kikems » 25 Ago 2019 22:05

Yo he mostrado el proceso de una Turbo cinta PIRATONA y "gocha", la que quisiéramos recibir o compartir en los 80, en la que entrara el mayor número posible de juegos, para alimentar nuestro insaciable vicio, carga rápida sacrificando esas maravillosas pantallas de presentación y músicas que tango gusto dieron a los usuarios del C64.
Si lo que buscabas es hacerte algo bonito con carga acelerada, pantalla de presentación y música durante la carga, entonces te recomiendo el tutorial de Commodore Spain .
https://www.commodorespain.es/tutorial- ... -parte-ii/

Avatar de Usuario
kikems
Mensajes: 4184
Registrado: 30 May 2013 19:23
Agradecido : 1473 veces
Agradecimiento recibido: 1924 veces

Re: Guía para hacer Turbo cargas de cinta en C64.

Mensajepor kikems » 26 Ago 2019 09:31

Ya varios usuarios me han comentado que si unos juegos ocupan más que otros, etc...
No todos los juegos de C64 usan la ram al 100% muchos ocupan 40 - 50 Kb y no necesitan más, otros están metidos a tope y aprovechan la máquina al 120%. Otros juegos tienen todos los datos metidos sin más y otros más sofisticados tienen elementos comprimidos en ram, que ellos solos van descomprimiendo según avanzas en el juego. Por todo esto, unos juegos comprimen más y ocupan menos que otros, pero no necesariamente los juegos buenos ocupan más y los malos ocupan menos.
Lo que si es cierto , es que si te pones a hacer una colección de juegos de revistas, homebrew y proyectos de basic , casi seguro que comprimiendo vas a obtener unos tamaños muy reducidos y unos tiempos de carga espectaculares.

Avatar de Usuario
kikems
Mensajes: 4184
Registrado: 30 May 2013 19:23
Agradecido : 1473 veces
Agradecimiento recibido: 1924 veces

Re: Guía para hacer Turbo cargas de cinta en C64.

Mensajepor kikems » 26 Ago 2019 09:35

Bajo mi punto de vista faltaría otra guía o tutorial más avanzado para hacer empaquetados como los de BlackHole, que es capaz a coger el juego original y meter en el mismo ejecutable la pantalla de carga, la música de carga y el juego y todo ello comprimido al máximo. De este modo se obtiene lo mejor de los dos mundos, una velocidad de carga lo más rápida posible y no sacrificamos aquellas obras de arte que eran las pantallas de presentación con sus músicas de carga.

Aquí un hilo con juegos empaquetados por BlackHole realizando el proceso que he comentado, todo está dentro del PRG y comprimido con la librería de Antonio Villena aPLib.

viewtopic.php?f=48&t=200033435

marcos64
Mensajes: 507
Registrado: 08 Nov 2018 10:31
Agradecido : 91 veces
Agradecimiento recibido: 187 veces

Re: Guía para hacer Turbo cargas de cinta en C64.

Mensajepor marcos64 » 26 Ago 2019 09:46

Interesante metodo. Nunca lo he hecho de esta forma, siempre he usado el metodo PTAP/MTAP, con alguna excepcion.

Lo probare. Tengo curiosidad por ver que añade para que carguen automaticamente sin necesidad de cargar primero el Turbo Tape.

Ademas mi Datassette da errores ocasionales de los que no he podido encontrar la causa, asi espero poder eliminar (o no) que la causa sea el PC o el cable X1541).
http://marcos64.orgfree.com/
Actualizacion 22/4/2018: Actualizada Load'N'Run numero 5 con nuevos TAPs y PRGs.

Avatar de Usuario
kikems
Mensajes: 4184
Registrado: 30 May 2013 19:23
Agradecido : 1473 veces
Agradecimiento recibido: 1924 veces

Re: Guía para hacer Turbo cargas de cinta en C64.

Mensajepor kikems » 26 Ago 2019 11:05

marcos64 escribió:Interesante metodo. Nunca lo he hecho de esta forma, siempre he usado el metodo PTAP/MTAP, con alguna excepcion.

Lo probare. Tengo curiosidad por ver que añade para que carguen automaticamente sin necesidad de cargar primero el Turbo Tape.

Ademas mi Datassette da errores ocasionales de los que no he podido encontrar la causa, asi espero poder eliminar (o no) que la causa sea el PC o el cable X1541).


Como bien comentas, la mayoría de las Turbo cargas "caseras" que rulaban en los 80/90 eran dependientes siempre de un cargador, una rom modificada o de algún cartucho, lo cual hacía el proceso más engorroso, si tenías que cargar el programa turbo antes de proceder con la carga del juego, ya estabas perdiendo el tiempo que supuestamente querías ahorrar. Por eso me he centrado en buscar una solución autocontenida e independiente de hardware.

Imagino que el SpectacularCopy lo que hace es cargar su rutina turbo en la cabecera y la carga turbo realmente comienza cuando ves las rayas de colores horizontales.

Se me olvidó comentar que muchos Freezers tienen sus rutinas Turbo de cinta, pero la mayoría son dependientes del hardware, vamos que tienes que tener el cartucho conectado desde el que hiciste el Turbo guardado, para poderlo cargar de nuevo. De todos modos, ninguno de esas Turbo cargas de freezer ( que yo he probado ) obtienen tiempos tan rápidos como los obtenidos en la guía.

Avatar de Usuario
kikems
Mensajes: 4184
Registrado: 30 May 2013 19:23
Agradecido : 1473 veces
Agradecimiento recibido: 1924 veces

Re: Guía para hacer Turbo cargas de cinta en C64.

Mensajepor kikems » 26 Ago 2019 11:30

A ver si alguien con más conocimientos de la ROM, y el hardware nos puede explicar cómo y hasta donde se puede acelerar la transferencia entre el C64 y la cinta.

En otros sistemas como el ZX o el CPC, desde ROM puedes seleccionar varias velocidades de intercambio con la cinta ; 600, 1200 y 2400 bps, a más velocidad, más probabilidad de fallos hay pero obtienes un menor tiempo de carga.

Hasta donde yo sé el C64 y el Datassette intercambian datos a nivel de hardware a 600 bps basándose en las rutinas de la ROM pero como realiza , por defecto, unas comprobaciones CRC se queda en 300 bps efectivos. A 300 bps el tiempo medio de la carga de un juego sin comprimir puede ser de 10-12 min, con estas rutinas turbo el mismo juego queda en 5-6 min ( que afortunadamente es el tiempo de carga de la mayoría de juegos comerciales ) y con las Super Turbo se queda en 2-3 min, ya el resto del tiempo que rascamos hasta acercarnos o bajar del minuto es gracias a la compresión previa que aplicamos.
Imagino que la rutina turbo más básica es la que simplemente elimina la comprobación CRC y usa los 600 bps que permite el hardware, solo para transferir datos.

Mis dudas son , ¿estos cargadores o rutinas Turbo llegan en algún momento a superar la barrera de los 600 bps de transferencia de forma real? y ¿cómo lo hacen?.
He visto por la documentación de algún cargador turbo que permite hasta 3000 bps, pero imagino que no son reales, solo es una forma figurativa de mostrar la efectividad que tiene y posiblemente se refiera solo a que su compresión sumada a la rutina turbo resulte tan efectiva como si el C64 trabajara a 3000 bps.

BlackHole
Mensajes: 1201
Registrado: 03 Ago 2011 23:07
Ubicación: Aluche, Madrid
Agradecido : 13 veces
Agradecimiento recibido: 270 veces

Re: Guía para hacer Turbo cargas de cinta en C64.

Mensajepor BlackHole » 26 Ago 2019 17:29

Sí, si son reales esos 3000 bps. Hasta las cintas comerciales llegan a esas velocidades. Es que a veces nos olvidamos que mientras un juego de Spectrum 48K carga, valga la redundancia, 48K a lo sumo (en 128k las cifras varían), resulta que en Commodore 64, es típico que los juegos carguen 80K, pues cargan una música (4-6 KB) y una pantalla de carga (9 KB), que luego son sobreescritos con la memoria completa del juego (hasta 64 KB) en un tiempo similar a las cintas comerciales de Spectrum, cuyos turbos rondan los 2300-2500 bps. Con el datasette y la conversión analógico-digital que hace el aparato, informando directamente a la CIA de los flancos de bajada de las ondas, los 3000 bps son más fiables que su equivalente en Spectrum/Amstrad/MSX.

En el mundo de C64, resulta que cada esquema de carga de una cinta casi se reinventa desde cero por parte del programador de la compañía, los hay que tienen un bit de paridad por cada byte cargado como las rutinas de la ROM, pero los hay que ignoran todo eso y funcionan como Spectrum, con un simple byte de Checksum (ni siquiera CRC) al final del bloque de datos. Entre medias hay mil y un esquemas de carga, con tonos piloto, sin tonos piloto, con una cuenta atrás de varios bytes como inicio de bloque, en fin... no hay nada fijo en C64. Hemos de recordar que la rutina de la ROM es tan lenta porque es la misma que los PET y carga todo dos veces, para comparar al final. Ninguna carga turbo hace esa locura.

Avatar de Usuario
Taburoto
Mensajes: 1412
Registrado: 15 Mar 2011 00:40
Agradecido : 26 veces
Agradecimiento recibido: 170 veces

Re: Guía para hacer Turbo cargas de cinta en C64.

Mensajepor Taburoto » 26 Ago 2019 18:16

Entonces la limitación a 600bps es por la ROM no por el datassette,ya que los loaders comerciales usan sus propias velocidades.

marcos64
Mensajes: 507
Registrado: 08 Nov 2018 10:31
Agradecido : 91 veces
Agradecimiento recibido: 187 veces

Re: Guía para hacer Turbo cargas de cinta en C64.

Mensajepor marcos64 » 26 Ago 2019 18:33

Comercialmente existen un numero grandisimo de diferentes tipos de turbos, algunos con cosas tan interesantes como poder jugar a un Space Invaders mientras carga, o permitir rebobinar un poco y reanudar la carga si se produce un error de lectura.

A nivel domestico basicamente el estandar de turbos de cinta es el Turbo Tape 64. Fue el primero en salir y todos los que vinieron despues son compatibles con el, añadiendo alguna mejora como poder cargar programas mayores.

Una de las personas que mas conoce el tema es enthusi y en este hilo de Lemon64 dice:

TurboTape has about 3700 Baud.
Roughly.
That's about 28 KB/Min which leads to 1.2 MB per 90er tape side.


Habia un hilo en Lemon64 donde explicaban todo tipo de pruebas con Turbos pero no he sido capaz de encontrarlo :(

El FC3 tiene un modo de backup propio pero tambien es capaz de grabar y leer en Turbo Tape, aunque esta informacion falta en muchos manuales -shock Pero la causa de que sea mas lento, y esto vale para todos los freezer, es que graba TODA la memoria.
http://marcos64.orgfree.com/
Actualizacion 22/4/2018: Actualizada Load'N'Run numero 5 con nuevos TAPs y PRGs.

Avatar de Usuario
Arturo
Mensajes: 109
Registrado: 13 Ene 2013 00:38
Agradecido : 6 veces
Agradecimiento recibido: 17 veces

Re: Guía para hacer Turbo cargas de cinta en C64.

Mensajepor Arturo » 26 Ago 2019 20:12

Yo recuerdo que en su tiempo se usaba un turbo para cintas, no recuerdo el nombre pero era lo más sencillo posible no tenía menu simplemente cargabas el turbo, luego cargabas un juego desprotegido (con o sin turbo) y al grabarlo con save ya se grababa con turbo.

Como habeis comentado para cargar el juego no hacia falta cargar el turbo primero sino que el juego ya incluia la rutina turbo, en los procesos de carga y grabacion aparecian las tipicas barras en pantalla.

Y siempre se copiaba con load y save porque efectivamente las cintas de C64 no se podian copiar con cadena de musica.

Avatar de Usuario
kikems
Mensajes: 4184
Registrado: 30 May 2013 19:23
Agradecido : 1473 veces
Agradecimiento recibido: 1924 veces

Re: Guía para hacer Turbo cargas de cinta en C64.

Mensajepor kikems » 26 Ago 2019 20:43

Antes de elaborar la guía he probado varios sistemas Turbo de esos de cargar y salvar a mano, el TurboTape estaba entre ellos y finalmente me daba el mismo número de vueltas de contador que el SpectacularCopy, por eso finalmente me decidí por el SpectacularCopy y porque me permite hacer el proceso automatizado desde disco. Bueno, para ser justos el SpectacularCopy creo que arrojaba 1 vuelta más de contador que el TurboTape.

Avatar de Usuario
kikems
Mensajes: 4184
Registrado: 30 May 2013 19:23
Agradecido : 1473 veces
Agradecimiento recibido: 1924 veces

Re: Guía para hacer Turbo cargas de cinta en C64.

Mensajepor kikems » 26 Ago 2019 20:52

Mi pregunta para poder afinar más, es la siguiente. Supongamos un caso con el Action Replay, cargo un juego, congelo y.... en vez de volcar la ram completa a un PRG he visto que desde el Monitor CM puedo volcar un área de memoria a un archivo:
1- ¿Cómo puedo determinar desde qué área a qué área debo volcar el segmento de memoria para capturar solo el juego?.
2- ¿Debo de hacerle un cargador desde basic o algo similar para ejecutarlo en las direcciones adecuada y cómo?.

Ya sé que no hay una respuesta genérica a estas preguntas, pero si alguien con conocimiento nos pudiera explicar un ejemplo práctico con un juego, puede que a muchos nos sirva de punto de partida para aprender y mejorar el proceso.

BlackHole
Mensajes: 1201
Registrado: 03 Ago 2011 23:07
Ubicación: Aluche, Madrid
Agradecido : 13 veces
Agradecimiento recibido: 270 veces

Re: Guía para hacer Turbo cargas de cinta en C64.

Mensajepor BlackHole » 26 Ago 2019 21:40

Arturo: Es lo que marcos64 acaba de comentar más arriba: Turbo Tape 64, del que existen varios clones. El más extendido parece que fue el Turbo 250 programado por Mr.Z del grupo Triad, que tenía un tono guía ligeramente más corto que el resto y ahorraba 8 vueltas del contador de cassette (al menos es algo y se nota cuando tenías 25 juegos por cara en una cinta de 60 minutos). El cartucho Final Cartridge III acertó al incluirlo como herramienta del sistema. El Action Replay tenía un turbo de cinta, pero incompatible y que iba a la mitad de velocidad.

Kikems: No puedes. Generalmente los juegos usan toda la memoria. Es prácticamente imposible, una vez que está en estado congelado, saber a qué pertenece cada zona. Si es código, si son datos a utilizar a posteriori por el juego, si son datos ya utilizados, si son datos que se han movido y no se van a tocar, si son restos inservibles de basura previa o comprimida. Por eso los cartuchos vuelcan absolutamente todo, lo hacía el Freeze Frame, el Lazer Cartridge, el ISEPIC, el Final Cartridge, el Action Replay ... o en Spectrum el Transtape, o el propio Dandanator.

La única forma de saber cuáles son los datos útiles es identificar en el proceso de carga a dónde va cada bloque y grabarlos antes de que el juego arranque. Así se ha hecho siempre en cualquier plataforma, sea Spectrum, Amstrad, Commodore, MSX, Atari, Oric, Enterprise o cualquier otra que tuviese escena en su tiempo o en la actualidad. Luego con los límites ya definidos, puedes limpiar el resto de memoria, comprimirlo todo o manipularlo de tal forma que te sea cómodo.

marcos64
Mensajes: 507
Registrado: 08 Nov 2018 10:31
Agradecido : 91 veces
Agradecimiento recibido: 187 veces

Re: Guía para hacer Turbo cargas de cinta en C64.

Mensajepor marcos64 » 27 Ago 2019 09:51

kikems escribió:Antes de elaborar la guía he probado varios sistemas Turbo de esos de cargar y salvar a mano, el TurboTape estaba entre ellos y finalmente me daba el mismo número de vueltas de contador que el SpectacularCopy, por eso finalmente me decidí por el SpectacularCopy y porque me permite hacer el proceso automatizado desde disco. Bueno, para ser justos el SpectacularCopy creo que arrojaba 1 vuelta más de contador que el TurboTape.


Esto pasa porque en la practica solo existe un formato: el Turbo Tape. Todos los demas usan su formato o son clones de el. Sin haberlo probado estoy seguro al 99.9% de que el SpectacularCopy graba en formato Turbo Tape. Otro programa semejante, muy usado en su epoca, es el Copy 190, y este si que lo he probado, y tambien usa el formato Turbo Tape.

Es que el Turbo Tape funciona de lujo, solo tiene el inconveniente de que el azimuth es mas critico.

Respecto a los tiempos de carga la mayoria de juegos buenos cargaban en 90 segundos, mas el tiempo de cargar el Turbo Tape (o clon), mas el tiempo de bobinado de la cinta. Depende del tipo de Turbo que uses varia el tiempo de este, si es uno simple que solo permite cargar y autoejecutar eran unos 10 o 20 segundos mas.
http://marcos64.orgfree.com/
Actualizacion 22/4/2018: Actualizada Load'N'Run numero 5 con nuevos TAPs y PRGs.

Avatar de Usuario
kikems
Mensajes: 4184
Registrado: 30 May 2013 19:23
Agradecido : 1473 veces
Agradecimiento recibido: 1924 veces

Re: Guía para hacer Turbo cargas de cinta en C64.

Mensajepor kikems » 27 Ago 2019 10:58

En base a lo que comentáis , anoche he realizado unas pruebas y he obtenido los siguientes resultados:

JuegoX de 215 bloques.

-Guardado a cinta con el Turbo del Final Cartridge III son 42 vueltas de contador, luego no lo he conseguido cargar , imagino que tengo que cargar primero el TurboTape para poder usar el archivo guardado.
-Guardado a cinta con el SuperTurbo del Action Replay son 42 vueltas de contador, carga automáticamente sin necesidad de cartucho o turboloader.
-Guardado a cinta con el SpectacularCopy son 43 vueltas de contador, carga autocontenido.

Debido a estos resultados, estoy investigando hacer el proceso completo solo con el Action Replay y simplificar la guía. Por lo que he ido mirando ya he mejorado el Alien de Argus Software, que con el proceso anterior necesitaba 42 vueltas de contador a solo 32 vueltas.
El proceso que hago es el siguiente (basado en lo que ha sugerido BlackHole):

1- Relleno la memoria con ceros.
2- Cargo el PRG de disco, sin ejecutarlo.
3- Miro en qué dirección comienza la ejecución del juego o su descompresión, en este caso.
4- Desde el Monitor CM del Action Replay hago un Break Point a la dirección de ejecución.
5- Vuelvo al basic y con RUN ejecuto el PRG en memoria, cuando salta el Action Replay entonces ya hago el Snapshot SuperTurbo a cinta, justo antes de que comience la descompresión y ocupe más en memoria el juego.

Como podéis ver, tengo claro como hacer este proceso desde un PRG en disco, pero ... ¿ como puedo hacer un list si cargo una cinta para saber la dirección SYS en que comienza la ejecución del juego ?. En ZX era tan simple como hacer un merge "" , pero en C64 ni idea.

Ahora solo me queda investigar un poco más los crunchers para encontrar el que mejor comprima de todos y que no sea una marcianada headecimal de uso.


Volver a “Software C64”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado