Giter VIP home page Giter VIP logo

spasm-ng's Introduction

spasm-ng

SPASM-ng is a z80 assembler with extra features to support development for TI calculators.

Requirements

On Windows, you will need the following to build SPASM-ng:

On Linux, Mac OS X, and other *nix, you will need the following to build SPASM-ng:

Note that if you are using Linux, your distribution will likely have pre-built packages (and development packages) available to install. You should use these first before attempting to install the above libraries yourself.

Suggested packages for Ubuntu/Debian:

  • build-essential
  • libssl-dev
  • zlib1g-dev
  • libgmp-dev
  • checkinstall (optional, only if you want to build Debian packages - .deb files)

Building

On Windows, simply build with the included Visual Studio project file.

On Linux, Mac OS X, and other *nix, simply build by running:

make

# Optional: install SPASM-ng (you may need sudo/su/root):
make install

For Debian systems, you can run the following to create a Debian package:

# You should "make clean" before running this!
make clean

# Create a Debian package (builds opt target):
make debian

Other Makefile commands:

# You should "make clean" before running any of this!
make clean

# Build with -static (static linking, bigger binary due to
# including libraries):
make static

# Build with -O3 optimization:
make opt

# Build with both -static and -O3 optimization:
make opt-static

# Create tarball of spasm-ng binary (builds opt-static target):
make tar

Documentation

The program accepts standard Z80 assembly.

SPASM command line help shown below:

SPASM Z80 Assembler by Spencer Putt and Don Straney


spasm [options] <input file> <output file>

Options:
-T = Generate code listing
-C = Code counter mode
-L = Symbol table mode
-S = Stats mode
-O = Don't write to output file
-I [directory] = Add include directory
-A = Labels are cAse-sensitive
-D<name>[=value] = Create a define 'name' [with 'value']
-N = Don't use colors for messages
-V <Expression> = Pipe expression directly into assembly

Issues/Bugs

Report issues/bugs to the issue tracker, found here:

https://github.com/alberthdev/spasm-ng/issues

Copyright/License

SPASM-ng was originally from the SPASM project, and was forked to fix a few bugs. It was originally written by Spencer Putt and Don Straney, with additional development by Chris Shappell and James Montelongo.

License:

SPASM-ng - a z80 assembler with extra features to support dev for TI calcs!
Copyright (C) 2015 Spencer Putt and Don Straney
Copyright (C) 2015 Chris Shappell and James Montelongo
Copyright (C) 2015 Albert Huang (fixes to SPASM)

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

spasm-ng's People

Contributors

alberthdev avatar calc84maniac avatar

Stargazers

 avatar

Watchers

 avatar  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.