https://www.nesdev.org/w/api.php?action=feedcontributions&user=Veinassolay&feedformat=atomNESdev Wiki - User contributions [en]2024-03-28T11:25:45ZUser contributionsMediaWiki 1.39.0https://www.nesdev.org/w/index.php?title=User:Veinassolay&diff=16803User:Veinassolay2017-10-22T21:51:04Z<p>Veinassolay: Created page with "I am Troy Long. The name Veinassolay was given to me by my little brother, so I use it as a pen name. I'm a self taught programmer from rural Texas. == Me on NesDev? == * I w..."</p>
<hr />
<div>I am Troy Long. The name Veinassolay was given to me by my little brother, so I use it as a pen name. I'm a self taught programmer from rural Texas.<br />
<br />
== Me on NesDev? ==<br />
* I want to learn how to program on a low abstraction level. The MOS6502 processor was what many of the greats started on, and NES seems cool enough to motivate me to keep going, so I thought I'd give it a whirl.<br />
* At less than 20 years old, you might think I'm too young to contribute, but I have to start somewhere.<br />
* If you notice any of my edits are incorrect, I will take absolutely no offense to you correcting them, but please tell me that I was wrong so I don't keep doing it again.<br />
== Personal ==<br />
* I was born 1999.<br />
** Raised in rural Texas.<br />
* I am passionate about electronics, math, and computer science.<br />
** I taught myself to program starting in the 7th grade, and see continuing to do so as a life journey.<br />
** Currently a high school senior teaching programming classes during lunch.<br />
* Am not interested in meeting anyone online in person, so don't even entertain the thought.<br />
**But I am by no means a mean person.</div>Veinassolayhttps://www.nesdev.org/w/index.php?title=Programming_Basics&diff=10555Programming Basics2017-10-22T20:58:36Z<p>Veinassolay: Filled in the registers section</p>
<hr />
<div>== Opcodes and their operands ==<br />
<br />
To be written.<br />
<br />
== Registers ==<br />
<br />
The 6502 processor has six registers. They are 8-bit, with the exception of the Program Counter, which is 16-bit.<br />
<br />
<br />
Accumulator(A) - The accumulator can read and write to memory. It is used for arithmetic and logic.<br />
<br />
X Index - The x index is can read and write to memory. It is used primarily as a counter in loops, or for addressing memory, but can also temporarily store data like the accumulator.<br />
<br />
Y Index - Much like the x index, however they are not completely interchangeable. Some operations are only available for each register.<br />
<br />
Flag(P) - Seven bits that represent the status of the processor.<br />
<br />
Stack Pointer(S) - The stack pointer hold the address to the current location on the stack. The stack is a way to store data by pushing or popping data to and from a section of memory.<br />
<br />
Program Counter(PC) - This register keeps up with the processor's current location in a program.<br />
<br />
== The stack ==<br />
<br />
{{main|Stack}}<br />
<br />
== Math operations ==<br />
<br />
=== Simple operations ===<br />
==== Addition and subtraction ====<br />
<br />
''To be written.''<br />
<br />
==== Bitwise (factor of 2) multiplication and division ====<br />
<br />
To multiply the value in A by two, use the instruction ASL A.<br />
<br />
To divide the value in A by two, use the instruction LSR A.<br />
<br />
''To be written.''<br />
<br />
=== Complex operations ===<br />
==== Multiplication of arbitrary numbers ====<br />
The following routine multiplies two unsigned 16-bit numbers, and returns an unsigned 32-bit value.<br />
<br />
<pre><br />
mulplr = $c0 ; ZP location = $c0<br />
partial = mulplr+2 ; ZP location = $c2<br />
mulcnd = partial+2 ; ZP location = $c4<br />
<br />
_usmul:<br />
pha<br />
tya<br />
pha<br />
<br />
_usmul_1:<br />
ldy #$10 ; Setup for 16-bit multiply<br />
_usmul_2:<br />
lda mulplr ; Is low order bit set?<br />
lsr a<br />
bcc _usmul_4<br />
<br />
clc ; Low order bit set -- add mulcnd to partial product<br />
lda partial<br />
adc mulcnd<br />
sta partial<br />
lda partial+1<br />
adc mulcnd+1<br />
sta partial+1<br />
;<br />
; Shift result into mulplr and get the next bit of the multiplier into the low order bit of mulplr.<br />
;<br />
_usmul_4:<br />
ror partial+1<br />
ror partial<br />
ror mulplr+1<br />
ror mulplr<br />
dey<br />
bne _usmul_2<br />
pla<br />
tay<br />
pla<br />
rts<br />
</pre><br />
<br />
Here's an example of the above <tt>_usmul</tt> routine in action, which multiplies 340*268:<br />
<br />
<pre><br />
lda #<340 ; Low byte of 16-bit decimal value 340 (value: $54)<br />
sta mulplr<br />
lda #>340 ; High byte of 16-bit decimal value 340 (value: $01) (makes $0154)<br />
sta mulplr+1<br />
lda #<268 ; Low byte of 16-bit decimal value 268 (value: $0C)<br />
sta mulcnd<br />
lda #>268 ; High byte of 16-bit decimal value 268 (value: $01) (makes $010C)<br />
sta mulcnd+1<br />
lda #0 ; Must be set to zero (0)!<br />
sta partial<br />
sta partial+1<br />
jsr _usmul ; Perform multiplication<br />
;<br />
; RESULTS<br />
; mulplr = Low byte of lower word (bits 0 through 7)<br />
; mulplr+1 = High byte of lower word (bits 8 through 15)<br />
; partial = Low byte of upper word (bits 16 through 23)<br />
; partial+1 = High byte of upper word (bits 24 through 31)<br />
;<br />
</pre><br />
<br />
==== Division of arbitrary numbers ====<br />
<br />
To be written.<br />
<br />
==== Floating-point numbers ====<br />
<br />
To be written.<br />
<br />
==== Gaming: keeping score ====<br />
<br />
To be written.<br />
<br />
If you keep score in a binary number, you must convert it to a sequence of digits before displaying it. The article [[16-bit BCD]] lists a subroutine to do this.<br />
<br />
== Making simple sounds ==<br />
<br />
To be written.<br />
<br />
== Controller input ==<br />
<br />
To be written.<br />
<br />
== Graphics (should be covered elsewhere!) ==<br />
<br />
== "Hello, world!" program ==<br />
Since the NES can't easily do something like <code>printf()</code> (or <code>echo</code> for those familiar with scripting), one of the easiest ways to test code is to output some audio. Something along the lines of...<br />
<br />
<pre><br />
reset:<br />
lda #$01 ; square 1<br />
sta $4015<br />
lda #$08 ; period low<br />
sta $4002<br />
lda #$02 ; period high<br />
sta $4003<br />
lda #$bf ; volume<br />
sta $4000<br />
forever:<br />
jmp forever<br />
</pre></div>Veinassolayhttps://www.nesdev.org/w/index.php?title=Nesdev&diff=9205Nesdev2017-10-21T15:52:58Z<p>Veinassolay: Added Mos 6502 Programming manual to main page for easy access.</p>
<hr />
<div><center>[[File:Nesdev1_Tokumaru.png|500px]]</center><br />
<br />
==Notices==<br />
<br />
*<b>Do not download full copies of the site through the webserver. Use the [ftp://ftp.parodius.com/pub/nesdev/nesdev_weekly.zip FTP mirror]</b> or the <!--[ed2k://%7Cfile%7CNES_Programming_Info_-_Music_-_Demos_-_and_Tools_%28Dec_15th_2003%29.zip%7C56571866%7C2CCCB5E5C07F9BE4B1C05AB9497A4C6E%7C/%7Csources,68.58.99.218:4900%7C/--> ED2K mirror<br />
* [http://forums.nesdev.org/ The messageboards] are open. The [http://nesdev.org/cgi-bin/wwwthreads/wwwthreads.pl old boards] are still readable.<br />
* Consider making a donation of any amount to help pay for hosting costs (which includes every site hosted on Parodius). The paypal link will be found on [http://www.parodius.co Parodius' main page].<br />
* An NES dev cartridge is in production by Membler Industries. More details to come.<br />
<br />
<center>[[File:Mbar.gif|400px]]</center><br />
<br />
==Text files==<br />
===NES===<br />
General information about the Nintendo Entertainment System, or Famicom.<br />
<br />
* [http://nesdev.org/NESDoc.pdf Nintendo Entertainment System Documentation] v1.0 by Patrick Diskin.<br />
* [http://nesdev.org/NinTech.txt NinTech] by Blue Hawk.<br />
* [http://nesdev.org/2A03%20technical%20reference.txt 2A03 technical reference] First release (4-23-2004), by Brad Taylor. Covers everything related to the NES's CPU, including sound. The linear counter section needs to be written, if anyone experienced with this is interested in documenting it, please post on the forum.<br />
* [http://nesdev.org/2C02%20technical%20reference.TXT NTSC 2C02 technical reference] First release (4-23-2004), by Brad Taylor. Lots of information about the NTSC version of the NES PPU.<br />
* [http://nesdev.org/apu_ref.txt NES APU Sound Hardware Reference] 2004.1.30 by Blargg<br />
* [http://nesdev.org/NES101.zip NES 101] by Michael Martin. An NES programming tutorial for those who know 6502 assembly.<br />
* [http://nesdev.org/NESprgmn.txt Programming that 8-bit beast of power, the NES] v.80.666 by joker21@earthlink.net.<br />
* [http://nesdev.org/NESTechFAQ.htm NES Technical FAQ] v1.4 by Chris Covell.<br />
* [http://nesdev.org/nesdoc2.txt NES Tech doc (French)] by Crispysix.<br />
* [http://nesdev.org/ndox200.zip Nintendo Entertainment System documentation] v2.0 by Jeremy Chadwick.<br />
* [http://nesdev.org/nestech_cn.txt Nintendo Entertainment System documentation (Chinese)] v2.0 by Jeremy Chadwick, translation by Blue Potato.<br />
* [http://nesdev.org/nestechd.txt Nintendo Entertainment System documentation (Dutch)] v2.0 by Jeremy Chadwick, translation by A.A.J. Bouwmans.<br />
* [http://nesdev.org/NESTECJ.TXT Nintendo Entertainment System documentation (Japanese)] v.53 by Jeremy Chadwick, translation by (?).<br />
* [http://fms.komkon.org/EMUL8/NES.html NES System Architecture] v2.4 by Marat Fayzullin.<br />
* [http://dendy.city.tomsk.net/arhit.htm NES System Architecture (Russian)] v1.4 by Marat Fayzullin, partial translation by (?)<br />
* [http://nesdev.org/nes_c.txt NES System Architecture (Chinese)] v2.2 by Marat Fayzullin, translation by Wu Jian.<br />
* [http://nesdev.org/NES_J.TXT NES System Architecture (Japanese)] v1.4 by Marat Fayzullin, translation by Bero.<br />
* [http://nesdev.org/nesguide.zip NES Programming Guide] v.4 by Bokudono and Waseiyakusha.<br />
* [http://nesdev.org/loopyppu.zip The Skinny on NES Scrolling] by loopy.<br />
* [http://nesdev.org/nesscroll-sp.pdf The Skinny on NES Scrolling (Spanish)] by loopy, translated by Hyde.<br />
* [http://nesdev.org/nesscroll-pt.pdf The Skinny on NES Scrolling (Portuguese)] by loopy, translated by Hyde.<br />
* [http://blargg.8bitalley.com/nes-emu/dmc/ Detailed DMC Operation] by blargg. Information about how the DMA uses the sample buffer. Off-site link.<br />
* [http://nesdev.org/nesgfx.txt How NES Graphics Work] A document describing the basics.<br />
* [http://nesdev.org/nesgfx-d.txt How NES Graphics Work (Dutch)] A document describing the basics. Translation by A.A.J.Bouwmans.<br />
<br />
=== 6502 ===<br />
Information about the 6502. The NES's 2A03 CPU is a modified 6502.<br />
<br />
* [http://nesdev.org/nesdoc1.txt Assembleur sur NES (French)] v0.9 by Crispysix.<br />
* [http://nesdev.org/r650x.zip Rockwell 650x and 651x specs] Official specifications for the 6502 family.<br />
* [http://nesdev.org/6502.txt 6502 Microprocessor info] Excerpt from the Commodore 64 Programmers Reference Manual.<br />
* [http://nesdev.org/6502_cn.txt 6502 Microprocessor info (Chinese)] From the Commodore 64 Progammers Reference Manual, translation by Blue Potato.<br />
* [http://nesdev.org/6502_cpu.txt NMOS 65xx Instruction Set] From a C64 emulator and devkit.<br />
* [http://nesdev.org/6502guid.txt Assembly in one step] A brief guide to programming the 6502 in assembly language.<br />
* [http://nesdev.org/6502jsm.zip 6502 Instruction Summary] A list of opcodes and addressing modes. Originally by RTK, modified by CricketNE<br />
* [http://nesdev.org/opcodes.txt 6502 Opcodes] In japanese. By famtasiaに添付されてたと思った (?)<br />
* [http://nesdev.org/6502bugs.txt 6502 bugs] A list of known bugs in the 6502.<br />
* [http://nesdev.org/mathv1r_lib.txt mathpac] by Matt Malone. Some math routines in 6502.<br />
* [http://nesdev.org/dr6502-docs.zip DR6502 Docs] by M.J.Malone. This documentation for a 6502 simuator contains extensive 6502 information.<br />
* [http://nesdev.org/undocumented_opcodes.txt Undocumented Opcodes] v3.0 by Freddy Offenga. Based on the Atari 8-bit 6502.<br />
* [http://nesdev.org/extra_instructions.txt Extra Instructions of the 65XX Series CPU] 11-27-96 by Adam Vardy.<br />
* [http://wiki.breaknes.com/6502 Circuit-level 6502 description (russian)] ([http://translate.google.ru/translate?sl=ru&tl=en&u=http%3A%2F%2Fwiki.breaknes.com%2F6502&act=url google translate])<br />
<br />
=== Famicom Disk System ===<br />
Information about the Famicom's floppy disk add-on.<br />
<br />
* [http://nesdev.org/FDS%20technical%20reference.txt Famicom Disk System technical reference] 3rd release (4-23-2004), by Brad Taylor. Comprehensive FDS technical docs.<br />
* [http://nesdev.org/fdsloadr.zip Famicom Disk System Loader] by Brad Taylor. This is the software and documentation for a hardware project to emulate the FDS's disk drive using a PC disk drive via parallel port. Can also copy FDS disk contents to your PC.<br />
* [http://nesdev.org/fdscopy.zip FDS Copy Tool] info from a book in Japanese. Contributed by Tomy.<br />
* [http://nesdev.org/fds-copytool2.zip FDS copy tool 2] Japanese docs, scanned by Tomy.<br />
* [http://nesdev.org/FDSSOUND_v1.1.txt Nintendo Disksystem Sound] v1.1 by Norix. In Japanese.<br />
* [http://nesdev.org/FDS.txt FDS Sound] 07/14/2004 by Disch.<br />
* [http://nesdev.org/fds-nori.txt Famicom Disk System info] by Nori. (in Japanese)<br />
* [http://nesdev.org/fds-e.txt Famicom Disk System] by Nori, translated by Ki.<br />
* [http://nesdev.org/disksystem.txt Famicom Disk System info] by goroh.<br />
* [http://nesdev.org/diskspec.txt Famicom Disk System info] by goroh, translated by Sgt. Bowhack.<br />
* [http://nesdev.org/diskinfo.txt Disk Info]<br />
<br />
=== Etc. ===<br />
Information about the NES/Famicom's add-ons, or anything that doesn't pertain to another category.<br />
<br />
* [http://nesdev.org/SH657XTool_release.zip SH657X Toolkit] A huge amount of info, tools, and demos, for an NES clone system using the 657x IC.<br />
* [http://nesdev.org/NES_ADAPTER.txt NES to Famicom Adapter] 72 to 60-pin wiring info.<br />
* [http://nesdev.org/zapper_to_famicom.txt Connecting NES Zapper to Famicom] Wiring info.<br />
* [http://nesdev.org/vsdoc.txt VS UniSystem Information] v1.0 by Fx3.<br />
* [http://nesdev.org/pc10doc.txt Nintendo Playchoice 10 Hardware Description] v0.2 by Oliver Achten.<br />
* [http://nesdev.org/pc10bios.zip New Playchoice 10 BIOS] v0.1 by Oliver Achten. Allows the Playchoice 10 arcade machine to run NES carts.<br />
* [http://nesdev.org/megm1rom.txt Megaman 1 ROM Tech] v0.13 by AlphaBeta. Info on Megaman 1's ROM data structure.<br />
* [http://nesdev.org/ffpa.txt Famicom Four-Player Adapter] v1.0 by Richard Hoelscher. This adapter works differently than the ones for NES.<br />
* [http://nesdev.org/Excite_Boxing-english.txt Excite Boxing] by goroh, english translation by Ki.<br />
* [http://nesdev.org/Light_Gun-english.txt Family Computer Gun] by goroh, english translation by Ki.<br />
* [http://nesdev.org/keyboard.txt Famicom keyboard info] by goroh.<br />
* [http://nesdev.org/Keyboard-english.txt Reverse Engineering the Keyboard of Family Computer] by goroh, english translation by Ki.<br />
* [http://nesdev.org/NESHDRJ.TXT Mapper Information for Emulation] by ???. In Japanese.<br />
* [http://nesdev.org/powerpad.txt Power Pad information] v1.2 by Tennessee Carmel-Veilleux.<br />
* [http://nesdev.org/famitra.txt Family Trainer] by goroh.<br />
* [http://nesdev.org/nesdevma.zip NESdev Mailing list] An archive of postings from Jan 22 1998, to March 25 1999. Go to [http://gamesource.groups.yahoo.com/group/nesdev/ Yahoo Groups] to subscribe. (No activity since February 2006.)<br />
* [http://nesdev.org/nesgg.txt NES Game Genie Format] v.071 by Benzene.<br />
* [http://nesdev.org/nes4play.txt NES 4 Player Adapter Documentation] v.9 by Fredrik Olsson.<br />
* [http://nesdev.org/random.txt Marat's doc randomized] not of any use, but slightly amusing.<br />
<br />
=== Emulation ===<br />
Information related to the emulation of the NES/Famicom.<br />
<br />
* [http://nesdev.org/NES%20emulator%20development%20guide.txt NES emulator development guide] 4th release (4-23-2004), by Brad Taylor. Lots of information and techniques about emulating the NES.<br />
* UNIF File format specification An upcoming new format for NES roms.<br />
* [http://nesdev.org/iNES.txt iNES Header Format] march 2000 by rvu.<br />
* [http://nesdev.org/neshdr20.txt iNES Header Format] v2.0 by VmprHntrD.<br />
* [http://nesdev.org/nespalette.zip NES Palette] v1.1 by merp. NTSC and PAL versions converted from BMF's and Matrixz's NES palettes in photoshop, paint shop pro, and microsoft format.<br />
* [http://nesdev.org/kevin_palette.txt NES palette generator] 4-08-00 by Kevin Horton. Written in BASIC.<br />
* [http://nesdev.org/nespal.txt NES Palette] by Matt Conte.<br />
* [http://nesdev.org/pal.txt NES Palette] by Loopy.<br />
* [http://nesdev.org/staform.txt .STA format] NESticle .43 save state format info. By goroh.<br />
<br />
=== Dr. PC Jr. ===<br />
The Doctor PC Jr. is a Chinese computer based off the NES/Famicom. Visit [http://mypage.direct.ca/c/ccovell/nesdev.html Dr. PC Jr. Development Page] for extended information.<br />
<br />
* [http://nesdev.org/DrPCJrBIOS.zip BIOS ROM] A dump of the BIOS ROM from the Dr. PC Jr.<br />
* [http://nesdev.org/DrPCJrDOS.zip DOS disk] The files from the OS disk of the Dr. PC Jr.<br />
* [http://nesdev.org/CATalogue.zip CATalogue] v1.0 by Chris Covell. Uses the 'Cue-Cat'.<br />
<br />
=== SNES ===<br />
The well-known sequel to the NES, both castrated and enhanced. Only stuff unavailable elsewhere will be featured here.<br />
<br />
* [http://nesdev.org/SNES-starterkit.zip SNESdev starter kit] by neviksti. Includes an assembler, example programs, docs, and tools.<br />
* [http://nesdev.org/sreader.zip SNES Cartridge Reader] by Lucas Siudym.<br />
* [http://nesdev.org/eprcart4.zip SNES Cart Hacking Info] v0.4 by Lucas Siudym. Includes pin-outs and diagrams showing how to modify SNES cartridges to use EPROMs.<br />
* [http://en.wikibooks.org/wiki/Super_NES_Programming/Initialization_Tutorial SNES Central Development Page] Off-site link.<br />
* [http://www.zophar.net/documents/snes.html Zophar's Domain - SNES Tech Docs] Offsite link. More SNES stuff.<br />
* [http://www.zophar.net/tech/65816.html Zophar's Domain - 65816 Docs] Offsite link. Docs about the SNES's CPU. An enhanced, yet backwards compatible, 16-bit version of the 6502.<br />
<br />
==NES Programs==<br />
<br />
See [[Projects]].<br />
<br />
==NES Development Tools==<br />
===PC Programs===<br />
====6502 Tools====<br />
<br />
* [http://github.com/christopherpow/nesicide NESICIDE] v.0.2 by Christopher S. Pow. The NES "Incredibly Cool" Integrated Development Environment, which aims to encompass the full lifecycle of NES ROM development. Off-site link.<br />
* [http://nesdev.org/6502mnemonix.zip 6502 hex-to-mnemonix] by juicy_killa@hotmail.com. A convenient reference program for viewing hex codes for 6502 opcodes. Email the author if you have any corrections or suggestions.<br />
* [http://nesdev.org/fasm10.zip FASM] v1.0 by Toshi Morita. Quote from the docs: FASM was written as a quick replacement for the 2500 AD assembler for Nintendo 8-bit development. GPL license.<br />
* [http://nesdev.org/idafw.zip Interactive Disassembler] freeware version, by DataRescue. The commercial version is better, but it's expensive.<br />
* NESrev v.013 by Kent Hansen. This disassembler detects the differences between code and data, and aims to produce output that can be reassembled. Works with 16KB programs. [http://nesdev.org/NESrev.java [Java source]]<br />
* [http://bobrost.com/nes/resources.php#devtools nbasic] A high-level programming language for 8-bit NES development, by Bob Rost. Off-site link.<br />
* [http://hkn.berkeley.edu/~mcmartin/P65/ P65 Assembler] A portable 6502 assembler written in Perl. Off-site link.<br />
* [http://www.villehelin.com/wla.html WLA DX] A portable GB-Z80/Z80/6502/6510/65816 macro assembler. Linux and MS-DOS versions available. Off-site link.<br />
* [http://www.cc65.org/ CC65] A portable 6502/65c02/65c816 assembler, linker, and C compiler. Off-site link.<br />
* [http://nesdev.org/x816112f.zip X816] An assembler for 6502/65c816. By minus.<br />
* [http://nesdev.org/s6502b10.zip 6502 SDK] Quoted from the docs: ''The kit is an Integrated Development Environment (IDE) similar to Borland ones, which allows you to edit, compile and (hopefully) debug your Assembly code for 65xx processors. It includes a (still rudimental) emulator and a project manager for multiple file applications.'' Requires Win3.11 or higher. Here's the [http://nesdev.org/s6502src.zip source code].<br />
* [http://nesdev.org/nesasm.zip Nintendo Assembler] v.1 by Charles Doty, David Michel, and J.H. Van Ornum.<br />
* [http://nesdev.org/md6502.zip Minachun Disassembler for 6502 Famicom(NES)] v.04a. Features Japanese language and mapper support. Source included, with an English language option.<br />
* [http://nesdev.org/tracer.zip TRaCER] A disassembler for 6502/65c816. By Y0shi.<br />
* [http://nesdev.org/6502sim.zip 6502 Simulator] by Dan Boris.<br />
* [http://nesdev.org/dasm32.zip DASM] v2.12 by Mathew Dillon<br />
* [http://sf.net/projects/neslisp neslisp] v0.0.17 by erana (Commodore 64 native version at http://sf.net/projects/neslispc64 v0.0.17 and up)<br />
* [http://sf.net/projects/ados-os-nes ados-nes] v0.1.13 by erana<br />
* [http://sourceforge.net/projects/arm-lisp arm-lisp] v0.2.73 by erana (ARMv7 and 6502 target included.)<br />
* [http://michaelcmartin.github.io/Ophis/ Ophis] 6502/65C02 assembler for Windows/Mac/Linux by Michael Martin<br />
<br />
====Graphic Tools====<br />
<br />
* [http://nesdev.org/tilemolester-0.16.zip Tile Molester] v0.16 by Kent Hansen. This tile editor requires [http://java.sun.com/j2se/1.4.2/download.html Java], and supports NES as well as other console formats.<br />
* [http://www.zophar.net/utilities/graphutil/yy-chr.html YY-Chr] by YY. A multi-format tile editor. Available in Japanese and English.<br />
* [http://nesdev.org/bmpnes.zip BMPNES] v1.8 by ninjasuperk. Spanish BMP to NES format converter. Includes some utils by Chis Covell.<br />
* [http://nesdev.org/tlp10.zip Tile Layer Pro] v1.0 by SnowBro. Tile editor.<br />
* [http://nesdev.org/CHR_Creator.zip CHR-ROM Creator] v1.1 by Stefan Fausser. An NES tile editor. [http://nesdev.org/vb40032.zip VB40032.DLL] is required.<br />
* [http://opentume.co.cc/ Open tUME] A 2D level editor designed for game development, check it out!<br />
* [http://nesdev.org/nsa01b.zip NES Screen Arranger] Uses NES graphics from a .CHR file and let's you set up the name and attribute tables, with optional RLE compression. By SnowBro.<br />
* [http://nesdev.org/tlay050b.zip Tile Layer] v0.50b. Let's you edit graphics from roms for various consoles. By SnowBro.<br />
* [http://nesdev.org/bmp2nes.zip BMP2NES] by [mailto:q7h1460@hotmail.com 7h1460]. Converts BMP graphics to the NES's format.<br />
* [http://nesdev.org/raw2chrDOS.zip RAW2CHR] by Chris Covell. Converts graphics from RAW to the NES's format.<br />
* [http://nesdev.org/charlieDOS.zip CHARlie] by Chris Covell. Optimizes graphics by removing redundant tiles.<br />
* [http://nesdev.org/chr2namDOS.zip CHR2NAM] by Chris Covell. Creates a nametable from an image file.<br />
====Misc.====<br />
* [http://ucon64.sourceforge.net/ uCON64] (offsite link) ROM management utility. Can convert between file formats, split iNES images into PRG and CHR ROMs (use Pasofami format to do this), and much more.<br />
* [http://nesdev.org/ggconv.zip Game Genie Code Coverter] v4.0 by Zazer. Create new, or decode existing Game Genie codes for NES and all other GG-platforms.<br />
* [http://nesdev.org/rollcost.zip Roller Coaster] by Pan/ATX. This program can generate various sine and non-repeating random data tables to use in your games/demos.<br />
* [http://nesdev.org/fdsloadr.zip Famicom Disk System Loader] by Brad Taylor. This is the software and documentation for a hardware project to emulate the FDS's disk drive using a PC disk drive via parallel port. Can also copy FDS disk contents to your PC.<br />
* [http://nesdev.org/legwizar.rar Legacy of the Wizard map viewer] by Brad Taylor. Programs to view the maps from this game. Includes a bitmap graphic of the entire map.<br />
* [http://nesdev.org/FDSListWIN.zip FDSList] v1.2 by Chris Covell. Lists and extracts files from Famicom disk images. Supports FDS format.<br />
* [http://nesdev.org/decrom20.zip Decrom] v2.0 by Fx3. Converts VROM graphics into ascii.<br />
* [http://nesdev.org/vrc7test.zip VRC-VII Emulator] By Kevin Horton. VRC7 is a Konami mapper/sound-chip, with FM synthesis.<br />
* [http://nesdev.org/vrcvibas.zip VRC-VI Emulator] Written in qbasic, by Kevin Horton.<br />
* [http://nesdev.org/hexpo215.zip Hexposure] v0.215. A Hex editor by SnowBro.<br />
<br />
====Sound Tools====<br />
<br />
* [http://nesdev.org/nt2/ Nerdtracker 2] beta version by Bananmos. A DOS/Win9X NES music tracker. The NT2 site also has replay source code for NES, an assortment of songs made by NT2 users, and more.<br />
* [http://dutycyclegenerator.com/nijuu/nijuu.html Nijuu] v0.1b by Neil Baldwin. A NES music engine that converts tracks defined in text files into NES or NSF files. Off-site link.<br />
* [http://www.geocities.co.jp/Playtown-Denei/9628/ MCK] by Izumi. A sound driver using MML format. Off-site link.<br />
* [http://nesdev.org/ned2nsf10.zip NED2NSF] v1.0 by Matrixz. Windows program that can make a single-song NSF from a NED file (Nerdtracker 2 format). Does not support NEDs with DMC samples, currently.<br />
* [http://nesdev.org/midimml1.0.zip MIDIMML converter] v1.0 by Tom Murphy 7. [http://www-2.cs.cmu.edu/%7Etom7/midimml/ [link]] This program converts MIDI files (with some special annotations) into MML. The output wouldn't be as optimal as hand-crafted MML (in most cases), but it's very interesting and even useful for MIDI users, nonetheless.<br />
* [http://nesdev.org/mckc-e.txt MCKC: MCK &gt; MML Converter] by Manbow-J, translated by virt. This document shows you how to use MML to create NES music.<br />
* [http://nesdev.org/mck_guide_v1.0.txt MCK/MML Beginners Guide] v1.0 by Nullsleep/8bitpeoples.<br />
* [http://nesdev.org/mck-mml%20Beginners%20Guide%20v1.0_cn.txt MCK/MML Beginners Guide (Chinese)] v1.0 by Nullsleep, translated by Tong Yun Weng.<br />
* [http://nesdev.org/DPCM_HowTo.txt DPCM HowTo] by nullsleep. How to use DPCM samples with MCK.<br />
* [http://wiw.org/%7Etek/muzak/#info Making NSFs under UNIX] by Julian Squires. Info concerning MCK. Off-site link.<br />
* [http://nesdev.org/nsf2midi0130.lzh nsf2midi (Japanese)] v.130 by GIGO. [http://nesdev.org/nsf2midi005aE.zip NSF2MIDI (english)] v.05a Translated by Tatt and Yura.<br />
* [http://nesdev.org/wav2nes.zip WAV2NES] by David de Regt. Converts a .wav file to an .NES rom, but uses an obscure mapper.<br />
* [http://nesdev.org/dmcconv005.zip dmc converter (Japanese)] v.05 by Norix. [http://nesdev.org/DPCM_HowTo.txt english doc] by Nullsleep.<br />
* [http://nesdev.org/81.zip sample converters] by Bananmos. Includes 8bit-to-1bit and 1bit-to-8bit programs.<br />
* [http://nesdev.org/81v2.zip sample converter] by Damian Yerrick. Converts 8-bit samples to NES's 1-bit format, also scales the volume and oversamples the sound.<br />
* [http://shaw.la.coocan.jp/nsdl/ NES Sound Driver & Library (NSD.Lib)] by S.W. A sound driver. This include the library for cc65/ca65 and MML compiler(This can make NSF and assembler source).<br />
<br />
===Amiga Programs===<br />
====6502 Tools====<br />
<br />
* [http://www.villehelin.com/wla.html WLA DX] A GB-Z80/Z80/6502/6510/65816 macro assembler.<br />
* [http://nesdev.org/dasm.zip DASM v2.0 by Mathew Dillon. Source code is included. [http://nesdev.org/dasm32.zip v.212] is also available, but does not include an Amiga executable.<br />
<br />
====Graphic Tools====<br />
<br />
* [http://nesdev.org/raw2chr.zip Raw2CHR] by Chris Covell. Converts graphics from RAW to the NES's format. C source code is included.<br />
* [http://nesdev.org/charlie.zip CHARlie] by Chris Covell. Optimizes graphics in CHR roms by removing duplicate tiles. C source code is included.<br />
* [http://nesdev.org/chr2nam.zip CHR2NAM] by Chris Covell. Makes a nametable from your CHR rom. C source code is included. <br />
<br />
====Misc tools====<br />
<br />
* [http://nesdev.org/FDSList.zip FDSList] v1.2 by Chris Covell. Lists and extracts files from Famicom disk images. Supports FDS format.<br />
* [http://nesdev.org/AmiGenie.lha AmiGenie] by Chris Covell. Converts between Game Genie codes and hex addresses.<br />
<br />
==NES Hardware Information==<br />
<br />
* Index of US [[patents]] related to the NES/Famicom.<br />
<br />
===console hardware===<br />
<br />
* [http://nesdev.org/NES%20hardware%20development%20guide.txt NES hardware development guide] First release (4-23-2004), by Brad Taylor. Detailed NES hardware info, and several project ideas.<br />
* [http://nesdev.org/Ntd_8bit.jpg Family Computer schematic] by Nintendo? File provided by Ubaldo Prones.<br />
* [http://nesdev.org/famicom_kairo.txt Nintendo Family Computer 回路の解析] by goroh.<br />
* [http://nesdev.org/famicom-circuitry.txt Nintendo Family Computer circuitry RE] by goroh, english translation by Ki.<br />
* [http://nesdev.org/2A03_pinout.txt 2A03 Pinout] by Eli Dayan.<br />
* [http://nesdev.org/nes_ppu.txt RP2C02G (aka: the NES's PPU)] by Kevin Horton.<br />
* [http://nesdev.org/NESAudio.gif NES Audio Path] by Kevin Horton.<br />
* [http://nesdev.org/4783812-sound_synth.pdf Electronic Sound Synthesizer] A patent for the Famicom Disk System's sound hardware.<br />
* [http://nesdev.org/5317714-digital_sound.pdf Digital Sound Apperatus and External Memory Cartridge Used Therefor"] A patent for the NES's sample playing hardware.<br />
* [http://nesdev.org/74HCT373.pdf 74LS373N] Octal D-Type transparent latch; 3-state ([http://www.kingswood-consulting.co.uk/giicm/74300.html#74373 HTML page])<br />
* [http://nesdev.org/74HC_HCT04_CNV_2.pdf 74HCU04P] Hex inverter ([http://www.kingswood-consulting.co.uk/giicm/7400.html#7404 HTML page])<br />
* [http://nesdev.org/74HC_HCT368_CNV_2.pdf 74HC368] Hex buffer/line driver; 3-state; inverting ([http://www.kingswood-consulting.co.uk/giicm/74300.html#74368 HTML page])<br />
* [http://nesdev.org/74HC_HCT139_CNV_2.pdf 74LS139] Dual 2-to-4 line decoder/demultiplexer ([http://www.kingswood-consulting.co.uk/giicm/74100.html#74139 HTML page])<br />
* [http://nesdev.org/nlockout.txt Disabling the NES's lockout chip] rev 0.4 by Mark Knibbs.<br />
* [http://nesdev.org/Playchoice.pdf Playchoice 10 Schematics] 1986 Nintendo of America Inc.<br />
* [http://nesdev.org/VS_UniSystem.pdf VS UniSystem Kit Manual] by Nintendo of America Inc. Instructions on changing the game in an NES arcade cabinet, part list, etc.<br />
* [http://nesdev.org/VS_Wiring.pdf VS UniSystem Wiring Diagram] 1984/1985 by Nintendo of America Inc.<br />
* [http://nesdev.org/VSSCHEM.pdf VS UniSystem Schematic] by Nintendo Co. Ltd.<br />
* [http://nesdev.org/nes-on-a-chip.txt "NES on a chip" pinout] v1.0 by Kevin Horton.<br />
* [http://nesdev.org/6578_pinout.pdf NT6578 NES "on a chip" pinout] by Ubaldo Prones.<br />
<br />
===cartridge hardware===<br />
<i>Note: Goroh's docs are in japanese</i><br />
<br />
* [http://nesdev.org/NES%20ROM%20Pinouts.txt NES ROM Pinouts] by Drk. Covers all PRG, CHR, and RAM chips used in NES cartridges.<br />
* [http://nesdev.org/NES%20EPROM%20Conversions.txt NES EPROM Conversions] by Drk. Instructions on how to modify certain boards to use EPROMs.<br />
* [http://nesdev.org/EPROM%20Pinouts.txt EPROM Pinouts] by Drk.<br />
* [http://nesdev.org/fam_pinout.txt Famicom Cartridge Connector Pinout] by Siudym. [http://nesdev.org/fam_pinout.doc DOC version] available.<br />
* [http://nesdev.org/smb2_pinout.txt Super Mario Bros. 2 Pinout] by Siudym. Board is NES-TSROM-07.<br />
* [http://nesdev.org/smb3_pinout.txt Super Mario Bros. 3 Pinout] by Siudym. Board is NES-TSROM-08.<br />
* [http://nesdev.org/solo_pinout.txt Solstice Pinout] by Siudym. Board is NES-ANROM-XX.<br />
* [http://nesdev.org/ww2_pinout.txt Wizards and Warriors 2: Ironsword Pinout] by Siudym. Board is NES-AOROM-03.<br />
* [http://nesdev.org/dkc_pinout.txt Donkey Kong Classics Pinout] by Siudym. Board is NES-CNROM-07. Comments in Polish.<br />
* [http://nesdev.org/goroh1.zip goroh's docs 1] by goroh, translated by Sgt. Bowhack.<br />
* [http://nesdev.org/goroh2.zip goroh's docs 2] by goroh, translated by Sgt. Bowhack.<br />
* [http://nesdev.org/rom.txt NES Cart Types] by Kevin Horton.<br />
* [http://nesdev.org/namco106.txt Namcot 106] by goroh, fix by ZW4 and nori, english translation by nori.<br />
* [http://nesdev.org/maxi15.txt Preliminary Maxi-15 Mapper Hardware Description] by Mark.<br />
* [http://nesdev.org/mappers.zip Comprehensive NES Mapper Document] v0.80 by \Firebug\. Includes viewer program by Troy McLeod.<br />
* [http://nesdev.org/map90v20.txt Mapper 90 Information] v2.0 by Fx3.<br />
* [http://nesdev.org/caltron.txt Caltron / Myriad Games 6-in-1] v1.0 by The Mad Dumper.<br />
* [http://nesdev.org/vrcvii.txt Konami VRC-VII Chip Info] by Kevin Horton.<br />
* [http://nesdev.org/vrcvi.txt Konami VRC-VI Chip Info] by Kevin Horton.<br />
* [http://nesdev.org/vrc6-j.txt Konami VRC-VI] by goroh. Sound info is inaccurate.<br />
* [http://nesdev.org/mmc1.txt Nintendo MMC1] by Matthew J. Richey.<br />
* [http://nesdev.org/mmc2.txt Nintendo MMC2] 01/29/98 by Jim Geffre.<br />
* [http://nesdev.org/mmc3.txt Nintendo MMC3] by goroh.<br />
* [http://nesdev.org/mmc4.txt Nintendo MMC4] by ???<br />
* [http://nesdev.org/mmc5_bank_switch.txt Nintendo MMC5 Bankswitching] by Kevin Horton.<br />
* [http://nesdev.org/mmc5-e.txt Nintendo MMC5] by goroh, translated by Sgt. Bowhack.<br />
* [http://nesdev.org/mapper6.txt Mapper 6] Info on the FFE mapper. By FanWen Yang.<br />
* [http://nesdev.org/16.txt Bandai Mapper] by goroh.<br />
* [http://nesdev.org/bandai-e.txt Bandai Mapper] About Bandai's NES mapper. By goroh, translated by Sgt. Bowhack.<br />
* [http://nesdev.org/jaleco.txt Jaleco Mapper] by goroh.<br />
* [http://nesdev.org/konami-e.txt Konami Mapper] by goroh, translated by Sgt. Bowhack. [http://nesdev.org/konami-j.txt Here] is the japanese version.<br />
* [http://nesdev.org/taito-j.txt Taito Mapper] by goroh.<br />
* [http://nesdev.org/namco.txt Namco Mapper] by goroh.<br />
* [http://nesdev.org/sunsoft.txt Sunsoft Mapper] by goroh, translated by Sgt. Bowhack.<br />
* [http://nesdev.org/40.txt SMB2j aka "The Lost Levels" Mapper #40 Info] 2.08.2000 by The Mad Dumper.<br />
* [http://nesdev.org/42.txt Pirate game "Mario Baby" Mapper #42 Info] 5.29.2000 by The Mad Dumper.<br />
* [http://nesdev.org/225.txt iNES mapper 225] by ???<br />
* [http://nesdev.org/226.txt iNES mapper 226] by Mark.<br />
* [http://nesdev.org/Mari7in1.txt "Mario Party" 7 in 1] by The Mad Dumper.<br />
<br />
==NES Hardware Projects==<br />
<br />
* [http://nesdev.org/lptnes.zip PC NES transfer cable] by sepi. Connects a PC's parallel port to the NES control port. It allows you control a game with a PC keyboard to log and play back button presses.<br />
* [http://nesdev.org/fdsloadr.zip Famicom Disk System Loader] by Brad Taylor. This is the software and documentation for a hardware project to emulate the FDS's disk drive using a PC disk drive via parallel port. Can also copy FDS disk contents to your PC.<br />
* [http://www.tripoint.org/kevtris/Projects/copynes/ CopyNES] by Kevin Horton. NES modification that allows reading and writing of cartridges.<br />
* [http://enio.chykn.com/ ENIO] by Pete Brown. Goal is to give the NES ethernet access to a game server over the Internet.<br />
* [http://breaknes.com Breaking NES] by org. NES chips exploration down to silicon level.<br />
*[[Battery holder]] Processes to replace NES cartridge batteries.<br />
<br />
==Links==<br />
<br />
===Music===<br />
<br />
* [http://nesdev.org/music/ NES Music] NES music in module format.<br />
* [http://nesdev.org/2A03/ Sounds of the 2A03] New, original NES music!<br />
* [http://nesdev.org/NESAudioRipping.zip NES Music Ripping Guide] v1.4 by Chris Covell.<br />
* [http://nesdev.org/nt2re.zip The NED File Format] by Damian Yerrick. A reverse-engineering of NerdTracker 2 file-format.<br />
* [http://nesdev.org/sound.txt Sound test codes] by me. If you know one that isn't in there, tell [mailto:5010.0951@tcon.net me]. Thanks to Bananmos for getting this back to me after my harddisk died.<br />
* [http://nesdev.org/authors.htm NES Music Author List] v3.11 Information from various sources, compiled by Memblers. A never-ending research project that needs your [mailto:5010.0951@tcon.net contributions].<br />
* [http://fripper.fc2web.com/nes_composer.html NES Music Author List] Japanese translation by HAS. Off-site link.<br />
* [http://nesdev.org/sk8ordie.mp3 Skate or Die 2 (title theme)] Recorded by Memblers, through the audio output of an NES. This Rob Hubbard tune uses raw PCM output ($4011) that few (if any) emulators play correctly.<br />
* [http://nesdev.org/comic_bakery.mp3 Comic Bakery] Recorded by Chris Covell. This is an MP3 of how this cover of a Martin Galway song plays on a real NES (The one in the Stars SE demo). It doesn't sound too good, due to some scarcely documented um.. features of the NES's sound hardware. Since it does a great job of highlighting these features, it may be be useful for emulator authors who want to improve their sound emulation accuracy. This MP3 is in stereo, the square waves are in the left channel, the triangle is in the right one. The noise channel isn't used. If you're wondering, these features were compensated for in Bananmos's newest sound code (as used in Solar Wars), and it is now 100% cool on real NES. =)<br />
* [http://2a03.org/ 2A03.org] An archive of new NES music in NSF format.<br />
* [http://www.tripoint.org/kevtris/nes/nsf.html NSF Collection] Here you can get a sorted collection of NSFs, the only bad thing being that the sound effects are removed.<br />
* [http://wayfar.net/ wayfar.net] Makers of MIDINES, a MIDI interface cartridge for NES.<br />
* [http://www.vgmix.com/ VGMIX] A videogame music remix site, with an excellent interface for musicans to add their own works.<br />
* [http://www.vorc.org/ VORC] A Japanese/English chip and game music news site.<br />
* [http://www.zophar.net/nsf/ Zophar's Domain NSF page] The most complete NSF archive around.<br />
* [http://www.nanjamonja.com/ Chibi-Tech's page] Tracked chip music, including NES-style stuff.<br />
* [http://www.parodius.com/%7Ememblers/dropoff7.htm Dropoff 7] Original music, plus NES music remixes and a few real NES tunes recorded with analogue effects.<br />
* [http://www.minibosses.com/ The Minibosses] A band that covered some NES songs, their MP3s available for download here.<br />
* [http://www.ocremix.org/ OverClocked ReMix] A site with remixes (mostly MP3 format) of music from games of many systems.<br />
* [http://nesmusic.zophar.net/ The Best Game Music!] Check it out whether you read Japanese or not, it has music and original content. Also the home of the MCK sound driver.<br />
* [http://www.kontek.net/vgjam/ Video Game Jam] Guitar and bass tablature for game music.<br />
* [http://www.chiptune.com/ Chiptune.com] Chip music in various formats.<br />
<br />
===NES-related===<br />
<br />
* [http://www.egroups.com/group/nesdev NESdev mailing list] A mailing list for NES programmers.<br />
* [http://forums.nesdev.org/ NESdev messageboard] The messageboard for this site.<br />
* [http://www.neshq.com/ NES HQ] A site with a bit of hardware info, a few cart/box scans, and other stuff.<br />
* [http://graphics.stanford.edu/%7Eianbuck/proj/Nintendo/ Hardware Console Design] NES Hardware simulator done in VHDL.<br />
* [http://www.classicgaming.com/nestable/index.shtml NESp] Website for a portable NES project.<br />
* [http://mypage.direct.ca/c/ccovell/nesdev.html Dr. PC Jr. Development Page] A site with technical information and support files for the Dr. PC Jr. (A Chinese computer based on the NES/Famicom)<br />
* [http://www.valesh.com/%7Ejon/computers/nintendo.html Nintendo, America!] A page by Jon Valesh, who worked at Color Dreams.<br />
* [http://nesworld.com/ NES World] An excellent NES site.<br />
* [http://atarihq.com/tsr/ tsr's NES archive] Another good NES site.<br />
<br />
===misc. tech===<br />
<br />
* [http://www.retrousb.com/ RetroZone] Manufacturer of the [[PowerPak]] device for NES and SNES, controller adapters, and custom cartridges.<br />
* [http://www.tototek.com/ Tototek] A supplier of FlashROM-based cartridges for various systems, among other things.<br />
* [http://www.romlab.prv.pl/ RomLabratory] Tons of tech info about cartridges for NES/FC, SNES/SFC, and Sega Genesis/MegaDrive.<br />
* [http://smsflash.8m.com/ SMS Flash devcart and Motherboard Flash Method] How to program a Flash-ROM with a PC motherboard, and SMS devcart instructions.<br />
* [http://www.schells.com/cuttlecart.shtml Cuttle Cart] A RAM cartridge for 2600 with bankswitching support. Loads a ROM through audio input.<br />
* [http://www.smspower.org/ SMS Power] A page with some tech info, demos and sources and stuff for the Sega Master System.<br />
* [http://www.gamesx.com/ GamesX] A page with technical info on various consoles.<br />
* [http://www.io.com/%7Enickb/atariprg.htm Atari 2600 Programming Page] You'd have to be a maniac to program this console.<br />
* [http://quadrun.tripod.com/ Atari 7800 Developer's Page] Info on building a devkit/copier for 2600/7800.<br />
<br />
===home pages===<br />
<br />
* [http://bobrost.com/nes/ Game Development for the 8-bit NES] Bob Rost's site. Lots of interesting NES projects.<br />
* [http://blargg.8bitalley.com/nes-emu/ NES Sound Emulation] Blargg's site.<br />
* [http://www.siudyms.prv.pl/ Siudym's Homepage] Tech info, and other stuff. In Polish and English.<br />
* [http://chewbonesoftware.cjb.net/ Chewbone Software]<br />
* [http://www.parodius.com/%7Ememblers/games/ Strangulation Games] Unlicensed NES game developer.<br />
* [http://pineight.com/ Damian Yerrick's page] NES and PC games and demos.<br />
* [http://www.disgruntleddesigner.com/chrisc/ Chris Covell's page] Some interesting stuff, and even an explanation of how to convert your NES to have stereo sound!<br />
* [http://www.tripoint.org/kevtris BlueTech] Kevin Horton's page. Tech info, pictures and descriptions of some amazing home-made devices.<br />
* [http://wwwkenya.freeuk.com/markk/ Mark Knibb's page] Some console tech info, plus some Amiga and C64 stuff.<br />
* [http://memblers.com/ Memblers' page] Info about Dropoff 7 (the band I'm in), and downloadable music in MP3, NSF, and iNES format.<br />
<br />
===6502===<br />
<br />
* [http://www.npsnet.com/danf/cbm/cross-development.html 6502 Cross-Development Languages and Tools]<br />
* [http://www.ffd2.com/fridge/ The Fridge] 6502 source code archive.<br />
* [http://atarihq.com/danb/6502.shtml Dan Boris's 6502 Page]<br />
* [http://6502.org/ 6502.org]<br />
* [http://users.telenet.be/kim1-6502/6502/proman.html MOS 6502 programming manual]<br />
<br />
===misc 6502===<br />
<br />
* [http://micro.magnet.fsu.edu/chipshots/mos/index.html Magnified pictures of a 6502]<br />
<br />
<center>[[File:Mbar.gif|400px]]</center><br />
<br />
<center><font size="1">graphics were ripped from other pages.</font></center><br />
<br />
Horde soldier: "Surrender, citizen!"<br><br />
Bo: (laughs) "I'm not a citizen, I'm a rebel."<br><br />
-from the He-Man cartoon, The Secret of the Sword.</div>Veinassolayhttps://www.nesdev.org/w/index.php?title=Installing_CC65&diff=6029Installing CC652017-10-21T15:33:40Z<p>Veinassolay: Installing on a Mac OS X with Homebrew</p>
<hr />
<div>An '''assembler''' is a program that translates assembly language source code into machine code.<br />
A commonly used assembler that produces machine code for 6502 CPUs is '''CA65''', which is distributed as part of the '''CC65''' package.<br />
These instructions tell how to install and run CA65 on Windows 2000 or Windows XP.<br />
<br />
== Configuring Windows ==<br />
Windows is shipped with file name extensions hidden in Windows Explorer.<br />
This misfeature was originally intended to make Windows 95 look more like Mac OS 7.5, which did not use file name extensions.<br />
But hiding makes it easier to accidentally create a file name with two extensions.<br />
Worse yet, destructive software such as the ILOVEYOU worm ([[wikipedia:ILOVEYOU|Wikipedia article]]) has shipped with two extensions: one to indicate to the operating system that the file is executable and one to fool the user into thinking that the file is not executable (and thus safe).<br />
The first thing we will do is turn on the display of file name extensions in Windows Explorer:<br />
<br />
#Open Control Panel. (This may be in Start > Control Panel or Start > Settings > Control Panel.)<br />
#In Windows XP, if "Pick a category" shows up at top center of the window, click "Switch to Classic View".<br />
#Open Folder Options and activate the View pane.<br />
#In the scrolling list of Advanced Options, turn make sure that "Hide extensions for known file types" is ''not'' checked.<br />
#Press OK to put the change into effect.<br />
<br />
== Configuring 7-Zip ==<br />
<br />
Windows 2000 does not come with software to extract files from PKZIP archives.<br />
Windows XP comes with a bare-bones archiver called Compressed Folders that can only handle PKZIP archives (<code>.zip</code>), not rar or 7z or tar or gz or bz2 files.<br />
The [http://www.7-zip.org/ 7-Zip package] can extract files from all of them, as well as add files to PKZIP and 7-Zip archives.<br />
<br />
== Downloading CC65 ==<br />
<br />
#Read the [http://www.cc65.org/ front page of CC65's web site].<br />
#Scroll down to "Download". At the bottom of this section is a list of mirrors.<br />
#Enter one of the mirrors, and download the <code>cc65-win32-''#####''.zip</code> and <code>cc65-doc-''#####''.zip</code> packages to your computer. (The ''#####'' represents a version number, such as 2.11.0-1, which may change before you read this.) The <code>cc65-win32</code> contains the CC65 package compiled for Windows, and <code>cc65-doc</code> contains the manual.<br />
#Extract <code>cc65-win32-''#####''.zip</code> to a new folder.<br />
#Open this folder and run the <code>install.vbs</code> file as an administrator to copy it to Program Files.<br />
#Delete this folder.<br />
<br />
Log out and log in to complete installation.<br />
<br />
== Building CC65 on Ubuntu (Linux) ==<br />
<br />
Absolute easiest method:<br />
<br />
[http://www.trikaliotis.net/debian Debian Hosting]<br />
<br />
Set up you repository there as it says on the homepage.<br />
Using software sources and import the gpg key.<br />
or<br />
add:<br />
deb http://debian.trikaliotis.net/ stable contrib<br />
to your software sources list.<br />
<br />
Download: [http://www.trikaliotis.net/spiro.pgp KeyFile]<br />
add to authentication sources.<br />
<br />
Then:<br />
sudo apt-get install cc65<br />
<br />
Done.! Enjoy.<br />
<br />
//------------------<br />
<br />
Note: I'll add a link to the compile.txt in the docs at the cc65 site later.<br />
Note2: I must be really tired, I never even thought of just modifying the makefile. <br />
Note2: Ignore "Method 2". And I'll clean this up in the morning. <br />
Note3: If enough people want it and tell me so on the userpage, I'd be more than willing to upload a package somewhere.<br />
<br />
<br />
Unzip the source, move that top-level folder somewhere; I just dragged it from the archive onto the Desktop.<br />
Open a terminal and get to your Desktop folder (or where ever you put it):<br />
<br />
$ cd cc65-VERSION/make<br />
$ make -f make/gcc.mak<br />
<br />
Now once that finishes, rename gcc.mak to makefile, then open it, and remove the text "make/" from <br />
line 37. If you don't want a particular executable installed (and also packaged), on line 134, remove<br />
the name of the program. If you're programming for the NES, chances are you don't need the C compiler,<br />
so you'd remove "cc65". Next, you'll need to rename the top-level make folder to the name of its parent folder, as checkinstall will otherwise use "make" as the name of the package. I did this by accident, and it took me<br />
a whole 15 minutes to force the reinstallation of the make utility and make sure the spurious/incorrectly named cc65 package was removed. After you remove the top-level make to the same as the parent, enter that newly renamed folder and run "sudo checkinstall". Give it a nice descriptive name, modify any other items you feel like, and<br />
hit enter. It should do its thing, install the program, and output a .deb package into the folder.<br />
<br />
I did not use this method, so attempt it carefully. I used the below method which doesn't modify any files<br />
but it does copy the ENTIRE directory tree into itself, along with some more complex directory/file renaming.<br />
<br />
METHOD 2<br />
<br />
Replace VERSION with the rest of the folder name after "cc65-". It doesn't take long to make the entire suite of programs. After you've built it, you could probably install by just saying "make -f make/gcc.mak install", and perhaps you'll want to (I didn't try this). Others, such as myself, want to make sure it can be removed. For this, we use the checkinstall program. The problem is, the installation runs a script file with a hardcoded path from the main directory to place each executable. While you could play with the makefile, I had success with a somewhat more hackish solution:<br />
<br />
Rename the make directory to the same thing as the top level cc65 directory. Then, enter the directory you just renamed and create a folder called make. Put a copy of install-sh into this new make folder. Now copy all the folders except the recently renamed one INTO the recently renamed one. Then, rename gcc.mak to makefile and run "sudo checkinstall" from the directory that has makefile in it (Desktop/cc65-2.10.1/cc65-2.10.1 for example).<br />
<br />
== Installing CC65 on Mac OS X ==<br />
Using Homebrew: On computer with Homebrew installed, open Terminal and type "brew install cc65". Everything else should be automatic.</div>Veinassolayhttps://www.nesdev.org/w/index.php?title=Programming_guide&diff=10685Programming guide2017-10-18T13:31:39Z<p>Veinassolay: Moved the battery holder project from programming guide to NES Hardware projects on Nesdev Homepage and the projects page. It didn't seem to be much of a programming issue</p>
<hr />
<div>This programming guide is the complement to the [[NES reference guide]]. You will find more in-depth documentation about specific topics, tutorials on the most common problems encountered, a list of existing tools that will assist you during you development phase and more. If you're new to NES development, you should give a look to the "[[Getting started]]" section first.<br />
<br />
=== Getting started ===<br />
*[[Before the basics]]<br />
*[[Installing CC65]]<br />
*[[Programming Basics]]<br />
<br />
=== General reference ===<br />
* [[PPU power up state#Best practice|Waiting for the PPU to power on]]<br />
* [[CHR-ROM vs CHR-RAM]] and how to switch an NROM project from the former to the latter<br />
* [[Emulation Libraries]]<br />
* [[Catch-up]] technique used by emulators<br />
* [[PowerPak]] / [[Everdrive N8]]<br />
* [[Music]]: [[:Category:Expansion audio|Expansion audio]]<br />
* [[Tools]] &mdash; includes assemblers, disassemblers, graphics, music/audio, and emulator-related utilities<br />
<br />
=== Tutorials === <br />
* [[CPU|CPU basics]]<br />
* [[APU basics]]<br />
* [[Compression]]<br />
** [[Fixed Bit Length Encoding]]<br />
* [[Programming mappers]]<br />
** [[Programming UNROM|UNROM and UOROM]]<br />
** [[Programming MMC1|MMC1]]<br />
* Programming Techniques<br />
** [[6502 assembly optimisations]]<br />
** [[RTS Trick]]<br />
** [[Jump Table]]<br />
** [[Scanning Tables]]<br />
** [[Scanning Large Tables]]<br />
** [[Synthetic Instructions]]<br />
** [[Programming with unofficial opcodes]]<br />
** [[Pointer table]]s<br />
** [[Divide by 3]]<br />
** [[Multibyte constant]]<br />
* [[Limitations]]<br />
* [[Emulation Tutorials]]<br />
* How to organize data (interleaved, column based, screen based compressed etc)<br />
* [[Sample RAM map]]<br />
* [[PPU scrolling]]<br />
** How to scroll an infinite map<br />
** How to scroll with less artifact<br />
** How to split the screen for a status bar<br />
** How to do parallax scrolling with the scroll register<br />
* [[Sprite size]]<br />
* [[How to make raster effects]] by Bregalad ([http://jonathan.microclub.ch/NES_raster/nes_raster.txt external link])<br />
* How to keep state<br />
* Frame based algorithm<br />
* [[The frame and NMIs]] by Disch<br />
** [[NMI thread]]: Make your status bar rock-solid<br />
* Trick of the trade from well known commercial games<br />
* Music, how to make, to play, sound fx<br />
** [[Nerdy Nights sound]]<br />
* Do and don't<br />
<br />
=== Libraries and samples ===<br />
* [[Programming Libraries]]<br />
* [[Placeholder graphics]]<br />
* [[Nerdtracker player in NESASM]]<br />
* [http://forums.nesdev.org/viewtopic.php?p=142703#p142703 RLE decompression code for CHR] by [[User:Koitsu|koitsu]]<br />
* [[Random number generator]]<br />
<br />
=== Reverse engineered techniques ===<br />
* [[Bad Apple]] video compression<br />
* [http://forums.nesdev.org/viewtopic.php?t=5860 Codemasters tile compression]<br />
* [http://forums.nesdev.org/viewtopic.php?t=8675 Big Bird's Hide and Speak sample compression]<br />
* [http://forums.nesdev.org/viewtopic.php?t=8609 Battletoads text compression] (Huffman coding)<br />
* [http://forums.nesdev.org/viewtopic.php?t=8588 Rad Racer rendering]<br />
<br />
=== Useful reference materials ===<br />
==== Books ====<br />
* Cady, Fredrick M. (1997). ''Microcontrollers and Microcomputers: Principles of Software and Hardware Engineering''. New York: Oxford University Press. ISBN 0-19-511008-0.<br />
* Eyes, David; Lichty, Ron (1986). ''Programming the 65816 including the 6502, 65C02, and 65802''. New York: Brady Books/Prentice Hall Press (Simon & Schuster, Inc). ISBN 0-89303-789-3.<br />
* Fernandez, Judi N. (1983). ''6502 Assembly Language Programming (Self-teaching Guides)''. John Wiley & Sons Inc. ISBN 978-0471861201.<br />
* Leventhal, Lance A. (1986). ''6502 Assembly Language Programming 2nd Edition''. Osborne/McGraw-Hill. ISBN 0-07-881216-X.<br />
* Zaks, Rodnay (1983). ''Programming the 6502 (Fourth Edition)''. Sybex, Inc. ISBN 0-89588-135-7.<br />
* Zaks, Rodnay (1982). ''Advanced 6502 Programming''. Sybex, Inc. ISBN 0-89588-089-X.<br />
* Zaks, Rodnay (1980). ''Programming the 6502 (Third Edition)''. Sybex, Inc. ISBN 0-89588-046-6.<br />
<br />
==== Online ====<br />
* [http://65xx.com/Products/Programming_and_Hardware-Manuals/ Programming the 65816 (including the 6502, 65C02, and 65802)] by Western Design Center<br />
*# [http://www.westerndesigncenter.com/wdc/documentation/Programmingthe65816_ProgManual.pdf Programmingthe65816_ProgManual.pdf] &mdash; 54MBytes, created 2015/03/27.<br />
*#* This is a full scan of the original Eyes/Lichty book using full images for each page, with the added bonus of OCR being applied so that text is searchable and copy-paste-able. Accurate/reliable given the nature of the scan. A backup copy, if the 65xx.com site is down, [http://jdc.koitsu.org/lj/Programmingthe65816_ProgManual.pdf is available] via [[User:Koitsu|Koitsu]].<br />
*# [[Media:Programmanual.pdf|Programmanual.pdf]] (a.k.a. WDC65C816_Program_Manual.pdf) &mdash; 1.7MBytes, created 2007/04/16.<br />
*#* This is a "pure text" version of the Eyes/Lichty book, however it is rife with very dangerous typos (wrong opcodes, etc.) in many areas, and contains a large number of formatting/layout mistakes not present in the original book. Bill Mensch (6502/65C02/65816 architect/designer) [http://forums.nesdev.org/viewtopic.php?p=142722#p142722 confirmed these mistakes], stating WDC is in the process of fixing them. If at all possible, use the newer PDF mentioned above.<br />
*#* It is suspected that WDC has pulled this PDF entirely from [http://65xx.com/Products/Programming_and_Hardware-Manuals/ their website], instead advocating purchasing a "redone" version of the Lichty/Eyes book via Amazon. Kindle and paperback versions are available, but I ([[User:Koitsu|Koitsu]]) have not reviewed it.<br />
<br />
=== Links ===<br />
*[http://www.zophar.net/documents/6502/6502-txt.html The infamous 6502.txt]: allegedly complete info on the 6502 instructions<br />
*[http://www.atariarchives.org/mlb/ Machine Language for Beginners]: a 1983 introduction to 6502 assembly language</div>Veinassolayhttps://www.nesdev.org/w/index.php?title=Nesdev&diff=9204Nesdev2017-10-18T13:30:43Z<p>Veinassolay: Moved the battery holder project from programming guide to NES Hardware projects on this page and the projects page. It didn't seem to be much of a programming issue</p>
<hr />
<div><center>[[File:Nesdev1_Tokumaru.png|500px]]</center><br />
<br />
==Notices==<br />
<br />
*<b>Do not download full copies of the site through the webserver. Use the [ftp://ftp.parodius.com/pub/nesdev/nesdev_weekly.zip FTP mirror]</b> or the <!--[ed2k://%7Cfile%7CNES_Programming_Info_-_Music_-_Demos_-_and_Tools_%28Dec_15th_2003%29.zip%7C56571866%7C2CCCB5E5C07F9BE4B1C05AB9497A4C6E%7C/%7Csources,68.58.99.218:4900%7C/--> ED2K mirror<br />
* [http://forums.nesdev.org/ The messageboards] are open. The [http://nesdev.org/cgi-bin/wwwthreads/wwwthreads.pl old boards] are still readable.<br />
* Consider making a donation of any amount to help pay for hosting costs (which includes every site hosted on Parodius). The paypal link will be found on [http://www.parodius.co Parodius' main page].<br />
* An NES dev cartridge is in production by Membler Industries. More details to come.<br />
<br />
<center>[[File:Mbar.gif|400px]]</center><br />
<br />
==Text files==<br />
===NES===<br />
General information about the Nintendo Entertainment System, or Famicom.<br />
<br />
* [http://nesdev.org/NESDoc.pdf Nintendo Entertainment System Documentation] v1.0 by Patrick Diskin.<br />
* [http://nesdev.org/NinTech.txt NinTech] by Blue Hawk.<br />
* [http://nesdev.org/2A03%20technical%20reference.txt 2A03 technical reference] First release (4-23-2004), by Brad Taylor. Covers everything related to the NES's CPU, including sound. The linear counter section needs to be written, if anyone experienced with this is interested in documenting it, please post on the forum.<br />
* [http://nesdev.org/2C02%20technical%20reference.TXT NTSC 2C02 technical reference] First release (4-23-2004), by Brad Taylor. Lots of information about the NTSC version of the NES PPU.<br />
* [http://nesdev.org/apu_ref.txt NES APU Sound Hardware Reference] 2004.1.30 by Blargg<br />
* [http://nesdev.org/NES101.zip NES 101] by Michael Martin. An NES programming tutorial for those who know 6502 assembly.<br />
* [http://nesdev.org/NESprgmn.txt Programming that 8-bit beast of power, the NES] v.80.666 by joker21@earthlink.net.<br />
* [http://nesdev.org/NESTechFAQ.htm NES Technical FAQ] v1.4 by Chris Covell.<br />
* [http://nesdev.org/nesdoc2.txt NES Tech doc (French)] by Crispysix.<br />
* [http://nesdev.org/ndox200.zip Nintendo Entertainment System documentation] v2.0 by Jeremy Chadwick.<br />
* [http://nesdev.org/nestech_cn.txt Nintendo Entertainment System documentation (Chinese)] v2.0 by Jeremy Chadwick, translation by Blue Potato.<br />
* [http://nesdev.org/nestechd.txt Nintendo Entertainment System documentation (Dutch)] v2.0 by Jeremy Chadwick, translation by A.A.J. Bouwmans.<br />
* [http://nesdev.org/NESTECJ.TXT Nintendo Entertainment System documentation (Japanese)] v.53 by Jeremy Chadwick, translation by (?).<br />
* [http://fms.komkon.org/EMUL8/NES.html NES System Architecture] v2.4 by Marat Fayzullin.<br />
* [http://dendy.city.tomsk.net/arhit.htm NES System Architecture (Russian)] v1.4 by Marat Fayzullin, partial translation by (?)<br />
* [http://nesdev.org/nes_c.txt NES System Architecture (Chinese)] v2.2 by Marat Fayzullin, translation by Wu Jian.<br />
* [http://nesdev.org/NES_J.TXT NES System Architecture (Japanese)] v1.4 by Marat Fayzullin, translation by Bero.<br />
* [http://nesdev.org/nesguide.zip NES Programming Guide] v.4 by Bokudono and Waseiyakusha.<br />
* [http://nesdev.org/loopyppu.zip The Skinny on NES Scrolling] by loopy.<br />
* [http://nesdev.org/nesscroll-sp.pdf The Skinny on NES Scrolling (Spanish)] by loopy, translated by Hyde.<br />
* [http://nesdev.org/nesscroll-pt.pdf The Skinny on NES Scrolling (Portuguese)] by loopy, translated by Hyde.<br />
* [http://blargg.8bitalley.com/nes-emu/dmc/ Detailed DMC Operation] by blargg. Information about how the DMA uses the sample buffer. Off-site link.<br />
* [http://nesdev.org/nesgfx.txt How NES Graphics Work] A document describing the basics.<br />
* [http://nesdev.org/nesgfx-d.txt How NES Graphics Work (Dutch)] A document describing the basics. Translation by A.A.J.Bouwmans.<br />
<br />
=== 6502 ===<br />
Information about the 6502. The NES's 2A03 CPU is a modified 6502.<br />
<br />
* [http://nesdev.org/nesdoc1.txt Assembleur sur NES (French)] v0.9 by Crispysix.<br />
* [http://nesdev.org/r650x.zip Rockwell 650x and 651x specs] Official specifications for the 6502 family.<br />
* [http://nesdev.org/6502.txt 6502 Microprocessor info] Excerpt from the Commodore 64 Programmers Reference Manual.<br />
* [http://nesdev.org/6502_cn.txt 6502 Microprocessor info (Chinese)] From the Commodore 64 Progammers Reference Manual, translation by Blue Potato.<br />
* [http://nesdev.org/6502_cpu.txt NMOS 65xx Instruction Set] From a C64 emulator and devkit.<br />
* [http://nesdev.org/6502guid.txt Assembly in one step] A brief guide to programming the 6502 in assembly language.<br />
* [http://nesdev.org/6502jsm.zip 6502 Instruction Summary] A list of opcodes and addressing modes. Originally by RTK, modified by CricketNE<br />
* [http://nesdev.org/opcodes.txt 6502 Opcodes] In japanese. By famtasiaに添付されてたと思った (?)<br />
* [http://nesdev.org/6502bugs.txt 6502 bugs] A list of known bugs in the 6502.<br />
* [http://nesdev.org/mathv1r_lib.txt mathpac] by Matt Malone. Some math routines in 6502.<br />
* [http://nesdev.org/dr6502-docs.zip DR6502 Docs] by M.J.Malone. This documentation for a 6502 simuator contains extensive 6502 information.<br />
* [http://nesdev.org/undocumented_opcodes.txt Undocumented Opcodes] v3.0 by Freddy Offenga. Based on the Atari 8-bit 6502.<br />
* [http://nesdev.org/extra_instructions.txt Extra Instructions of the 65XX Series CPU] 11-27-96 by Adam Vardy.<br />
* [http://wiki.breaknes.com/6502 Circuit-level 6502 description (russian)] ([http://translate.google.ru/translate?sl=ru&tl=en&u=http%3A%2F%2Fwiki.breaknes.com%2F6502&act=url google translate])<br />
<br />
=== Famicom Disk System ===<br />
Information about the Famicom's floppy disk add-on.<br />
<br />
* [http://nesdev.org/FDS%20technical%20reference.txt Famicom Disk System technical reference] 3rd release (4-23-2004), by Brad Taylor. Comprehensive FDS technical docs.<br />
* [http://nesdev.org/fdsloadr.zip Famicom Disk System Loader] by Brad Taylor. This is the software and documentation for a hardware project to emulate the FDS's disk drive using a PC disk drive via parallel port. Can also copy FDS disk contents to your PC.<br />
* [http://nesdev.org/fdscopy.zip FDS Copy Tool] info from a book in Japanese. Contributed by Tomy.<br />
* [http://nesdev.org/fds-copytool2.zip FDS copy tool 2] Japanese docs, scanned by Tomy.<br />
* [http://nesdev.org/FDSSOUND_v1.1.txt Nintendo Disksystem Sound] v1.1 by Norix. In Japanese.<br />
* [http://nesdev.org/FDS.txt FDS Sound] 07/14/2004 by Disch.<br />
* [http://nesdev.org/fds-nori.txt Famicom Disk System info] by Nori. (in Japanese)<br />
* [http://nesdev.org/fds-e.txt Famicom Disk System] by Nori, translated by Ki.<br />
* [http://nesdev.org/disksystem.txt Famicom Disk System info] by goroh.<br />
* [http://nesdev.org/diskspec.txt Famicom Disk System info] by goroh, translated by Sgt. Bowhack.<br />
* [http://nesdev.org/diskinfo.txt Disk Info]<br />
<br />
=== Etc. ===<br />
Information about the NES/Famicom's add-ons, or anything that doesn't pertain to another category.<br />
<br />
* [http://nesdev.org/SH657XTool_release.zip SH657X Toolkit] A huge amount of info, tools, and demos, for an NES clone system using the 657x IC.<br />
* [http://nesdev.org/NES_ADAPTER.txt NES to Famicom Adapter] 72 to 60-pin wiring info.<br />
* [http://nesdev.org/zapper_to_famicom.txt Connecting NES Zapper to Famicom] Wiring info.<br />
* [http://nesdev.org/vsdoc.txt VS UniSystem Information] v1.0 by Fx3.<br />
* [http://nesdev.org/pc10doc.txt Nintendo Playchoice 10 Hardware Description] v0.2 by Oliver Achten.<br />
* [http://nesdev.org/pc10bios.zip New Playchoice 10 BIOS] v0.1 by Oliver Achten. Allows the Playchoice 10 arcade machine to run NES carts.<br />
* [http://nesdev.org/megm1rom.txt Megaman 1 ROM Tech] v0.13 by AlphaBeta. Info on Megaman 1's ROM data structure.<br />
* [http://nesdev.org/ffpa.txt Famicom Four-Player Adapter] v1.0 by Richard Hoelscher. This adapter works differently than the ones for NES.<br />
* [http://nesdev.org/Excite_Boxing-english.txt Excite Boxing] by goroh, english translation by Ki.<br />
* [http://nesdev.org/Light_Gun-english.txt Family Computer Gun] by goroh, english translation by Ki.<br />
* [http://nesdev.org/keyboard.txt Famicom keyboard info] by goroh.<br />
* [http://nesdev.org/Keyboard-english.txt Reverse Engineering the Keyboard of Family Computer] by goroh, english translation by Ki.<br />
* [http://nesdev.org/NESHDRJ.TXT Mapper Information for Emulation] by ???. In Japanese.<br />
* [http://nesdev.org/powerpad.txt Power Pad information] v1.2 by Tennessee Carmel-Veilleux.<br />
* [http://nesdev.org/famitra.txt Family Trainer] by goroh.<br />
* [http://nesdev.org/nesdevma.zip NESdev Mailing list] An archive of postings from Jan 22 1998, to March 25 1999. Go to [http://gamesource.groups.yahoo.com/group/nesdev/ Yahoo Groups] to subscribe. (No activity since February 2006.)<br />
* [http://nesdev.org/nesgg.txt NES Game Genie Format] v.071 by Benzene.<br />
* [http://nesdev.org/nes4play.txt NES 4 Player Adapter Documentation] v.9 by Fredrik Olsson.<br />
* [http://nesdev.org/random.txt Marat's doc randomized] not of any use, but slightly amusing.<br />
<br />
=== Emulation ===<br />
Information related to the emulation of the NES/Famicom.<br />
<br />
* [http://nesdev.org/NES%20emulator%20development%20guide.txt NES emulator development guide] 4th release (4-23-2004), by Brad Taylor. Lots of information and techniques about emulating the NES.<br />
* UNIF File format specification An upcoming new format for NES roms.<br />
* [http://nesdev.org/iNES.txt iNES Header Format] march 2000 by rvu.<br />
* [http://nesdev.org/neshdr20.txt iNES Header Format] v2.0 by VmprHntrD.<br />
* [http://nesdev.org/nespalette.zip NES Palette] v1.1 by merp. NTSC and PAL versions converted from BMF's and Matrixz's NES palettes in photoshop, paint shop pro, and microsoft format.<br />
* [http://nesdev.org/kevin_palette.txt NES palette generator] 4-08-00 by Kevin Horton. Written in BASIC.<br />
* [http://nesdev.org/nespal.txt NES Palette] by Matt Conte.<br />
* [http://nesdev.org/pal.txt NES Palette] by Loopy.<br />
* [http://nesdev.org/staform.txt .STA format] NESticle .43 save state format info. By goroh.<br />
<br />
=== Dr. PC Jr. ===<br />
The Doctor PC Jr. is a Chinese computer based off the NES/Famicom. Visit [http://mypage.direct.ca/c/ccovell/nesdev.html Dr. PC Jr. Development Page] for extended information.<br />
<br />
* [http://nesdev.org/DrPCJrBIOS.zip BIOS ROM] A dump of the BIOS ROM from the Dr. PC Jr.<br />
* [http://nesdev.org/DrPCJrDOS.zip DOS disk] The files from the OS disk of the Dr. PC Jr.<br />
* [http://nesdev.org/CATalogue.zip CATalogue] v1.0 by Chris Covell. Uses the 'Cue-Cat'.<br />
<br />
=== SNES ===<br />
The well-known sequel to the NES, both castrated and enhanced. Only stuff unavailable elsewhere will be featured here.<br />
<br />
* [http://nesdev.org/SNES-starterkit.zip SNESdev starter kit] by neviksti. Includes an assembler, example programs, docs, and tools.<br />
* [http://nesdev.org/sreader.zip SNES Cartridge Reader] by Lucas Siudym.<br />
* [http://nesdev.org/eprcart4.zip SNES Cart Hacking Info] v0.4 by Lucas Siudym. Includes pin-outs and diagrams showing how to modify SNES cartridges to use EPROMs.<br />
* [http://en.wikibooks.org/wiki/Super_NES_Programming/Initialization_Tutorial SNES Central Development Page] Off-site link.<br />
* [http://www.zophar.net/documents/snes.html Zophar's Domain - SNES Tech Docs] Offsite link. More SNES stuff.<br />
* [http://www.zophar.net/tech/65816.html Zophar's Domain - 65816 Docs] Offsite link. Docs about the SNES's CPU. An enhanced, yet backwards compatible, 16-bit version of the 6502.<br />
<br />
==NES Programs==<br />
<br />
See [[Projects]].<br />
<br />
==NES Development Tools==<br />
===PC Programs===<br />
====6502 Tools====<br />
<br />
* [http://github.com/christopherpow/nesicide NESICIDE] v.0.2 by Christopher S. Pow. The NES "Incredibly Cool" Integrated Development Environment, which aims to encompass the full lifecycle of NES ROM development. Off-site link.<br />
* [http://nesdev.org/6502mnemonix.zip 6502 hex-to-mnemonix] by juicy_killa@hotmail.com. A convenient reference program for viewing hex codes for 6502 opcodes. Email the author if you have any corrections or suggestions.<br />
* [http://nesdev.org/fasm10.zip FASM] v1.0 by Toshi Morita. Quote from the docs: FASM was written as a quick replacement for the 2500 AD assembler for Nintendo 8-bit development. GPL license.<br />
* [http://nesdev.org/idafw.zip Interactive Disassembler] freeware version, by DataRescue. The commercial version is better, but it's expensive.<br />
* NESrev v.013 by Kent Hansen. This disassembler detects the differences between code and data, and aims to produce output that can be reassembled. Works with 16KB programs. [http://nesdev.org/NESrev.java [Java source]]<br />
* [http://bobrost.com/nes/resources.php#devtools nbasic] A high-level programming language for 8-bit NES development, by Bob Rost. Off-site link.<br />
* [http://hkn.berkeley.edu/~mcmartin/P65/ P65 Assembler] A portable 6502 assembler written in Perl. Off-site link.<br />
* [http://www.villehelin.com/wla.html WLA DX] A portable GB-Z80/Z80/6502/6510/65816 macro assembler. Linux and MS-DOS versions available. Off-site link.<br />
* [http://www.cc65.org/ CC65] A portable 6502/65c02/65c816 assembler, linker, and C compiler. Off-site link.<br />
* [http://nesdev.org/x816112f.zip X816] An assembler for 6502/65c816. By minus.<br />
* [http://nesdev.org/s6502b10.zip 6502 SDK] Quoted from the docs: ''The kit is an Integrated Development Environment (IDE) similar to Borland ones, which allows you to edit, compile and (hopefully) debug your Assembly code for 65xx processors. It includes a (still rudimental) emulator and a project manager for multiple file applications.'' Requires Win3.11 or higher. Here's the [http://nesdev.org/s6502src.zip source code].<br />
* [http://nesdev.org/nesasm.zip Nintendo Assembler] v.1 by Charles Doty, David Michel, and J.H. Van Ornum.<br />
* [http://nesdev.org/md6502.zip Minachun Disassembler for 6502 Famicom(NES)] v.04a. Features Japanese language and mapper support. Source included, with an English language option.<br />
* [http://nesdev.org/tracer.zip TRaCER] A disassembler for 6502/65c816. By Y0shi.<br />
* [http://nesdev.org/6502sim.zip 6502 Simulator] by Dan Boris.<br />
* [http://nesdev.org/dasm32.zip DASM] v2.12 by Mathew Dillon<br />
* [http://sf.net/projects/neslisp neslisp] v0.0.17 by erana (Commodore 64 native version at http://sf.net/projects/neslispc64 v0.0.17 and up)<br />
* [http://sf.net/projects/ados-os-nes ados-nes] v0.1.13 by erana<br />
* [http://sourceforge.net/projects/arm-lisp arm-lisp] v0.2.73 by erana (ARMv7 and 6502 target included.)<br />
* [http://michaelcmartin.github.io/Ophis/ Ophis] 6502/65C02 assembler for Windows/Mac/Linux by Michael Martin<br />
<br />
====Graphic Tools====<br />
<br />
* [http://nesdev.org/tilemolester-0.16.zip Tile Molester] v0.16 by Kent Hansen. This tile editor requires [http://java.sun.com/j2se/1.4.2/download.html Java], and supports NES as well as other console formats.<br />
* [http://www.zophar.net/utilities/graphutil/yy-chr.html YY-Chr] by YY. A multi-format tile editor. Available in Japanese and English.<br />
* [http://nesdev.org/bmpnes.zip BMPNES] v1.8 by ninjasuperk. Spanish BMP to NES format converter. Includes some utils by Chis Covell.<br />
* [http://nesdev.org/tlp10.zip Tile Layer Pro] v1.0 by SnowBro. Tile editor.<br />
* [http://nesdev.org/CHR_Creator.zip CHR-ROM Creator] v1.1 by Stefan Fausser. An NES tile editor. [http://nesdev.org/vb40032.zip VB40032.DLL] is required.<br />
* [http://opentume.co.cc/ Open tUME] A 2D level editor designed for game development, check it out!<br />
* [http://nesdev.org/nsa01b.zip NES Screen Arranger] Uses NES graphics from a .CHR file and let's you set up the name and attribute tables, with optional RLE compression. By SnowBro.<br />
* [http://nesdev.org/tlay050b.zip Tile Layer] v0.50b. Let's you edit graphics from roms for various consoles. By SnowBro.<br />
* [http://nesdev.org/bmp2nes.zip BMP2NES] by [mailto:q7h1460@hotmail.com 7h1460]. Converts BMP graphics to the NES's format.<br />
* [http://nesdev.org/raw2chrDOS.zip RAW2CHR] by Chris Covell. Converts graphics from RAW to the NES's format.<br />
* [http://nesdev.org/charlieDOS.zip CHARlie] by Chris Covell. Optimizes graphics by removing redundant tiles.<br />
* [http://nesdev.org/chr2namDOS.zip CHR2NAM] by Chris Covell. Creates a nametable from an image file.<br />
====Misc.====<br />
* [http://ucon64.sourceforge.net/ uCON64] (offsite link) ROM management utility. Can convert between file formats, split iNES images into PRG and CHR ROMs (use Pasofami format to do this), and much more.<br />
* [http://nesdev.org/ggconv.zip Game Genie Code Coverter] v4.0 by Zazer. Create new, or decode existing Game Genie codes for NES and all other GG-platforms.<br />
* [http://nesdev.org/rollcost.zip Roller Coaster] by Pan/ATX. This program can generate various sine and non-repeating random data tables to use in your games/demos.<br />
* [http://nesdev.org/fdsloadr.zip Famicom Disk System Loader] by Brad Taylor. This is the software and documentation for a hardware project to emulate the FDS's disk drive using a PC disk drive via parallel port. Can also copy FDS disk contents to your PC.<br />
* [http://nesdev.org/legwizar.rar Legacy of the Wizard map viewer] by Brad Taylor. Programs to view the maps from this game. Includes a bitmap graphic of the entire map.<br />
* [http://nesdev.org/FDSListWIN.zip FDSList] v1.2 by Chris Covell. Lists and extracts files from Famicom disk images. Supports FDS format.<br />
* [http://nesdev.org/decrom20.zip Decrom] v2.0 by Fx3. Converts VROM graphics into ascii.<br />
* [http://nesdev.org/vrc7test.zip VRC-VII Emulator] By Kevin Horton. VRC7 is a Konami mapper/sound-chip, with FM synthesis.<br />
* [http://nesdev.org/vrcvibas.zip VRC-VI Emulator] Written in qbasic, by Kevin Horton.<br />
* [http://nesdev.org/hexpo215.zip Hexposure] v0.215. A Hex editor by SnowBro.<br />
<br />
====Sound Tools====<br />
<br />
* [http://nesdev.org/nt2/ Nerdtracker 2] beta version by Bananmos. A DOS/Win9X NES music tracker. The NT2 site also has replay source code for NES, an assortment of songs made by NT2 users, and more.<br />
* [http://dutycyclegenerator.com/nijuu/nijuu.html Nijuu] v0.1b by Neil Baldwin. A NES music engine that converts tracks defined in text files into NES or NSF files. Off-site link.<br />
* [http://www.geocities.co.jp/Playtown-Denei/9628/ MCK] by Izumi. A sound driver using MML format. Off-site link.<br />
* [http://nesdev.org/ned2nsf10.zip NED2NSF] v1.0 by Matrixz. Windows program that can make a single-song NSF from a NED file (Nerdtracker 2 format). Does not support NEDs with DMC samples, currently.<br />
* [http://nesdev.org/midimml1.0.zip MIDIMML converter] v1.0 by Tom Murphy 7. [http://www-2.cs.cmu.edu/%7Etom7/midimml/ [link]] This program converts MIDI files (with some special annotations) into MML. The output wouldn't be as optimal as hand-crafted MML (in most cases), but it's very interesting and even useful for MIDI users, nonetheless.<br />
* [http://nesdev.org/mckc-e.txt MCKC: MCK &gt; MML Converter] by Manbow-J, translated by virt. This document shows you how to use MML to create NES music.<br />
* [http://nesdev.org/mck_guide_v1.0.txt MCK/MML Beginners Guide] v1.0 by Nullsleep/8bitpeoples.<br />
* [http://nesdev.org/mck-mml%20Beginners%20Guide%20v1.0_cn.txt MCK/MML Beginners Guide (Chinese)] v1.0 by Nullsleep, translated by Tong Yun Weng.<br />
* [http://nesdev.org/DPCM_HowTo.txt DPCM HowTo] by nullsleep. How to use DPCM samples with MCK.<br />
* [http://wiw.org/%7Etek/muzak/#info Making NSFs under UNIX] by Julian Squires. Info concerning MCK. Off-site link.<br />
* [http://nesdev.org/nsf2midi0130.lzh nsf2midi (Japanese)] v.130 by GIGO. [http://nesdev.org/nsf2midi005aE.zip NSF2MIDI (english)] v.05a Translated by Tatt and Yura.<br />
* [http://nesdev.org/wav2nes.zip WAV2NES] by David de Regt. Converts a .wav file to an .NES rom, but uses an obscure mapper.<br />
* [http://nesdev.org/dmcconv005.zip dmc converter (Japanese)] v.05 by Norix. [http://nesdev.org/DPCM_HowTo.txt english doc] by Nullsleep.<br />
* [http://nesdev.org/81.zip sample converters] by Bananmos. Includes 8bit-to-1bit and 1bit-to-8bit programs.<br />
* [http://nesdev.org/81v2.zip sample converter] by Damian Yerrick. Converts 8-bit samples to NES's 1-bit format, also scales the volume and oversamples the sound.<br />
* [http://shaw.la.coocan.jp/nsdl/ NES Sound Driver & Library (NSD.Lib)] by S.W. A sound driver. This include the library for cc65/ca65 and MML compiler(This can make NSF and assembler source).<br />
<br />
===Amiga Programs===<br />
====6502 Tools====<br />
<br />
* [http://www.villehelin.com/wla.html WLA DX] A GB-Z80/Z80/6502/6510/65816 macro assembler.<br />
* [http://nesdev.org/dasm.zip DASM v2.0 by Mathew Dillon. Source code is included. [http://nesdev.org/dasm32.zip v.212] is also available, but does not include an Amiga executable.<br />
<br />
====Graphic Tools====<br />
<br />
* [http://nesdev.org/raw2chr.zip Raw2CHR] by Chris Covell. Converts graphics from RAW to the NES's format. C source code is included.<br />
* [http://nesdev.org/charlie.zip CHARlie] by Chris Covell. Optimizes graphics in CHR roms by removing duplicate tiles. C source code is included.<br />
* [http://nesdev.org/chr2nam.zip CHR2NAM] by Chris Covell. Makes a nametable from your CHR rom. C source code is included. <br />
<br />
====Misc tools====<br />
<br />
* [http://nesdev.org/FDSList.zip FDSList] v1.2 by Chris Covell. Lists and extracts files from Famicom disk images. Supports FDS format.<br />
* [http://nesdev.org/AmiGenie.lha AmiGenie] by Chris Covell. Converts between Game Genie codes and hex addresses.<br />
<br />
==NES Hardware Information==<br />
<br />
* Index of US [[patents]] related to the NES/Famicom.<br />
<br />
===console hardware===<br />
<br />
* [http://nesdev.org/NES%20hardware%20development%20guide.txt NES hardware development guide] First release (4-23-2004), by Brad Taylor. Detailed NES hardware info, and several project ideas.<br />
* [http://nesdev.org/Ntd_8bit.jpg Family Computer schematic] by Nintendo? File provided by Ubaldo Prones.<br />
* [http://nesdev.org/famicom_kairo.txt Nintendo Family Computer 回路の解析] by goroh.<br />
* [http://nesdev.org/famicom-circuitry.txt Nintendo Family Computer circuitry RE] by goroh, english translation by Ki.<br />
* [http://nesdev.org/2A03_pinout.txt 2A03 Pinout] by Eli Dayan.<br />
* [http://nesdev.org/nes_ppu.txt RP2C02G (aka: the NES's PPU)] by Kevin Horton.<br />
* [http://nesdev.org/NESAudio.gif NES Audio Path] by Kevin Horton.<br />
* [http://nesdev.org/4783812-sound_synth.pdf Electronic Sound Synthesizer] A patent for the Famicom Disk System's sound hardware.<br />
* [http://nesdev.org/5317714-digital_sound.pdf Digital Sound Apperatus and External Memory Cartridge Used Therefor"] A patent for the NES's sample playing hardware.<br />
* [http://nesdev.org/74HCT373.pdf 74LS373N] Octal D-Type transparent latch; 3-state ([http://www.kingswood-consulting.co.uk/giicm/74300.html#74373 HTML page])<br />
* [http://nesdev.org/74HC_HCT04_CNV_2.pdf 74HCU04P] Hex inverter ([http://www.kingswood-consulting.co.uk/giicm/7400.html#7404 HTML page])<br />
* [http://nesdev.org/74HC_HCT368_CNV_2.pdf 74HC368] Hex buffer/line driver; 3-state; inverting ([http://www.kingswood-consulting.co.uk/giicm/74300.html#74368 HTML page])<br />
* [http://nesdev.org/74HC_HCT139_CNV_2.pdf 74LS139] Dual 2-to-4 line decoder/demultiplexer ([http://www.kingswood-consulting.co.uk/giicm/74100.html#74139 HTML page])<br />
* [http://nesdev.org/nlockout.txt Disabling the NES's lockout chip] rev 0.4 by Mark Knibbs.<br />
* [http://nesdev.org/Playchoice.pdf Playchoice 10 Schematics] 1986 Nintendo of America Inc.<br />
* [http://nesdev.org/VS_UniSystem.pdf VS UniSystem Kit Manual] by Nintendo of America Inc. Instructions on changing the game in an NES arcade cabinet, part list, etc.<br />
* [http://nesdev.org/VS_Wiring.pdf VS UniSystem Wiring Diagram] 1984/1985 by Nintendo of America Inc.<br />
* [http://nesdev.org/VSSCHEM.pdf VS UniSystem Schematic] by Nintendo Co. Ltd.<br />
* [http://nesdev.org/nes-on-a-chip.txt "NES on a chip" pinout] v1.0 by Kevin Horton.<br />
* [http://nesdev.org/6578_pinout.pdf NT6578 NES "on a chip" pinout] by Ubaldo Prones.<br />
<br />
===cartridge hardware===<br />
<i>Note: Goroh's docs are in japanese</i><br />
<br />
* [http://nesdev.org/NES%20ROM%20Pinouts.txt NES ROM Pinouts] by Drk. Covers all PRG, CHR, and RAM chips used in NES cartridges.<br />
* [http://nesdev.org/NES%20EPROM%20Conversions.txt NES EPROM Conversions] by Drk. Instructions on how to modify certain boards to use EPROMs.<br />
* [http://nesdev.org/EPROM%20Pinouts.txt EPROM Pinouts] by Drk.<br />
* [http://nesdev.org/fam_pinout.txt Famicom Cartridge Connector Pinout] by Siudym. [http://nesdev.org/fam_pinout.doc DOC version] available.<br />
* [http://nesdev.org/smb2_pinout.txt Super Mario Bros. 2 Pinout] by Siudym. Board is NES-TSROM-07.<br />
* [http://nesdev.org/smb3_pinout.txt Super Mario Bros. 3 Pinout] by Siudym. Board is NES-TSROM-08.<br />
* [http://nesdev.org/solo_pinout.txt Solstice Pinout] by Siudym. Board is NES-ANROM-XX.<br />
* [http://nesdev.org/ww2_pinout.txt Wizards and Warriors 2: Ironsword Pinout] by Siudym. Board is NES-AOROM-03.<br />
* [http://nesdev.org/dkc_pinout.txt Donkey Kong Classics Pinout] by Siudym. Board is NES-CNROM-07. Comments in Polish.<br />
* [http://nesdev.org/goroh1.zip goroh's docs 1] by goroh, translated by Sgt. Bowhack.<br />
* [http://nesdev.org/goroh2.zip goroh's docs 2] by goroh, translated by Sgt. Bowhack.<br />
* [http://nesdev.org/rom.txt NES Cart Types] by Kevin Horton.<br />
* [http://nesdev.org/namco106.txt Namcot 106] by goroh, fix by ZW4 and nori, english translation by nori.<br />
* [http://nesdev.org/maxi15.txt Preliminary Maxi-15 Mapper Hardware Description] by Mark.<br />
* [http://nesdev.org/mappers.zip Comprehensive NES Mapper Document] v0.80 by \Firebug\. Includes viewer program by Troy McLeod.<br />
* [http://nesdev.org/map90v20.txt Mapper 90 Information] v2.0 by Fx3.<br />
* [http://nesdev.org/caltron.txt Caltron / Myriad Games 6-in-1] v1.0 by The Mad Dumper.<br />
* [http://nesdev.org/vrcvii.txt Konami VRC-VII Chip Info] by Kevin Horton.<br />
* [http://nesdev.org/vrcvi.txt Konami VRC-VI Chip Info] by Kevin Horton.<br />
* [http://nesdev.org/vrc6-j.txt Konami VRC-VI] by goroh. Sound info is inaccurate.<br />
* [http://nesdev.org/mmc1.txt Nintendo MMC1] by Matthew J. Richey.<br />
* [http://nesdev.org/mmc2.txt Nintendo MMC2] 01/29/98 by Jim Geffre.<br />
* [http://nesdev.org/mmc3.txt Nintendo MMC3] by goroh.<br />
* [http://nesdev.org/mmc4.txt Nintendo MMC4] by ???<br />
* [http://nesdev.org/mmc5_bank_switch.txt Nintendo MMC5 Bankswitching] by Kevin Horton.<br />
* [http://nesdev.org/mmc5-e.txt Nintendo MMC5] by goroh, translated by Sgt. Bowhack.<br />
* [http://nesdev.org/mapper6.txt Mapper 6] Info on the FFE mapper. By FanWen Yang.<br />
* [http://nesdev.org/16.txt Bandai Mapper] by goroh.<br />
* [http://nesdev.org/bandai-e.txt Bandai Mapper] About Bandai's NES mapper. By goroh, translated by Sgt. Bowhack.<br />
* [http://nesdev.org/jaleco.txt Jaleco Mapper] by goroh.<br />
* [http://nesdev.org/konami-e.txt Konami Mapper] by goroh, translated by Sgt. Bowhack. [http://nesdev.org/konami-j.txt Here] is the japanese version.<br />
* [http://nesdev.org/taito-j.txt Taito Mapper] by goroh.<br />
* [http://nesdev.org/namco.txt Namco Mapper] by goroh.<br />
* [http://nesdev.org/sunsoft.txt Sunsoft Mapper] by goroh, translated by Sgt. Bowhack.<br />
* [http://nesdev.org/40.txt SMB2j aka "The Lost Levels" Mapper #40 Info] 2.08.2000 by The Mad Dumper.<br />
* [http://nesdev.org/42.txt Pirate game "Mario Baby" Mapper #42 Info] 5.29.2000 by The Mad Dumper.<br />
* [http://nesdev.org/225.txt iNES mapper 225] by ???<br />
* [http://nesdev.org/226.txt iNES mapper 226] by Mark.<br />
* [http://nesdev.org/Mari7in1.txt "Mario Party" 7 in 1] by The Mad Dumper.<br />
<br />
==NES Hardware Projects==<br />
<br />
* [http://nesdev.org/lptnes.zip PC NES transfer cable] by sepi. Connects a PC's parallel port to the NES control port. It allows you control a game with a PC keyboard to log and play back button presses.<br />
* [http://nesdev.org/fdsloadr.zip Famicom Disk System Loader] by Brad Taylor. This is the software and documentation for a hardware project to emulate the FDS's disk drive using a PC disk drive via parallel port. Can also copy FDS disk contents to your PC.<br />
* [http://www.tripoint.org/kevtris/Projects/copynes/ CopyNES] by Kevin Horton. NES modification that allows reading and writing of cartridges.<br />
* [http://enio.chykn.com/ ENIO] by Pete Brown. Goal is to give the NES ethernet access to a game server over the Internet.<br />
* [http://breaknes.com Breaking NES] by org. NES chips exploration down to silicon level.<br />
*[[Battery holder]] Processes to replace NES cartridge batteries.<br />
<br />
==Links==<br />
<br />
===Music===<br />
<br />
* [http://nesdev.org/music/ NES Music] NES music in module format.<br />
* [http://nesdev.org/2A03/ Sounds of the 2A03] New, original NES music!<br />
* [http://nesdev.org/NESAudioRipping.zip NES Music Ripping Guide] v1.4 by Chris Covell.<br />
* [http://nesdev.org/nt2re.zip The NED File Format] by Damian Yerrick. A reverse-engineering of NerdTracker 2 file-format.<br />
* [http://nesdev.org/sound.txt Sound test codes] by me. If you know one that isn't in there, tell [mailto:5010.0951@tcon.net me]. Thanks to Bananmos for getting this back to me after my harddisk died.<br />
* [http://nesdev.org/authors.htm NES Music Author List] v3.11 Information from various sources, compiled by Memblers. A never-ending research project that needs your [mailto:5010.0951@tcon.net contributions].<br />
* [http://fripper.fc2web.com/nes_composer.html NES Music Author List] Japanese translation by HAS. Off-site link.<br />
* [http://nesdev.org/sk8ordie.mp3 Skate or Die 2 (title theme)] Recorded by Memblers, through the audio output of an NES. This Rob Hubbard tune uses raw PCM output ($4011) that few (if any) emulators play correctly.<br />
* [http://nesdev.org/comic_bakery.mp3 Comic Bakery] Recorded by Chris Covell. This is an MP3 of how this cover of a Martin Galway song plays on a real NES (The one in the Stars SE demo). It doesn't sound too good, due to some scarcely documented um.. features of the NES's sound hardware. Since it does a great job of highlighting these features, it may be be useful for emulator authors who want to improve their sound emulation accuracy. This MP3 is in stereo, the square waves are in the left channel, the triangle is in the right one. The noise channel isn't used. If you're wondering, these features were compensated for in Bananmos's newest sound code (as used in Solar Wars), and it is now 100% cool on real NES. =)<br />
* [http://2a03.org/ 2A03.org] An archive of new NES music in NSF format.<br />
* [http://www.tripoint.org/kevtris/nes/nsf.html NSF Collection] Here you can get a sorted collection of NSFs, the only bad thing being that the sound effects are removed.<br />
* [http://wayfar.net/ wayfar.net] Makers of MIDINES, a MIDI interface cartridge for NES.<br />
* [http://www.vgmix.com/ VGMIX] A videogame music remix site, with an excellent interface for musicans to add their own works.<br />
* [http://www.vorc.org/ VORC] A Japanese/English chip and game music news site.<br />
* [http://www.zophar.net/nsf/ Zophar's Domain NSF page] The most complete NSF archive around.<br />
* [http://www.nanjamonja.com/ Chibi-Tech's page] Tracked chip music, including NES-style stuff.<br />
* [http://www.parodius.com/%7Ememblers/dropoff7.htm Dropoff 7] Original music, plus NES music remixes and a few real NES tunes recorded with analogue effects.<br />
* [http://www.minibosses.com/ The Minibosses] A band that covered some NES songs, their MP3s available for download here.<br />
* [http://www.ocremix.org/ OverClocked ReMix] A site with remixes (mostly MP3 format) of music from games of many systems.<br />
* [http://nesmusic.zophar.net/ The Best Game Music!] Check it out whether you read Japanese or not, it has music and original content. Also the home of the MCK sound driver.<br />
* [http://www.kontek.net/vgjam/ Video Game Jam] Guitar and bass tablature for game music.<br />
* [http://www.chiptune.com/ Chiptune.com] Chip music in various formats.<br />
<br />
===NES-related===<br />
<br />
* [http://www.egroups.com/group/nesdev NESdev mailing list] A mailing list for NES programmers.<br />
* [http://forums.nesdev.org/ NESdev messageboard] The messageboard for this site.<br />
* [http://www.neshq.com/ NES HQ] A site with a bit of hardware info, a few cart/box scans, and other stuff.<br />
* [http://graphics.stanford.edu/%7Eianbuck/proj/Nintendo/ Hardware Console Design] NES Hardware simulator done in VHDL.<br />
* [http://www.classicgaming.com/nestable/index.shtml NESp] Website for a portable NES project.<br />
* [http://mypage.direct.ca/c/ccovell/nesdev.html Dr. PC Jr. Development Page] A site with technical information and support files for the Dr. PC Jr. (A Chinese computer based on the NES/Famicom)<br />
* [http://www.valesh.com/%7Ejon/computers/nintendo.html Nintendo, America!] A page by Jon Valesh, who worked at Color Dreams.<br />
* [http://nesworld.com/ NES World] An excellent NES site.<br />
* [http://atarihq.com/tsr/ tsr's NES archive] Another good NES site.<br />
<br />
===misc. tech===<br />
<br />
* [http://www.retrousb.com/ RetroZone] Manufacturer of the [[PowerPak]] device for NES and SNES, controller adapters, and custom cartridges.<br />
* [http://www.tototek.com/ Tototek] A supplier of FlashROM-based cartridges for various systems, among other things.<br />
* [http://www.romlab.prv.pl/ RomLabratory] Tons of tech info about cartridges for NES/FC, SNES/SFC, and Sega Genesis/MegaDrive.<br />
* [http://smsflash.8m.com/ SMS Flash devcart and Motherboard Flash Method] How to program a Flash-ROM with a PC motherboard, and SMS devcart instructions.<br />
* [http://www.schells.com/cuttlecart.shtml Cuttle Cart] A RAM cartridge for 2600 with bankswitching support. Loads a ROM through audio input.<br />
* [http://www.smspower.org/ SMS Power] A page with some tech info, demos and sources and stuff for the Sega Master System.<br />
* [http://www.gamesx.com/ GamesX] A page with technical info on various consoles.<br />
* [http://www.io.com/%7Enickb/atariprg.htm Atari 2600 Programming Page] You'd have to be a maniac to program this console.<br />
* [http://quadrun.tripod.com/ Atari 7800 Developer's Page] Info on building a devkit/copier for 2600/7800.<br />
<br />
===home pages===<br />
<br />
* [http://bobrost.com/nes/ Game Development for the 8-bit NES] Bob Rost's site. Lots of interesting NES projects.<br />
* [http://blargg.8bitalley.com/nes-emu/ NES Sound Emulation] Blargg's site.<br />
* [http://www.siudyms.prv.pl/ Siudym's Homepage] Tech info, and other stuff. In Polish and English.<br />
* [http://chewbonesoftware.cjb.net/ Chewbone Software]<br />
* [http://www.parodius.com/%7Ememblers/games/ Strangulation Games] Unlicensed NES game developer.<br />
* [http://pineight.com/ Damian Yerrick's page] NES and PC games and demos.<br />
* [http://www.disgruntleddesigner.com/chrisc/ Chris Covell's page] Some interesting stuff, and even an explanation of how to convert your NES to have stereo sound!<br />
* [http://www.tripoint.org/kevtris BlueTech] Kevin Horton's page. Tech info, pictures and descriptions of some amazing home-made devices.<br />
* [http://wwwkenya.freeuk.com/markk/ Mark Knibb's page] Some console tech info, plus some Amiga and C64 stuff.<br />
* [http://memblers.com/ Memblers' page] Info about Dropoff 7 (the band I'm in), and downloadable music in MP3, NSF, and iNES format.<br />
<br />
===6502===<br />
<br />
* [http://www.npsnet.com/danf/cbm/cross-development.html 6502 Cross-Development Languages and Tools]<br />
* [http://www.ffd2.com/fridge/ The Fridge] 6502 source code archive.<br />
* [http://atarihq.com/danb/6502.shtml Dan Boris's 6502 Page]<br />
* [http://6502.org/ 6502.org]<br />
<br />
===misc 6502===<br />
<br />
* [http://micro.magnet.fsu.edu/chipshots/mos/index.html Magnified pictures of a 6502]<br />
<br />
<center>[[File:Mbar.gif|400px]]</center><br />
<br />
<center><font size="1">graphics were ripped from other pages.</font></center><br />
<br />
Horde soldier: "Surrender, citizen!"<br><br />
Bo: (laughs) "I'm not a citizen, I'm a rebel."<br><br />
-from the He-Man cartoon, The Secret of the Sword.</div>Veinassolayhttps://www.nesdev.org/w/index.php?title=Projects&diff=10856Projects2017-10-18T13:24:44Z<p>Veinassolay: Added</p>
<hr />
<div>Tell us what kind of projects you are looking for!<br />
<br />
== Games ==<br />
*[[2-in-1 Geminim/Siamond]] - Contains 2 games, one based on Nim, the other on Simon. By Sivak<br />
*[[Apex]] - Side-scrolling adventure/exploration game by Dr. Floppy<br />
*[[Attribute Zone]] - Puzzle game involving Famicom PPU limitations<br />
*[[Battle Kid: Fortress of Peril]] - Platformer game by Sivak<br />
*[[Battle Kid 2: Mountain of Torment]] - Platformer game by Sivak<br />
*[[Concentration Room]] - card matching game by Damian Yerrick<br />
*[[Elemental Solitaire]] - solitaire card<br />
*[[Famicom Hangman]] - hangman game<br />
*[[Fire Below/Stars Above]] - Platformer game<br />
*[[Mega Man 9 proof of concept]]<br />
*[[Mystic Pillars]] - Columns clone<br />
*[[Nomolos]] - Platformer game<br />
*[[President]] - Super Mario Bros. style side-scroller engine by Damian Yerrick (on hiatus)<br />
*[[Project P]] - Platformer game<br />
*[[Ramses Game]]<br />
*[[Super Bat Puncher]] - Platformer game<br />
*[[Super NeSnake 2]] - Nibbles clone<br />
*[[Super PakPak]] - Spacewar!/Thrust/Gravity force style game<br />
*[[Thwaite]] - Missile Command style game by Damian Yerrick<br />
*[http://shiru.untergrund.net/software.shtml#nes Games by Shiru] - Alter Ego, Zooming Secretary, Lan Master, Lawn Mower, etc.<br />
<br />
== Music ==<br />
<br />
Music albums in NES ROM form.<br />
<br />
* [http://www.no-carrier.com/index.php?/project/vegavox/ Vegavox] - Alex Mauer / NO CARRIER (2007)<br />
* [http://www.no-carrier.com/index.php?/vegavox-ii/ Vegavox II] - Alex Mauer / NO CARRIER (2009)<br />
* [http://2a03.free.fr/dl.php?file=2017 Embered Recollections] - Heosphoros / miau / KeFF (2009)<br />
* [http://www.no-carrier.com/index.php?/teletime/ Teletime] - Animal Style / NO CARRIER (2010)<br />
* [http://rainwarrior.ca/music/moon8.nes MOON8] - rainwarrior (2010/2012)<br />
* [http://heavyw8bit.com/nes_nofx.php NOFX Cover Cart Vol. 1] - HeavyW8bit (2012)<br />
* [http://8081netlabel.ru/DCII-NTSC.nes DENDYcompo II] - 8081netlabel / Rubel (2014)<br />
<br />
Music tools and toys.<br />
<br />
* [http://www.nes-audio.com/ NES Audio Tools] - Tools by Neil Baldwin: NTRQ (native tracker), PR8 (rhythm), and PULSAR (sequencer)<br />
* [http://blog.ntrq.net/?p=550 GLITCH02] - Randomized music experiment by Neil Baldwin<br />
* [http://blog.ntrq.net/?p=568 SuperMagic Music Maker] - Interactive music experiment by Neil Baldwin<br />
<br />
== Demos ==<br />
<br />
Source code is included unless otherwise indicated.<br />
<br />
* [http://nesdev.org/GrayBox.zip GrayBox]<br />
* [http://nesdev.org/commando.zip Commando] by siudym. A simple demo, no source.<br />
* [http://nesdev.org/fighter_f8000.zip Fighter F-8000] by Kalle Suikola. Texts in Finnish.<br />
* [http://nesdev.org/paranoiz.zip Paranoiz] by nurv. A noise channel editor.<br />
* [http://nesdev.org/NEStress.zip NEStress] by Flubba. A test program, good for emulator testing and other things.<br />
* [http://nesdev.org/deadline_console_invitro.zip Deadline Console 2004] invitation intro, by Opius and Nullsleep. No source. [http://deadline.pseudohacker.org/ [link]]<br />
* [http://nesdev.org/nesmas.zip NESmas] by Mic. A small christmas greeting demo.<br />
* [http://nesdev.org/gp_enh.zip Galaxy Patrol Enhanced] by Michael Martin.<br />
* [http://nesdev.org/minipack.zip 2003 MiniGame Compo multicart] packed and menu'd by Memblers, music covered from C64 Wizardry, sound code by Bananmos, FilePack code by Mickael Pointier. Features all the NES games entered in the 2003 MiniGame Compo.<br />
* [http://nesdev.org/BoxBoy.zip BoxBoy] by Neil Tew. An action puzzle game. By controlling 4 seperate characters, arrange the boxes in the correct order before they drop off the screen. 2003 MiniGame Compo entry (4KB category), placed 9th of 37.<br />
* [http://nesdev.org/bomber4k.zip Bomber 4K] by RoboNes. Perilously fly over 3 cities and destroy each one to win. 2003 MiniGame Compo entry (4KB category), placed 31st of 37.<br />
* [http://nesdev.org/Escape_from_Pong.zip Escape from Pong] by Halley's Comet Software. You play as a Ping Pong ball, trying to escape from 12 paddle and obstacle-filled levels. 2003 MiniGame Compo entry (1KB category), placed 12th of 26.<br />
* [http://nesdev.org/Galaxy_Patrol.zip Galaxy Patrol] by Michael Martin. Fly through the starfield, avoid stars and collecting fuel. 2003 MiniGame Compo entry (4KB category), placed 36th of 37.<br />
* [http://blargg.8bitalley.com/misc/nes-saw/ DMC-Based Saw Waves] by blargg. Information about how this accomplished, and an NES ROM and MP3. Off-site link.<br />
* [http://nesdev.org/Retrocoders%20-%20Years%20Behind.zip Years Behind] by Retrocoders. This music rom features covers and original music. Compatible with PAL NES only. No sources.<br />
* [http://nesdev.org/bkg.zip BKG Graphics Test] by Beneficii. A little maze game. A map editor is included.<br />
* [http://nesdev.org/overtest.zip Overtest] by Alastair Bridgewater. Tests the CPU's overflow flag.<br />
* [http://nesdev.org/rstrdemo.zip Raster Demo] by [http://virtuanes.s1.xrea.com/ Norix]. This demo is an excellent example of what can be done by tweaking the PPU's nametable addressing with timed code (NTSC, in this case).<br />
* [http://nesdev.org/TANESPOT.zip TANESPOT] by Jonathan Liss. This PAL NES demo, A Tribute to All NES Players Out There, placed 3rd of 4 in the Oldskool demo category of Dreamhack 2002.<br />
* [http://nesdev.org/manhole.zip Manhole] Program by KZ-S, Graphics by misaki, special thanks to Norix.<br />
* [http://nesdev.org/masmix.zip Masmix] v0.6 beta, code by Wojciech Andralojc, sprites by Kamil Chlodnicki, levels by Monika Subocz.<br />
* [http://nesdev.org/matrix.zip Matrix] v0.6 beta, code by Wojciech Andralojc, sprites by Kamil Chlodnicki, levels by Monika Subocz.<br />
* [http://nesdev.org/siudym.zip demo] by Siudym. Made with a hex editor. No source code, of course.<br />
* [http://nesdev.org/CHESSB00.ZIP Chess] v0.0 beta by Matrixz.<br />
* [http://nesdev.org/froggy.zip Froggy] by Rob. A 1Kbyte Frogger clone. Released at [http://www.ffd2.com/minigame/ 2002 MiniGame Compo]. Finished 55th out of 62. No source.<br />
* [http://nesdev.org/SOF_v1d.zip Sack of Flour, Heart of Gold] version 1d by Bob Rost, Matt Longnecker, Andrew Klein, Mark Hall, Mike Raisman, and Mark Stehlik.<br />
* [http://nesdev.org/diffuse.zip Diffusion Chamber] by Michael Martin.<br />
* [http://nesdev.org/Jumpy.zip Jumpy demo] by 'Rwin. A jumping sprite demo.<br />
* [http://nesdev.org/Scrollde38.zip Scroll demo] by HollowOne11@aol.com. Dissassembled and modified from Ultima 2.<br />
* [http://nesdev.org/pong.zip Pong] by Paul Talbot.<br />
* [http://nesdev.org/sokoban.zip Sokoban] by Johannes Holmberg. A version of Sokoban for NES.<br />
* [http://nesdev.org/zpong3.zip Zero Pong] v3.0 by [http://zerosoul.tripod.com/ Zero-Soul].<br />
* [http://nesdev.org/linus.zip New nes music format] by Kevin Horton. A new format to store/replay NES music, similar to C64's psid format.<br />
* [http://nesdev.org/paltest.zip Palette Test] by Loopy. This isn't any palette test program, it actually displays all the colors on the screen at once! Neat trick.<br />
* [http://nesdev.org/colourba.lha Colour bar program] by Mark Knibbs.<br />
* [http://nesdev.org/duelito.zip The Duel] by Bokudono. A small game that pits Mario against a jumping goomba in a fight to the finish. [http://nesdev.org/sduelito.zip Here] is the source. (Comments are in spanish)<br />
* [http://nesdev.org/genie.zip Game Genie] by Codemasters. This is a dump of the ROM used in the Game Genie. Galoob has kindly given permission for free distribution. No source code, obviously.<br />
* [http://zzo38computer.org/nes_program/deadfish.zip Implementation of Deadfish in Nintendo Family Computer] by zzo38. Up to eight digits are acceptable.<br />
<br />
=== stuff by Quietust ===<br />
[http://www.qmtpro.com/~nes/ Homepage]<br />
<br />
* [http://nesdev.org/copper.zip Copper Bars] A neat visual effect accomplished using a combination of multiple techniques.<br />
* [http://nesdev.org/smwstomp.zip SMW Stomper] A demonstration of mid-frame vertical scroll adjustment.<br />
* [http://nesdev.org/scanline.zip Scanline.NES] A test of emulator PPU accuracy (note that in this version, the final test's text should NOT be readable - an updated version can be found [http://www.qmtpro.com/~nes/demos/scanline.zip here]).<br />
* [http://nesdev.org/007.zip The Tao of 007] Official game of the defunct Project: Sachen.<br />
<br />
=== stuff by Sergey Ryumik ===<br />
<br />
* [http://nesdev.org/gzs.zip GZS] Generator of sound signals.<br />
* [http://nesdev.org/Gits2.zip GITS2] PAL TV test program.<br />
* [http://nesdev.org/gits.zip GITS] Television quality test program. Here is the [http://nesdev.org/dendy.zip Russian version] with extended information. <br />
<br />
=== stuff by abonetochew ===<br />
<br />
* [http://nesdev.org/billworld01.zip Bill World] Early version of a game.<br />
* [http://nesdev.org/blocks.zip Blocks] A demo that draws it background using 2x2 tile blocks.<br />
* [http://nesdev.org/mmx.zip Megaman X Sprite] Displays a Megaman sprite from the SNES game, Megaman X. Kinda buggy. <br />
<br />
=== stuff by SnowBro ===<br />
<br />
* [http://www.dpadhero.com/Home.html D-Pad Hero] v.1.1 by Kent Hansen and Andreas Pedersen. A NES version of Guitar Hero, featuring the following songs...<br />
** a-ha - "The Swing of Things"<br />
** Daft Punk - "Harder, Better, Faster, Stronger"<br />
** Guns 'n' Roses - "Sweet Child o' Mine"<br />
** Michael Jackson - "The Way You Make Me Feel"<br />
* [http://nesdev.org/BombSweeper.zip BombSweeper] v.5 by SnowBro. A clone of a Nintendo "Game & Watch" puzzle game of the same name. No sources.<br />
* [http://nesdev.org/sndtest.zip Sound testing program] by SnowBro. It lets you toggle the bits of the sound registers.<br />
<br />
=== stuff by HNO3 ===<br />
<br />
* [http://nesdev.org/boing.zip Boing] by Mankeli.<br />
* [http://nesdev.org/city.zip City] by Mankeli and Zonzki. Sound code by Bananmos. Source not available. <br />
<br />
=== stuff by Damian Yerrick ===<br />
''These were tested on a [[PowerPak]]:''<br />
* [http://pics.pineight.com/nes/tall_pixel.zip Tall Pixel] stretches a still background image to 150% of its vertical size.<br />
* [http://pics.pineight.com/nes/dpcm_split.zip DPCM Split] shows how to abuse [[APU DMC]] timers to create a more-or-less reliable scroll split.<br />
** [http://pics.pineight.com/nes/dpcmletterbox.zip DPCM Letterbox] shows a more mature version that hides the background outside a 256x160 pixel window, all [[NMI thread|done in NMI and IRQ handlers]] so that your main thread can set it and forget it.<br />
* [http://www.pineight.com/nes/#roulette Russian Roulette] demonstrates how to read the [[Zapper]]'s trigger. It's probably the only Zapper game that works on HDTVs.<br />
* [http://www.pineight.com/nes/ruder-0.02.zip Zap Ruder] demonstrates how to read the Zapper's photosensor. It includes several still test patterns and ZapPing, a table tennis game for one or two players.<br />
* [http://www.pineight.com/nes/#password_save Password save demo] allows the NES to remember 32 bits of a game's state across a power cycle.<br />
* [http://pics.pineight.com/nes/spritecans-2011.zip Sprite Cans 2011] A demo that displays 64 rotating soda cans. Music by Ray Lynch covered by Damian Yerrick.<br />
* [http://pics.pineight.com/nes/eighty-0.01.zip Eighty] Test program for the [[Four Score]], including signature detection and compensation for DMC DMA bit deletions.<br />
<br />
''These were tested only on emulators:''<br />
* [http://nesdev.org/bingo.zip GNOME vs. KDE] A 2-player Bingo style game. Music by Tony Young covered by Damian Yerrick, sound code by Bananmos.<br />
* [http://nesdev.org/cuter.zip Who's Cuter?] Take the survey and [http://pineight.com/contact/ report the results].<br />
* [http://nesdev.org/s0.zip Sprite 0 test] A "sprite 0 hit" compatability test for emulators.<br />
<br />
=== stuff by Lasse Öörni (Cadaver) ===<br />
<br />
* [http://nesdev.org/nessound.zip NES Sound Test] Music code. Plays the Goldrunner song.<br />
* [http://nesdev.org/scroll.zip NES Scrolling Test] Multidirectional scrolling test program, also detects PAL/NTSC. Uses MMC1 mapper + one screen mirroring. Player 1´s controller adjusts scrolling (and A or B buttons stop scrolling). <br />
<br />
=== stuff by Chris Covell ===<br />
[http://www.disgruntleddesigner.com/chrisc/ Homepage]<br />
<br />
* [http://nesdev.org/Lister.zip FDS Disk Lister] FDS program that lists disk contents.<br />
* [http://nesdev.org/FDSTest.zip FDS Test] 2 FDS programs, one plays music from Ai Senshi Nicol by Konami while displaying the FDS Wave-RAM, the other is an FDS version of the Stars SE demo.<br />
* [http://nesdev.org/sayoonara.zip Sayoonara] A nice demo, with something extra. Ripped music. No sources.<br />
* [http://nesdev.org/sfdnes.zip Super Fighter demo] A 1-screen demo related to Super Fighter. Code by Chis Covell, music covered by Memblers (original by Young Soung Wing), and sound code by Bananmos.<br />
* [http://nesdev.org/Rasters.zip Raster Bar demos] Some raster demos.<br />
* [http://nesdev.org/Stretch.zip Stretch demo] A vertical scaling demo.<br />
* [http://nesdev.org/FullScreen.zip Full Screen demos] 4 demos that show full-screen graphics with interlacing.<br />
* [http://nesdev.org/cmc80s.zip CMC'80s] An excellent demo. The music isn't original, as it was ripped from the game "Magician".<br />
* [http://nesdev.org/Polar.zip Polar demos] Some demos that rotate and expand sprites. Neat.<br />
* [http://nesdev.org/anims.zip Motion] Some demos that do low resolution full screen animation.<br />
* [http://nesdev.org/wall.zip Wall] A demo that shows transparency effects.<br />
* [http://nesdev.org/cmcwavy.zip Wavy] CMC logo with good scrolling effects and palette cycling.<br />
* [http://nesdev.org/megamanj.zip Mega Man jet] A picture of Megaman flying above some clouds.<br />
* [http://nesdev.org/SolarWars.zip Solar Wars] A freeware Scorched Earth type of game. Code, graphics, and design by Chris Covell, music by Memblers, and sound code by Bananmos. [http://nesdev.org/solarsrc.zip Here] is the source code.<br />
* [http://nesdev.org/starsse.zip Stars SE] An intro with a Martin Galway tune done on the NES by Memblers. The sound code was written by Bananmos.<br />
* [http://nesdev.org/amiga.zip Amiga! logo]<br />
* [http://nesdev.org/atomic.zip Atomic] Shows a neat pic, and cycles through some palettes.<br />
* [http://nesdev.org/colours.zip Palette test program]<br />
* [http://nesdev.org/gamegeni.zip Game Genie decoder] A useful program for converting GG codes to CPU and ROM hex values.<br />
* [http://nesdev.org/interlac.zip Interlacing demo] 3 demos showing an interlacing effect, and one more shows dithering.<br />
* [http://nesdev.org/nesa.zip NESA player] NESA (NES/Audio) is a logged audio format recorded by an emulator on Amiga called A/NES. Made mostly obsolete by the NSF format.<br />
* [http://nesdev.org/macos.zip MacOS] A demonstation of bitmapped graphics on NES.<br />
* [http://nesdev.org/moby.zip Moby] Shows the cover of Moby: Everything is Wrong in a neat (but buggy) pseudo-interlaced mode.<br />
* [http://nesdev.org/rgb.zip Colour test program] Set the hue and luminance values and see the NES color.<br />
* [http://nesdev.org/zelda.zip Zelda title screen simulator]<br />
<br />
=== stuff by Tony Young ===<br />
<br />
* [http://nesdev.org/junkdemo.zip Junkrom]<br />
* [http://nesdev.org/mouser.zip Mouser]<br />
<br />
=== stuff by Ian Bell ===<br />
<br />
* [http://nesdev.org/elite.zip Elite] by Ian Bell and David Braben. There never was an NTSC release of this game, but later hack was released which allowed it to run on an emulator (with the right settings). Won't work on a real NES or accurate emulator. No sources. [http://nesdev.org/elite.zip [site]]<br />
* [http://nesdev.org/nestank.zip Tank Demo] A demo of an unfinished tank game, using the pseudo-bitmap graphics engine from Elite. [http://www.iancgbell.clara.net/nestank/ Download the source here]<br />
<br />
=== stuff by Morgan Johansson ===<br />
<br />
* [http://nesdev.org/fade2blk.zip Fade to Black] by Fredrik Schultz and Morgan Johansson (authors of A/NES). It's a picture of Metallica with a nice rendition of 'Fade to Black'. No source code.<br />
* [http://nesdev.org/nesaudio.zip Sound testing program] by Morgan Johansson. Test the sound registers. <br />
<br />
=== stuff by Tennessee Carmel-Veilleux ===<br />
<br />
* [http://nesdev.org/powerpd.zip Power Pad Test Program] No source.<br />
* [http://nesdev.org/snow.zip Snow Intro] Code by Repulse, graphics by _Bnu, and music by Random, which was re-done for the NES by Memblers. The music code was written by Bananmos. No source. <br />
<br />
=== stuff by Memblers ===<br />
[mailto:5010.0951@tcon.net E-mail]<br />
<br />
* [http://nesdev.org/Munchie_Attack.zip Munchie Attack] Eat all the food that you can, while avoiding the deadly shuriken. Inspired by 'Fast Food' on the 2600 VCS. 2003 MiniGame Compo entry (4KB category), placed 26th of 37.<br />
* [http://nesdev.org/hotseat.zip Hot Seat Harry] A 1023 byte game for one or two players. Press the A button as fast you can to shock your opponent. [http://www.parodius.com/~memblers/games/ [homepage]] Released at [http://www.ffd2.com/minigame/ 2002 MiniGame Compo]. Finished 52nd out of 62. No source.<br />
* [http://nesdev.org/dropoff7.zip Dropoff 7] The story of Dropoff 7, played through the NES's Delta-modulation channel.<br />
* [http://nesdev.org/haloween.zip Halloween Intro] A small program for Halloween. Doesn't do much. Code/graphics/music by Memblers, sound code by Bananmos.<br />
* [http://nesdev.org/rtc-y2k.zip RTC] A demo entered into the Y2Kode programming competition, recieved 2nd place out of 6 entries. This version is buggy and not recommended for a real NES.<br />
* [http://nesdev.org/test.zip NES Test Program] v1.3 Write to any register/RAM location with this program.<br />
* [http://nesdev.org/vp-silvr.zip Visual Player] Shows some sprites to go along with the Silver Surfer NSF rip, with music by Tim and Geoff Follin.<br />
* [http://nesdev.org/vp-src.zip Visual Player Source] Source code for the program. Can be modified to work with other NSF rips. Send me an email if you're interested in a newer, enhanced version of this.<br />
<br />
=== stuff by Blargg ===<br />
''All demos tested on NTSC frontloader NES using UNROM-equivalent devcart, and include full ca65-compatible source code.''<br />
<br />
* [[Full palette demo]] displays entire 400+ color NES palette with minimal pixel glitches<br />
<br />
== ROM hacks ==<br />
*[[1337DW|Dragon warrior 1337]] a simple text edit of dragon warrior all into 1337.<br />
*[[Forbidden Four|Double Crossing: The Forbidden Four]] -- a hack of ''The Legend of Zelda'' to add a menu and three NROM games<br />
<br />
== Applications ==<br />
*[[Tile Layer]] : a program on your PC to make it easier to modify graphics on roms.<br />
*[[YY-CHR]] : another tile editor that has more features than Tile Layer. It was recently ported to C++ as v0.99<br />
*[[make_sram]] : a program written in Python to create PowerPak save files for all NES ROMs in a folder or on a CF card<br />
<br />
== Hardware ==<br />
*[[NES Classic Controller for Wii]]<br />
*[[MMC1 Development Cart]]<br />
*[[NESDEV1 Development Cart]]<br />
*[[Battery holder]]</div>Veinassolay