16. Adding Sound Effects
I made the sound effects in Famitracker, each one as a song, all in one file. (just like last time). Apparently, there are no restrictions on Fx and such when making Sound Effects for Famitone2 (except...
View Article17. Planning a Game
We’re going to make a simple space shooter game. Vertically scroll, shoot lasers, avoid the enemy ships. First, we are going to set up several game “states” Title Screen Game Mode Pause Mode Game Over...
View Article18. Game Coding
First thing is to get a skeleton of the game working. Title screen loads. Press ‘start’ moves to Game Mode. Press ‘start’ sets Pause Mode. ‘Start’ again goes back to Game Mode. I opened Photoshop, and...
View Article19. Game Coding 2
Now, I want to add some more sprites. We have the potential for exceeding the 8 sprite per scanline limit… so we’re going to have to create a sprite priority shuffling system. Sprite Zero can’t...
View Article20. Game Coding 3
The only thing I still need to do is get the enemies working, the boss mode, and get the victory mode working. I was going to have the enemies shoot bullets, but I’m skipping that. But, the boss will...
View Article21. Credits and Thanks
I would like to thank everyone who helped me learn NES programming, especially the people at forum.nesdev.com I learned a lot from the example code for cc65 written by Shiru. I’ve used a few bits and...
View Article22.More
I wanted to make sure I covered everything. I barely mentioned mappers. If you want to make a game bigger than $8000 bytes, you would have to use a better mapper than NROM256. That would allow you to...
View ArticleContact, My Stuff
If anyone really, really needs to reach me, I have a hotmail account that starts like dougfraker2 Also, here’s a game that I’ve been working on for the past 6 months…well, here’s the level 1 + level 2...
View Article23. Using DMC Sounds
I’m going to explain how to use Famitone2 and Famitracker to add DMC sound samples to your game…first let’s review how the DMC channel works…here’s some code… *((unsigned char*)0x4015) = 0x0f; //turn...
View Article24. MMC3, Bank-switching, IRQs
(Thanks to thefox for pointing out an error in my example code, see note at the very bottom of the page) So far, all I’ve been using is small NROM sized .nes files. I’m going to show how to set up a...
View Article25. Importing a MIDI to Famitracker
I’ve read every webpage on this subject, and not one explains how to do this. It’s not easy, because they never got the Import MIDI feature working right in Famitracker…In fact, they removed that...
View Article26. ASM Basics
Intro to 6502 ASM, with ca65. I’ve had a lot of questions about 6502 ASM. One of the features of cc65 is the ca65 assembler, which is a very good one. You can write any, or all, your functions in...
View Article27. ASM part 2
Bit Shifting The 6502 has 2 ways of shifting bits left and right. In these examples, I will number each bit…there are 8 bits, numbered 0-7. Only the accumulator (A register) can do bit shifts and...
View Article28. ASM part 3
Welcome to part 3 of my 6502 ASM lessons. Jumping, moves the execution of the program somewhere else. Examples: LDA #5 JMP Skip_Next_Line jump to label 'Skip_Next_Line' LDA #7 never does this...
View Article29. ASM part 4
Yet another 6502 ASM lesson. Arrays The way to access arrays in 6502 ASM is to use indexed addresses. The X (or Y) register is used as the indexer. As usual, X=0 will get the first byte of the array....
View Article30. ASM part 5
Probably the final 6502 ASM lesson. I’m going to try to cover everything I forgot. Switch (foo){ case 0: … break; case 1: … break; case 2: … } Let’s say we have a variable ‘state’ that if state = 0,...
View ArticleUpdate – Games I’m Working On
Hello, One day, I hope to rewrite most of the code on this blog, but I always seem to be too busy working on various projects, and life. I have been working on my Vigilante Ninja 2 game, off and on,...
View ArticleUpdate – Feb 2017
I edited every cfg. file to include a “ONCE” segment, so that they will compile with the latest version of cc65. I also included a makefile in every lesson folder, for Linux users, or people that...
View ArticleMy Neslib Notes
Shiru wrote the neslib code, for NES development. These are all my detailed notes on how everything works. I will be adding example code, a little later. I mostly use a slightly modified version of the...
View ArticleNeslib Example Code
I thought this would take me 5 minutes. Boy was I wrong. Here’s some examples on neslib use for NES development. I’ve made some changes, that will probably annoy everyone. Sorry. I changed the cfg,...
View Article