Beginning the long road to NES programming!

Are you new to 6502, NES, or even programming in general? Post any of your questions here. Remember - the only dumb question is the question that remains unasked.

Moderator: Moderators

User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru »

Orsi wrote:I don't have my NES where I'm at now to test anything on, so I won't know for sure if my code is right or wrong.
A lot of people here can test it for you, just ask.
How much difference is there between writing something that works on an NES emulator and not an actual NES? Would it only be minor coding issues here and there, or something a lot more fatal in the structure of the coding itself?
It depends. Sometimes it's just something simple you forgot to initialize, sometimes it's the hardware being sensitive about some important thing you do often... When the issue is timing-related it might be harder to fix, for example, depending on how your code is structured.
User avatar
MottZilla
Posts: 2835
Joined: Wed Dec 06, 2006 8:18 pm

Post by MottZilla »

Gradualore wrote: @Motzilla: What's wrong with the famitracker driver? I'm using it in my game engine. I was able to jack in a crude sound effect system around it and it doesn't seem to be getting in the way of the rest of the game engine. Then again the requirements for my first game are rather constrained;I imagine if I went for something more extreme I may have to write my own sound engine. I'm hoping to save that for a future project, though.
Famitracker doesn't officially support sound effects. While you may have figured out a way to implement them, no one has shared such a thing as far as I know. I haven't looked into doing such a thing myself and have it low on my priorities as I'd rather spend time on making a game than just making a sound engine work.
User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru »

MottZilla wrote:Famitracker doesn't officially support sound effects.
It's also very CPU intensive, isn't it?
User avatar
Dwedit
Posts: 4470
Joined: Fri Nov 19, 2004 7:35 pm
Contact:

Post by Dwedit »

It is intensive, especially when a track loops. You can see it take up 40 scanlines every time your track loops.
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!
User avatar
NES virus
Posts: 15
Joined: Wed Jun 01, 2005 8:42 am
Location: Brazil

Re: Beginning the long road to NES programming!

Post by NES virus »

Hi! Welcome to this forum! People here are all kind and surely you'll find lots of help in your projects!

I feel exactly like you. I'm very interested in learn about NES programming, and have a project for a game in my mind, but I really don't know if I can. I have no knowledge in programming, and don't have enough time to spend on the amazing tutos here. I hope to learn it in homeophatic levels, but I know it'll take time...
Orsi wrote: Well to wrap it up now, I've been absolutely seduced by the prospect of writing little NES games for myself. For the past week I've been devouring any tutorial I can get my hands on to learn how to understand 6502, Assembly, the NES architecture, the PPU and iNES headers. The real motivation though is knowing that making a NES game is actually possible. When I see Pong, or Tetris, or even Super Mario Bros I think, "man, with a little time and energy, I could probably make a game that looks and plays just as good." No more over-inflated expectations about making the 'perfect' game with crazy graphics, beautiful orchestrated soundtrack, complicated plot and intricate skill systems. Sometimes the simplest games are the funnest to play.
That's my goal too. I started a thread right below, in order for people to indicate the best way of learning the think from scratch.

Good luck for us! :)
User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru »

Dwedit wrote:You can see it take up 40 scanlines every time your track loops.
That can be a lot depending on the type of game you're making. It's probably not a big deal for a game where the action happens in a single screen at once and a controlled number game objects is active, but will be a performance killer in games that have to move a camera around and decode rows and columns from the level map for scrolling and lots of active objects.
User avatar
Banshaku
Posts: 2404
Joined: Tue Jun 24, 2008 8:38 pm
Location: Japan
Contact:

Post by Banshaku »

tokumaru wrote:
Dwedit wrote:You can see it take up 40 scanlines every time your track loops.
That can be a lot depending on the type of game you're making. It's probably not a big deal for a game where the action happens in a single screen at once and a controlled number game objects is active, but will be a performance killer in games that have to move a camera around and decode rows and columns from the level map for scrolling and lots of active objects.
Concrete man song uses many effects of the engine so once I can put some entity on the screen, that should give us a good example on how well the driver behave. This is one of the other motive for the MM9 proof of concept, stress test the driver. Maybe I should try to program a few sound fx and entities even thought I won't be able to finish the real code for a while.

When using a solution, there could be compromises. How many of the project(s) shown would be compromised by that 40 scanline issue? For now, I don't see many or any would be the word. I'm sure there is always a way around those issues like setting a flag when this issue happen and delay the frame to the next time you can push the data. You just need to be creative, that's all. I'm sure many "professional" (...) programmers during that era had to use a lot of creative hack to reach their goal.

edit:

Of course, Tokumaru 3D engine example... It would be hard to pull it off in that case :) I don't think it would work.
Post Reply