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?


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.

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 ...


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.