In quale linguaggio di programmazione è stato scritto Super Mario Bros.? [chiuso]


65

Super Mario Bros. è sicuramente il videogioco più famoso mai creato, vendendo 40.23 milioni di copie. http://en.wikipedia.org/wiki/List_of_best-selling_video_games

In quale linguaggio di programmazione era scritto? Qualcuno ha qualche riferimento al codice originale?


7
Ho la sensazione che molti dei vecchi giochi NES siano stati scritti in assemblaggi specifici per macchine.
meagar


7
Non un duplicato, poiché questo richiede esempi di codice specifici da un gioco specifico.
Attacco di

5
Non vedo il valore di avere molti "In che lingua è stato scritto X?" domande, non importa quanto sia notevole X, a meno che non fosse notevole a causa della piattaforma di sviluppo. Inoltre, richiede esempi specifici di codice di un gioco ancora protetto da copyright (e ancora venduto) senza disponibilità intenzionale della fonte.

3
@Toad: Sì, ma in genere non hai il diritto di pubblicarlo online o di scaricarne una copia (anche se possiedi il gioco da solo) o di creare opere derivate basate sulla tua lettura del codice.

Risposte:


76

6502 Assembler

Ecco una pagina del forum sull'hacking della ROM. http://forums.selectbutton.net/viewtopic.php?t=26956&sid=1a883209e1ba63877bcd58c007bb63ae

Dovrebbe contenere anche eventuali riferimenti di codice necessari.

Alcuni post in basso contengono un collegamento a un file zip che contiene questi elementi necessari per modificare / hackerare il gioco.

  • ca65 - un compilatore di assembly 6502 da http://www.cc65.org/
  • ld65 - un linker 6502 da http://www.cc65.org/
  • smbdis.asm - uno smontaggio completo di Super Mario Bros.
  • smb.chr - Grafica Super Mario Bros. (dati ROM personaggio)
  • smb.hdr - Intestazione ROM Super Mario Bros. (intestazione iNES)
  • MAKESMB.BAT - un file batch che ho creato per automatizzare il processo di compilazione.
  • 6502jsm.doc - un riepilogo di 6502 istruzioni.

6
Caspita, risposta perfetta! Kudos
DFectuoso,

31
Sono confuso da questa risposta me stesso. Stai praticamente indicando un eseguibile (la ROM) e affermando che è stato scritto in assembly ... perché è stato smontato. È un eseguibile; ovviamente può essere smontato . Secondo questa logica, ogni programma C / C ++ mai scritto era effettivamente scritto in assembly. Per provare che questo è stato scritto in assemblea, devi effettivamente dimostrare che Nintendo lo ha scritto in assemblea, non che puoi smontare il file binario eseguibile.
Nicol Bolas,

52

Quasi tutti i giochi NES sono stati scritti a mano nell'assemblaggio 6502, lo stesso usato nel Commodore 64, nella Apple] [e, ecc. e ha 2 KB di RAM integrata (con una finestra di 8 KB per la cartuccia per patch in più). Un attento assemblaggio progettato per sfruttare appieno la peculiare architettura del NES era molto più efficace.

Fermati e pensa a questo ... giochi come Super Mario Bros 3 e Kirby's Adventure hanno funzionato a 2Mhz. Confronta quanto sono ricchi con i giochi di oggi che inghiottono gigahertz e centinaia di megabyte di RAM ...


3
@Lohoris Ho appena effettuato l'accesso per votare quel commento. E con mia sorpresa, l'ho già fatto
NSAddict il

5
Qual è un esempio di un gioco NES con licenza che è stato scritto in C?
tgies

1
[citazione necessaria]
Almo
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.