The Amsterdam Compiler Kit is a fully-featured retargetable compiler toolchain. It will cross-compile ANSI C, K&R C, Pascal, Modula-2, Occam, Fortran and Basic for a number of architectures including, but not limited to, the 6500, 68000, Z80, i80, i86, i386, and PDP-11. It provides a complete development environment including preprocessors, compilers, assemblers, linkers, librarian tools, and target download tools.
An almost ISO C compatible C compiler that produces binaries for 6502-based computers. Targets that are supported out of the box are: Apple ][, Atari 8-bit machines, Commodore C64/C128/C16/C116, Commodore Plus/4, Commodore 600/700, GEOS for C64, and Lynx. The package includes a complete suite of assembler development tools (assembler, linker, archiver) which allows mixing of C and assembler code.
Nonpareil is a microcode-level simulator for HP calculators introduced between 1972 and 1982, including the HP-35, HP-45, HP-55, HP-25, HP-34C, HP-38C, HP-41CV, HP-11C, HP-12C, HP-15C, HP-16C, and other models. The necessary microcode is included, as is a microcode assembler. The GTK+ toolkit is used for the user interface.
WLA DX is yet another macro assembler that can program the GB-Z80, Z80, 6502, 65c02, 6510, 65816, HuC6280, and SPC-700 CPUs. Included in the package there is a GB-Z80 disassembler and few converters. WLA DX was initially programmed to compile ROM images for Gameboy, but nowadays it can also patch existing ROM images with code, and even compile program files and ROM files for other CPUs like the NES-6502, C64-6510, and SNES's SPC-700.
KMD is a multi-processor debugger. It can debug with hardware boards over serial ports or with software emulators (ARM and MIPS emulators are included in the project). Using the pipe option you can debug over the network or any other communication medium. It can load many executable formats such as ELF, and display and follow the original source even from multiple source file programs. There is support for breakpoints and watchpoints which can trap on specific data (such as loading or executing specific instructions). Support for other features such as FPGA's is also available, allowing loading or any control required to drive a specific hardware device. The project uses chump to allow disassembly and line assembly. Chump also allows new architectures to be easily added without the need to recompile the system. Communication with the backend is done using two pipes/fifos using a simple set of codes. Back end communication program can be created using very little memory on the target device.