Coder Social home page Coder Social logo

muhmi / 64tass Goto Github PK

View Code? Open in Web Editor NEW

This project forked from irmen/64tass

0.0 0.0 0.0 5.67 MB

64tass - cross assembler for 6502 etc. microprocessors - by soci/singular - [git clone from the original sourceforge repo]

Home Page: http://sourceforge.net/projects/tass64/

License: GNU General Public License v2.0

C++ 0.37% C 87.88% Assembly 8.14% Makefile 0.69% PLSQL 0.02% Roff 2.10% Vim Script 0.81%

64tass's Introduction

64tass

64tass is a multi pass optimizing macro assembler for the 65xx series of processors.

Installation

Executables for released versions are not difficult to come by.

On Linux there's a good chance it is already included in the package manager of the distribution. It's also in ports for the BSDs. For Mac it's in the ports or brew. If the packaged version is not up to date compilation from source is always an option.

For Windows the release binaries are hosted by Sourceforge. For these the minimum requirements is XP running on a 686. This 32 bit version should work on X64 without any drawbacks. Manual compilation for older windows versions, for X64 or even 32 bit DOS is possible.

Compilation

The only dependencies are a working C compiler and Make.

The Makefile was written to support both GNU Make and BSD Make.

GCC or Clang can compile it without a problem. Other C compilers may work but compile flags might need adjustments.

The regular "Makefile" is for producing binaries for the host platform. So running "make" should build a "64tass" binary. I've heard that might not always work on OSX where instead make CPPFLAGS="-D_XOPEN_SOURCE" might be needed.

There's a "Makefile.win" for cross compiling with Mingw. The name of the compiler needs to be adjusted if it's not the same what I use. Of course one might try to use MSVC natively and there's a good chance it will work. However that's not actively tested and needs to be reported in case it's accidentally broken.

There's a "Makefile.amigaos" for cross compiling as well. I use it for cross compiling with VBCC but it might also work in non cross compile situations.

Makefile targets

If no target is given it just compiles the binary. Other useful targets:

  • clean: deletes all objects
  • distclean: delete the binary as well

These targets assume that "prefix" is set otherwise the destination will be /usr/local. It's recommended to check what these targets actually do to avoid surprises.

  • install-man: installs the man file man1
  • install-doc: installs the reference manual to doc dir
  • install: install everything, with symbols
  • install-strip: install everything, without symbols
  • uninstall: remove what was installed

Usage

This document would become way too long if I'd go into details so please check the reference manual!

As it's a command line assembler the source files are edited in a text editor. Sample syntax highlight configuration files are included for these editors:

  • Crimson editor
  • Gedit
  • Jedit
  • Kate
  • Mcedit
  • Notepad++
  • PSPad
  • Sublime
  • VIM

I saw that there exists a VSCode extension as well. Last time I've checked it didn't display warning messages and so may need manual tweaking at source level.

Relaunch64 directly supports 64tass and can even do code completion for simple projects.

64tass is normally used as a part of a build system. For example it's invoked from a Makefile, script or batch file. Some text editors may be configured to invoke binary for compilation which might be handy.

Diagnostic messages are printed to console by default but may be saved to a file. There are various output formats for the results.

Support

Bug reports and feature requests:

https://sourceforge.net/p/tass64/bugs/ https://sourceforge.net/p/tass64/feature-requests/

The current reference manual is in the README and README.html files. For the last release it can be read online at:

https://tass64.sourceforge.net/

Contributing

Development is done at:

https://sourceforge.net/p/tass64

SVN repository:

https://svn.code.sf.net/p/tass64/code/trunk

License

GNU GENERAL PUBLIC LICENSE Version 2, June 1991

Project status

It is actively maintained. Release frequency might vary and might be too long for some. If so please try to compile the current repository version. It might have bug fixes already but on the other hand it might have new problems.

64tass's People

Contributors

irmen avatar roopekangas avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.