17. DPCM sound
This one is a bit tricky. DMC files are huge. You might want to avoid them altogether. Most games don’t use them. However, you might want to put in a sound effect that sounds like a real thing, a voice...
View Article18. Sprite Zero
This one is a bit hard to explain. But SMB used it, so most people consider it a standard game element. When you have the top of the screen not scrolling, but the bottom of the screen scrolling, it’s...
View Article19. More things
Now, for something completely different. Random numbers. The NES has no good way to generate random numbers. neslib has rand8() and rand16() functions, but it doesn’t have a good way to seed it. It...
View Article20. Platformer Again
I decided not to use a split screen. I was really nervous that we were going to get slowdown once we added enemies and coins, which would (with my setup) make the screen wildly go back and forth, and...
View ArticleAppendix, nesdoug library
Under construction. //Written by Doug Fraker 2018 void set_vram_buffer(void); // sets the vram update to point to the vram_buffer. VRAM_BUF defined in crt0.s // this can be undone by...
View ArticleDownloads, free games
All the .nes files from this tutorial https://github.com/nesdoug/27_NES_FILES Purple Cape Man, Vigilante Ninja http://dl.dropboxusercontent.com/s/0hnvrxix0kkoz5e/VIGD.NES Vigilante Ninja 2...
View ArticleLinks and Misc.
You can import a MIDI file to famitracker (an older version). I discussed it on this post. https://nesdoug.com/2016/01/24/25-importing-a-midi-to-famitracker/ . . Other projects in C. Mojon Twins...
View Article21. Finished Platformer
First thing I added was a title screen. To be honest, I made this as quickly as possible, just to show the proof of concept. I made it in NES Screen Tool, and exported the background as a compressed...
View Article22. Zapper / Power Pad
Zapper The zapper gun came with many NES consoles. They are pretty common, but you need a CRT TV for them to work. You can also play on most emulators using the mouse to click on the screen (make sure...
View ArticleWhat is everything?
Someone asked me to explain all the files. Let’s try to do that. Look at the most complicated one. https://github.com/nesdoug/26_Full_Game in BG/ The .tmx files are from tiled map editor. Tiled uses...
View ArticleAll Direction Scrolling
I’ve been planning to make a game that can freely scroll in all directions, like a modern game. The issue with the NES is that it only has enough VRAM for 2 nametables. So, the background is mirrored...
View Article22. Advanced mapper MMC1
A mapper is some circuitry on the cartridge that allows you to “map” more than 32k of PRG ROM and/or more than 8k of CHR ROM to the NES. By dividing a larger ROM into smaller “banks” and redirecting...
View ArticleReview – 150 Classic NES Games for GBA
Review – 150 Classic NES Games for GBA I bought this cart for about $20 US from some store on Amazon. It uses the PocketNES emulator to run NES games on a Gameboy Advanced. Here is a list of games on...
View Article23. Advanced Mapper – MMC3
MMC3 is the 2nd most popular mapper. Many of the most popular games were MMC3. Several of the Megaman games. Super Mario Bros 2 + 3. This photo is borrowed from bootgod. The little chip at the top says...
View ArticleSNES Projects
North to the Future. The next big thing is SNESdev. But the tools I have become used to don’t exist… so I am making my own. In place of NES screen tool, I have made 2 similar apps for the SNES. M1TE...
View ArticleSNES Overview
The Super Nintendo first came out in 1991 (1990 in Japan as the Super Famicom). It was one of the best game consoles of all time, with an amazing library of games. It definitely has a special place in...
View Article65816 Basics
Programming the SNES in assembly, using the ca65 assembler. Assembly Language Basics When computer code is compiled, in a higher level language, it is converted to a binary code (machine code) that the...
View ArticleFurther in 65816
Other people have written 6502 ASM tutorials, which is where you should start out. All the information here will transfer perfectly toward 65816 programming. Stay on this until you understand it,...
View ArticleWhat you need, SNESdev
Before we start actually programming for the SNES, you will need a few things. An assembler A tile editor Photoshop or GIMP a text editor a good debugging emulator a tile arranging program a music...
View ArticleHow ca65 works
SNES game development, continued… . Just one more subject before we can actually get to write our SNES program. Using the assembler. You should have read some of the 6502 tutorials and read up on 65816...
View Article