Macross 6502, the assembler written by Lucasfilm Ltd. that was used for Habitat and SCUMM
Go to file
Peter De Wachter e10a35e3e1 Protoize
command:
  protoize -c '-m32 -DTARGET_CPU=CPU_6502' -g $(ls *.c | grep -v 68)
2016-01-23 21:21:31 +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 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
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 Protoize 2016-01-23 21:21:31 +01:00
encode.c Protoize 2016-01-23 21:21:31 +01:00
errorfyle Initial commit from macross.tar.gz 2014-05-03 22:20:34 -07:00
errorStuff.c Protoize 2016-01-23 21:21:31 +01: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 Protoize 2016-01-23 21:21:31 +01:00
lexer.c Protoize 2016-01-23 21:21:31 +01: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
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 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 Protoize 2016-01-23 21:21:31 +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 Protoize 2016-01-23 21:21:31 +01:00
object.c Protoize 2016-01-23 21:21:31 +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 Protoize 2016-01-23 21:21:31 +01:00
operandStuffSD_68000.c added license headers and README.md 2016-01-21 22:02:21 +01:00
parserMisc.c Protoize 2016-01-23 21:21:31 +01:00
parserMisc.h Protoize 2016-01-23 21:21:31 +01: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