Domanda

Ho appena guardato il Super Mario Bros.-1 Mondo glitch su youtube e mi ha iniziato chiedendo il codice dietro quei giochi.Il linguaggio utilizzato?Che cosa circa il sistema operativo per i videogiochi?Esiste qualche sito con risorse su questo argomento?(Io sono un 90s video gamer quindi sono particolarmente interessato circa la programmazione dietro quei giochi, ma sentitevi liberi di fare di questo un wiki e includere collegamenti a risorse sui video giochi della programmazione in generale, se si desidera)

È stato utile?

Soluzione

Avendo un po ' lavorato su un emulatore per NES (l'ho decodifica di alcune istruzioni, ma nessuno degli altri hardware emulato), magari condividere un paio di risposte.

  1. Per la maggior parte dei giochi assembler è stato utilizzato.Ottimizzazione dei compilatori, se disponibile per il CPU erano in nessun posto vicino come un buon 20-30 anni fa come oggi.Per ottenere le prestazioni, è necessario scrivere in assembler (anche Questo valeva anche sul PC.Parti di Doom sono in ASM).Tanto più, in quanto il NES è impegnativo corse a meno di 2MHz.Inoltre, la memoria era più costoso di quanto non sia oggi.L'originale di Mario è stato memorizzato in circa 40 kb di memoria.16k era il codice vero e proprio, e il resto è stato la grafica e il suono delle risorse.

  2. Fino a 32-bit console periodo, una sorta di sistema operativo, o anche costruito in programmi di utilità, su una console era raro (Sega CD era uno dei pochi nell'era di 16 bit, con una vera BIOS, e c'era un piccolo programma bruciato nel Game Boy processore che era responsabile per la Nintendo logo scorrendo verso il basso su di accensione).Vedi sopra circa i vincoli di dimensioni, come motivo principale.Quando si inserisce la cartuccia, il chip ROM in macchina è collegata direttamente all'indirizzo del bus della CPU.All'accensione, la CPU dovrebbe leggere da un indirizzo fisso per ottenere l'indirizzo effettivo avvio del programma, e poi saltato per l'inizio dell'esecuzione.

Come per le risorse, l' NES Dev Wiki dispone di risorse riguardanti l'hardware NES, insieme con programmming riferimenti.Zophar di Dominio dispone anche di documenti tecnici e di dominio pubblico Rom per un bel paio di console (non so se devo link a ZD su questo sito, basta google)

Altri suggerimenti

La maggior parte delle vecchie console ha avuto un qualche tipo di BIOS ROM.

Parte del codice sorgente per questi sono in linea:

È possibile leggere le per lo più ha commentato lo smontaggio al 7800 BIOS: http: // atarihq. com / DANB / files / 7800bios.asm

L'Atari 5200 della sorgente del BIOS è più interessante, dal momento che non si limita a inizializzare il sistema e visualizzare una schermata iniziale: http://atarihq.com/danb/files/5200BIOS.txt

Il Colecovision ha avuto un 8K BIOS ROM e (!); di essa la sorgente è qui: http://xi6.com/code/coleco/coleco29.asm

La fonte Odyssey II BIOS è qui: http://atarihq.com/danb/files /o2romsrc.txt

L'Intellivision aveva un sistema operativo chiamato "exec," non può trovare uno smontaggio in linea, anche se ho trovato un po 'di informazioni su di esso: http://www.intellivisiongames.com/bluesky/hardware/intelli_tech.html#exec e noreferrer http://www.beeslife.com/faq.htm#_Toc140592020 - che aveva routine per muoversi sprite, leggere i controllori, e calcolare radici quadrate !

La maggior parte dei difetti in quel video sono difetti a base di piastrelle, dove ci sono bug nel rilevamento delle collisioni delle mappe di piastrelle che compongono i livelli. Tutti i livelli sono costituiti da piastrelle di forma quadrata. Se si nota mario è sempre tra le piastrelle dove non dovrebbe essere.

Torna alla fine degli anni '70, '80 e primi anni '90, la maggior parte del software (compresi i giochi) sono stati scritti in ASM (Assemblea). Se non si ha familiarità con l'Assemblea, è praticamente un linguaggio di programmazione di livello molto basso che è specifico hardware per la programmazione della CPU. Ciò significa che si doveva controllare ogni pixel sullo schermo librerie e ricreare per cose come la fisica, la grafica e suono ancora! Lei è stato molto limitato nella memoria in modo riciclaggio era un must. Nell'originale Super Mario Bros si noterà che le nuvole sono gli stessi dei cespugli, l'unica diversa è il colore. Un sacco di sprite sono stati riciclati e la fisica del gioco sono stati limitati.

I giochi sono diventati gli sviluppatori sempre più complicato spostato sul linguaggio C che ha permesso per il software da scrivere molto più velocemente perché ha richiesto meno linee di codice. Al giorno d'oggi un sacco di console e giochi per computer sono scritti in C ++ perché permette uno sviluppo più rapido, ma anche permette al software di essere abbastanza vicino ad hardware per una più rapida giocare.

I havn't ricerche fatte su questo, ma Super Mario Bros e releated 90 giochi sono disponibili come .nes file invece di cartuccia e ci OpenSource emulatore sono disponibili anche.

Per quanto ne so, questi sono generalmente scritto in C ++. Non so circa la legalità di questi file di Nes e l'emulatore, ma disponibili su internet. avete ricerca con corda giusta!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top