How to draw sprite?

Discuss technical or other issues relating to programming the Nintendo Entertainment System, Famicom, or compatible systems. See the NESdev wiki for more information.

Moderator: Moderators

Post Reply
monobogdan
Posts: 24
Joined: Thu Mar 23, 2017 11:23 am

How to draw sprite?

Post by monobogdan »

Hello.
I'm learning NES programming. I use C as main language(cc65 compiler).
How to draw sprite on screen?
User avatar
dougeff
Posts: 3079
Joined: Fri May 08, 2015 7:17 pm

Re: How to draw sprite?

Post by dougeff »

Someone should really write a tutorial or blog about this. :wink:
nesdoug.com -- blog/tutorial on programming for the NES
User avatar
mikejmoffitt
Posts: 1353
Joined: Sun May 27, 2012 8:43 pm

Re: How to draw sprite?

Post by mikejmoffitt »

Write a few bytes to some RAM dedicated to being an OAM buffer ($200-$2FF often), and then start an OAM DMA by writing whatever you feel like to $4014 (OAMDMA).

OAM properties: https://wiki.nesdev.com/w/index.php/PPU_OAM

The register to begin a DMA: https://wiki.nesdev.com/w/index.php/PPU ... ers#OAMDMA

Doing it in C isn't particularly different, though I'm not positive what the most semantically correct way of ensuring your sprite buffer is page-aligned is using cc65.
monobogdan
Posts: 24
Joined: Thu Mar 23, 2017 11:23 am

Re: How to draw sprite?

Post by monobogdan »

mikejmoffitt wrote:Write a few bytes to some RAM dedicated to being an OAM buffer ($200-$2FF often), and then start an OAM DMA by writing whatever you feel like to $4014 (OAMDMA).

OAM properties: https://wiki.nesdev.com/w/index.php/PPU_OAM

The register to begin a DMA: https://wiki.nesdev.com/w/index.php/PPU ... ers#OAMDMA

Doing it in C isn't particularly different, though I'm not positive what the most semantically correct way of ensuring your sprite buffer is page-aligned is using cc65.
Any example?
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: How to draw sprite?

Post by tokumaru »

Some developers have released the source code for projects they've written in C. Look for Shiru's games, for example.
User avatar
dougeff
Posts: 3079
Joined: Fri May 08, 2015 7:17 pm

Re: How to draw sprite?

Post by dougeff »

Also, Mojon Twins program in C with Shiru's neslib. I believe they've released source code. (It might have comments in Spanish).

http://www.mojontwins.com/juegos_mojonos/
nesdoug.com -- blog/tutorial on programming for the NES
na_th_an
Posts: 558
Joined: Mon May 27, 2013 9:40 am

Re: How to draw sprite?

Post by na_th_an »

Nope, comments are in English. I keep development diaries, but they are in Spanish, sadly. They could be interesting.

Our nesdev compo entries @ github:

https://github.com/mojontwins/Wo-Xiang-Niao-Niao
https://github.com/mojontwins/Lala
https://github.com/mojontwins/GoddessR
monobogdan
Posts: 24
Joined: Thu Mar 23, 2017 11:23 am

Re: How to draw sprite?

Post by monobogdan »

I'm Russian, i can't understand Spain.
Thanks for links, i take look at neslib.
But what about normal docs?
User avatar
dougeff
Posts: 3079
Joined: Fri May 08, 2015 7:17 pm

Re: How to draw sprite?

Post by dougeff »

Shiru is Russian. He sometimes answers questions on the NintendoAge forum.

His website, btw https://shiru.untergrund.net

Many of his source codes are posted there also.
And, look for a download on this page https://shiru.untergrund.net/articles/p ... s_in_c.htm
...called "these small example programs"
nesdoug.com -- blog/tutorial on programming for the NES
na_th_an
Posts: 558
Joined: Mon May 27, 2013 9:40 am

Re: How to draw sprite?

Post by na_th_an »

What dougeff has linked is what got me started. I wrote my first game with the info contained in Shiru's article and an early incarnation of neslib, and this site's wiki for HW reference.
monobogdan
Posts: 24
Joined: Thu Mar 23, 2017 11:23 am

Re: How to draw sprite?

Post by monobogdan »

I send private message to shiru in VK.
Thanks :)
Post Reply