Presentando la nueva seccion de cartridges Turbosoft

ATARI Lo que nos ha unido en el tiempo. XL XE ST 2600 7800 Jaguar Lynx.
Avatar de Usuario
vicktorx99
expert
expert
Mensajes: 741
Registrado: Mar Ene 08, 2008 12:02 pm
Reputación: 0

Re: Presentando la nueva seccion de cartridges Turbosoft

Mensaje por vicktorx99 »

:P exelente aporte con estos cartuchos ustedes hacen maravillas, ::ala master zzt y bones...la cagaron son unos geniecillos...jejeje se pasaron :wink: :-°
Avatar de Usuario
Flako
expert
expert
Mensajes: 1275
Registrado: Mar May 29, 2007 12:18 am
Reputación: 0
Ubicación: Puerto San Antonio, Chile

Re: Presentando la nueva seccion de cartridges Turbosoft

Mensaje por Flako »

Me alegra haber colaborado con un granito de arena...le doy las gracias tb a mi feria salvadora...que ahorade salvadora no tiene nada xD

Excelente cabros!
Avatar de Usuario
ZZT
Site Admin
Site Admin
Mensajes: 10895
Registrado: Mar Nov 07, 2006 2:45 pm
Reputación: 8
Ubicación: La Florida-Santiago-Chile
Contactar:

Re: Presentando la nueva seccion de cartridges Turbosoft

Mensaje por ZZT »

Flako escribió:Me alegra haber colaborado con un granito de arena...le doy las gracias tb a mi feria salvadora...que ahora de salvadora no tiene nada xD

Excelente cabros!
Tienes toda la razón, fue una época bonita cuando aparecía tanta cosa. ;-(
Avatar de Usuario
smartfinder
hard player
hard player
Mensajes: 347
Registrado: Lun Nov 13, 2006 11:20 am
Reputación: 0
Ubicación: Entre Quilpué y la NETCOM

Re:

Mensaje por smartfinder »

ZZT escribió:
xt5 escribió:aqui estan los cartuchos D1,D3,D4,D5,D6,D7,E1 y E2 parchados para poder funcionar en un cartucho atarimax de 1mbit, los probe en el emulador y funcionan perfecto

http://rapidshare.com/files/132988461/t ... e.rar.html

have fun!
No se donde deje las roms parchadas por XT5 y la descarga ya no esta disponible. ¿Alguien me las puede enviar pa poder subirlas? (-o
Hey, me pasa lo mismo no encuentro por ningun lado turbosoftware.rar cartuchos parchados por XT5 :P

Alguien que me ayude (-o ;,(
xt5
expert
expert
Mensajes: 512
Registrado: Mar Sep 18, 2007 1:16 am
Reputación: 0
Contactar:

Re: Re:

Mensaje por xt5 »

ya los encontre por alli, los deje en http://www.ingenieria-inversa.cl/retro/ ... ftware.rar
te compraste un Atarimax?
Avatar de Usuario
smartfinder
hard player
hard player
Mensajes: 347
Registrado: Lun Nov 13, 2006 11:20 am
Reputación: 0
Ubicación: Entre Quilpué y la NETCOM

Re: Presentando la nueva seccion de cartridges Turbosoft

Mensaje por smartfinder »

Imagen

Queria los ROMS para mi nuevo ATARIMAX version ATARI800Pluss :wink: :-D :-D 0-]
Avatar de Usuario
kuramechi
medium
medium
Mensajes: 97
Registrado: Mié Dic 26, 2007 5:11 pm
Reputación: 0
Ubicación: Conce/Stgo

Re: Presentando la nueva seccion de cartridges Turbosoft

Mensaje por kuramechi »

wen aporte el de los cart ;)
Avatar de Usuario
renix
expert
expert
Mensajes: 2166
Registrado: Dom May 20, 2007 2:21 pm
Reputación: 0
Ubicación: La Serena, Chile
Contactar:

Re:

Mensaje por renix »

xt5 escribió:aqui estan los cartuchos D1,D3,D4,D5,D6,D7,E1 y E2 parchados para poder funcionar en un cartucho atarimax de 1mbit, los probe en el emulador y funcionan perfecto

http://rapidshare.com/files/132988461/t ... e.rar.html

have fun!
Hola XT5, si tienes tiempo me encantaria saber en que consistió el parchado para que funcionen en el cartridge de atarimax

Un abrazo
xt5
expert
expert
Mensajes: 512
Registrado: Mar Sep 18, 2007 1:16 am
Reputación: 0
Contactar:

Re: Re:

Mensaje por xt5 »

renix escribió:Hola XT5, si tienes tiempo me encantaria saber en que consistió el parchado para que funcionen en el cartridge de atarimax
ehh, pucha amigo renix, si tienes tiempo me encantaria ver ese cart de C64!!! :-D

primero se comienza revisando los carts, el esquematico del cartucho turbosoftware esta aqui (el modelo D): http://www.retrogames.cl/foro/viewtopic ... 709#p73424 (el de atarimax ni idea) y ubicar la diferencia entre ambos

luego un poco de la logica de control para cartuchos y perifericos externos:
al acceder al rango D5XXh de la CPU, lo que hace el atari es hacer un assert en el pin CCTL del cartucho, entonces

cuando se recibe una señal en CCTL los ultimos 8 bits menos significativos del bus de direcciones corresponden al valor XX en D5XXh, osea de 00 a FFh.
cuando se recibe una señal en CCTL y en caso que estemos grabando un valor, los 8 bits del bus de datos corresponden al valor que estamos grabando en esa direccion.
asi mismo podemos leer valores de nuestro periferico.


si te fijas en el esquematico del carr del turbosoftware, ves que el flip flop retiene el estado de los 4 bits menos significativos del bus de datos y los pone en los 4 bits mas significativos de la EPROM para seleccionar la pagina.
y utiliza el 5 bit menos significativo que retiene el flip flop va a la señal /E de la EPROM, entonces si este bit esta en 1 y hacemos un assert a la linea CCTL, deshabilitamos la memoria.

el cartucho AtariMAX funciona de igual forma, salvo que en la ecuacion de seleccion de pagina incluye a la señal la señal R/W del cart (le hace un equivalente a un OR al final de la ecuacion del turbocart), entonces una imagen de AtariMAX funciona OK en un cart TurboSoftware, pero no al reves, y tenemos que parchar.

que se parcha? la posicion A5D6h y A5FFh que este caso son lectura (LDA) por escritura (STA), para agregar el assert a la señal /W que espera el cart AtariMAX

Código: Seleccionar todo

ROM:A5C4             selecciona_pagina:
ROM:A5C4 48                          PHA
ROM:A5C5 8A                          TXA
ROM:A5C6 48                          PHA
ROM:A5C7 08                          PHP
ROM:A5C8 78                          SEI
ROM:A5C9 AD 0E D4                    LDA     byte_D40E
ROM:A5CC 48                          PHA                     ; push NMIEN
ROM:A5CD A9 00                       LDA     #0
ROM:A5CF 8D 0E D4                    STA     byte_D40E
ROM:A5D2 AE A9 0A                    LDX     $AA9            ; $AA9 retiene la pagina a la que queremos cambiar
ROM:A5D2                                                     ; 1...10h (en vez de 0...Fh    ehhhhhh :S)
ROM:A5D5 CA                          DEX
ROM:A5D6 BD 00 D5                    LDA     $D500,X         ; seleccionamos la pagina
ROM:A5D9 AD 13 D0                    LDA     byte_D013
ROM:A5DC 8D FA 03                    STA     $3FA
ROM:A5DF AD B1 0A                    LDA     $AB1
ROM:A5E2 8D EB 03                    STA     $3EB
ROM:A5E5 A9 01                       LDA     #1
ROM:A5E7 8D F8 03                    STA     $3F8
ROM:A5EA 68                          PLA                     ; pop NMIEN
ROM:A5EB 8D 0E D4                    STA     byte_D40E
ROM:A5EE 28                          PLP
ROM:A5EF 68                          PLA
ROM:A5F0 AA                          TAX
ROM:A5F1 68                          PLA
ROM:A5F2 60                          RTS
ROM:A5F2             ; End of function selecciona_pagina

Código: Seleccionar todo

ROM:A5F3             deshabilita_cart:
ROM:A5F3 48                          PHA
ROM:A5F4 08                          PHP
ROM:A5F5 78                          SEI
ROM:A5F6 AD 0E D4                    LDA     byte_D40E
ROM:A5F9 48                          PHA                     ; push NMIEN
ROM:A5FA A9 00                       LDA     #0
ROM:A5FC 8D 0E D4                    STA     byte_D40E
ROM:A5FF AD 10 D5                    LDA     byte_D510       ; bit 4 va al /E de la EPROM,
ROM:A5FF                                                     ; por lo tanto aqui se deshabilita la EPROM
ROM:A602 AD 01 D3                    LDA     byte_D301
ROM:A605 09 02                       ORA     #2
ROM:A607 8D 01 D3                    STA     byte_D301       ; PORTB|=2; Deshabilita ROM de BASIC
ROM:A60A AD 13 D0                    LDA     byte_D013
ROM:A60D 8D FA 03                    STA     $3FA
ROM:A610 AD B1 0A                    LDA     $AB1
ROM:A613 8D EB 03                    STA     $3EB
ROM:A616 A9 01                       LDA     #1
ROM:A618 8D F8 03                    STA     $3F8
ROM:A61B 68                          PLA
ROM:A61C 8D 0E D4                    STA     byte_D40E       ; pop NMIEN
ROM:A61F 28                          PLP
ROM:A620 68                          PLA
ROM:A621 60                          RTS
ROM:A621             ; End of function deshabilita_cart

si no me equivoco (y no tengo alucinaciones) el procedimiento para un cart C (o era E?) era levente distinto y se necesita poner unas instrucciones adicionales en vez de solo parchar, pero dejomoslo hasta aqui mejor.

ojala algo se entienda :8-
Avatar de Usuario
miltonshows
hard player
hard player
Mensajes: 473
Registrado: Dom Nov 28, 2010 4:13 am
Reputación: 0

Re: Presentando la nueva seccion de cartridges Turbosoft

Mensaje por miltonshows »

Se entiende mas menos, pero bueno no todos le pegamos mucho al cuento. Pero muchas gracias por la explicacion XT5 :-D :-D
Avatar de Usuario
parche
expert
expert
Mensajes: 1639
Registrado: Mar Nov 07, 2006 2:50 pm
Reputación: 0
Contactar:

Re: Re:

Mensaje por parche »

xt5 escribió:
renix escribió:Hola XT5, si tienes tiempo me encantaria saber en que consistió el parchado para que funcionen en el cartridge de atarimax
ehh, pucha amigo renix, si tienes tiempo me encantaria ver ese cart de C64!!! :-D

primero se comienza revisando los carts, el esquematico del cartucho turbosoftware esta aqui (el modelo D): http://www.retrogames.cl/foro/viewtopic ... 709#p73424 (el de atarimax ni idea) y ubicar la diferencia entre ambos

luego un poco de la logica de control para cartuchos y perifericos externos:
al acceder al rango D5XXh de la CPU, lo que hace el atari es hacer un assert en el pin CCTL del cartucho, entonces

cuando se recibe una señal en CCTL los ultimos 8 bits menos significativos del bus de direcciones corresponden al valor XX en D5XXh, osea de 00 a FFh.
cuando se recibe una señal en CCTL y en caso que estemos grabando un valor, los 8 bits del bus de datos corresponden al valor que estamos grabando en esa direccion.
asi mismo podemos leer valores de nuestro periferico.


si te fijas en el esquematico del carr del turbosoftware, ves que el flip flop retiene el estado de los 4 bits menos significativos del bus de datos y los pone en los 4 bits mas significativos de la EPROM para seleccionar la pagina.
y utiliza el 5 bit menos significativo que retiene el flip flop va a la señal /E de la EPROM, entonces si este bit esta en 1 y hacemos un assert a la linea CCTL, deshabilitamos la memoria.

el cartucho AtariMAX funciona de igual forma, salvo que en la ecuacion de seleccion de pagina incluye a la señal la señal R/W del cart (le hace un equivalente a un OR al final de la ecuacion del turbocart), entonces una imagen de AtariMAX funciona OK en un cart TurboSoftware, pero no al reves, y tenemos que parchar.

que se parcha? la posicion A5D6h y A5FFh que este caso son lectura (LDA) por escritura (STA), para agregar el assert a la señal /W que espera el cart AtariMAX

Código: Seleccionar todo

ROM:A5C4             selecciona_pagina:
ROM:A5C4 48                          PHA
ROM:A5C5 8A                          TXA
ROM:A5C6 48                          PHA
ROM:A5C7 08                          PHP
ROM:A5C8 78                          SEI
ROM:A5C9 AD 0E D4                    LDA     byte_D40E
ROM:A5CC 48                          PHA                     ; push NMIEN
ROM:A5CD A9 00                       LDA     #0
ROM:A5CF 8D 0E D4                    STA     byte_D40E
ROM:A5D2 AE A9 0A                    LDX     $AA9            ; $AA9 retiene la pagina a la que queremos cambiar
ROM:A5D2                                                     ; 1...10h (en vez de 0...Fh    ehhhhhh :S)
ROM:A5D5 CA                          DEX
ROM:A5D6 BD 00 D5                    LDA     $D500,X         ; seleccionamos la pagina
ROM:A5D9 AD 13 D0                    LDA     byte_D013
ROM:A5DC 8D FA 03                    STA     $3FA
ROM:A5DF AD B1 0A                    LDA     $AB1
ROM:A5E2 8D EB 03                    STA     $3EB
ROM:A5E5 A9 01                       LDA     #1
ROM:A5E7 8D F8 03                    STA     $3F8
ROM:A5EA 68                          PLA                     ; pop NMIEN
ROM:A5EB 8D 0E D4                    STA     byte_D40E
ROM:A5EE 28                          PLP
ROM:A5EF 68                          PLA
ROM:A5F0 AA                          TAX
ROM:A5F1 68                          PLA
ROM:A5F2 60                          RTS
ROM:A5F2             ; End of function selecciona_pagina

Código: Seleccionar todo

ROM:A5F3             deshabilita_cart:
ROM:A5F3 48                          PHA
ROM:A5F4 08                          PHP
ROM:A5F5 78                          SEI
ROM:A5F6 AD 0E D4                    LDA     byte_D40E
ROM:A5F9 48                          PHA                     ; push NMIEN
ROM:A5FA A9 00                       LDA     #0
ROM:A5FC 8D 0E D4                    STA     byte_D40E
ROM:A5FF AD 10 D5                    LDA     byte_D510       ; bit 4 va al /E de la EPROM,
ROM:A5FF                                                     ; por lo tanto aqui se deshabilita la EPROM
ROM:A602 AD 01 D3                    LDA     byte_D301
ROM:A605 09 02                       ORA     #2
ROM:A607 8D 01 D3                    STA     byte_D301       ; PORTB|=2; Deshabilita ROM de BASIC
ROM:A60A AD 13 D0                    LDA     byte_D013
ROM:A60D 8D FA 03                    STA     $3FA
ROM:A610 AD B1 0A                    LDA     $AB1
ROM:A613 8D EB 03                    STA     $3EB
ROM:A616 A9 01                       LDA     #1
ROM:A618 8D F8 03                    STA     $3F8
ROM:A61B 68                          PLA
ROM:A61C 8D 0E D4                    STA     byte_D40E       ; pop NMIEN
ROM:A61F 28                          PLP
ROM:A620 68                          PLA
ROM:A621 60                          RTS
ROM:A621             ; End of function deshabilita_cart

si no me equivoco (y no tengo alucinaciones) el procedimiento para un cart C (o era E?) era levente distinto y se necesita poner unas instrucciones adicionales en vez de solo parchar, pero dejomoslo hasta aqui mejor.

ojala algo se entienda :8-
Me vay a obligar a desempolvar el mapping grrrr @(

Yap cuando lo encuentre le hecho una mirá.
Avatar de Usuario
ZZT
Site Admin
Site Admin
Mensajes: 10895
Registrado: Mar Nov 07, 2006 2:45 pm
Reputación: 8
Ubicación: La Florida-Santiago-Chile
Contactar:

Re: Presentando la nueva seccion de cartridges Turbosoft

Mensaje por ZZT »

ta papita washalin, el willy me enseño años atras como funcionaba el cartridge y gracias a el pude entender como andaba ese lio del bankswitch.

Yo puedo aportar con:
Recordemos que TODOS los chips trabajan o procesan voltajes y no entienden ni wea que es lo que en electrónica, o el mundo computín, llamamos "uno" y "cero". Estos son los únicos estados posibles en el sistema binario pq 1 lógico es igual a 3.5volts (más o menos) y 0 lógico es igual a cero volt. No hay valores intermedios, solo voltaje o no voltaje. Esa es la papa principal que deben entender, saber y recordar.

Luego de ese mini repaso..... en el circuito del Atari, hay una línea que se llama RD5 que esta conectada al puerto del cart. Si su valor es "uno" le indica al sistema operativo del Atari si hay cartridge presente y que lo ejecute.
En el circuito cartucho hay una serie de flip flops tipo D, que en una definición bien simple son como una mini celda de memoria que conserva su estado hasta que lo cambiemos. En este caso estos FF tienen una red resistencia condensador que los ponen a cero (reset) al momento de encender el compu, y dado que uno de los FF es el que da el pase gol a RD5 necesitamos negar o invertir ese cero para que RD5 sea uno y el Atari parta desde el soft contenido en la eprom, eso lo hace una compuerta lógica. Si RD5 esta a cero, el Atari no sabe que hay cart. insertado y va a botear desde otro dispositivo, disketera, casetera o el basic.
Ahora, ¿como se manda el dato que queremos que los flip flop guarden?:
Otra línea importante es CCTL, que en buenas cuentas se pone en 1 mientras hacemos una llamada digamos POKE en basic o STA en asm. entre el rango de D500 a D5FF en hexadecimal, 54528 a 54783 en decimal, cuando el procesamiento de la instrucción termina CCTL vuelve a cero hasta que se haga otro Poke, por lo tanto la variación de 1 a 0 dura una pendejesima de milisegundos . ¿La utilidad de esto? CCTL esta conectada a la pata que hace cambiar los flip flops, osea que cuando hacemos la llamada el cambio de CCTL hace "memorizar" a los Flip flop el estado de las direcciones que estan conectadas a cada uno de ellos ==> A0 A1 A2 A3 ..... etc, En el caso de los cartridges de 1mega byte usamos hasta A7. ¿pq se hace esto? Por que los carts originales eran de solo 8Kilos, y por lo tanto en el conector del cartridge solo estan las direcciones desde A0 a A12 y una eproms más grande tiene más direcciones A13 A14... hasta A19, obvio, para acceder a las memoria extra. Eso hacen los flips, conservan el estado que le enviamos haciendo POKE o STA, y sus salidas se conectan a las patas de la eprom y se transforman en las direcciones extras faltantes en el conector y asi podemos leer eproms mas grandes que 8kilos.
Todo el juego esta en hacer el POKE o STA en el momento preciso para ir subiendo el valor de las direcciones y asi elegimos a piacere el banco que queremos acceder. Esto tb es super útil para interfasear el Atari, juegos de luces, comunicaciones, grabador de eprom, cualquier hardware que se nos ocurra, con un mímino de componentes, tal como yo lo llevo haciendo desde los 80's. XD
A ver si te sirve esto para enteder lo que explica el xt5, ambas cosas son similares. 8o :-D
Avatar de Usuario
parche
expert
expert
Mensajes: 1639
Registrado: Mar Nov 07, 2006 2:50 pm
Reputación: 0
Contactar:

Re: Presentando la nueva seccion de cartridges Turbosoft

Mensaje por parche »

Merme si eso que estay explicando es la parte fácil.

Lo que pasa es que con el alzheimer no tengo en la memoria que direcciones apuntan a que patas de los procesadores o puertos o memoria o cartdrige. Me cachay?

Si el código ta clarito. Lo que tu explicai también pero yo me manejo a punta de puro Mapping ;,( si no, no cacho que es lo que estay exitando ?@

Acuerdate que yo metía juegos enteros en los bancos de memoria colando el cargador bajo la Rom del Atari, e iba cargando el juego en los bancos de memoria a punto de puso Assembler.

A proposito, ya arreglaste lo de editar? :-D

SIIIIIIIIIIII LO ARREGLÓOOOOOOO ::rofl
Avatar de Usuario
fcatrin
hard player
hard player
Mensajes: 466
Registrado: Jue Abr 10, 2008 2:45 pm
Reputación: 0
Ubicación: Quilpué, Chile
Contactar:

Re:

Mensaje por fcatrin »

BonesCollector escribió:
Turbosoft hizo formato de carts , las placas , las cajas y las etiquetas todo en Chile . Porque pusieron juegos tan malos y tan buenos en un mismo cart es algo que nunca sabremos ?@ .
Eso podria tener estas explicaciones:
La técnica: Los juegos buenos ocupan mas espacio. Si querías poner varios juegos, no podían ser todos grandes.
La comercial: Si ponías un juego bueno por cartucho, podías vender más cartuchos diferentes.
Avatar de Usuario
ZZT
Site Admin
Site Admin
Mensajes: 10895
Registrado: Mar Nov 07, 2006 2:45 pm
Reputación: 8
Ubicación: La Florida-Santiago-Chile
Contactar:

Re: Re:

Mensaje por ZZT »

fcatrin escribió:
BonesCollector escribió:
Turbosoft hizo formato de carts , las placas , las cajas y las etiquetas todo en Chile . Porque pusieron juegos tan malos y tan buenos en un mismo cart es algo que nunca sabremos ?@ .
Eso podria tener estas explicaciones:
La técnica: Los juegos buenos ocupan mas espacio. Si querías poner varios juegos, no podían ser todos grandes.
La comercial: Si ponías un juego bueno por cartucho, podías vender más cartuchos diferentes.
Y en algunos pusieron juegos malos, pq son los que no tenían problemas de copyright. Si se fijan no hay casi ningún juego de casa conocida en los cartuchos de turbo o prisma. 0-]
Responder
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje