[ATARI] Reciclando el Turbo Cartridge

Proyectos realizados por los Retronianos, también links a proyectos externos y sitios relacionados con Modding y DIY... A crear si ha dicho...
AsCrNet
Mensajes: 130
Registrado: Lun Mar 11, 2013 10:47 am

Re: [ATARI] Reciclando el Turbo Cartridge

Mensaje por AsCrNet » Mar Nov 24, 2015 2:23 pm

Esta entrete el post :zippyte:

Yo por mi lado estuve jugando con hacer una pequeña app para modificar el titulo del rom de 128kb de los turbitos :sconf:

Deben tener instalado java 1.7 o superior, solo basta con hacerle doble click y se ejecutara.

Saludos

Avatar de Usuario
bladehack
Mensajes: 24
Registrado: Lun May 13, 2013 3:09 pm

Re: [ATARI] Reciclando el Turbo Cartridge

Mensaje por bladehack » Mié Nov 25, 2015 5:42 pm

Logre avanzar harto en el tema, con un excel y un editor hexadecimal. Me hice 2 roms del cartridge turbo soft a mi gusto.
Aca las comparto:

http://www.filedropper.com/proyecto

En general es simple modificar el menu, incluyendo el titulo de los juegos directamente con el editor y el excel. Los probe en el hardware real, metiendo las 2 roms en una flash de 256kb y funcionan sin problemas. Cada rom la selecciono con un jumper. Aproveche de incluir todas los juegos comprimidos para ocupar menos espacio.

De puro oscioso, seria genial poder diseñar e imprimir las placas para hacer juegos en masa.

Se incluyen los excel de como modifique los titulos. Hay que fijarse que el nombre del juego, va acompañado de un identificador que dice en que posicion dentro de la rom esta. Lo descubri al tanteo ya que aun no cacho cuanto hay que sumar segun en que posicion se encuentra el juego. Pero lo importante es que funciona.

Avatar de Usuario
vitoco
Mensajes: 1970
Registrado: Lun Ene 28, 2013 5:47 pm
Contactar:

Re: [ATARI] Reciclando el Turbo Cartridge

Mensaje por vitoco » Mié Nov 25, 2015 7:58 pm

@bladehack, te respondí en el otro hilo. En particular me interesa saber cómo hiciste las pruebas en hardware real.

Por mi lado, modifiqué el loader para que trabaje con buffers simulando un turbocart... funciona bien, pero pesó como 10 bytes más que lo deseado... quería meterlo en sólo una página, es decir 256 bytes. Si no logro reducirlo, se quedará así, pero me limitará un poco en lo que quiero hacer.

Siguiente paso será convertir mi última prueba en un .BIN para probarlo como cartucho y no como XEX en emulador, y ahí ver si efectivamente hace los cambios de banco... quizás me oblique a meter más código si no anda como espero.

Avatar de Usuario
renix
Mensajes: 4675
Registrado: Vie Ene 25, 2013 1:39 am

Re: [ATARI] Reciclando el Turbo Cartridge

Mensaje por renix » Jue Nov 26, 2015 2:03 am

bladehack escribió:Logre avanzar harto en el tema, con un excel y un editor hexadecimal. Me hice 2 roms del cartridge turbo soft a mi gusto.
Aca las comparto:

http://www.filedropper.com/proyecto

En general es simple modificar el menu, incluyendo el titulo de los juegos directamente con el editor y el excel. Los probe en el hardware real, metiendo las 2 roms en una flash de 256kb y funcionan sin problemas. Cada rom la selecciono con un jumper. Aproveche de incluir todas los juegos comprimidos para ocupar menos espacio.

De puro oscioso, seria genial poder diseñar e imprimir las placas para hacer juegos en masa.

Se incluyen los excel de como modifique los titulos. Hay que fijarse que el nombre del juego, va acompañado de un identificador que dice en que posicion dentro de la rom esta. Lo descubri al tanteo ya que aun no cacho cuanto hay que sumar segun en que posicion se encuentra el juego. Pero lo importante es que funciona.
Enviame el esquematico que armaste y yo diseño la placa...

Avatar de Usuario
SpaceInvader
Mensajes: 217
Registrado: Jue Jul 17, 2014 4:01 pm
Contactar:

Re: [ATARI] Reciclando el Turbo Cartridge

Mensaje por SpaceInvader » Jue Nov 26, 2015 2:59 am

Bladehack, usar Excel para modificar archivos binarios es algo nuevo para mi...
Voy a tener que releer exel para dummies para entender que está pasando jeje

Bueno, estuve viendo las rom que hiciste, y veo que usaste la rom maldita de Space Invaders, con colores cambiados:
Imagen
Al izquierda, Space Invaders lanzado desde el menú Turbosoft, a la derecha, la rom correcta en Altirra.
Con ese fondo azul, no se puede jugar, no se ve el platillo cuando pasa ¡Porque el platillo es azul!

Ya que pudiste identificar donde están los ejecutables, extraje el ejecutable de Space Invaders de tu rom1, que de acuerdo al Excel está entre 1EBFA y 1FC08, y al ejecutarlo en Altirra, ¡Corre perfectamente, con los colores correctos! Sorprendente! Entonces, el maldito fondo azul es cortesía del código del multicart Turbosoft. Lo sospeché desde un principio...

Este parece ser el gran problema de los Multicarts Turbosoft, muchos juegos corren con pifias, (Algunos en extremo, como Space Invaders).
Tal vez la compresión de datos que intenta implementar Vitoco solucione el problema.

Muestra fotos de tu hardware...

Avatar de Usuario
vitoco
Mensajes: 1970
Registrado: Lun Ene 28, 2013 5:47 pm
Contactar:

Re: [ATARI] Reciclando el Turbo Cartridge

Mensaje por vitoco » Jue Nov 26, 2015 8:47 am

Sin haber visto binarios ni nada, sospecho que la pifia no es del multicart sino del juego en sí, que estaría asumiendo que la pantalla está en GR.0 con todos los colores por defecto, y simplemente no toca el registro de color del fondo. Es decir, con otros loaders podría pasar lo mismo si es que cambian el fondo negro por otro color antes de pasar el control al juego.

Avatar de Usuario
bladehack
Mensajes: 24
Registrado: Lun May 13, 2013 3:09 pm

Re: [ATARI] Reciclando el Turbo Cartridge

Mensaje por bladehack » Jue Nov 26, 2015 12:11 pm

SpaceInvader escribió:Bladehack, usar Excel para modificar archivos binarios es algo nuevo para mi...
Voy a tener que releer exel para dummies para entender que está pasando jeje

Este parece ser el gran problema de los Multicarts Turbosoft, muchos juegos corren con pifias, (Algunos en extremo, como Space Invaders).
Tal vez la compresión de datos que intenta implementar Vitoco solucione el problema.

Muestra fotos de tu hardware...

Si asi es, tambien habia puesto otro ejecutable que se ve correcto en el emulador, pero al insertarlo en la rom de Turbo Soft queda con el color cambiado. Quizas la pifia es por el menu o choca alguna direccion de memoria, que se yo, debe ser algo de ese tipo. Ok, ahora entiendo porque te destruyen telepaticamente cuando juegas, jaja . Un platillo azul que el dia del nispero se verá en pantalla, jaja
Última edición por bladehack el Jue Nov 26, 2015 12:20 pm, editado 1 vez en total.

Avatar de Usuario
bladehack
Mensajes: 24
Registrado: Lun May 13, 2013 3:09 pm

Re: [ATARI] Reciclando el Turbo Cartridge

Mensaje por bladehack » Jue Nov 26, 2015 12:16 pm

Chuta mejor dejo lo que puse en el otro hilo aca:

Para probar la ROM en el atari real , ocupe un cartridge de 64 KB el que primero desolde la EPROM y lo transforme a 128KB. La verdad es que no hubo mucho que transformar dado que estaba todo listo para aceptar una memoria mas grande. Luego tome una FLASH de 256 KB y le grabe la ROM utilizando una placa pentium 3, con el metodo del HOT FLASH. Osea prendiendo el PC, sacando la BIOS encendido y colocando la memoria a grabar con todo prendido nuevamente. Para el resto, fue como hacer una actualizacion de BIOS con un programa que se llama UNIFLASH. La placa del cartridge donante es delicada asi que puse cables y un socket para sacar la FLASH facilmente y seguir experimentando. El pinout de la EPROM original y de la FLASH esta en los datasheet de internet y es casi el mismo.
Adjuntos
ENCABEZADO Y CONTRUCCION DEL MENU TURBO SOFTWARE SERIE D.pdf
(2.16 MiB) Descargado 106 veces
CARTRIDGE.JPG

Avatar de Usuario
bladehack
Mensajes: 24
Registrado: Lun May 13, 2013 3:09 pm

Re: [ATARI] Reciclando el Turbo Cartridge

Mensaje por bladehack » Jue Nov 26, 2015 12:18 pm

renix escribió:
bladehack escribió: Enviame el esquematico que armaste y yo diseño la placa...
La verdad tome un cartridge de 64 KB y direccione pensando en una memoria de 128KB. Cuando puse la de 256KB solo solde un jumper de PC, para poder cambiar de la rom 1 o . El esquematico es el mismo que ya han posteado cuando desarmaron los cartridges turbo soft.

Avatar de Usuario
bladehack
Mensajes: 24
Registrado: Lun May 13, 2013 3:09 pm

Re: [ATARI] Reciclando el Turbo Cartridge

Mensaje por bladehack » Jue Nov 26, 2015 12:29 pm

renix escribió:ACA VA MI APORTE PARA ESTAS PSEUDO REPROS...
Captura de pantalla 2015-11-17 14.23.32.png
Fuentes FreeCAD y archivos STEP
Atari TurboCart Case.rar

Esta la raja este diseño. ¿Trabajas con impresora 3D verdad?

Avatar de Usuario
vitoco
Mensajes: 1970
Registrado: Lun Ene 28, 2013 5:47 pm
Contactar:

Re: [ATARI] Reciclando el Turbo Cartridge

Mensaje por vitoco » Jue Nov 26, 2015 12:38 pm

Estoy un poco confundido... a ver si alguien me ayuda :?

Armé una ROM con mi loader y un juego en mi formato LZ4X, y lo cargué en Altirra. Reconoció inmediatamente que se trataba de un Turbocart de 128, pero al debuggear, observé que al deshabilitar el cartucho, la memoria RAM bajo él tiene los bytes $FF y $00 alternados durante los 8K en el rango $A000-$BFFF. Eso también lo había visto al analizar uno de los ROM originales, pero supuse que lo había puesto el mismo cargador original del Turbocart por alguna razón, o que era parte de uno de los XEX contenidos o simple relleno del cartucho y que todavía estaba viendo alguno de los bancos en la ROM.

¿Alguien lo había notado? ¿Será algo de Altirra o también sucederá en un Atari real?

Avatar de Usuario
vitoco
Mensajes: 1970
Registrado: Lun Ene 28, 2013 5:47 pm
Contactar:

Re: [ATARI] Reciclando el Turbo Cartridge

Mensaje por vitoco » Jue Nov 26, 2015 12:51 pm

vitoco escribió:¿Alguien lo había notado? ¿Será algo de Altirra o también sucederá en un Atari real?
Parece que también sucede en HW real. Acabo de pillar una rutina en el loader original que itera limpiando ese rango de la memoria :shock:

No recuerdo haber visto referencias a este comportamiento de la RAM bajo los cartuchos.

Lo que me molesta ahora es que si bien había logrado reducir el loader a menos de 256 bytes, no voy a poder inicializar todo directamente desde la ROM, sino que tendré que hacer otra rutina de inicialización y paginar. Bueno, c'est la vie...

Avatar de Usuario
vitoco
Mensajes: 1970
Registrado: Lun Ene 28, 2013 5:47 pm
Contactar:

Re: [ATARI] Reciclando el Turbo Cartridge

Mensaje por vitoco » Vie Nov 27, 2015 3:05 pm

vitoco escribió:No recuerdo haber visto referencias a este comportamiento de la RAM bajo los cartuchos.
Se me ocurre que en un HW real debe quedar basura en la RAM reemplazada por el cartucho, y que Altirra lo rellena con ese patrón simplemente para indicar que no es memoria limpia.

Como sea, rearmé el loader y ahora tiene 3 etapas: la que corre en el cartucho (y mueve el loader a la RAM), la rutina de inicialización (para hacer desaparecer el cartucho), y el loader en sí.

Hice pruebas con varios juegos que tienen distintas características para ir puliendo el desarrollo, y ya se la puede con la mayoría. Algunos ejemplos exitosos: Encounter!, Ballblaster (eran de los con mayor compresión), Space Invader (se ve negro el fondo del juego), Ghost Chaser (la presentación durante la carga se va a las pailas, pero el juego carga OK), Defender (usa RAM donde estaba el cartucho), Spy Hunter, Karateka (versión cassette que pone parte del juego bajo la ROM del S.O. en los XL/XE) y la trilogía Spy v/s Spy (similares al Karateka, versiones de Billie Yesterday y Rod Rubber, cada uno con sus respectivos créditos, pero lamentablemente los 3 ya comprimidos suman poco más de 128K y no cabrían en un mismo cartucho). Los que fallaron: Blue Max y Bruce Lee, que instalan rutinas de presentación con interrupciones justo en la zona de paginación, provocando un crash durante la carga, pero estoy seguro que si se remueve la rutina, el resto del juego cargará OK.

En lo técnico, puedo comentar que se utilizan 2 páginas de memoria (medio kilobyte) para cargar utilizando un buffer de 256 bytes para sacar la data desde los bancos del Turbocart. La rutina de descompresión y carga está utilizando sólo 242 bytes y se automodifica para actualizar punteros, ya que no usa ningún registro de la página cero.

Para no tener que hacer tantas validaciones y operaciones binarias y aritméticas durante la carga, se me ocurrió usar los bancos al revés, es decir, partir con el número 15 e ir bajando hasta el cero, que al final tiene los bytes de control del cartucho, con los vectores de inicialización y partida, y el loader. De esta forma, la data en formato LZ4X queda completamente serial tanto dentro como entre bancos de 8K, rellenando con ceros hasta el último banco, donde se encuentra el loader, haciendo todo cálculo más simple y ahorrando bytes.

Ahora comenzaré con el menú, y después veré si lo pongo al final del cartucho junto a loader o tal vez comprimido al inicio junto al resto de los programas (juegos).

Hay algunas sutilezas que deberé cambiar en lo ya hecho, pero lo considero sintonía fina que afectará a todas las componentes por igual, así que se queda para el final.

Avatar de Usuario
SpaceInvader
Mensajes: 217
Registrado: Jue Jul 17, 2014 4:01 pm
Contactar:

Re: [ATARI] Reciclando el Turbo Cartridge

Mensaje por SpaceInvader » Vie Nov 27, 2015 4:00 pm

Otro juego difícil es el Bomber del concurso ABBUC, intenté meterlo en un cart Turbosoft, y no hubo caso, siempre quedaba corrupto. Al contrario que Toyswap, que no da problemas :D
, Space Invader (se ve negro el fondo del juego),
Hubo que esperar 30 años para arreglarlo ! :lol:

Avatar de Usuario
vitoco
Mensajes: 1970
Registrado: Lun Ene 28, 2013 5:47 pm
Contactar:

Re: [ATARI] Reciclando el Turbo Cartridge

Mensaje por vitoco » Vie Nov 27, 2015 11:49 pm

Curiosamente no había intentado crear una ROM para Toy'Swap, pues tenía claro que no fallaría al no tener nada especial... si incluso el XEX carga con DOS y el BASIC activado!!! 8-)

Revisé la estructura de Bomber y tiene el mismo problema de Bruce Lee y Blue Max: incluye una pantalla que aparece al inicio de la carga, que se ubica en la zona donde se habilita el cartucho, y que además de todo, utiliza interrupciones para actualizar los colores o hacer animaciones.

De todos modos comprimí el Bomber a LZ4X y armé un cartucho... pestañó bastante en Altirra, salió basura en pantalla y finalmente se pegó antes de terminar la carga. Los otros juegos también se pegan de una forma similar.

Explicación técnica del problema: el chip ANTIC encargado de desplegar la gráfica en la pantalla debe leer de memoria tanto la lista de despliegue (información de cómo se compone la resolución de pantalla) y la data a desplegar (textos y gráficos), y esa lectura de la RAM la hace 60 veces por segundo. Si la lista de despliegue o la información a desplegar se encuentra en la misma zona donde se habilitan y deshabilitan los bancos del Turbocart, el procesador ANTIC en algunos de esos refrescos de pantalla va a intentar interpretar "basura" obtenida del cartucho habilitado en lugar de lo que el mismo programa puso en la RAM y le dijo a ANTIC que desplegara usando el vector en 560 ($230). Es una situación equivalente a poner una lista de despliegue en la parte de la memoria donde se acceden los bancos de memoria extendida en el 130XE y luego se usa el RAMDISK. Lamentablemente en ambos casos no se puede cambiar la ventana de memoria donde se acceden los respectivos bancos ($4000-$7FFF en 130XE y 800XL ampliado, y $A000-$BFFF en cartuchos Turbocart). Para evitar replicas al respecto, aclaro que hay un caso especial y exclusivo del 130XE en que se le puede decir al ANTIC que no "vea" el banco de memoria extendida que se encuentre activo y visible por la CPU, sino que la memoria RAM real que se encuentra en la misma ventana, y eso se hace controlando un bit del registro PORTB.

Hice un experimento, incorporando en el loader algo que había evitado adrede, y que afortunadamente cupo en el espacio asignado, y con eso logré cargar Bomber desde el cartucho en Altirra, pero con harto pestañeo durante la carga... Dejé en mi sitio la ROM generada de Bomber-LZ4X-test.rom para que alguien pruebe en hardware real y me cuente si parte. ¿SpaceInvader? ¿bladehack?

Usé esta misma versión con el Bruce Lee y ahora no se pega, pero tampoco aparece la presentación inicial durante el resto de la carga, lo que para mí es irrelevante.

¿Alguien tiene algún otro juego difícil? Es interesante y conveniente ir puliendo con casos reales. :mrgreen:

Avatar de Usuario
SpaceInvader
Mensajes: 217
Registrado: Jue Jul 17, 2014 4:01 pm
Contactar:

Re: [ATARI] Reciclando el Turbo Cartridge

Mensaje por SpaceInvader » Sab Nov 28, 2015 12:12 am

En breve voy a testear la rom. Como info adicional, hice un cartridge de Bomber para el "switchable cartridge", y carga sin problemas. Pero es otro sistema y otro hardware.

Un juego dificil es Montezuma's Revenge, que funciona, pero es imposible de comprimir.
Y el juego Pinhead da problemas, pero en los multicartcarts Prisma. Carga corrupto, pero jugable.

Avatar de Usuario
bladehack
Mensajes: 24
Registrado: Lun May 13, 2013 3:09 pm

Re: [ATARI] Reciclando el Turbo Cartridge

Mensaje por bladehack » Sab Nov 28, 2015 12:24 am

SpaceInvader escribió:En breve voy a testear la rom. Como info adicional, hice un cartridge de Bomber para el "switchable cartridge", y carga sin problemas. Pero es otro sistema y otro hardware.

Un juego dificil es Montezuma's Revenge, que funciona, pero es imposible de comprimir.
Y el juego Pinhead da problemas, pero en los multicartcarts Prisma. Carga corrupto, pero jugable.
Toda la razón. El montezuma revenge queda mal al ser comprimido con el cruncher. Lo malo es que se ahorran hartos bytes.

Otro juego que cambia al ser comprimido pero queda jugable es el ninja.

Avatar de Usuario
vitoco
Mensajes: 1970
Registrado: Lun Ene 28, 2013 5:47 pm
Contactar:

Re: [ATARI] Reciclando el Turbo Cartridge

Mensaje por vitoco » Sab Nov 28, 2015 9:00 am

Gracias por los datos... Probé con las versiones que tenía a mano y también con otras bajadas de Atarimania, todas sin problema de carga desde Turbocart en Altirra. El problema es que las que yo tengo ya podrían estar retocadas por mí... Si pueden, adjunten los XEX con problemas para estar seguros.

En todo caso, el Ninja se comprimió de 46K a sólo 18K, el Pinhead de 15K a 7K, el Montezuma's Revenge con poncho y presentación (y sin final) de 34K a 20K y el Montezuma con botones y sin presentación de 17K a apenas 15K.

¿A qué se refieren con corruptos? ¿Al fondo azul o a basura en la pantalla?

Avatar de Usuario
bladehack
Mensajes: 24
Registrado: Lun May 13, 2013 3:09 pm

Re: [ATARI] Reciclando el Turbo Cartridge

Mensaje por bladehack » Lun Nov 30, 2015 1:12 pm

vitoco escribió:¿A qué se refieren con corruptos? ¿Al fondo azul o a basura en la pantalla?
Por ejemplo, al comprimir el juego Ninja con el cruncher 5.0, queda una franja amarilla abajo, cuando deberia ser negra. De todas formas queda jugable al 99%. En el atari real tambien aparece dicha pifia.
El montezuma revenge colapsa en la presentacion, y ahora recordando el Joust tambien queda con caracteres basuras.
Adjuntos
ninja.jpg

Avatar de Usuario
vitoco
Mensajes: 1970
Registrado: Lun Ene 28, 2013 5:47 pm
Contactar:

Re: [ATARI] Reciclando el Turbo Cartridge

Mensaje por vitoco » Lun Nov 30, 2015 10:58 pm

El Ninja en mi cargador LZ4X se ve con la parte de abajo de color negro. Creo que está OK.

En el caso de Joust, la versión en XEX que tengo yo no parte y se va al SELF TEST cuando lo cargo como LZ4X en cartucho emulado. Revisé a la rápida y lo primero que hace un código que está agregado al juego es un Warm Start (simular que se presionó la tecla RESET), esperando que le devuelva el control y acomodar el juego en la memoria, lo cual no sucede, e imagino que se debe a que me falta setear algún flag de control que es validado por las rutinas del S.O. en la ROM. Como sí parte al cargar como XEX directo en Altirra (y como diskette con MakeMenu), deberé revisar más qué me falta acomodar para ocultar completamente el cartucho y hacer como si nunca estuvo.

Les contaré apenas lo descubra.

¡Gracias por el dato!

Responder