¿TurboGrafx podría tener juegos de 32/40 Megas? (CPU de 8 Bits)

Disculpad si la pregunta es un tanto absurda, tengo entendido que el número máximo de megas que permite o puede direccionar/gestionar una consola viene determinado por el número de Bits de su procesador central, en lugar de quedar relacionado al procesador gráfico (de 16 Bits en este caso) o la memoria Ram (?¿)

Para evitar enrollarme como de costumbre, tengo la duda de que, si N.E.S y Master System sólo eran capaces de mapear o gestionar juegos/cartuchos de 8 o 12 Mb.. ¿porqué la TurboGrafx puede direccionar 20 Mb en Street Fighter siendo en la práctica un sistema de 8 Bits?.

Pensé que podría ser por alguna particularidad de su estructura interna..

Gracias :)




Saludos
Técnicamente creo que con hardware adicional cualquier consola podría direccionar cualquier candidad de memoria. Como siempre aquí entra el asunto del coste de hardware, pero para que te hagas una idea "de normal" la Master System sólo puede trabajar con ROMs de hasta 48Kb, lo que salga de ahí ya va "con trucos".
Yo lei por ahi hace tiempo en otro foro que habia un hilo de la consola y en las caracteristicas ponia que las Hucards como maximo soportaban hasta 20 megas. Yo supongo que seguramente se podria algo mas a no ser que la consola por software o hardware no lo permitiera. Para la epoca que salio y las caracteristicas es un consolon, de lo mejor que salio en los 80 junto a megadrive.
Buenas!

Como han comentado por aquí, en realidad las consolas solían poder direccionar poco (no depende tanto de los bits en si, como de los bits de direccionamiento, y como está cableado todo).

Por ejemplo, como han dicho, la master de por si solo puede ver 48kb de rom (64 kb en total, pero le has de restar los 8kb de Ram, que además estñan cableado espejados a continuación, con lo que quedan 48kb). La Nes, originalmente te permitía tener 32kb de codigo(PRG-ROM) y 8 kb de graficos (CHR-ROM). La mega permitía por ejemplo 32 MB, etc

Lo que se hacía en esa época era añadir mappers para poder ir mapeando "pedazos" de la rom dentro de la memória disponible. En master, lo máximo que se llegó a ver fueron 4 Megabits (512kb), pero en Brasil Tectoy hizo juegos de 8 Megabits (1 megabyte).

En realidad, estos mappers depende de como los implementaras, pero nada te impediría hacer hoy día un mapper que te permita un juego de 2 gigas en una master system, por ejemplo....
Por poder, se podrían haber hecho HuCards de más de 20Mb, pero en ese momento resultaría demasiado caro meter memorias ROM de ese tamaño en una tarjeta, hubiésemos visto lo que visto lo que vimos en los juegos de PCE CD que no usaban RAM adicional, salvo que el sonido no sería CD...
@kusfo79 , ¿tú crees que la Scene de la MS llegará a hacer juegos más grandes que TecToy y meterlos en un cartucho para vender?
@aranya
Por poder, se puede, pero en master con el devkitSMS tenemos la limitación que paginar código es algo más complicado que paginar graficos o música. Por eso, solemos programar de manera que el código no sobrepase los 32kb, y el resto sean graficos, etc, así que esa es una limitación importante.
@kusfo79 , gracias, aunque imagino que el devkitSMS irá siendo perfeccionado poco a poco, con las pegas que la gente que lo usáis vayáis remitiendo.
@balónybalín El compañero @kusfo79 te ha dado la respuesta: añadir mappers al cartucho.

La CPU efectivamente puede direccionar un máximo de memoria, pero el propio cartucho puede llevar chips mapeadores de memoria que permitan usar más megas, de ahí que el SF2 de PCEngine tenga esos 20Mb (llevará un mapper interno seguro).

Para usar la memoria extra obviamente el juego debe estar preparado para trabajar con el nuevo mapper, vamos que debe programarse adhoc para él.

@kusfo79 Paginar código siempre es mucho más difícil que paginar datos, hay que hilar muy fino para separar lógica en bloques no solapados.
@AxelStone @aranya

Si, es complicadillo, y para no liar mucho la troca, lo que estabamos probando es hacer lo siguiente:

los primeros 16 kb fijos
los segundos 16 kb paginamos codigo
los terceros 16 kb, paginamos assets

Pero esto es complicadillo, ya que el código mínimo comun lo has de hacer entrar en los primeros 16 kb...
Muchísimas gracias Compañeros :), es una información bastante valiosa.

Alguna vez he leido sobre los mappers, sin tener claro hasta hoy en qué consistian.

@AxelStone, estas en lo cierto, lo confirman en Emere [beer]

http://www.emere.es/Turbo-Everdrive-V2

Imagen

aunque Googleando no he visto apenas más detalles..

http://www.pcengine.co.uk/HTML_Games/St ... ter_II.htm
https://pcedev.wordpress.com/2010/07/31/new-mapper/



Saludos
kusfo79 escribió:. En master, lo máximo que se llegó a ver fueron 4 Megabits (512kb), pero en Brasil Tectoy hizo juegos de 8 Megabits (1 megabyte).



En Corea también, Jang Pung 3 con 6 megabits.
Si no voy mal la tarjeta del sf2:ce es algo más gorda que una normal.
@balónybalín Grosso modo, el mapper es un chip externo que va en el cartucho y permite a la consola otros modos de acceso a la memoria, te pongo un ejemplo.

Supón una CPU básica de 8bit, que solo tiene acceso a 64Kb de memoria. Para acceder a un dato, le paso al programa la dirección absoluta, por ejemplo la 20.000.

¿Cómo supero esa limitación de 64kb? Meto un mapper en la ROM que permite dividir la memoria en bancos de memoria de 64Kb cada uno. La CPU sigue accediendo a 64Kb lineales, pero permite cambiar de un banco a otro. Así por ejemplo puedo tener un cartucho de 256Kb (2Mbit) dividido en 4 bancos de 64Kb. Cuando el juego requiere acceder a un dato le pasa una dirección absoluta entre 0 - 65535 (64Kb) y el número de banco (0 - 3).

Fue un invento muy interesante en su época para superar limitaciones :-)
chinitosoccer escribió:
kusfo79 escribió:. En master, lo máximo que se llegó a ver fueron 4 Megabits (512kb), pero en Brasil Tectoy hizo juegos de 8 Megabits (1 megabyte).



En Corea también, Jang Pung 3 con 6 megabits.


Flipo con ese juego, mucho mejor que el SF2 tanto gráficamente como jugablemente. Ojalá hubiera salido en el 92 o así oficialmente.
balónybalín escribió:Disculpad si la pregunta es un tanto absurda, tengo entendido que el número máximo de megas que permite o puede direccionar/gestionar una consola viene determinado por el número de Bits de su procesador central, en lugar de quedar relacionado al procesador gráfico (de 16 Bits en este caso) o la memoria Ram (?¿)

Para evitar enrollarme como de costumbre, tengo la duda de que, si N.E.S y Master System sólo eran capaces de mapear o gestionar juegos/cartuchos de 8 o 12 Mb.. ¿porqué la TurboGrafx puede direccionar 20 Mb en Street Fighter siendo en la práctica un sistema de 8 Bits?.

Pensé que podría ser por alguna particularidad de su estructura interna..

Gracias :)


Hasta donde yo se, las consolas pueden mapear toda la cantidad de memoria ROM que le quieras poner al cartucho.

Todo se reduce a un tema de costes.

El mapeo lo único que hace es identificar cuantas memorias ROMs tiene el juego, y cambiar la posición de lectura de un ROM a otro como quien pulsa un botón.

Los chinos, que siguen haciendo juegos para NES, han llegado a sacar cartuchos de 24Mb para NES (3 MB)
@chinitosoccer

Cierto, siempre me olvido de los amigos coreanos!
Diskover escribió:Hasta donde yo se, las consolas pueden mapear toda la cantidad de memoria ROM que le quieras poner al cartucho.


No es del todo correcto, la consola efectivamente está limitada por la CPU, pero los cartuchos pueden incorporar mappers de memoria que permiten ampliar esa cantidad. Date cuenta que la misma NES ha ido teniendo infinidad de mappers a lo largo de su historia, con el fin de acceder cada vez a más memoria.

Técnicamente hablando la cantidad si puede ser "ilimitada", pero siempre estás limitado por el tamaño máximo del banco de memoria. Así por ejemplo una CPU de 8bit solo puede direccionar 64kb, por lo que trabajará con bancos de memoria de 64Kb.

chinitosoccer escribió:En Corea también, Jang Pung 3 con 6 megabits.


No conocía el juego, acabo de verlo, vaya pepino no?
AxelStone escribió:
Diskover escribió:Hasta donde yo se, las consolas pueden mapear toda la cantidad de memoria ROM que le quieras poner al cartucho.


No es del todo correcto, la consola efectivamente está limitada por la CPU, pero los cartuchos pueden incorporar mappers de memoria que permiten ampliar esa cantidad. Date cuenta que la misma NES ha ido teniendo infinidad de mappers a lo largo de su historia, con el fin de acceder cada vez a más memoria.

Técnicamente hablando la cantidad si puede ser "ilimitada", pero siempre estás limitado por el tamaño máximo del banco de memoria. Así por ejemplo una CPU de 8bit solo puede direccionar 64kb, por lo que trabajará con bancos de memoria de 64Kb.


No he dicho lo contrario. Lee bien.
@Diskover Ah perdón, error de interpretación por eso de "la consola". Realmente el que mapea es el mapper, por eso lo decía, pero sí se entiende el concepto.
AxelStone escribió:
chinitosoccer escribió:En Corea también, Jang Pung 3 con 6 megabits.


No conocía el juego, acabo de verlo, vaya pepino no?


Es el " Master Fighter" de la Master System, incluso venia con caratula sicodelica, la diferencia esta en que los pirataillas de Famicom venian de China y los de la Master de Corea donde al parecer gozó de cierta popularidad.
20 respuestas