¿En qué lenguaje de programación se escribió Super Mario Bros.? [cerrado]

65

Super Mario Bros. es definitivamente el videojuego más famoso creado hasta la fecha, que vende 40,23 millones de copias. http://en.wikipedia.org/wiki/List_of_best-selling_video_games

¿En qué lenguaje de programación fue escrito? ¿Alguien tiene alguna referencia de código original?

Luca Matteis
fuente
77
Tengo la sensación de que muchos de los viejos juegos de NES se escribieron en ensamblajes específicos de la máquina.
meagar
77
No es un duplicado, ya que este solicita muestras de código específicas de un juego específico.
AttackingHobo
55
No veo el valor de tener muchos "¿En qué idioma se escribió X?" preguntas, no importa cuán notable sea X, a menos que sea notable debido a la plataforma de desarrollo. Además, está pidiendo muestras de código específicas de un juego que todavía está bajo copyright (y aún se vende) sin disponibilidad de fuente intencional.
3
@Toad: Sí, pero generalmente no tienes derecho a publicarlo en línea, ni a descargar una copia (incluso si eres el propietario del juego), ni a realizar trabajos derivados basados ​​en tu propia lectura del código.

Respuestas:

76

Ensamblador 6502

Aquí hay una página del foro sobre cómo hackear la ROM. http://forums.selectbutton.net/viewtopic.php?t=26956&sid=1a883209e1ba63877bcd58c007bb63ae

También debe contener cualquier referencia de código que necesite.

En algunas publicaciones hay un enlace a un archivo zip que contiene estos elementos necesarios para editar / piratear el juego.

  • ca65: un compilador de ensamblaje 6502 de http://www.cc65.org/
  • ld65 - un enlazador 6502 de http://www.cc65.org/
  • smbdis.asm: un completo desmontaje de Super Mario Bros.
  • smb.chr: gráficos de Super Mario Bros. (datos de ROM de personaje)
  • smb.hdr: encabezado ROM de Super Mario Bros. (encabezado iNES)
  • MAKESMB.BAT: un archivo por lotes que hice que automatiza el proceso de compilación.
  • 6502jsm.doc: un resumen de las instrucciones 6502.
AttackingHobo
fuente
66
Wow, respuesta perfecta! Felicitaciones
DFectuoso
31
Estoy confundido por esta respuesta yo mismo. Básicamente estás apuntando a un ejecutable (la ROM) y alegando que fue escrito en ensamblado ... porque fue desarmado. Es un ejecutable; Por supuesto, se puede desmontar . Según esta lógica, cada programa C / C ++ que se haya escrito en realidad se escribió en ensamblador. Para demostrar que esto se escribió en ensamblador, debe demostrar que Nintendo lo escribió en ensamblador, no que puede desmontar el binario ejecutable.
Nicol Bolas
52

Casi todos los juegos de NES fueron escritos a mano en el ensamblaje 6502, el mismo que se usó en el Commodore 64, el Apple] [e, etc. y tiene 2Kb de RAM incorporada (con una ventana de 8Kb para que el cartucho pueda parchear más). El ensamblaje cuidadoso diseñado para aprovechar al máximo la arquitectura peculiar de NES fue mucho más efectivo.

Detente y piensa en eso ... juegos como Super Mario Bros 3 y Kirby's Adventure se ejecutaron en 2Mhz. Compare lo ricos que son con los juegos de hoy que se tragan gigahercios y cientos de megabytes de RAM ...

una mala idea
fuente
3
@Lohoris Acabo de iniciar sesión para votar ese comentario. Y para mi sorpresa, ya lo hice
NSAddict
55
¿Cuál es un ejemplo de un juego de NES con licencia que se escribió en C?
Tgies
1
[cita requerida]
Almo