NES Screen Tool BMP Import
The latest version of NES Screen Tool has improved BMP import features. I’m going to give them a try. The BMP must be a color indexed, 16 color, or 256 color. I think 16 color works better. I found...
View ArticleImport Full Background as RLE
Continuing with the neslib examples, I will import a full background (with rendering off) from a RLE compressed nametable. Last time, I successfully imported a BMP into NES Screen Tool (the newest...
View ArticleUpdate Aug 2017 / CFG files
I made some minor code changes to lesson21, lesson22, and lesson23, to fix potential bugs. Specifically added LDX#0 in the NMI code and on rand8(). Also, touched up the face on lesson23. And, I made...
View ArticleSprites, Again
Ok, with neslib, you will be loading the OAM (sprite) buffer. It will automatically send them to the PPU during v-blank. The only thing you need to do, is keep track of the index into the OAM buffer....
View ArticleSprite Collision, and Controllers
OK, I kind of copied the idea from Shiru’s example code. Controller 1 controls the yellow sprite. Controller 2 controls the blue sprite. The background color changes when a collision is detected....
View ArticleSprite BG Collision, Pong
So, I wrote the simplest game possible. Pong with walls. The ball bounces off the walls (and the paddles) The first thing I did was make everything in NES Screen Tool. Saved the CHR, saved the BG as a...
View ArticleAdd Music, Famitracker
I wrote some (terrible) songs and sound effects in Famitracker. So, first the songs. Put all songs in the same Famitracker file (adding songs in the module properties). I wrote another page on the...
View ArticleScrolling
By request, I made a scrolling game engine, with BG collisions. I was supposed to use neslib, but I made so many changes, and basically did 90% of the meat in ASM, that it’s not really a lesson in C....
View ArticleHow to make a coloring book page from any image.
Using GIMP. Open the image. Color / Desaturate Filters / Edge-Detect / Edge… I just used whatever was standard settings = Sobel, 2.0, Smear. Color / Invert Color / Curves Put a dot near the middle and...
View ArticleNES Podcast
Just a shout out to KHAN Games (Kevin Hanley, @atonofglaciers ) and Sole Goose Productions (Beau, @SoleGoose ) for their recent and ongoing Podcasts. The Assembly Line discusses all aspects of NES...
View ArticleVigilante Ninja 2, Post-Mortem
Hello. It’s been a while since I finished my big NES game. While it took me 2 years to complete, it could have been done in 1 year, if I focused on it 100% of the time. The game is still available...
View ArticleA List of NES Homebrew Games
As a NES homebrewer, I have been lucky enough to meet some great people, and play lots of interesting games. The past few years have been huge in the NES homebrew community, and I feel like next year...
View Articlefamitone 3.2 / annotatecc65
Hey everybody. In 2016, I wrote a version of famitone music library that allowed the volume column and all notes. Recently, I fixed the major bug that it had in processing more than 1 song. text2vol...
View ArticleJammin Honey
Here’s my entry to the nesdev 2017 game competition. Jammin Honey. You play as Honey, and have to battle your way through 30 levels of slime monsters and fire breathing bullies and spiked floors....
View ArticlePPU writes during rendering.
I’m going to do some experiments today. Writing to the PPU during rendering. Normally, you never want to do this. The NES was designed so that you write to the PPU during v-blank or when rendering is...
View ArticleNES Graphics
This is not a “best graphics on the NES” list. Just some games that I think are very good. I was going to point out some of the weaker artwork, but that seemed a little hypocritical, since I have a...
View ArticleBackup / PDF archive
Since I plan to make major changes to this tutorial, I thought it would be appropriate to make an archive of the old version. Also, you can view this stuff offline (lots of PDF files). (still a work in...
View ArticleUpdate, bug fix
There was a minor bug in the neslib example code that I used for 8 different files. In crt0.s in the reset (startup) code, it failed to turn off the APU frame counter IRQ. This won’t cause a problem if...
View Article15. Music
I wrote a page a while back about the NES Audio. https://nesdoug.com/2015/12/02/14-intro-to-sound/ But, mostly you shouldn’t have to know that much about the sound registers. We are going to use...
View Article16. Sound effects
Even if you have no music talent, you might be able to make some cool sound effects. Music is nice, but sound effects make if feel like a real game. Again, open famitracker. You can use mostly all the...
View Article