It is currently Sat Dec 15, 2018 11:26 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 44 posts ]  Go to page 1, 2, 3  Next
Author Message
PostPosted: Wed Apr 15, 2009 11:24 am 
Offline
User avatar

Joined: Wed Nov 10, 2004 6:47 pm
Posts: 1849
I wrote this because "how do I use NMI properly" and related seem to be a common question here. And I was bored and needed a break from my other project.

Enjoy:

http://dischmeister.googlepages.com/nesdrawing.html


Top
 Profile  
 
 Post subject:
PostPosted: Wed Apr 15, 2009 12:12 pm 
Offline
User avatar

Joined: Sun Jun 05, 2005 2:04 pm
Posts: 2150
Location: Minneapolis, Minnesota, United States
Hey, this is pretty good! I'm glad to see that someone took the time to sit down and explain all this. Good work :) .


Top
 Profile  
 
 Post subject:
PostPosted: Wed Apr 15, 2009 12:22 pm 
Offline

Joined: Tue Mar 03, 2009 3:56 pm
Posts: 316
thanks a lot :) that was a great very indepth review of all the stuff we should know

the only thing i can think of to improve it would be to give examples of buffer loading routines, but i'm sure there's plenty of those about :)


Top
 Profile  
 
 Post subject:
PostPosted: Wed Apr 15, 2009 12:36 pm 
Online
User avatar

Joined: Fri Nov 12, 2004 2:49 pm
Posts: 7604
Location: Chexbres, VD, Switzerland
It's really a very great doccument, it was about time that someone took the effort of explaining all of that clearly. It's really perfect, even I learned something from it.

Oh and when you take the example of the frame being one hour, it'd make it even more sense if you make it being one day. The NMI is your alarm clock, and VBlank is your breakfast time. You have to not make it too long because you have to go to work (that is the work you have to do for the game engine on one frame). When finished, you go back home and sleep until next frame. Also this could explain slowdowns : If you have so much work to do that you haven't finished on morning, your alarm clock would still ring, and you should still take a breakfast, and after that you will return to your work (not begin another). When done you'd be so tired that you'd go immediately to bed (even if it's not night yet) and wait until next morning. Eventually, it can explain what happens when you read $2002, it just acknownledges the alarm clock. If you are constantly fetching it all the night you may not occasionally hear when it rings.
That makes sense in my opinion, but it's free of you to use it or not if you are making another version (the 1 frame = 1 hour example is good enough anyway).

This doc should be uploaded on romhacking.net (if it's not already done).

_________________
Life is complex: it has both real and imaginary components.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Apr 15, 2009 2:19 pm 
Offline
User avatar

Joined: Fri Apr 03, 2009 10:55 pm
Posts: 47
Nice doc. Still reading through it, but keep getting interrupted at work. doh!


Top
 Profile  
 
 Post subject:
PostPosted: Wed Apr 15, 2009 4:02 pm 
Offline
User avatar

Joined: Wed Nov 10, 2004 6:47 pm
Posts: 1849
I actually had a lot of fun with this, and already have ideas for some other topics. I'm thinking of doing a doc series in the same vein as the C++ FAQ LITE, but for nesdev. You can sort of tell I even drifted into that style midway through the doc (the topics start turning into questions)

Anyway glad you guys liked it. I'll probably redraft this and organize it better. This actually started as a .txt document and then I quickly converted to html (which is why there's some oddities -- like **emphasis** instead of emphasis)


Top
 Profile  
 
PostPosted: Wed Apr 15, 2009 6:33 pm 
Offline
User avatar

Joined: Thu Jan 19, 2006 5:08 pm
Posts: 753
Location: Shelton, Washington.
Please fix the ''6502 Code'' stuff in that document, it's a tiny mess!

other than that, it's a nice document


Top
 Profile  
 
 Post subject:
PostPosted: Wed Apr 15, 2009 7:52 pm 
Offline
User avatar

Joined: Tue Jun 24, 2008 8:38 pm
Posts: 2129
Location: Fukuoka, Japan
This good be a nice candidate for the getting started section of the new wiki (if it ever sees the light of day).

Would it be an issue to post the content on it once it become available?


Top
 Profile  
 
 Post subject:
PostPosted: Wed Apr 15, 2009 8:08 pm 
Offline
User avatar

Joined: Wed Nov 10, 2004 6:47 pm
Posts: 1849
Wouldn't be an issue at all. I'm actually reformatting, reorganizing, and touching it up now. Will be a lot nicer, but will take me a while.

Anyway, yeah, go ahead and use that however you want.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Apr 15, 2009 8:26 pm 
Offline
User avatar

Joined: Tue Jun 24, 2008 8:38 pm
Posts: 2129
Location: Fukuoka, Japan
Disch wrote:
Wouldn't be an issue at all. I'm actually reformatting, reorganizing, and touching it up now. Will be a lot nicer, but will take me a while.

Anyway, yeah, go ahead and use that however you want.


Great then. I will be more than happy to mention the source since I think that even thought were fighting right now for the license for the content, mentioning who made it doesn't hurt (my stance on the matter). I think it's important to at least mention the people that did the effort to offer such nice content in the first place.

I'm reading it at the moment while working, eh, I mean "while taking my break at work" (Of course boss! I'm studying some "new" design pattern :P) and I like it. I like the example of data structure for the buffer (even thought we don't have to use them like you mentioned) since as a new programmer for the platform, you don't know yet how to do things unless you see those sample and try it for yourself after or have experience for a similar platform/way of programming. This make me things differently on how to do things and I like it. I never saw a "how to" like that for the nes before and this is great news.

Good work!


Top
 Profile  
 
 Post subject:
PostPosted: Wed Apr 15, 2009 9:24 pm 
Offline
User avatar

Joined: Tue Feb 13, 2007 9:02 pm
Posts: 147
Location: Richmond, VA
Thanks, Disch. This is great for the slow learners like me.


Top
 Profile  
 
 Post subject:
PostPosted: Thu Apr 16, 2009 12:27 am 
Offline
User avatar

Joined: Tue Aug 19, 2008 11:01 pm
Posts: 186
Location: Japan
awesome document! Thanks a lot Disch.

_________________
MetalSlime runs away.


Top
 Profile  
 
 Post subject:
PostPosted: Thu Apr 16, 2009 7:52 am 
Offline
User avatar

Joined: Wed Nov 10, 2004 6:47 pm
Posts: 1849
http://nesdevhandbook.googlepages.com/index.html

It's a start! We'll see how much I can actually get done before getting bored and moving on. XD


Top
 Profile  
 
 Post subject:
PostPosted: Thu Apr 16, 2009 8:41 am 
Online
User avatar

Joined: Fri Nov 12, 2004 2:49 pm
Posts: 7604
Location: Chexbres, VD, Switzerland
Great ! What are the handbook's chapters to come ?

I guess what I wrote about raster effects could be a chapter (html version with demoes).

Other chapters should incude about hardware, PPU fetches, cart types, etc... Probably basic algorithm about how to make a game, collision detection, how to encode maps, basic compression suff.

_________________
Life is complex: it has both real and imaginary components.


Top
 Profile  
 
 Post subject:
PostPosted: Thu Apr 16, 2009 11:20 am 
Offline
User avatar

Joined: Wed Nov 10, 2004 6:47 pm
Posts: 1849
Yeah I was thinking about stuff like that. OAM cycling, compression are things I was already thinking about. I like the idea of touching on collision detection too.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 44 posts ]  Go to page 1, 2, 3  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group