Skip navigation
NintendoAge
Welcome, Guest! Please Login or Join
Loading...

NES Programming Organized - Nerdy Nights

Sep 6, 2008 at 9:12:35 AM
arch_8ngel (68)
avatar
(Nathan ?) < Mario >
Posts: 35263 - Joined: 06/12/2007
Virginia
Profile
You would be surprised what can be done with Python. And then you're kind of learning Pearl, which is useful commercially.

I dont know where you got the notion that you couldn't get what you need for programming for free. I guess you don't realize that all those Linux weenies are programmers in real life and don't pay for ANYTHING. You can get free programming environments for the PC for any language, as well. It's all about using the Google

All of the modern languages tend towards object oriented code. That is the present/future of programming and is what will actually benefit you in the long run. Learning code for an obsolete microprocessor is a great hobby, but from a personal development standpoint, you're better served to learn the state of the art.

Oh, by the way, HTML is not much of a programming language. 99% of what you've probably done with it is just formatting stuff, and it works just like LaTeX.

-------------------------
 

Sep 6, 2008 at 4:22:45 PM
Buk Fitty (0)
This user has been banned -- click for more information.
(Aaron Private) < Meka Chicken >
Posts: 776 - Joined: 07/11/2008
United States
Profile
Yeah, I don`t think it is, Just used to display stuff. Javascript is more of a Programming language, but not much of one.

6809`s are actually used in some Machines still today, It`s still very popular considering it`s 25+ years old.

OOC is what I want to do at bungie IF I make it there......

Sep 7, 2008 at 2:15:04 AM
Kizul Emeraldfire (0)
avatar
(Kizul Emeraldfire) < Tourian Tourist >
Posts: 42 - Joined: 06/30/2008
United States
Profile
Originally posted by: arch_8ngel

You would be surprised what can be done with Python. And then you're kind of learning Pearl, which is useful commercially.

I dont know where you got the notion that you couldn't get what you need for programming for free. I guess you don't realize that all those Linux weenies are programmers in real life and don't pay for ANYTHING. You can get free programming environments for the PC for any language, as well. It's all about using the Google

All of the modern languages tend towards object oriented code. That is the present/future of programming and is what will actually benefit you in the long run. Learning code for an obsolete microprocessor is a great hobby, but from a personal development standpoint, you're better served to learn the state of the art.

Oh, by the way, HTML is not much of a programming language. 99% of what you've probably done with it is just formatting stuff, and it works just like LaTeX.

It's not a programming language at ALL! \o.o/ It's HyperText Mark-up Language, or HTML for short.

-------------------------
 

Sep 7, 2008 at 2:28:39 AM
projectingstars (95)
avatar
(S. K.) < King Solomon >
Posts: 4722 - Joined: 09/26/2007
Washington
Profile
Buk Fitty: just so you know the apostraphe on a keyboard is one button to the left of the Enter button, not to the left of the Number 1 button.

For instance, it would be correct to type "don't" instead of "don`t". Also, you don't always have to write "XD" or leave a huge trail of "................." at the end of every sentence you type.

-------------------------
"Absurdity is what I like most in life, and there's humor in struggling in ignorance. If you saw a man repeatedly running into a wall until he was a bloody pulp, after a while it would make you laugh because it becomes absurd".

-David Lynch

Sep 9, 2008 at 6:41:36 PM
Buk Fitty (0)
This user has been banned -- click for more information.
(Aaron Private) < Meka Chicken >
Posts: 776 - Joined: 07/11/2008
United States
Profile
It's supposed to be a pause. Whoops. I REALLY didn't know that. I thought they were the same Lol....

Nov 8, 2008 at 5:55:54 PM
i2a2n2 (39)
avatar
(Ian B.) < Kraid Killer >
Posts: 2321 - Joined: 11/01/2008
Ontario
Profile
I'm wondering if their is any way of saving those lesson as a pdf with the Q&A in the threads? I'm not the most experienced with creating pdf's, so if anyone could do that or explain how one would do that I would be very thankful.

(the main reason why I want to do this is so that I can read it offline I'm stuck on 56k with 1 phone line so it can be a little difficult starting and stopping when the phone needs to be used.)

thanks again

-------------------------

My NWC High Score 661 950  Jan 19th 2010

---------Wanted: SNES PROTOTYPES !!! PM Me-----------


Nov 13, 2008 at 2:47:43 AM
mmcg (0)

(Michael McGrorty) < Cherub >
Posts: 1 - Joined: 11/11/2008
United Kingdom
Profile
Copy it all into a word document, then print it as a PDF?

Nov 14, 2008 at 4:57:53 PM
Herbalist (139)
avatar
(Bill Brasky) < King Solomon >
Posts: 4208 - Joined: 08/19/2008
Wisconsin
Profile
Originally posted by: i2a2n2

I'm wondering if their is any way of saving those lesson as a pdf with the Q&A in the threads? I'm not the most experienced with creating pdf's, so if anyone could do that or explain how one would do that I would be very thankful.

(the main reason why I want to do this is so that I can read it offline I'm stuck on 56k with 1 phone line so it can be a little difficult starting and stopping when the phone needs to be used.)

thanks again

Why not just right-click and 'save-as' the html file?


-------------------------


Jan 9, 2009 at 7:47:22 PM
MODERATOR
jonebone (554)
avatar
(Collector Extraordinaire) < Luigi >
Posts: 26633 - Joined: 11/20/2008
Maryland
Profile
Wow I read this thread expecting 33 posts of knowledge and wound up just laughing at the back and forth banter

I respect everyone who programs NES because assembly language is no joke. I haven't touched this stuff since my junior year in college but I do remember hating it with a passion.

-------------------------
WTB CIB MINT Games: NES - SNES - N64 - Sega Genesis - Turbografx 16
Last Beat: West of Loathing (Switch)
Now Playing: Overcooked 2 (Switch) / Spider-Man (PS4)
My eBay 10% off on NintendoAge! 
https://www.ebay.com/sch/jonebone...=

Jan 9, 2009 at 9:06:52 PM
bunnyboy (81)
avatar
(Funktastic B) < Master Higgins >
Posts: 7704 - Joined: 02/28/2007
California
Profile
Depends which ASM you did tho. MIPS/ARM/PowerPC is clean and nice, 6502/Z80 isn't bad, x86 is horrendous. Some people just can't work at the lower level just like I can't work at the OO level.

Jan 10, 2009 at 8:15:40 PM
i2a2n2 (39)
avatar
(Ian B.) < Kraid Killer >
Posts: 2321 - Joined: 11/01/2008
Ontario
Profile
then theirs me after trying to read up on this for about 2 weeks after I made my last post in this thread I just gave up Program just isn't my thing, Now if you aswked me to build you a walk around deck around your house with railings and steps, or a garage, shingle a roof, etc etc no problem.

-------------------------

My NWC High Score 661 950  Jan 19th 2010

---------Wanted: SNES PROTOTYPES !!! PM Me-----------


Apr 1, 2009 at 9:46:31 AM
PDF Format (0)

(David Dineen-Porter) < Cherub >
Posts: 1 - Joined: 04/01/2009
Ontario
Profile
Why do the tutorials never include audio.    They always end with silent games...

stop the silence!  I beg you, teach us audio!



May 5, 2009 at 1:10:00 PM
Cthulhu32 (0)
avatar
(Luke Arntson) < Tourian Tourist >
Posts: 47 - Joined: 06/24/2008
Colorado
Profile
I am sure Bunnyboy will hit sound eventually. But in the mean time, there's a couple of good resources for getting the basics. Gbaguy and Tepples both wrote a couple of good articles on how to code proper sound.

http://patater.com/gbaguy/day14n....
http://www.pineight.com/nes/... - DPCM audio on the Delta Modulation Channel

Also there are quite a few tech docs out there, including these:
http://nesdev.parodius.com/apu_re...

If you can get through all of that source and the articles, you should be able to make a quick and dirty NES music player with DPCM support

-------------------------
 

Jun 24, 2009 at 3:12:05 PM
KennyB (14)
avatar
(No Go ogle result) < Eggplant Wizard >
Posts: 466 - Joined: 09/06/2006
Belgium
Profile
Bunnyboy, would you (or someone else if they want to) write out "lesson 8: Drawing graphics, more Pong" (as mentioned in lesson 7) ?



-------------------------
 


Edited: 06/24/2009 at 03:12 PM by KennyB

Jul 19, 2009 at 12:04:28 PM
KHAN Games (89)
avatar
(Kevin Hanley) < Master Higgins >
Posts: 8123 - Joined: 06/21/2007
Florida
Profile
What do you need to know? What program to use to draw the graphics and how to incorporate them into the game?

-------------------------

gauauu: look, we all paid $10K at some point in our lives for the privilege of hanging out with Kevin


Aug 23, 2009 at 2:18:26 PM
KennyB (14)
avatar
(No Go ogle result) < Eggplant Wizard >
Posts: 466 - Joined: 09/06/2006
Belgium
Profile
Originally posted by: mewithoutYou52

What do you need to know? What program to use to draw the graphics and how to incorporate them into the game?


Didn't notice you responded to my post  

But I found out how to make and implement them. But thx anyway


-------------------------
 

Oct 17, 2009 at 4:39:53 PM
udisi (88)
avatar
< King Solomon >
Posts: 3270 - Joined: 11/15/2006
United States
Profile
Bump. can someone re-sticky this?

Oct 17, 2009 at 4:49:54 PM
NewUser123456789 (226)

(New User) < Bonk >
Posts: 17574 - Joined: 07/02/2007
Other
Profile
Stickied... Sorry for the delay.. I had to figure out how to sticky something..

Oct 25, 2009 at 1:22:58 AM
Bella (104)
avatar
(Bellatrix Lestrange) < Ridley Wrangler >
Posts: 2540 - Joined: 04/03/2009
Alabama
Profile
OK here is my question.... at the end LOL

I remember BASIC which is probably NOT related to NES programing...

Is there an exact syntax and exact comands for programing an nes game? I ask becaude I am so used to that type of programing. or is it I have to try and comprehend this from scratch. I'm used to coming up with a concept and using an old legal pad to "write" what I want then spending time to type it in, hit RUN, then debuging as I ran the program.

Or am I so off base it aint funny?

-------------------------

I have bigger balls than any man out there... They just sit two feet higher!



 


Oct 25, 2009 at 1:40:39 AM
Zzap (47)
avatar
(James ) < King Solomon >
Posts: 3301 - Joined: 05/01/2007
Australia
Profile
Unfortunately there isn't a higher level language like BASIC for programming for the NES (well technically there is one, but it's not very good), so what you end up with is a programming language that takes a few more steps to do what you are used to in BASIC. If you have a look through the Nerdy Nights tutorials, you'll see that most of the commands in the assembly language used with the NES are to do with moving values around in memory, doing some kind of calculations with them, then moving them somewhere else. Then, based on what's in memory, jump around your program to do some other memory movements, then start again. Now different areas of memory are actually things like the controller, the video memory, the sound memory etc, but at its most basic level in the programming language, you are still reading and writing to different areas of memory to get the NES to do stuff.

A list of all the instructions that are possible with the NES's 6502 CPU are available here, but of course without reading the tutorials they may fly over your head

http://www.obelisk.demon.co.uk/65...

Best to get a feeling for how some of it works, and then download the example at the end of Week 3 or Week 4 and play around with that as a starter to see how changing certain parts affects how it works.

-------------------------

Chunkout for iPhone, iPad and iTouch out now!
Chunkout Games: FaceBook | Web

Oct 25, 2009 at 1:53:37 AM
Bella (104)
avatar
(Bellatrix Lestrange) < Ridley Wrangler >
Posts: 2540 - Joined: 04/03/2009
Alabama
Profile
Zapp,

The bad part is I have tried to go through the NNT weeks 1-4 over and over. I am lost at hex LOL (not really) but after weel 1 im helpless... I guess I will have to take more time to research what im lost on.

But lets see if im getting you right...

the code is stored in different locations and the "program" says to look in this location for what to do at this time? In other words there are a shitload of IFTHEN variables.

I know BB has broken it down to the most basic levels but is there a place I can research even more dumbed down levels for this?

-------------------------

I have bigger balls than any man out there... They just sit two feet higher!



 


Oct 25, 2009 at 4:17:08 AM
Zzap (47)
avatar
(James ) < King Solomon >
Posts: 3301 - Joined: 05/01/2007
Australia
Profile
Hmmmm, I guess since you're very familiar to BASIC, I'll write a similar routine in both, this takes the value 16, stores it in a variable and keeps adding 10 to it until it's greater than or equal to 100:

BASIC

10 DIM MYVARIABLE
20 MYVARIABLE = 16
30 MYVARIABLE = MYVARIABLE + 10
40 IF MYVARIABLE < 100 THEN GOTO 30

ASM

MYVARIABLE:  .DS 1
  LDA #$10    ; which is 16 in hexadecimal
  STA MYVARIABLE
loop:
  CLC
  ADC #$0A   ; which is 10 in hexadecimal
  CMP #$64    ; which is 100 in hecadecimal
  BCC loop
  STA MYVARIABLE


There's some subtleties to do with exactly where in the NES memory you can declare that variable, but essentially those two routines do the same thing.

Sorry, I'm not sure where else to point you, but asking questions here, on the nesdev forums, or in the chats should get you started

-------------------------

Chunkout for iPhone, iPad and iTouch out now!
Chunkout Games: FaceBook | Web


Edited: 10/25/2009 at 04:23 AM by Zzap

Oct 25, 2009 at 1:05:13 PM
Bella (104)
avatar
(Bellatrix Lestrange) < Ridley Wrangler >
Posts: 2540 - Joined: 04/03/2009
Alabama
Profile
Thanks!! That is ecactly what I needed to wrap my head around this!!

-------------------------

I have bigger balls than any man out there... They just sit two feet higher!



 


Nov 5, 2009 at 5:13:37 AM
Robe24 (32)
avatar
(Antonio V. G.) < Eggplant Wizard >
Posts: 340 - Joined: 03/04/2008
Spain
Profile
Awesome, I want to follow all this tutorials, and I'll try to translate them to Spanish also.

Thanks for this awesome job !!

-------------------------


Jan 4, 2010 at 1:01:33 AM
RevEng (0)

(James Cooper) < Cherub >
Posts: 3 - Joined: 01/03/2010
Saskatchewan
Profile
bunnyboy, thank you for all the wonderful tutorials. I've seen many tutorials online, but most of them only cover the basics of what (the instruction set, I/O ports, and data structures) without the how and why (how you would actually use that to make a game and why you should use certain methods over others). Much of what's out there is out of date or missing entirely, but these posts are relatively new and mostly complete. They are also wonderfully clear and well described. It's a great place to start.

I have to ask, do you have any other tutorials available or resources to work with? There are two things in particular that I'm looking for:
1. An easy way to produce music. I've played with FamiTracker, but I haven't found an obvious way to use the resulting sounds in my game.
2. A tile editor. I've seen many of them, but I have no idea which ones are up-to-date and how useful they are.

Also, do you have information on some of the more difficult subjects, like scrolling and hit detection? These are subjects that seem to be covered poorly elsewhere.

Lastly, I'd love to see a tutorial like your sound tutorial, but focusing on building a world for something like a platformer. What's a good way to describe the world and load it as you scroll through? How would you use this description to keep track of whether the character is standing on solid ground or running into walls? I have some ideas for this, but I haven't seen anything anywhere that tackles this issue.

Thanks again for the great tutorials. I hope to produce a few little gems in the coming months (nothing as impressive as Battle Kid, but hopefully interesting enough to add to the existing homebrew scene).

-------------------------
Programmer and Electrical Engineer.  Familiar with several assembly languages.  Starting to learn the NES for game development.  First major planned project: making a version of the SNES game Zoop! for the NES.  But first, baby steps.