FAQ

Seuraavan FAQin (Frequently Asked Questions=Usein Kysytyt Kysymykset) ei ole tarkoitus olla mikään mahtavan laaja NES:in tietopaketti, vaan siihen on koottu kiinnostavimpia aiheita sekä minulta maileilla kysyttyjä kysymyksiä ympäröiden NES:iä. Lisää kysymyksiä otetaan vastaan.

Minkälainen on NES:in prosessori?

CPU perustuu 8-bittiseen 6502 NMOS prosessoriin, jonka on valmistanut Ricoh. Prosessorin varsinainen malli on RP2A03G. Sen käskykantaan ei kuulu yhtään CMOS "STZ"käskyä, ja mikä tärkeämpää, koko prosessorissa ei ole edes toimivaa desimaalijärjestelmää. Sillä pystyy asettamaan ja tyhjentämään desimaali-flagejä, mutta kaikki laskut suoritetaan Heksoina. NES:in CPUssa on myös 5 sisäänrakennettua äänikanavaa. [Ylös]

Montako väriä NES pystyy näyttämään?

Normaalisti NES pystyy näyttämään 13 eri taustaväriä, ja 12 eri spriteväriä, eli yhteensä 25 väriä yhtäaikaa ruudulla. Kuitenkin, jos kikkaillaan PPUn kanssa, pystytään näyttämään kaikki NES:in 64 väriä yhtäaikaa. Käytännössä tuo luku on kuitenkin 25. [Ylös]

Mikä on NES:in resoluutio?

NES:in resoluutio on 256x240, vaikka useat ihmiset luulevat että NTSC-versiossa resoluutio olisi pienempi, eli 256x224. On kuitenkin totta että monissa TV-malleissa ylhäältä ja alhaalta puuttuu rivejä, mutta ei se tarkoita etteikö NES:in resoluutio olisi silti edellämainittu. [Ylös]

Miksi NES:in pelit hidastuvat ja vilkkuvat?

Tämä tapahtuu ainoastaan silloin kun ruudulle ilmestyy liikaa vilinää eikä yhteen frameen (1/60 sekunti) ole aikaa laskea kaikkea liikettä. NES:in CPUn kellotaajuus on vaivaiset 1.79MHz, joka ei selvästikkään riitä laskemaan kaikkea. Normaalisti jos peliä ei hidastettaisi, se voisi jysähtää hidastuessaan kokonaan jumiin, siitä johtuen peliin on ohjelmoitu valmiiksi koodi hidastumista varten, että NES kerkeää laskemaan kaiken liikkeen ruudussa.

Vilkkuminen johtuu yleensä siitä että samalla vaakatasolla on liikaa (Yli 8 hahmoa) liikettä. Aina kun yhdelle riville tulee enemmän, PPU ei yksinkertaisesti näytä niitä. Siitä johtuen ohjelmoijat ovat laittaneet eri Spritet vilkkumaan eri tahdissa, että ihmissilmä näkee ne kokoajan, eivätkä ne katoa kokonaan näkyvistä. Kyseistä algoritmiä kutsutaan nimellä "OAM Cycling". [Ylös]

Mikä on suurin koskaan NESille tehty peli?

Kirby's Adventure, joka oli kooltaan 6 Megabittiä. Piraattikasetit olivat kuitenkin "luultavasti" isompia johtuen siitä, että ne sisältävät monia pelejä (Esim. 1200 yhellä kasetilla). Se ei kuitenkaan ole varmaa johtuen siitä että pelit ovat usein hyvin pieniä ja lähinnä modauksia toisistaan. [Ylös]

Entäs pienin?

Pienimmät pelit olivat kooltaan ainoastaan 8K, kuten esim. Galaxian. [Ylös]

Kuinka monta NES:iä ja sen peliä on myyty?

Yli 62 miljoonaa konsolia ja 500 miljoonaa peliä. [Ylös]

Mikä on NES:in myydyin peli?

Tietenkin Super Mario Bros., jota myytiin yhteensä 40 miljoonaa kasettia. [Ylös]

Pystynkö avaamaan NES-kasettini?

Kyseiseen hommaan myydään "yllättäen" ihan avaimia (3.8mm), esim. Lik-Sangissa, itse omistan jo samanlaisen avaimen jota ei voi kuin suositella. Carttien avaaminen auttaa puhdistusta huomattavasti. [Ylös]

Mihin NES:in pohjan laajennusaukkoa käytetään?

Japanilaisessa Famicomissa sitä käytettiin esim. 3D-laseihin, näppikseen jne., mutta euroopassa laitteita oli tietääkseni ainoastaan kaksi, Miracle Keyboard Piano Teaching System ja Baton Teleplay System (Molemmat löytyvät lisälaitteista). [Ylös]

Millä NES-pelit on ohjelmoitu?

Lähes kaikki pelit on ohjelmoitu 6502 Assembly-kielellä, koska NES:in hidas prosessori vaatii sitä. Vaikka Nintendolla onkin BASIC-tulkki Famicom-laitteistoa varten, on aivan liian hidasta tehdä nopeita pelejä käyttäen sellaisia ohjelmointikieliä kuten C ja BASIC. [Ylös]

Miten aloitan NES:in pelien ohjelmoimisen?

Ensin sinun täytyy luonnollisesti opetella 6502 Assembly-kieltä. Lainaa vaikka aihetta käsittelevä kirja kirjastosta ja opiskele siitä. Assembly on vaikein kaikista tietokonekielistä, koska se toimii suoraan raudan kanssa. Yleensä tässä vaiheessa kannattaa jo olla jotain tietoa prosessorin toiminnasta jne. Tiedot Heksajärjestelmästä ovat myös tärkeitä.

Seuraavaksi matkaa NES Deviin tutkimaan NES:in teknisiä dokumentteja, jotka käsittelevät kuinka NES:in muisti toimii, mitkä rekisterit tekevät mitäkin ja mitkä ovat NES:in rajoitukset. Lue dokumentteja kunnes omaat laajan tiedon NES:in raudasta.

Aloita sitten tekemään testi-ROMeja. Kannattaa aloittaa katsomalla jo valmiiden demojen lähdekoodia, jotta saisit selvän kuvan siitä miten NES:in ohjelma käynnistyy, tyhjentää muistin, valitsee rekisterin ja käsittelee näytönohjainta. Hanki jostain 6502 Assembleri, kuten DASM tai X816 aloittaaksesi koodin vääntämisen. Kaikki nämä työkalut ovat saatavilla NES Devistä, josta löydät myös demoja. Lisää demoja lähdekoodeineen on myös täällä.

Muista vielä ettei kenestäkään tule mitään huippuohjelmoijaa hetkessä, vaan tulokset syntyy harjoittelun kautta. Onnea yritykselle, jos joku Suomalainenkin siihen ryhtyy. [Ylös]

Mitä tarkoittavat pelilistoissa olevat lyhenteet kuten CIB? MIB? NIB?

Sivustolla on aiheesta oma sivunsa, sen näet tästä. [Ylös]

Mistä saan selville pelien aluekoodeja kuten EEC? SCN? NOE?

Sivustolla on aiheesta oma sivunsa, sen näet tästä. [Ylös]

[Takaisin]


Radikus © 2001+