Hello Everyone,
A few people have asked to see my source code. Please consider this disclaimer:
0) If my code helps anyone I'd like to know. Since I'm just starting out, I fail to see how it would be useful to anyone though...
1) I'm not an expert NES developer - I'm a newbie. Please don't assume that I am good at this just because I'm sharing this code with the community. I used to write 6502 asm on the Apple IIe in high school. That is the extent of my 6502 knowledge.
2) I've only ever played a handful of NES games. Mostly common (ie, cheap) RPGs and action/adventure. The vast majority of the visual tricks that I see people make reference to I've never seen nor would I recognize the game.
3) My code is ugly and contains swear words.
4) All aspects of the code are a work in progress. No section of code is considered "complete".
5) I develop the game on a Gentoo linux box, but I test it using NES emulators on Windows XP. So if you have a relatively recent Linux box it should compile ***
6) *** One of my custom build tools requires the perl module "Image::BMP" in order to convert a BMP file into a ".s" file to be assmebled. You won't be able to succesfully build the project without this perl module.
7) My svn and trac stuff is hosted on an apache box with a self-signed certificate. You'll need to accept the warnings from your web browser.
I've never tries to compile this on Windows w/ cygwin, nor on FreeBSD or Solaris (even though I have access to all of them).
All of that being said, this is what you do in a nut-shell:
You can refresh the code with my latest updates at any time via:
You can browse the source code in your web browser here:
https://www.ecoligames.com/trac/nes-game/nes-game/browser/trunk
This URL will show you the revision history:
https://www.ecoligames.com/trac/nes-game/nes-game/timeline?milestone=on&ticket=on&changeset=on&update=Update
Please be kind to my server; I have DSL
ps- I have two other NES related projects. I don't have trac set up for them yet, but they should be read-only in SVN:
svn co https://www.ecoligames.com/svn/FariaEditor /tmp/FariaEditor
svn co https://www.ecoligames.com/svn/Crystalis /tmp/Crystalis
I've mentioned the Faria editor before. It is a window program and requires MSDev Studio 98 (msdev v6) to compile. It probably needs the 2003 February platform SDK and some other magical incantations to compile, but I have no idea (my windows dev box has all that crap and it "just works").
The "Crystalis" project is my attempt to create a tool to assist in reverse engineering the game. It is mostly my notes and a tool to dump all of the maps from the game as PBM and GIF files. All of these tools should compile on any recent Gentoo box (you'll need to emerge "media-libs/netpbm" first).
A few people have asked to see my source code. Please consider this disclaimer:
0) If my code helps anyone I'd like to know. Since I'm just starting out, I fail to see how it would be useful to anyone though...
1) I'm not an expert NES developer - I'm a newbie. Please don't assume that I am good at this just because I'm sharing this code with the community. I used to write 6502 asm on the Apple IIe in high school. That is the extent of my 6502 knowledge.
2) I've only ever played a handful of NES games. Mostly common (ie, cheap) RPGs and action/adventure. The vast majority of the visual tricks that I see people make reference to I've never seen nor would I recognize the game.
3) My code is ugly and contains swear words.
4) All aspects of the code are a work in progress. No section of code is considered "complete".
5) I develop the game on a Gentoo linux box, but I test it using NES emulators on Windows XP. So if you have a relatively recent Linux box it should compile ***
6) *** One of my custom build tools requires the perl module "Image::BMP" in order to convert a BMP file into a ".s" file to be assmebled. You won't be able to succesfully build the project without this perl module.
7) My svn and trac stuff is hosted on an apache box with a self-signed certificate. You'll need to accept the warnings from your web browser.
I've never tries to compile this on Windows w/ cygwin, nor on FreeBSD or Solaris (even though I have access to all of them).
All of that being said, this is what you do in a nut-shell:
Code:
svn co https://www.ecoligames.com/svn/nes-game/trunk /tmp/nes-game
cd /tmp/nes-game
make
ls -l nes-game.nes ### this is the final output.
cd /tmp/nes-game
make
ls -l nes-game.nes ### this is the final output.
You can refresh the code with my latest updates at any time via:
Code:
cd /tmp/nes-game
svn up
make clean all
svn up
make clean all
You can browse the source code in your web browser here:
https://www.ecoligames.com/trac/nes-game/nes-game/browser/trunk
This URL will show you the revision history:
https://www.ecoligames.com/trac/nes-game/nes-game/timeline?milestone=on&ticket=on&changeset=on&update=Update
Please be kind to my server; I have DSL
ps- I have two other NES related projects. I don't have trac set up for them yet, but they should be read-only in SVN:
svn co https://www.ecoligames.com/svn/FariaEditor /tmp/FariaEditor
svn co https://www.ecoligames.com/svn/Crystalis /tmp/Crystalis
I've mentioned the Faria editor before. It is a window program and requires MSDev Studio 98 (msdev v6) to compile. It probably needs the 2003 February platform SDK and some other magical incantations to compile, but I have no idea (my windows dev box has all that crap and it "just works").
The "Crystalis" project is my attempt to create a tool to assist in reverse engineering the game. It is mostly my notes and a tool to dump all of the maps from the game as PBM and GIF files. All of these tools should compile on any recent Gentoo box (you'll need to emerge "media-libs/netpbm" first).