Main > Free Download Search >

Free 6502 software for linux

6502

Sponsored Links
Sponsored Links
Sort by >> Relevance
rss
Secleted [ 0 ] software to compare
Results 1 - 15 of about 12
6502asm 0.11

6502asm 0.11


6502asm project is a simple 2-pass assembler, capable of producing binary files for the 6502 processor. more>>
6502asm project is a simple 2-pass assembler, capable of producing binary files for the 6502 processor.
I will give you more updates once this project advances. For now, just run build.sh in your favourite shell and see what happens...
Enhancements:
- Support for single-quoted characters like 6,5,0,2, and a new output format called "src".
<<less
Download (0.007MB)
Added: 2007-08-12 License: BSD License Price:
803 downloads
dis6502 0.12

dis6502 0.12


dis6502 is a flow-tracing 6502 disassembler. more>>
dis6502 is a flow-tracing disassembler for the 6502, originally written by Robert Bond and supporting Atari binary files. Robert posted dis6502 to the Usenet newsgroup net.sources on 9-Oct-1986, and to comp.sources.unix 7-Jun-1988.

Udi Finkelstein ported dis6502 to the Amiga, added support for Commodore 64 object files, and posted it to comp.sources.amiga on 4-Nov-1988.

This version of dis6502 has been modified in several ways:

* Can read raw binary files.

* Option to specify alternate reset and interrupt vector addresses.

* Line numbers are no longer necessary with equates in definition files.

* If a data reference is made to an address that does not have an
assigned name, but address-1 does, the reference will be disassembled
as name+1. This is convenient for two-byte variables, particularly in
zero page.

* New definition file directives:

< name > .equ < addr > same as .eq

.jtab2 < addr >,< addr >,< count > table of code pointers, split into high and low byte tables
.rtstab < addr >,< addr >,< count > like jtab2, but each entry contains the target address
minus one, for use with RTS

* Rather than using recursive calls to trace every instruction, there is now a trace queue.

* Added a "-7" option to mask off MSB of character data.

* Updated to use ANSI C function prototypes and include files.

* Amiga/Manx changes have been removed.

dis6502 has been tested on Red Hat Linux 9, but should work on other Linux, BSD, and Unix systems.

dis6502 is distributed under the terms of the Free Software Foundations General Public License, Version 2. See the file COPYING for details.

The original release notes from Robert Bond and Udi Finkelstein are in the files README.Bond and README.Finkelstein.
<<less
Download (0.019MB)
Added: 2005-03-07 License: GPL (GNU General Public License) Price:
1691 downloads
MOS 6502 Simulator

MOS 6502 Simulator


MOS 6502 Simulator is sort of an emulator for a 6502 chip. more>>
MOS 6502 Simulator is sort of an emulator for a 6502 chip. Theres virtually nothing apart from the CPU (minus BCD operations). It also bears no heed to instruction timings.

Whilst (apart from those two things) it successfully simulates the CPU there were a few design flaws, which led me not to continue with it:

- I wrote it in C++.

As the 6502 had no dedicated IO bus, everything was done via memory. I had the idea of having a pure virtual class which provided a generic interface, then as I wrote devices to sit in the memory space, they could just override portions of it, or trap on writes or something.

Whilst writing this, I kept getting the feeling I should have written it in asm instead Especially for manipulating flags and rotates and stuff. (as I could have just rotated AL, for example, rather than the mess I have in the C++ code.

- Sloppy instruction decoding.

I originally set out to decode the instructions properly, but there were lots of exceptions to the system used (esp. if I intended to support the 65C02 for example). This decended into a massive switch statement. I almost considered splitting it up to smaller files, and just #include them in the middle, just to make it more managable.

Also, as they are not in numerical order (grouped according to type, or addressing mode, cant remember atm) it wouldnt compile to a jump table. Does with optimisation on though.

The main thing that prompted me to write this was I found my BBC-B in the loft, and felt a pang of nostalgia for the hours wasted hunched over it in the lowest resolution text mode (IIRC mode 7 to save ram). I had the idea of writing a NES or BBC emulator, however it didnt get that far.

It has a pretty simple image format. The file must be >= 65536 bytes (64k) and that is simply the memory image for the system (16-bit address bus). There is a strange sort of ASCII text display at 0x200, which is ok enough for spewing a string to. As it was just thrown together in the space of 6 hours or so (took a long time to do the switch statement) its not very thouroughly documented, but hey.
<<less
Download (0.046MB)
Added: 2007-03-05 License: BSD License Price:
972 downloads
cc65 2.11.0

cc65 2.11.0


cc65 is a freeware C compiler for 6502 based systems. more>>
cc65 is a complete cross development package for 6502 systems, including a powerful macro assembler, a C compiler, linker, librarian and several other tools. cc65 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. The original copyright allows free redistribution including sources, even if it would not qualify as Open Source Software according to the Open Source Definition.
The original Atari compiler is available from http://www.umich.edu/~archive/atari/8bit/Languages/Cc65/. The complete package consists of the compiler, an assembler, a librarian, a linker, and a C library for the Atari. There are some packages on the net that claim to be adapted as a crosscompiler for DOS or Unix, but was not able to get them working correctly.
Because I wanted a C compiler for my CBM machines, I took the Atari compiler and started a rewrite. Until today, I have rewritten large parts of the compiler, all of the library, completely replaced the assembler, the linker and the librarian, and added a frontend to simplify use. All changes have been done with portability in mind, so porting to new 6502 architectures should be quite easy.
The compiler is almost ISO C compatible, so you should be able to translate many sources from other systems.
Main features:
- The compiler allows single line comments that start with //. This feature is disabled in strict ANSI mode.
- The compiler allows unnamed parameters in parameter lists. The compiler will not issue warnings about unused parameters that dont have a name. This feature is disabled in strict ANSI mode.
- The compiler has some additional keywords that are needed for special features. In strict ANSI mode, the additional keywords start with two underscores.
- The volatile modifier has no effect.
- The datatypes float and double are not available.
- The compiler does not support bit fields.
- C functions may not return structs and structs may not be passed as parameters by value. Struct assignment is possible.
- There are some limitation on the size of local variables. Not all operations are available if the size of local variables exceeds 256 bytes.
- Part of the C library is available only with fastcall calling conventions (see below). This means, that you may not mix pointers to those functions with pointers to user written functions.
There may be other target system dependent limitations. One example is file I/O, which is not implemented on all platforms. This is no technical limitation (as with the stuff mentioned above) but does just mean that no one cared enough to write the actual code.
The compiler is only one of the tools available in this package. The assembler suite (assembler, linker, archiver) is a complete development environment for itself, that may be used to write programs for any 6502 machine. C code and assembler code may be used together and may call each other.
The assembler is a one pass macroassembler and is able to output code for the 6502, the 65SC02 and 65SC816. It has a lot of nifty features like include files, conditional assembly, macros, nested lexical levels (that is, local symbols), and more. The assembler creates object files containing relocatable code. These files must be run through a linker to create the final program.
The linker has a flexible output format and is able to support ROMable code (different load and run addresses for data), banked systems (segments may share the same run address), systems with multiple ROMs, unlimited segments, more than one BSS segment and lots of other things.
The archiver is used to create libraries containing objects files. This simplifies code management. The linker will extract only those modules from a library that are actually needed.
To simplifiy use, there is also a frontend to the tools contained in the cc65 package. The frontend is named cl65. It knows how to build binaries from a list of C files, assembler files, object files and libraries. For smaller projects, just one invocation of the cl65 utility is needed to build a binary from several source files and libraries.
<<less
Download (0.98MB)
Added: 2005-11-19 License: Freeware Price:
1436 downloads
P65 Assembler 0.7.2

P65 Assembler 0.7.2


P65 Assembler is a Portable 6502 cross-assembler. more>>
The P65 assemblers are assemblers for the 6502 microprocessor (such as is used in the Commodore 64, Apple II, and Nintendo Entertainment System).
They are designed to be able to support a wide variety of output formats, both to support multiple target platforms and to produce code for emulators.
The eventual goal of P65 is to be as expressive as the more powerful assemblers of the late 80s, such as DASM. Its not there yet, but its getting there.
Main features:
- Highly portable - All versions of P65 are written in portable scripting languages. The original releases were done in Perl. While P65-Perl 1.1 is stable and reasonably powerful, it lacks some major features, such as modules and macros. P65-Ophis, the Python port, will run on slightly fewer architectures, but will still run on all current major systems.
- Flexible output format - P65 allows for very flexible control over data and assemble points. Output file formats are completely independent of the final memory maps.
- Multiple file support - libraries may be kept as seperate files and included seperately, facilitating code reuse.
- Temporary label support - source may contain "anonymous labels" that help decrease namespace pollution. P65-Ophis also supports named temporary labels that only exist within a well-defined scope.
- Assemble-time expressions - P65-Ophis supports High-byte/low-byte computations along with bitmasking and traditional arithmetic operations in code and data statements. Access to the current PC is also supported. P65-Perls expressions are more limited but are generally sufficient.
- Symbol table management - Allows for creating labels and data constants outside of the code, and for allocating RAM symbolically. This includes full support for segments.
- Optimal instruction selection - Compresses as many instructions as possible into zero page format. If this compression permits other instructions to become zero page instructions, it will compress those as well.
<<less
Download (0.02MB)
Added: 2005-04-22 License: BSD License Price:
926 downloads
sapplay 0.2

sapplay 0.2


sapplay is a console player based on libSap. more>>
sapplay is a console player based on libSap.

About libSAP:

libSap is a Linux port of windows SAP Library. SAP Library is a software emulation of CPU 6502 microprocessor and Pokey chip.

Those two chips are used in Atari XL/XE computers. SAP Library is used to to run programs written in 6502 machine language, programs that are using Pokey chip to play tunes and sounds.

<<less
Download (0.034MB)
Added: 2006-04-14 License: GPL (GNU General Public License) Price:
1288 downloads
Atari800 2.0.3

Atari800 2.0.3


Atari800 project is an Atari 8-bit computer and 5200 game system emulator for multiple platforms. more>>
Atari800 project is an Atari 8-bit computer and 5200 game system emulator for multiple platforms.
It runs on DOS, Windows, Amiga, Atari ST, Mac, and Linux/UNIX.
It includes support for Atari cartridge ROMs, popular Atari disk images files, running Atari binaries directly from the host system, and accessing the host filesystem from within the emulated Atari.
Main features:
- Atari 400, 800, 600 XL, 800XL, 130XE, 5200 Games System.
- 130XE compatible memory expansions: 320K, 576K, 1088K.
- Optional 4K RAM between 0xc000 and 0xcfff in 400/800 mode.
- Cycle-exact 6502 emulation, all unofficial instructions.
- Cycle-exact NMI interrupts, scanline-based POKEY interrupts.
- Cycle-exact ANTIC and GTIA emulation, all display modes.
- Player/Missile Graphics, exact priority control and collision detection.
- Exact POKEY registers (sound and random number generator).
- 8 disk drives, emulated at computer-to-drive communication and fast patched SIO levels.
- ATR, XFD, DCM, ATR.GZ and XFD.GZ disk images.
- Direct loading of Atari executable files and Atari BASIC programs.
- 42 cartridge types, raw and CART .
- Cassette recorder, raw and CAS images.
- Printer support.
- Files can be stored directly on your host computer via the H: device.
- Current emulation state can be saved in a state file.
- Sound support on Unix using "/dev/dsp".
- Stereo (two POKEYs) emulation.
- Joystick controller using numeric keypad.
- Real joystick support.
- Paddles, Atari touch tablet, Koala pad, light pen, light gun, ST/Amiga mouse, Atari trak-ball, joystick and Atari 5200 analog controller emulated using mouse.
- R-Time 8 emulation using host computer clock.
- Atari palette read from a file or calculated basing on user-defined parameters.
- Screen snapshots (normal and interlaced) to PCX and PNG files.
- Sound output may be written to WAV files.
- User interface on all versions supporting bitmapped graphics.
- R: device (the Atari850 serial ports) mapped to net or real serial port.
<<less
Download (0.95MB)
Added: 2007-07-13 License: GPL (GNU General Public License) Price:
835 downloads
inSap 0.4

inSap 0.4


inSAP is a XMMS input plugin based on libSap. more>>
inSAP is a XMMS input plugin based on libSap.

SAP Library is a software emulation of CPU 6502 microprocessor and Pokey chip.
Those two chips are used in Atari XL/XE computers.

SAP Library is used to run programs written in 6502 machine language, programs that are using Pokey chip to play tunes and sounds.

<<less
Download (0.090MB)
Added: 2006-04-14 License: GPL (GNU General Public License) Price:
1289 downloads
cxmon 3.2

cxmon 3.2


cxmon is an interactive command-driven file manipulation tool. more>>
cxmon is an interactive command-driven file manipulation tool that is inspired by the "Amiga Monitor" by Timo Rossi.The project has commands and features similar to a machine code monitor/debugger, but it lacks any functions for running/tracing code.
There are, however, built-in PowerPC, 680x0, 80x86 (including x86-64), 6502 and Z80 disassemblers, and special support for disassembling MacOS code.
Usage: ./cxmon [-m] [-r] [command...]
What can I do with cxmon?
The primary intention behind cxmon was to provide a tool for emulation developers and other people that need to manipulate or inspect binary data and machine code. It has been an invaluable tool during the development of Basilisk II, SheepShaver and Frodo. Possible uses of cxmon include:
- disassembling executables in non-native formats, including raw formats like ROM images
- analyzing boot blocks
- patching program files
- removing unneeded headers from binary data files
You can also simply use it as an interactive workbench for manipulating files, or even as a hex calculator.
Examples
Here are some simple examples of what is possible with cxmon:
Join "file1" and "file2" to "file3"
[ 0 "file1"
[ . "file2"
] 0 . "file3"
Remove the first 24 bytes (e.g. an unneeded header) from a file
[ 0 "file"
] 18 .-18 "file"
Convert a four-character-code to its hex and decimal values
? RSRC
Disassemble LILO boot code
[ 0 "/boot/boot.0800"
d8086 0
Create a modified version of cxmon that has " $" instead of "->" as a prompt
[ 0 "cxmon"
set size=.
h 0 . "->"
: . " $"
] 0 size "cxmon1"
Convert a binary file which contains 16-bit numbers in little-endian format to big-endian format (or vice-versa)
[ 0 "file"
yh 0 .-1 :>>8|:<<less
Download (0.10MB)
Added: 2007-01-26 License: GPL (GNU General Public License) Price:
1006 downloads
libSap 1.51.1

libSap 1.51.1


libSap is a Linux port of windows SAP Library. more>>
libSap library is a Linux port of windows SAP Library. SAP Library is a software emulation of CPU 6502 microprocessor and Pokey chip.
Those two chips are used in Atari XL/XE computers. SAP Library is used to run programs written in 6502 machine language, programs that are using Pokey chip to play tunes and sounds.
Enhancements:
- ported SAP Library ver.1.51
- first public release
<<less
Download (0.037MB)
Added: 2006-04-14 License: GPL (GNU General Public License) Price:
1291 downloads
nescom 1.1.3.1

nescom 1.1.3.1


nescom reads symbolic 6502/RP2A03/RP2A07 machine code and compiles (assembles) it into a relocatable object file. more>>
nescom reads symbolic 6502/RP2A03/RP2A07 machine code and compiles (assembles) it into a relocatable object file or into an IPS patch.

The produced object file is binary-compatible with those made with XA65.

<<less
Download (0.068MB)
Added: 2007-07-06 License: GPL (GNU General Public License) Price:
841 downloads
WLA DX 9.3

WLA DX 9.3


WLA DX is a GB-Z80/Z80/6502/65c02/6510/65816/HuC6280/SPC-700 macro assembler. more>>
Main features:
- Fast
- SNES support
- SMS/GG support
- Gameboy support
- PC-Engine support
- NO$GMB symbol file writing
- Support for object and library files
- You can patch ROM images with code
- WLA GB-Z80 disassembler included
- Numerous ways to comment code away
- ROM image and program file compiling
- Multilevel macros (actually, functions)
Compiles code for the following CPUs:
- 6502 (NES, etc.)
- 65C02 (VIC-20, etc.)
- 6510 (C64, etc.)
- 65816 (SNES, etc.)
- GB-Z80 (Game Boy)
- HuC6280 (PC-Engine)
- SPC-700 (SNES sound chip)
- Z80 (GG, SMS, MSX, Spectrum, Ti86, etc.)
... on the following platforms:
- AmigaOS 1-3 (680x0)
- AmigaOS 4 (PPC)
- Linux
- MSDOS
- Un*x
- Win32
Currently WLA can also be used as a patch tool. Just include the original
ROM image into the project with .BACKGROUND and insert e.g., OVERWRITE .SECTIONs
to patch the desired areas. Output the data into a new ROM image and there
you have it. 100% readable (asm coded) patches are reality!
Note that you can directly compile only object and library files. You must
use WLALINK to link these (or only one, if you must) into a ROM/program file.
About the names... WLA DX means all the tools covered in this documentation.
So WLA DX includes WLA GB-Z80/Z80/6502/65C02/6510/65816/HUC6280/SPC-700
macro assembler (what a horribly long name), WLAB, WLAD and WLALINK
GB-Z80/Z80/6502/65C02/6510/65816/HUC6280/SPC-700 linker. I use plain WLA to refer
to the macro assembler.
Enhancements:
- A couple of new directives, directive aliases, makefiles, and examples were added. .MEMORYMAP and .MACRO parsing were enhanced.
- This release incorporates a few 6502 related fixes.
<<less
Download (0.25MB)
Added: 2006-09-09 License: GPL (GNU General Public License) Price:
1150 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 1
  • 1