Frequently Asked Questions
Is your NES class still available? Can I take it online?
The class was only offered for one semester at Carnegie Mellon University. There's no specific online course, but you are welcome to peruse all of the information on the website.
I'm new to programming. Can I make a NES game? What sort of skills do I really need?
I highly recommend that you learn some kind of programming before tackling the NES. It is a very difficult platform, simply because you don't get much feedback when something goes wrong. General skills you or your development team would need are primarily strong programming skills, some basic art skills, and strong organization and planning. That said, please don't let me discourage you from trying to make something.
I did assignment 1. What next? Is there a step-by-step guide?
Unfortunately, I never made a step-by-step guide to making a game, and there are many large swaths of the development process that are left up to you. The best I can suggest right now is to check out the Demo Roms section of the Resources page. There, you will find several games with source code. If you get one of those to build and run, then you can start modifying the source code, and build your game up from there. In any case, for most development platforms, it is often best to start with a framework that already does a little bit of what you need, so that you only need to focus on one small piece at a time. If you feel that you're already at an advanced level, then you may wish to start with the Game Starter Code, also found on the Resources page.
How should I learn nbasic or 6502 assembly?
I generally find that it is easiest to learn a programming language by example. The Resources page of this site has several code samples that should get you started in nbasic. If you do not have a programming background, then I strongly recommend that you learn another language first, since nbasic is such a specific language without much support. For learning 6502, you may find what you need in the Assembly In One Step document.
Does nbasic have any bugs in it?
Yes, it most certainly does! The most important bugs that I am aware of are in the comparison operations. It may sometimes create undesirable results for certain comparisons, such as comparing 7-bit to 8-bit numbers, though I'm not able to give you any specific examples without considerable testing. In short, if you are convinced that your code logic is correct and a certain bug in your game is the compiler's fault, then you may wish to look through the nbasic compiler source code and see whether you can verify that, and possibly fix the bug. Though I am not supporting the compiler anymore, you're welcome to submit small patches that I can integrate easily. Contact me if you have a patch to send.
How can I make a hardware cartridge?
Unfortunately, hardware is not something I do very well at all, so I can't really help you. Check nesdev.parodius.com for various helpful documents.
I have a great idea for a game. Will you help me make it? Will you form a company with me to make NES stuff?
Sorry, but I already have enough projects going on.
What do you do now?
I help run a company that makes safety-training videogames.
How long do you plan to host this website? Will you charge for it in the future?
I expect to host it for the internet equivalent of forever, with no charge for visitors. The site organization may change in the future, meaning that internal links may change, but you should always be able to reach it through bobrost.com/nes.