PDA

Ver la versión completa : Publicados el código fuente de varios juegos para NES y Megadrive



josepzin
25/03/2015, 18:59
Algún homebrewsero seguro que le viene bien.

Enlace: http://retromaniacmagazine.blogspot.com.ar/2015/03/sumergete-en-las-entranas-de-megadrive.html


En concreto, puedes bucear en las tripas de Magician, James Bond Jr. y el inédito Heroquest para NES, para ver de qué pasta estaban hechos los juegos para la 8 bits de Nintendo. Si lo tuyo es Sega, y Megadrive tu sistema fetiche, Chris pone también a tu disposición el código fuente de Ex-Mutants, Cliff Hanger o Gargoyles.

Dullyboy
25/03/2015, 19:22
¿Hay que tirar de alguno programa especial para ver lo que es código o como va la cosa?

josepzin
25/03/2015, 19:37
Ni idea... he descargado uno y mirado un poco. Hay archivos .INC con tablas de datos, hay archivo .BIN con ni idea... hay archivos .68K con código fuente que parece ser ensamblador.

Seguramente en alguna parte explicará algo del entorno de trabajo o lo que sea...

Jurk
25/03/2015, 20:28
entorno de trabajo->

bloc de notas y un compilador, un linkador y poco mas

josepzin
25/03/2015, 20:49
Me imagino que es asi, aunque tener el compilador funcionando ya se puede considerar un "entorno de trabajo" :D

¿que compilador usa? lo mio es solo curiosidad, claro.

GameMaster
25/03/2015, 20:59
clonicos de ex mutants marchando

masteries
25/03/2015, 21:18
¡Esto es un verdadero tesoro!

Ahora lo bueno sería saber cómo compilar todo ese código ensambaldor, y mejor aún, llegar a disponer de un compilador de C para estas plataformas, porque el ensamblador no es que no lo controle. ¡Pero llegar a hacer un juego con él requiere demasiado tesón!

Aiken
25/03/2015, 21:35
aun con el codigo fuente no es sencilla la cosa, en esa epoca seguramente compilaban en linea de comandos y lo mismo no aparecen por ningun lado las opciones de compilacion ni nada, obviamente es posible y hay gente muy capaz pero si no teneis experiencia compilando cosas a manubrio ni os molesteis en intentarlo, no creo ni que haya un makefile, y no todos los compiladores funcionan igual, algunos exigen sintaxis especiales en el codigo ;)



Aiken

GameMaster
25/03/2015, 21:37
aunque es un tesoro que vino de sorpresa, mejor usar los nuevos sdk's con c para hacer juegos para mega drive, meterse en ensamblador y hacerlo a la vieja escuela en los dias de hoy es un calvario ;)

A ver si mas toman ejemplo, que ilusion ver otros juegos retro liberados

swapd0
26/03/2015, 11:44
entorno de trabajo->

bloc de notas y un ensamblador, un linkador y poco mas
fixed.

Wave
26/03/2015, 12:07
Me bajé ayer el gargoyles y en la carpeta bin tiene el compilado y me hizo gracia que directamente funcionaba en el emulador :O

josepzin
26/03/2015, 12:18
Me bajé ayer el gargoyles y en la carpeta bin tiene el compilado y me hizo gracia que directamente funcionaba en el emulador :O

Vi el BIN pero no lo probé, no pensé que fuera TAN simple y que funcionara directamente

-----Actualizado-----

Si alguien es capaz de compilar y que funcione que avise :P

swapd0
26/03/2015, 12:39
Pero lo normal es que después de ensamblar el código lo tengas que pasar por un programa para que firme la rom, o le ponga la cabecera necesaria para que funcione. Normalmente llevan alguna tipo de protección, no puedes meter el código sin mas y que funcione.

Wave
26/03/2015, 13:05
Pero lo normal es que después de ensamblar el código lo tengas que pasar por un programa para que firme la rom, o le ponga la cabecera necesaria para que funcione. Normalmente llevan alguna tipo de protección, no puedes meter el código sin mas y que funcione.
Por eso me parecio curioso. Es a pelo. De todos modos viendo el codigo ya estan metiendo las protecciones ellos (regional, cadenas especiales y tal).

Drumpi
27/03/2015, 01:42
Un fichero .bin ya es un fichero que puede leer el procesador, porque ya es código máquina.
Otra cosa es que el código se divida en varios ficheros o en varias partes, que es cuando hay que empezar con linkadores y demás historias. Seguramente es eso, que el tema de la firma y demás va en el código, y si no, irá en un chip del cartucho o lo leerá otro chip de la consola, pero si se lo pasas directamente a la CPU, pues como no sabe / no hace la comprobación, pues se lo traga.

Pero es una suposición.

swapd0
27/03/2015, 13:47
Yo se que las rom de Atari Jaguar llevan una clave que ocupa el primer 1k o asi de la rom, y se genera con un programa separado, no la puedes incluir al principio del código porque la clave se genera con los datos de la rom. Con la megadrive no se como leches se hará pero algo tiene que llevar o habrian salido un montón de juegos de compañias piratas o no oficiales.

También hay una clave universal que se puede usar para saltarse esta protección, pero IIRC se descubrio después de que se fuera al garete todo XD.

bitrider
27/03/2015, 14:16
Hasta donde yo sé los sistemas de 8 bits y 16 bits no hacen comprobación alguna del cartucho antes de lanzarlo. Es un trozo de memoria conectada a los buses de los cuales el procesador obtiene datos... vamos que el procesador chupa directamente y ya está.

En las imágenes de las ROMs (los archivos) que se comen los emuladores dependiendo del formato pueden ir en raw (crudo, sin cabecera) o con una pequeña cabecera que indica nombre del cartucho, región, sistema de TV, etc... Esta cabecera se añade en el volcado (dumpeo) del cartucho a archivo de PC.

Wave
27/03/2015, 14:42
En el caso de la megadrive es un hibrido, las primeras consolas no tenian comprobacion y las que vinieron despues si que la tenian (en rom, ese mensajito que sale al principio en blanco de licensed by...). Imagino que el trozo que se "pega" tiene copyright y no se puede utilizar sin licencia, de ahi que no salieran juegos sin licencia (porque necesitan el codigo) y a las autorizadas se lo daban.
En la nes esto se hacia mediante un chip extra que te "vendia" nintendo y como la megadrige, las primeras no lo tenian en la consola y se tragan todo pero con el auge de las compañias sin licencia en america sacaron las consolas con chip (la famicom no tiene proteccion tampoco).

Drumpi
30/03/2015, 02:03
Sé que alguna protección en la NES hay, porque en algún video del AVGN se hace alusión de que las "top loader" se lo "tragan" todo.
Es más, mirad el video de "little red hood", el cartucho tiene una forma rara para poder usar un cartucho legal y saltarse la protección, como "Super Noa's ark 3D" en SNES.

De hecho, forma parte de la estrategia de control para asegurar calidad (aparte de tener atados a sus licenciatarios) y que no pasase lo de 1983.

dj syto
30/03/2015, 02:29
El chip de proteccion de la nes europea y usa es el nes10. Y no es que nintendo lo vendiera, sino que nintendo era la fabricante de TODOS los cartuchos con licencia creados en occidente. Era una de las condiciones. Que ella sea la manufacturadora. Aun así hubieron compañias como codemasters que se lo consiguieron saltar cortocircuitandolo. Xddd

-----Actualizado-----


En el caso de la megadrive es un hibrido, las primeras consolas no tenian comprobacion y las que vinieron despues si que la tenian (en rom, ese mensajito que sale al principio en blanco de licensed by...). Imagino que el trozo que se "pega" tiene copyright y no se puede utilizar sin licencia, de ahi que no salieran juegos sin licencia (porque necesitan el codigo) y a las autorizadas se lo daban.
En la nes esto se hacia mediante un chip extra que te "vendia" nintendo y como la megadrige, las primeras no lo tenian en la consola y se tragan todo pero con el auge de las compañias sin licencia en america sacaron las consolas con chip (la famicom no tiene proteccion tampoco).

En la "anticopia" de megadrive el asunto trajo tela. Con el famoso juicio contra accolade e incluso los jaleos con electronic arts. En el podcast que dedicamos a la megadrive expliqué todo el asunto y en que consistia.

En las roms no venia el mensajito de produced by or under. Eso venía en la bios de la consola si detectaba en una posicion determinada de la rom unos caracteres concretos. Por ordenes de produccion previos a todo esto, ese codigo lo llevaban todos los juegos oficiales de la consola, por lo que en pribcpio no debia de haber problema. Entonces que ocurria? Si alguien como ea o acolade incluian los caracteres necesarios (no era ningun codigo ni ordenes especificas patentables ni nada) entonces el juego funcionaba, pero se mostraba el mensaje de produced by, y claro, sega fue en conta de esto diciendo "mirad lo que ponen en sus juegos, ponen que esta licenciado por nosotros y es mentira" cuando en realidad quien lo ponia era la consola y no el juego. Con ea al final cedieron, y la convirtieron en desarrolladora oficial aceptando ea a cambio de que le dejaran fabricarse ella sus cartuchos y utilizar diseño propio en las cajas.

Aun asi, algunas de las primeras unidades de ciertos juegos de ea antes de ser una desarrolladora con licencia no funcionan en las megadrives con ese mensaje. Y curiosamente, existe algun juego de la propia sega (de primera hornada) donde por despiste de los programadores no incluyeron ese codigo, y como hasta ese momento no servia para nada, pues funcionaba, pero con los siguientes modelos dejo de hacerlo. Xdd

Por eso los cartuchos chinorrusos de la nasa y clonicas no funcionaban en la nes original, porque no fueron capaces de copiar el chip nes10. Mientras que los piratas (no confundir pirata con juego sin licencia/no oficial) de mega, como se la sudaba todo, pues copiaban todo el codigo y si que funcionaba.

En resumen, nintendo hizo su chip para protegerse sobre todo de la pirateria, y sega diseñó su sistema SOLO para protegerse de desarrolladores sin licencia, sabiendo que como antipirateria no iba a servirles para nada.

Wave
30/03/2015, 09:09
Si bueno, que tenian que pasar por caja de nintendo $$$, lo que me referia es que nada les impedia hacerse un cartucho para la nes, EXCEPTO el **** chip (que algunas compañoas sin licencia sacaron "workarounds" como Codemasters).
Lo de codemasters tiene guasa, me mola su Aladdin Deck Enhancer (http://en.wikipedia.org/wiki/Aladdin_Deck_Enhancer), me parece una medida muy inteligente y que en el caso de la nes se debia haber explotado mas, podrian haber hecho enchancers tipo V1 V2 V3, segun el mapper y cartuchitos que dijeran con que enhancer hay que ponerlo.

De la mega me referia a rom en la consola, en la bios si quieres si xD

En el caso de la toploader, al ser producida hacia el final y haber dado tantos problemas el chip (el tipico reset-parpadeo suele ser por el **** chip) la hicieron sin el.

dj syto
30/03/2015, 09:12
Si bueno, que tenian que pasar por caja de nintendo $$$, lo que me referia es que nada les impedia hacerse un cartucho para la nes, EXCEPTO el **** chip (que algunas compañoas sin licencia sacaron "workarounds" como Codemasters).
Lo de codemasters tiene guasa, me mola su Aladdin Deck Enhancer (http://en.wikipedia.org/wiki/Aladdin_Deck_Enhancer), me parece una medida muy inteligente y que en el caso de la nes se debia haber explotado mas, podrian haber hecho enchancers tipo V1 V2 V3, segun el mapper y cartuchitos que dijeran con que enhancer hay que ponerlo.

De la mega me referia a rom en la consola, en la bios si quieres si xD

En el caso de la toploader, al ser producida hacia el final y haber dado tantos problemas el chip (el tipico reset-parpadeo suele ser por el **** chip) la hicieron sin el.

con lo facil que era cortar una patita al chip. Si hubieramos sabido en su dia que era tan facil... xdddddddddddddddddddd

Wave
30/03/2015, 09:52
con lo facil que era cortar una patita al chip. Si hubieramos sabido en su dia que era tan facil... xdddddddddddddddddddd
Yo es que tenia una NASA (y luego una YESS porque a la nasa le empezo a fallar el slot de cartuchos) asi que vivi ajeno a eso, de hecho tenia juegos piratones xD (Batman, Double Dragon III y Matendouji (que no salio en pal), comprados en el puerto de barcelona) y los Gluk sin licencia :p, del carreful

Eso si, recuerdo que me regalaron el ELITE, que es de los pocos juegos no compatibles con clonicas, y tuvieron que cambiarlo por otro xD

dj syto
30/03/2015, 09:53
Yo es que tenia una NASA (y luego una YESS porque a la nasa le empezo a fallar el slot de cartuchos) asi que vivi ajeno a eso, de hecho tenia juegos piratones xD (Batman, Double Dragon III y Matendouji (que no salio en pal), comprados en el puerto de barcelona) y los Gluk sin licencia :p, del carreful

Eso si, recuerdo que me regalaron el ELITE, que es de los pocos juegos no compatibles con clonicas, y tuvieron que cambiarlo por otro xD

Yo tambien tenia la nasa, por supuesto. Lo de antes no lo dije de forma personal. Xdd

GameMaster
30/03/2015, 10:04
Mi primer consola, toda una preciosidad

43101