SEN> Berätta om dig själv

TNSe> Jag är 21 år gammal och jag bor på en ö - Asköy som ligger utanför Bergen, Norge.
Jag går för närvarande i en skola som heter DPH

SEN> Vad fick dig att börja programmera NESten?

TNSe> Jag började arbeta på NESten på grund av att jag ville lära mig hur NES'en fungerade.
Det var inte direkt menat att bli en emulator...
Jag låg i lumpen 1 år, och hade en massa fritid, så jag började på en massa project och NESten var ett av dom.

SEN> I vilket språk skrev du NESten i, Ungefär hur många timmar har du lagt ner i projektet?
Vilka tekniker använde du (för CPU emulation, Tile Processing etc.)

TNSe> Jag började koda NESten i Turbo Pascal (real-mode DOS :). Men det lades ner, ända tills våren 1999 när jag fick Delphi.
Jag behövde lära mig nya saker såsom; Windows API programmering, DirectX API programming, Delphi, Ljud, Real time program m.m
Jag antar att jag lagt ner massvis med tid... men jag är inte en särskilt effektiv programmerare.
Jag kodare ett par timmar åt gången, och det slutar med att jag spelar för mycket spel :)

CPU emulationen utförs på två olika sätt.
En "Normal" interpretiv kärna, och en snabbare Dynamiskt Omkompilerande kärna p.g.a att jag aldrig lärde mig att länka in *.obj filer i Delphi :P (1337 ;P)

Tile processen utförs genom att cacha alla tilar. Detta går mycket snabbare än konventionella metoder (upp till 50% snabbare).

SEN> Vilken del av emulatorn var svårast att koda?

TNSe> Det är en klurig fråga :)
För att man kan inte koda ut buggar :P.
Men allvarligt, Det som var svårast var att fixa till alla små detaljer som gör så att threadsen i emulatorn inte använder all befintlig processorkraft,
och så att dom olika threadsen behandlar varandra väl, och inte går in i t.ex. loopar.

Och framför allt. Alla #%¤#%#¤% finjusteringar (ta bort en felaktig grej som inte borde vara i det spelet blah blah) är nog den svåraste delen.

SEN> Har du några planer på att porta NESten till något annat operativ system? (Delphi är inte speciellt port-vänligt, jag vet ;P)?

TNSe> Det som är dåligt med Delphi är att det inte går att porta.
Men som tur är, har jag använt väldigt lite Assembler, och jag har inte använt någon Win32 specifik kod (förutom DirextX).
Så, om det skulle finnas någon Delphi kompilator på ett annat operativsystem, så skulle koden vara relativt enkel att porta :).

SEN>Härligt att höra! :)
Om du jämför NESten och Nesticle, vilka är skillnaderna? vilka mappers stöder NESten och vilka mappers planerar du att stödja?

TNSe> NESticle har en tile-baserad rendrerare, vilket är en snabbare metod, men den har sina nackdelar.
NESten har en Scanline baserad rendrerare, vilket ger ett mycket mer exakt resultat, men det går slöare.
Det finns mycket mer saker att implentera också, små detaljer.

Men jag har haft tur. Det finns mycket mer dokumentation på NES nu än vad det fanns innan.

NESten stöder dom flest "viktiga" mappersna och jag planerar att stödja så många mappers jag kan :)

SEN> Har du några planer på att skriva en emulator för något annat system ?

TNSe> Om jag svarar positivt på den frågan kommer folk börja fråga mig när den kommer komma. Så, ingen kommentar.

SEN>Vilket spel fungerade först på NESten?

TNSe>eeeh... Jag vet faktiskt inte. Inget spel fungerade riktigt först, antar jag :).
Alla NES spel använder det mesta av CPU'n i vilket fall som helst, så ett spel fungerar bara om du emulerar allt eller nära på allt.
Men självklart, SMB1 var ett av dom första spelen jag riktigt spelade.

SEN>Vilket spel fungerar bäst och vilket körs sämst?
finns det några spel som körs 100% perfekt, och isåfall vilket spel var då först?

TNSe> Värst?`
Alla MMC5/Mapper6 spel körs ganska dåligt.
Alla spel som inte använder sig av mappers funkar inte alls (bomb?)

Perfekt? Jag har en Amiga.NES Rom... Men det är väll inte riktigt ett spel :P
Jag har spelat igenom Megaman3 på NESten, och det hade inga visuella fel. Har också klarat Zelda2 (NÄSTAN :P), inga fel där heller.
Så jag antar att att dom flesta spel körs med mycket få eller inga alls
fel.

SEN> För en prestanda-jämförelse. Hur snabbt går det på lägsta möjliga systemkrav och hur är snabbheten i jämförelse med andra NES emulatorer?

TNSe> Jag har hört att NESten fungerar på en gammal K5-133.
Men nästan all prestanda kommer från Grafikkortet (70%). Speciellt i utsträckt skärmläge.

Förhoppningsvis tillåter Fullskärms möjligheten människor med p133s att andvända NESten.

Jag kan inte jämföra NESten med andra NES emulatorer. För att det skiljer sig på hårdvara till hårdvara.

SEN> Kommer du någonsin släppa källkoden fri?

TNSe>Igen, säger jag ja kommer en massa folk börja fråga om när o.s.v.

SEN> Vad fick dig in i "Emulator scenen"?

TNSe> Jag försökte aldrig att komma in i scenen, jag gjorde emulatorn bara för att lära mig hur NESen fungerade. När jag hängde i en speciell kanal, lärde jag känna en hel del trevliga personer. Så..jag stannade. hehehe

SEN> Vad är dina framtida planer för NESten, vad behöver implementeras och vad saknas?

TNSe> Det verkar som folk skriker efter att NESten ska spara konfigurationen. hehe. NESten saknar också saker som 2 spelar support etc. Jag behöver verkligen skriva om Direct Input och Direct Sound delarna (dom funkar, men koden ser förskräcklig ut :P).

SEN> Jag tackar dig för att du lät mig intervjua dig och jag önskar dig all lycka med NESten och andra projekt :). Tack så mycket.


TNSe intervjuades av Butz natten mellan 6-7 januari, 2000 :)

http://sen.zophar.net