Macross 6502, the assembler written by Lucasfilm Ltd. that was used for Habitat and SCUMM
Go to file
2016-01-23 21:21:25 +01:00
doc Initial commit from macross.tar.gz 2014-05-03 22:20:34 -07:00
notes68 Initial commit from macross.tar.gz 2014-05-03 22:20:34 -07:00
opt Don't define BYTESWAPPED, so we output correct little endian for 6502 2014-06-18 12:55:06 -04:00
slinky Include <string.h> instead of <strings.h> 2016-01-23 16:07:37 +01:00
.mark Initial commit from macross.tar.gz 2014-05-03 22:20:34 -07:00
actions_6502.c added license headers and README.md 2016-01-21 22:02:21 +01:00
actions_68000.c added license headers and README.md 2016-01-21 22:02:21 +01:00
buildStuff1.c buildMdoStatement: seems to have wrong argument type 2016-01-23 21:21:25 +01:00
buildStuff2.c added license headers and README.md 2016-01-21 22:02:21 +01:00
buildStuff3.c added license headers and README.md 2016-01-21 22:02:21 +01:00
builtInFunctions.c Include <string.h> instead of <strings.h> 2016-01-23 16:07:37 +01:00
builtInFunsSD_6502.c evaluateOperand takes only a single argument 2016-01-23 21:21:25 +01:00
builtInFunsSD_68000.c evaluateOperand takes only a single argument 2016-01-23 21:21:25 +01:00
conditionDefs_6502.h added license headers and README.md 2016-01-21 22:02:21 +01:00
conditionDefs_68000.h added license headers and README.md 2016-01-21 22:02:21 +01:00
debugPrint.c printExpression: select the right field of the union for CONDITION_CODE_EXPR 2016-01-23 21:21:25 +01:00
debugPrintSD_6502.c added license headers and README.md 2016-01-21 22:02:21 +01:00
debugPrintSD_68000.c added license headers and README.md 2016-01-21 22:02:21 +01:00
DOC.txt Renamed DOC to DOC.txt to avoid conflict with directory doc on case insensitive file systems 2014-05-03 22:23:35 -07:00
driver.c added license headers and README.md 2016-01-21 22:02:21 +01:00
emitBranch_6502.c added license headers and README.md 2016-01-21 22:02:21 +01:00
emitBranch_68000.c added license headers and README.md 2016-01-21 22:02:21 +01:00
emitBranch.h Move Macross's local extern function references into ANSI C headers full of prototypes 2016-01-23 03:51:29 -08:00
emitStuff.c added license headers and README.md 2016-01-21 22:02:21 +01:00
encode.c Move Macross's local extern function references into ANSI C headers full of prototypes 2016-01-23 03:51:29 -08:00
errorfyle Initial commit from macross.tar.gz 2014-05-03 22:20:34 -07:00
errorStuff.c Convert macross error-handling functions to varargs 2016-01-23 17:37:55 +01:00
expressionSemantics.c Add missing <string.h> includes 2016-01-23 16:07:37 +01:00
expressionSemantics.h Move Macross's local extern function references into ANSI C headers full of prototypes 2016-01-23 03:51:29 -08:00
fixups.c added license headers and README.md 2016-01-21 22:02:21 +01:00
garbage.c Avoid C++ style comments 2016-01-23 21:21:18 +01:00
initialize.c Add missing <string.h> includes 2016-01-23 16:07:37 +01:00
lexer.c Move Macross's local extern function references into ANSI C headers full of prototypes 2016-01-23 03:51:29 -08:00
lexerTables.h added license headers and README.md 2016-01-21 22:02:21 +01:00
listing.c Convert macross listing functions to varargs 2016-01-23 21:21:22 +01:00
listing.h Convert macross listing functions to varargs 2016-01-23 21:21:22 +01:00
lookups.c evaluateOperand takes only a single argument 2016-01-23 21:21:25 +01:00
macross_6502.y added license headers and README.md 2016-01-21 22:02:21 +01:00
macross_68000.y added license headers and README.md 2016-01-21 22:02:21 +01:00
macrossGlobals.h Use extern keyword in declarations of arrays with unspecified size 2016-01-23 16:07:37 +01:00
macrossTables_6502.c added license headers and README.md 2016-01-21 22:02:21 +01:00
macrossTables_68000.c added license headers and README.md 2016-01-21 22:02:21 +01:00
macrossTypes.h Avoid C++ style comments 2016-01-23 21:21:18 +01:00
main.c added license headers and README.md 2016-01-21 22:02:21 +01:00
Makefile Use standard malloc 2016-01-23 16:07:37 +01:00
Makefile_6502 Don't define BYTESWAPPED, so we output correct little endian for 6502 2014-06-18 12:55:06 -04:00
Makefile_68000 Don't define BYTESWAPPED, so we output correct little endian for 6502 2014-06-18 12:55:06 -04:00
malloc.c added license headers and README.md 2016-01-21 22:02:21 +01:00
object.c Add missing <string.h> includes 2016-01-23 16:07:37 +01:00
operandBody_6502.h added license headers and README.md 2016-01-21 22:02:21 +01:00
operandBody_68000.h added license headers and README.md 2016-01-21 22:02:21 +01:00
operandDefs_6502.h added license headers and README.md 2016-01-21 22:02:21 +01:00
operandDefs_68000.h added license headers and README.md 2016-01-21 22:02:21 +01:00
operandStuff.h Move Macross's local extern function references into ANSI C headers full of prototypes 2016-01-23 03:51:29 -08:00
operandStuffSD_6502.c expandExpression takes two arguments 2016-01-23 21:21:22 +01:00
operandStuffSD_68000.c added license headers and README.md 2016-01-21 22:02:21 +01:00
parserMisc.c addLabelToStatement: correctly create a dummy statementBodyType 2016-01-23 21:21:25 +01:00
parserMisc.h Convert macross error-handling functions to varargs 2016-01-23 17:37:55 +01:00
README.md added license headers and README.md 2016-01-21 22:02:21 +01:00
semanticMisc.c Add missing <string.h> includes 2016-01-23 16:07:37 +01:00
semanticMisc.h Move Macross's local extern function references into ANSI C headers full of prototypes 2016-01-23 03:51:29 -08:00
slinkyExpressions.h added license headers and README.md 2016-01-21 22:02:21 +01:00
statementSemantics.c expandExpression takes two arguments 2016-01-23 21:21:22 +01:00
statementSemantics.h Move Macross's local extern function references into ANSI C headers full of prototypes 2016-01-23 03:51:29 -08:00
structSemantics.c XXX Missing parameter in call to assembleStatementBody 2016-01-23 21:21:22 +01:00
tokenStrings_6502.c added license headers and README.md 2016-01-21 22:02:21 +01:00
tokenStrings_68000.c added license headers and README.md 2016-01-21 22:02:21 +01:00

macross 6502, an assembler for people who hate assembly language

Macross is a fancy macro cross assembler for the 6502. Macross assembles the given files in the order specified on the command line. Macross source file names must end with ``.m''.

Slinky is a multi-file relocating object linker designed to be used in conjunction with the Macross assembler. Slinky links the given Macross object files in the order specified on the command line together into one executable object file.

History

Macross and Slinky were developed 1984-1987 by Chip Morningstar at Lucasfilm Ltd. for use in the game Habitat.

The source has been resurrected in the context of preserving and restoring Habitat at The Museum of Art and Digital Entertainment.

Status

The original archive contents are checked in as the first commit. Subsequent commits provide clean ups and compile fixes for modern machines.

Currently, Macross and Slinky compile and work on OS X (32 bit).

Documentation

See the directory doc.

License

MIT