Dans quel langage de programmation Super Mario Bros. a-t-il été écrit? [fermé]

65

Super Mario Bros. est certainement le jeu vidéo le plus célèbre créé à ce jour, avec 40,23 millions d’exemplaires brûlants. http://en.wikipedia.org/wiki/List_of_best-selling_video_games

Dans quel langage de programmation était-il écrit? Quelqu'un at-il une référence de code d'origine?

Luca Matteis
la source
7
J'ai l'impression que beaucoup de vieux jeux NES ont été écrits dans un assemblage spécifique à la machine.
Meagar
7
Pas un doublon, car celui-ci demande des échantillons de code spécifiques à un jeu spécifique.
AttackingHobo,
5
Je ne vois pas l'intérêt d'avoir plusieurs "Dans quelle langue X a-t-il été écrit?" des questions, peu importe l’importance de X, à moins qu’elles le soient en raison de la plate-forme de développement. En outre, il demande des échantillons de code spécifiques d'un jeu toujours soumis au droit d'auteur (et toujours vendu) sans disponibilité de source intentionnelle.
3
@Toad: Oui, mais vous n'avez généralement pas le droit de le publier en ligne, de télécharger une copie (même si vous possédez vous-même le jeu), ou de créer des travaux dérivés à partir de votre propre lecture du code.

Réponses:

76

6502 Assembleur

Voici une page de forum sur le piratage de la ROM. http://forums.selectbutton.net/viewtopic.php?t=26956&sid=1a883209e1ba63877bcd58c007bb63ae

Il devrait également contenir toutes les références de code dont vous avez besoin.

Quelques articles en bas, il y a un lien vers un fichier zip contenant ces éléments nécessaires pour éditer / pirater le jeu.

  • ca65 - un compilateur d'assemblage 6502 de http://www.cc65.org/
  • ld65 - un lien 6502 de http://www.cc65.org/
  • smbdis.asm - un démontage complet de Super Mario Bros.
  • smb.chr - Graphiques Super Mario Bros. (données ROM de caractères)
  • smb.hdr - En-tête ROM Super Mario Bros. (en-tête iNES)
  • MAKESMB.BAT - un fichier de commandes que j'ai créé qui automatise le processus de compilation.
  • 6502jsm.doc - un résumé des instructions 6502.
Attaquer
la source
6
Wow, réponse parfaite! Félicitations
DFectuoso
31
Je suis confus par cette réponse moi-même. En gros, vous pointez un exécutable (la ROM) et prétendez qu'il a été écrit en assemblage ... parce qu'il a été désassemblé. C'est un exécutable; bien sûr, il peut être démonté . Selon cette logique, chaque programme C / C ++ jamais écrit était en réalité écrit en assembleur. Pour prouver que cela a été écrit en assembleur, vous devez en fait montrer que Nintendo l'a écrit en assembleur, mais pas que vous pouvez désassembler le binaire exécutable.
Nicol Bolas
52

Presque tous les jeux NES étaient écrits à la main dans un assemblage 6502, identiques à ceux utilisés dans le Commodore 64, Apple] [e, etc.] et dispose de 2 Ko de RAM intégrée (avec une fenêtre de 8 Ko pour que la cartouche puisse en patcher plus). Un assemblage minutieux conçu pour tirer pleinement parti de l'architecture particulière de la NES s'est avéré beaucoup plus efficace.

Arrêtez-vous et réfléchissez-y… des jeux comme Super Mario Bros 3 et Kirby's Adventure ont fonctionné à 2Mhz. Comparez leur richesse aux jeux d'aujourd'hui qui avalent du gigahertz et des centaines de mégaoctets de RAM ...

Une mauvaise idée
la source
3
@ Lohoris Je viens de me connecter pour voter ce commentaire. Et à ma grande surprise, je l'ai déjà fait
NSAddict
5
Quel est un exemple de jeu NES sous licence écrit en C?
Jeudi
1
[la citation nécessaire]
Almo