The 6502 was a very popular 8-bit microprocessor in the late 70's and 80's. The 6502 (and it's variants) where used in many game systems and computers like the Apple II, Atari VCS, Atari 800, C64, NES and others. This page contains a compilation of links, programs, and information on the 6502.


Development Software



6502 Variants


The Incredible 6502: A site with some very good 6502 information. Be sure to check out "Learn 6502 Assembly in One Step"

6502.org: This is an excellent new site with a lot of into on the 6502

Western Design Center - The only company (I believe) that still manufactures and sells the 6502 and variants.

The first three links are to Trevin Beattie's Atari Technical Information page.:

Instruction Set Summary (by Trevin Beattie)

Op Code Table by instruction (by Trevin Beattie)

Op Code Table by Opcode (by Trevin Beattie)

64DOC.TXT - This is one of the best references for some of the more obscure information about the 65XX series of processors. It was written with the Commodore 64 in mind, but most of the information is applicable to all 6502 processors.

Development Software

DASM.ZIP: This is a new 6502 cross assembler for MSDOS. It supports pretty much any feature you could want in an assembler including macros, and the ability to produce raw-binary files. Thanks to Bob Colbert for porting this assembler from the Amiga.

TASM301.ZIP: This is a very popular table driven cross assembler for MSDOS. Besides 6502 it support many other processors. This is the assembler I used for 6502 before I found DASM, and I still use it for assembling 8048 code.

6502 Cross Development Tool: This site contains links to a large number of 6502 cross development tools including assemblers, C compilers, Disassemblers and more. If you need 6502 development software this is the place to start.


SIM6502.NET V1.0

Many years ago I wrote a generic 6502 simulator called 6502sim (see below). Since then I had always wanted to do a Windows version, so when Mike Murphy released the open source EMU7800, I decided the time was right. Not only did this project give me a change to fullfil the desire for a Windows version, but it also gave me a good chance to learn the C# language.

SIM6502.NET will run on any Windows system that support the .NET Framework. You must have the framework runtime installed to run the program. You can download it from Microsoft's web site.

SIM6520.NET has the following features:

- Load images from raw binary, origin binary, or random access segment files.
- View and edit memory
- View disassembly
- Run or single step the processor
- Line assembler that allows you to assemble 6502 instructions directly into memory.
- Set break points on addresses or data reads/writes.
- View memory, CPU registers, and disassembly dynamically while simulator is running.
- Integrated help with 6502 reference.

You can download the executable and source code from SourceForge.

SIM6502.NET is release under the GNU General Public License

6502SIM V1.0

6502SIM is a 6502 processor simulator for MSDOS that can be used as a tool for developing and testing generic 6502 code. It also makes a good platform for learning 6502 programming since you can easily watch the execution of the code and observe the results. 6520sim displays a disassembly of memory, the CPU registers, stack, and memory and theses are all updated dynamically as the code is executed so you can watch the results.

Some of 6502SIM's features are:

  • Simulates a system with 16K or RAM and 32K of ROM.
  • Can load raw binary (.BIN) and Intel Hex (.hex) files.
  • Single step execution, and run to break point.
  • Modify memory locations and processor registers.
  • Simulate reset, IRQ, and NMI.

Download 6502SIM V1.0

Source code:

NOTE: I have had a few requests for this code, so I am releasing it to the public. Be sure to read the warning in README.1ST before using this code. This code is provided AS-IS, I make to guarantees to it's usefulness, accuracy or completeness.

Download 6502SIM V1.0 Source


6502 Variants


6507 - This is a identical to the standard 6502 except that it only has 13 external address lines and no interrupt inputs. It was used in the Atari 2600.

65C02 - This is a CMOS version of the 6502 that has a few added instructions.

6510 - This is the version of the 6502 that is used in the Commodore 64. It is almost the same as the 6502 except that it has a built in 8-bit I/O port.

65C816S - This is an expanded 16-bit version of the 6502. It has 16 bit registers and a 24 bit program counter, and can run at up to 20MHz. It also has a standard 6502 'emulation' mode. This processor is used in the SNES and the Apple II GS.

SALLY - This is the version of the 6502 that is used in all but the earliest Atari 8-bit computers. It is identical to the standard 6502 except that it has a HALT input for stopping the processor and tri-stating the system bus so that other chips in the system can do DMA.


[Home] [Site Map]

Dan Boris - danlb_2000@yahoo.com