Macross 6502, the assembler written by Lucasfilm Ltd. that was used for Habitat and SCUMM
Go to file
2016-01-23 17:24:28 -08:00
doc
notes68
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
actions_6502.c Protoize 2016-01-23 21:21:31 +01:00
actions_68000.c added license headers and README.md 2016-01-21 22:02:21 +01:00
buildStuff1.c Protoize 2016-01-23 21:21:31 +01:00
buildStuff2.c Protoize 2016-01-23 21:21:31 +01:00
buildStuff3.c Protoize 2016-01-23 21:21:31 +01:00
buildStuff.h Remove all warnings that aren't int- or pointer-conversion 2016-01-23 17:24:28 -08:00
builtInFunctions.c Protoize 2016-01-23 21:21:31 +01:00
builtInFunsSD_6502.c Protoize 2016-01-23 21:21:31 +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 Protoize 2016-01-23 21:21:31 +01:00
debugPrintSD_6502.c Protoize 2016-01-23 21:21:31 +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 Protoize 2016-01-23 21:21:31 +01:00
emitBranch_6502.c Protoize 2016-01-23 21:21:31 +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 emitString: comparison between pointer and integer 2016-01-23 21:21:31 +01:00
encode.c Protoize 2016-01-23 21:21:31 +01:00
errorfyle
errorStuff.c Protoize 2016-01-23 21:21:31 +01:00
errorStuff.h Remove all warnings that aren't int- or pointer-conversion 2016-01-23 17:24:28 -08:00
expressionSemantics.c Protoize 2016-01-23 21:21:31 +01:00
expressionSemantics.h Protoize 2016-01-23 21:21:31 +01:00
fixups.c Protoize 2016-01-23 21:21:31 +01:00
garbage.c Protoize 2016-01-23 21:21:31 +01:00
initialize.c Use mkstemp instead of mktemp - mktemp is intrinsically unsafe. 2016-01-23 15:56:01 -08:00
lexer.c Protoize 2016-01-23 21:21:31 +01:00
lexer.h Remove all warnings that aren't int- or pointer-conversion 2016-01-23 17:24:28 -08:00
lexerTables.h added license headers and README.md 2016-01-21 22:02:21 +01:00
listing.c Protoize 2016-01-23 21:21:31 +01:00
listing.h Protoize 2016-01-23 21:21:31 +01:00
lookups.c Protoize 2016-01-23 21:21:31 +01:00
lookups.h Remove all warnings that aren't int- or pointer-conversion 2016-01-23 17:24:28 -08:00
macross_6502.y Remove all warnings that aren't int- or pointer-conversion 2016-01-23 17:24:28 -08: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 Protoize 2016-01-23 21:21:31 +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 Main should have a return value 2016-01-23 16:01:46 -08: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 Protoize 2016-01-23 21:21:31 +01:00
object.c Protoize 2016-01-23 21:21:31 +01:00
operandBody_6502.h Remove obsolete kludge 2016-01-23 21:21:31 +01:00
operandBody_68000.h Remove obsolete kludge 2016-01-23 21:21:31 +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 Remove obsolete kludge 2016-01-23 21:21:31 +01:00
operandStuffSD_68000.c Remove obsolete kludge 2016-01-23 21:21:31 +01:00
parserMisc.c Protoize 2016-01-23 21:21:31 +01:00
parserMisc.h Remove all warnings that aren't int- or pointer-conversion 2016-01-23 17:24:28 -08:00
README.md added license headers and README.md 2016-01-21 22:02:21 +01:00
semanticMisc.c Protoize 2016-01-23 21:21:31 +01:00
semanticMisc.h Protoize 2016-01-23 21:21:31 +01:00
slinkyExpressions.h added license headers and README.md 2016-01-21 22:02:21 +01:00
statementSemantics.c Protoize 2016-01-23 21:21:31 +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 Protoize 2016-01-23 21:21:31 +01:00
tokenStrings_6502.c Protoize 2016-01-23 21:21:31 +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