Em que linguagem de programação foi escrito o Super Mario Bros.? [fechadas]

65

Super Mario Bros. é definitivamente o videogame mais famoso criado até o momento, vendendo 40,23 milhões de cópias. http://en.wikipedia.org/wiki/List_of_best-selling_video_games

Em que linguagem de programação foi escrita? Alguém tem alguma referência de código original?

Luca Matteis
fonte
7
Tenho a sensação de que muitos dos jogos antigos do NES foram escritos em montagem específica da máquina.
meagar
7
Não é uma duplicata, pois esta pede amostras de código específicas de um jogo específico.
AttackingHobo
5
Não vejo o valor de ter muitos "Em que idioma o X foi escrito?" perguntas, não importa quão notável seja o X, a menos que seja notável por causa da plataforma de desenvolvimento. Além disso, está solicitando exemplos de códigos específicos de um jogo ainda com direitos autorais (e ainda sendo vendidos) sem disponibilidade de fonte intencional.
3
@Toad: Sim, mas geralmente você não tem o direito de publicá-lo on-line, de baixar uma cópia (mesmo que você seja o dono do jogo) ou de fazer trabalhos derivados com base em sua própria leitura do código.

Respostas:

76

6502 Assembler

Aqui está uma página de fórum sobre hackers na ROM. http://forums.selectbutton.net/viewtopic.php?t=26956&sid=1a883209e1ba63877bcd58c007bb63ae

Também deve conter todas as referências de código necessárias.

Alguns posts abaixo existem um link para um arquivo zip que contém esses itens necessários para editar / hackear o jogo.

  • ca65 - um compilador de montagem 6502 em http://www.cc65.org/
  • ld65 - um vinculador 6502 de http://www.cc65.org/
  • smbdis.asm - uma desmontagem abrangente de Super Mario Bros.
  • smb.chr - gráficos de Super Mario Bros. (dados da ROM do personagem)
  • smb.hdr - cabeçalho Super Mario Bros. ROM (cabeçalho iNES)
  • MAKESMB.BAT - um arquivo em lotes que eu criei que automatiza o processo de compilação.
  • 6502jsm.doc - um resumo das instruções do 6502.
AttackingHobo
fonte
6
Uau, resposta perfeita! Kudos
DFectuoso
31
Estou confuso com esta resposta eu mesmo. Você está basicamente apontando para um executável (a ROM) e alegando que foi escrito em assembly ... porque foi desmontado. É um executável; claro que pode ser desmontado . Por essa lógica, todo programa C / C ++ já escrito foi realmente escrito em assembly. Para provar que isso foi escrito em assembly, você precisa realmente mostrar que a Nintendo o escreveu em assembly, não que você possa desmontar o binário executável.
Nicol Bolas
52

Quase todos os jogos da NES foram escritos à mão na montagem 6502, os mesmos usados ​​no Commodore 64, na Apple] [e, etc. e possui 2Kb de RAM integrada (com uma janela de 8Kb para que o cartucho remova mais). Uma montagem cuidadosa, projetada para aproveitar ao máximo a arquitetura peculiar do NES, foi muito mais eficaz.

Pare e pense sobre isso ... jogos como Super Mario Bros 3 e Kirby's Adventure rodavam em 2Mhz. Compare como eles são ricos com os jogos de hoje que engolem gigahertz e centenas de megabytes de RAM ...

Uma má ideia
fonte
3
@ Lohoris Acabei de fazer login para votar novamente esse comentário. E para minha surpresa, eu já fiz #
NSAddict
5
O que é um exemplo de um jogo NES licenciado que foi escrito em C?
Tgies
11
[citação necessário]
Almo 07/01