Created by: Joe Davisson
EasySXB is a terminal emulator designed for use with the SXB line of 6502/65816-based board-level products from Western Design Center. A graphical interface is provided for quick access to monitor functions, such as changing registers or uploading programs.
The following products are currently supported:
- Terminal Emulation
- Uploading Programs
- Graphical Interface
Created by: Mike Kohn
Java Grinder is a tool that gives the ability to write programs in Java to run natively on microcontrollers, game consoles, and computers. Java Grinder is not a JVM, but instead translates byte-code from Java .class files into native assembly code much like a JIT or an “ahead of time” compiler. On the microcontrollers, there is a Java API to take advantage of the I/O ports, UART, SPI, and more. On the game console / computer side, there are Java API’s to manipulate the graphics and sound chips. Currently, the following CPUs / platforms are supported (click on links for videos):
For class documentation, Mike started generating some JavaDocs.
Repository git clone https://github.com/mikeakohn/java_grinder.git
cc65- 6502 C Compiler:
Currently Supported by: Oliver Schmidt
cc65 is a complete cross development package for 65(C)02 systems, including a powerful macro assembler, a C compiler, linker, librarian and several other tools. It is based on a C compiler that was originally adapted for the Atari 8bit computers by John R. Dunning. The original C compiler is a Small C descendant but has several extensions, and some of the limits of the original Small C compiler are gone.
cc65 is a complete cross development package for 65(C)02 systems, including a powerful macro assembler, a C compiler, linker, librarian and several other tools.
cc65 has C and runtime library support for many of the old 6502 machines, including
- the following Commodore machines:
- C16/C116 and Plus/4
- CBM 510 (aka P500)
- the 600/700 family
- newer PET machines (not 2001).
- the Apple ][+ and successors.
- the Atari 8 bit machines.
- the Atari 5200 console.
- GEOS for the C64, C128 and Apple //e.
- the Bit Corporation Gamate console.
- the NEC PC-Engine (aka TurboGrafx-16).
- the Nintendo Entertainment System (NES) console.
- the Watara Supervision console.
- the Oric Atmos.
- the Lynx console.
- the Ohio Scientific Challenger 1P.
The libraries are fairly portable, so creating a version for other 6502s shouldn’t be too much work.
There are several versions available for download. When downloading binary packages, you need:
- One binary package with the compiler and tools for your hosting operating system (for example:
- One or more library packages for the target platforms. Example:
If you download zip files, be sure to unpack them in the same directory.
If you’re interested in the latest version, you have two choices:
- You can either have a look at the snapshot directory. It contains the latest sources from the SVN repository, nightly RPM builds for RedHat Linux, and binary packages for DOS, Windows and OS/2.
- Or you can access the subversion source repository using your favorite subversion client. The access URL is
svn://svn.cc65.org/cc65/. The development branch is located in the
trunk/sub directory, the stable versions are located below
branches/. To checkout the current development version into a directory named “cc65” using the command line client, one would issue
svn checkout svn://svn.cc65.org/cc65/trunk cc65
To prevent people from erroneously checking out the complete archive, which would generate a lot of (probably useless) traffic, older stable versions aren’t available to the general public.
Beware: Both methods supply a copy of the sources from the SVN repository, these sources may not even compile! Development platform is Linux. If you’re in real need of a working new version, your best chances are using Linux, too.
Several people have setup mirrors of the ftp directory, thanks a lot!
- http://cc65.oldos.net/ is a HTTP mirror set up and maintained by James Wilkinson, <james at slor. net>.
- http://cc65.civitas64.de/ is a HTTP mirror set up and maintained by Marc Rintsch, <marc at rintsch. de>.
- http://www.breitband-anbieter.com/cc65/ is a HTTP mirror set up and maintained by Torsten Pohl, <hallo at torsten-pohl. de>.
- ftp://ftp.elysium.pl/tools/crossplatform/programming/c/cc65/ is a FTP mirror set up and maintained by Maciej Witkowiak, <ytm at elysium. pl>.
Please note that some files may not be available from the mirrors.
There are also sites offering packages for other host systems:
- http://www.trikaliotis.net/debian has debian packages for cc65 supplied by Spiro Trikaliotis.
Assemblers and IDEs
- A6 – Simon Collis has written a multiplatform 6502 cross-assembler geared towards Commodore 64/128 development. Executables and source code of A6 are available for DOS, Unix, and AmigaOS.
- ACME – Marco Baye’s ACME cross-assembler has been recommended by several 6502.org visitors. This assembler has been ported to several platforms including Amiga, DOS, and Linux. It supports convenient features like macros and local labels, and assembles for the 6502, 65C02, and 65C816. See also the SourceForge page
- DASM – A cross-platform, versatile macro assembler with support for target microprocessors including 6502, 68HC11, 68705, 6803, HD6303, F8 and 6507. Full source-code and selected target-machine runtimes are included in the distribution package.
- HXA – Anton Treuenfels’ Hobby Cross Assembler (HXA) is a program written in the TAWK language. It currently handles 6502, 65C02/R65C02/W65C02S, and W65C816S instruction sets, does macros, includes, conditional assembly, and more. Its source code is available under the GNU Public License.
- MAS65: 6502 Macro Cross Assembler – Douglas Beattie wrote this macro cross-assembler for use with his DIY-6502 homebuilt computer, and also has a version of figFORTH that support communication through the 6551 ACIA.
- SB-Assembler – San Bergmans created this cross-assembler for DOS that includes some interesting features like a random-fill directive and multi-processor support.
- xa65: 6502 Cross Assembler – Andre Fachat’s open-source assembler is written in C and supports the standard 6502 opcode list, as well as the Rockwell R65C02 CMOS opcodes. It now supports the 65816 instruction set thanks to Jolse Maginnis. xa65 has a C-alike preprocessor and supports label-hiding in a block structure. It produces plain binary files, as well as special o65 object files. Further tools include a linker, file and relocation utilities for o65 files.
- ATasm: A Mostly Mac/65 Cross-Assembler – Mark Schmelzenbach has created this 6502 cross-assembler that is compatible with the original Mac/65 macro-assembler from OSS software. It is specially designed for Atari computers and emulators.
- 6502/Microlab Assembler – David Jordan has written this very simple assembler for use with the EPE Microlab trainer board. This page contains the Linux 2.x binary and C source code.
- MXASS – A shareware cross-assembler which supports the 6502, 65C02, illegal 6502, 65816, and Z-80. It can handle macros, local labels, and many other things. A demo version is available on this site from the author, Michael Steil.
- WLA DX – Ville Helin is a Finnish progammer that has written “Yet Another GB-Z80/Z80/6502/6510/65816 Macro Assembler Package” that runs on several platforms including MS-DOS, Linux, and the Amiga.
- Piotr Fusik’s XASM – A portable, open source assembler. Although geared towards Atari 8-bits, it may be used for other 6502 applications as well.
- P65 Assembler – Michael Chapman Martin has written a highly-portable 6502 cross-assembler written entirely in Perl.
- Charles R. Bond’s Assembler – A four pass assembler for the 6502 that is bundled with a source code generator that can read “H6X” files and generate assembly source.
- Win2C64 – Aart Bik has written a 6510 cross-assembler for Windows. It supports the undocumented opcodes as well as most commonly used directives.
- Dev65 – Andrew Jacobs has written the Dev65 Portable 65xx Development System, supporting 65xx, 65C02 and 65816 assembly language programming. It runs on any system with Java and the source can be found on SourceForge.
- cc65 – Ullrich von Bassewitz maintains cc65 which is a cross development package for 65(C)02 systems, including macro assembler, C compiler, linker, and other tools. The assembler supports the 65816. It’s cross platform and binaries are available.
- Ophis assembler – Michael Martin’s “Ophis” is a cross-assembler for 65xx, supporting the stock 6502 opcodes, 65c02 extensions, and syntax for the undocumented opcodes in the NMOS 6502. (Syntax for these opcodes matches those given in the VICE team’s documentation.) It supports macros too. Ophis is written in pure Python and should be highly portable. Special emphasis is given toward developing Commodore 64 applications.
- UniAsm – Jörg Schreiber has written a shareware cross-assembler that supports 6502, 65c02, 65816 and his own 65JS24. The page also has links to Jörg’s text editor, emulator and BASIC compiler for 65JS24, and other tools.
- FASM10.ZIP – FASM is a macro-assembler written in C by Toshi Morita as a quick replacement for 2500 AD. It has been released under GNU Public License and full source code is included.
- TASM301.ZIP – TASM 3.01 from Speech Technology is sort of the “de facto” for DOS cross-assemblers. It supports quite a few different processors, including the 6502 and 65C02.
- xa65 – Andre Fachat’s open-source cross-assembler; written in C and supports the standard 6502 and 65c816 opcode lists. Sports a C-like preprocessor and supports label-hiding in a block structure. Produces plain binary files, as well as special o65 object files. Further tools include a linker, file and relocation utilities for o65 files.
- NESHLA by Brian Provinciano. A 6502 assembler specifically geared towards NES development.
- x816 v1.12f by minus. An assembler for 6502/65c02/65c816. MS-DOS only.
- XTOOLS (Shareware) A promising Table-based ASM kit with everything but the kitchen sink (Assembler, Disassembler, and more.) And it costs $49, If Registered, Includes a Table-based ASM Source Translator. NOTE: The files are generated as MOTOROLA formatted HEX files, That means you need a converter, go to the Converters section for the Binary Converter Page
- WUSDN A New NES IDE as of 2012 by the WUSDN team, Originally for Atari 8-Bit computers, Now also comes with NES capability, Requires Java Runtime Environment and Eclipse to run!
- NESICIDE (WIP) source code only, Github link for the NESICIDE IDE by cpow (Chris Pow)
- DCC6502 – A code disassembler for the 6502 microprocessor. It features accurate cycle counting, fast table-based disassembly, portability, and special features for NES developers. Previous closed-source version can be found here.
- radare2 – Portable, multi-architecture “unix-like reverse engineering framework and commandline tools.”
- run6502 – Ian Puimarta’s portable command line emulator includes a simple disassembler.
- 6502 Disassembler – An in-browser disassembler by Norbert Landsteiner. Emulator and assembler nearby.
- WFDis – An in-browser disassembler by forum member White Flame.
- dis6502 – A flow-tracing disassembler for the 6502 by Robert Bond, Udi Finkelstein, Eric Smith, and (most recently) Peter H. Froehlich.
- dis6502 – “Interactive 6502 Disassembler for Atari binary files on Windows” by Eric Bacher.
- A simple 6502 disassembler – in C, by forum member Cray Ze.
- Minimal disassembler – To fit an FPGA’s block RAM, as part of an embedded debugger. By forum member hoglet.
- Auto Disassembler – A flow-tracing disassembler by Ruud Baltissen (source on request)
- The Flaming Bird Disassembler – “The most powerful Apple IIgs disassembler in the galaxy”
- DASMx – A flow-tracing disassembler for Windows command line. Allows input of a symbol file.
- PVU6502.ZIP – picoViewer 6502 version is a free interactive disassembler for PalmOS. More information can be found on the Picodoc website.
- IDA37FW.ZIP – IDA 3.7 from DataRescue is an excellent freeware multi-processor, interactive disassembler for DOS. It now grown to a commercial product and a link to it can be found in the Commercial Support section.
- TRaCER – by Y0SHi/koitsu. 6502/65816 disassembler intended for NES and SNES platforms. MS-DOS. (Does contain a confirmed bug related to one 65816-specific opcode)
- NES Disassember – by Morgan Johansson. MS-DOS.
- 6502/10 Peephole Optimizer [archive.org] – Daniel Dallmann created this C program to aid development with his C64 operating system “Lunix”. The peephole optimizer works with standard 6502 code and the source is very portable.
- Converters for INTEL/MOTOROLA HEX formats to Binary (BIN) and back, for assemblers like XTOOLS.