NES programming

Talk about anything else you want

Moderator: BigEvilCorporation

evildragon
Very interested
Posts: 326
Joined: Mon Mar 12, 2007 1:53 am
Contact:

Post by evildragon » Thu Apr 26, 2007 4:53 pm

Shiru wrote:
evildragon wrote: it's a little harder to program.. the main dificulty, is the lacking of scrolling diagonaly.. you have to work around that, like how Mario 3 did...
It's nothing that many games uses 'lacking' diagonal scroll?;)
the NES itself can't do much scrolling capabilities.. anything else needs to be tricked, and aided by software...

here's some good reading on NES development: http://nesdev.parodius.com/

evildragon
Very interested
Posts: 326
Joined: Mon Mar 12, 2007 1:53 am
Contact:

Post by evildragon » Thu Apr 26, 2007 7:59 pm

UPDATE: I changed the color pallete, to something a little better (for the grass especially)...

Also, I added a small physics engine, and tails does follow sonic now..

Average Framerate: 15 (i think)...

NintenCan't.. ;) Must be that "blast processing" the NES don't have, LOL (yea, i know BP is fake)

I'll have a video capture of it running later today...

evildragon
Very interested
Posts: 326
Joined: Mon Mar 12, 2007 1:53 am
Contact:

Post by evildragon » Thu Apr 26, 2007 10:43 pm

Here's the video as promised..

BT-878 based capture card, H.264 encoded, Composite connection..

http://blackevilweredragon.spymac.com/SonicNES.mov

You may notice some tiles are missing.. Some were cut to reduce performance... Also, this is the correct framerate.. The video is a solid 30fps stream, but as you see, NintenCan't...

evildragon
Very interested
Posts: 326
Joined: Mon Mar 12, 2007 1:53 am
Contact:

Post by evildragon » Fri Apr 27, 2007 9:57 am

Ok, got a bit of the special stage done (it completes, but locks up, I haven't finished the Emerald Result routine yet)..

http://blackevilweredragon.spymac.com/S ... pecial.jpg

I am getting only 4 fps with this... I just don't think the NES can handle the load...

TmEE co.(TM)
Very interested
Posts: 2440
Joined: Tue Dec 05, 2006 1:37 pm
Location: Estonia, Rapla City
Contact:

Post by TmEE co.(TM) » Fri Apr 27, 2007 10:23 am

Everything is possible, I started with 16KHz sample player, and thought it's the limit, and now I've written 64KHz player, I guess you could get it better...
Mida sa loed ? Nagunii aru ei saa ;)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen

evildragon
Very interested
Posts: 326
Joined: Mon Mar 12, 2007 1:53 am
Contact:

Post by evildragon » Fri Apr 27, 2007 11:30 am

TmEE co.(TM) wrote:Everything is possible, I started with 16KHz sample player, and thought it's the limit, and now I've written 64KHz player, I guess you could get it better...
heh, this is one of my mottos, that i use when programming: "What can't be done in hardware, can in software."

TmEE co.(TM)
Very interested
Posts: 2440
Joined: Tue Dec 05, 2006 1:37 pm
Location: Estonia, Rapla City
Contact:

Post by TmEE co.(TM) » Fri Apr 27, 2007 1:31 pm

Exactly !!! Still it's real nice when HW does some job for you, but if it can't, software can !!!
Mida sa loed ? Nagunii aru ei saa ;)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen

evildragon
Very interested
Posts: 326
Joined: Mon Mar 12, 2007 1:53 am
Contact:

Post by evildragon » Fri Apr 27, 2007 2:41 pm

TmEE co.(TM) wrote:Exactly !!! Still it's real nice when HW does some job for you, but if it can't, software can !!!
yep!

oh, and here's an update.. I got more stuff, TV screenshots, and one speed-run video, AND a music clip... (which i used 2 squares, and one triangle...)

http://blackevilweredragon.spymac.com/Aquatic.jpg
http://blackevilweredragon.spymac.com/CasinoNight.jpg
http://blackevilweredragon.spymac.com/Metrop.jpg
http://blackevilweredragon.spymac.com/Mystic.jpg
http://blackevilweredragon.spymac.com/OilOcean.jpg

(Yes, I know there is a color palette problem.. Sonic turns different shades of blue, and the Score/Ring/Time yellow counter changes different shades of yellow too.. I believe this is my workaround from color limitations, taking the color out of other sprites and sharing the color with other un-related object)

http://blackevilweredragon.spymac.com/SpeedRun.mov

http://blackevilweredragon.spymac.com/SonicNES.mp3

http://blackevilweredragon.spymac.com/L ... pinner.mp3
http://blackevilweredragon.spymac.com/Die.mp3
http://blackevilweredragon.spymac.com/Spring.mp3
http://blackevilweredragon.spymac.com/Ring.mp3

TmEE co.(TM)
Very interested
Posts: 2440
Joined: Tue Dec 05, 2006 1:37 pm
Location: Estonia, Rapla City
Contact:

Post by TmEE co.(TM) » Fri Apr 27, 2007 5:49 pm

I can't wait until it is finished, it looks so great. I can't listen and see video until I go to school, dial-up at home...

Are you rewriting, porting or both ?
Mida sa loed ? Nagunii aru ei saa ;)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen

evildragon
Very interested
Posts: 326
Joined: Mon Mar 12, 2007 1:53 am
Contact:

Post by evildragon » Fri Apr 27, 2007 6:17 pm

TmEE co.(TM) wrote:I can't wait until it is finished, it looks so great. I can't listen and see video until I go to school, dial-up at home...

Are you rewriting, porting or both ?
both, pretty much..

Game Core Engine: Port
Game Audio Engine: Re-Writing
Game Graphics Engine: Re-Writing

The games core is the most important, it's what gives the game the "sonic" feel..

evildragon
Very interested
Posts: 326
Joined: Mon Mar 12, 2007 1:53 am
Contact:

Post by evildragon » Fri Apr 27, 2007 6:33 pm

Here's the thing thouh.. I'm writing it, and compiling it for my NES-DVD drive that I made...

My NES DVD drive provides both DVD playback and storage for the NES (in which it can play games that are written for it, from the drive..)

DVD video playback is provided by the drives ESS VideoDrive MPEG-2 decoder.. Video is overlayed onto NES video via an overlay circuit..

DVD storage is obtained via the same cartridge BIOS that the DVD player uses.. (you just select an item at power-on.. The drive is attached via the un-used connector on the bottom of the NES..

the DVD drive contains 2MB of RAM, and uses an NEC V30 processor (intel 8086 clone, but with 186 instructions, and Z80 emulation mode)... the drive does not enhance any sound or graphics.. though i may update the BIOS cart to support overlaying DVD video over the NES games (like Sega CD)... (it currently does support playing CD-Audio during game playback, which if it comes to it, SonicNES will play the OC Sonic remix.. THAT would be better than NES music...

if one enhancement was to be declared, it's the extra RAM.. the drive does add the 2MB of RAM to the NES.. 768K is reserved for the NEC V30 though, while the rest is for the NES, AND the V30... And so far, SonicNES is taking advantage of the extra RAM.. I couldn't even get Tails to be on the screen without the extra RAM..

TmEE co.(TM)
Very interested
Posts: 2440
Joined: Tue Dec 05, 2006 1:37 pm
Location: Estonia, Rapla City
Contact:

Post by TmEE co.(TM) » Sat Apr 28, 2007 5:23 pm

So it means, it won't work on NES on its own ?

Do you have any pictures of that DVD drive ?
Mida sa loed ? Nagunii aru ei saa ;)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen

evildragon
Very interested
Posts: 326
Joined: Mon Mar 12, 2007 1:53 am
Contact:

Post by evildragon » Sat Apr 28, 2007 9:18 pm

TmEE co.(TM) wrote:So it means, it won't work on NES on its own ?

Do you have any pictures of that DVD drive ?
im going to be getting pics of it, someone on another forum requested one too... i can't show the circuit board, as it's a private project, but i can show the drive sitting on the NES, and the connecting ribbon cable.. (and don't laugh, i used a cardboard box as the casing, until i can get some sheet metal)...

and no, the NES can't do this on it's own... i tried, i just run out of RAM..

haroldoop
Very interested
Posts: 160
Joined: Sun Apr 29, 2007 10:04 pm
Location: Belo Horizonte, MG, Brazil

Post by haroldoop » Sun Apr 29, 2007 10:14 pm

Very nice project! ;)
What kind of bankswitching did you use for the RAM?

evildragon
Very interested
Posts: 326
Joined: Mon Mar 12, 2007 1:53 am
Contact:

Post by evildragon » Mon Apr 30, 2007 1:23 am

haroldoop wrote:Very nice project! ;)
What kind of bankswitching did you use for the RAM?
it's a software based bank-switching, that goes through the V30 CPU in the DVD module...

Post Reply