Macross 6502, the assembler written by Lucasfilm Ltd. that was used for Habitat and SCUMM
Go to file
2016-04-13 14:45:26 -07:00
doc updated write_6502.itr to work with heirloom troff; generated ps and pdf versions. 2016-04-13 12:18:49 -04: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 Default to cc as a compiler, with options to change if needed 2016-02-08 18:10:23 -08:00
.gitignore Create a .gitignore file 2016-01-23 17:47:11 -08:00
.mark Initial commit from macross.tar.gz 2014-05-03 22:20:34 -07:00
actions_6502.c Move function declarations out of the .c files and use the generated .h files instead 2016-01-23 21:50:38 -08:00
actions_68000.c added license headers and README.md 2016-01-21 22:02:21 +01:00
actions.h Full header information extracted from gcc -aux-info 2016-01-23 21:50:38 -08:00
buildStuff.h Remove all warnings that aren't int- or pointer-conversion 2016-01-23 17:24:28 -08:00
buildStuff1.c Move function declarations out of the .c files and use the generated .h files instead 2016-01-23 21:50:38 -08:00
buildStuff2.c Move function declarations out of the .c files and use the generated .h files instead 2016-01-23 21:50:38 -08:00
buildStuff3.c Move function declarations out of the .c files and use the generated .h files instead 2016-01-23 21:50:38 -08:00
builtInFunctions.c Move function declarations out of the .c files and use the generated .h files instead 2016-01-23 21:50:38 -08:00
builtInFunctions.h Full header information extracted from gcc -aux-info 2016-01-23 21:50:38 -08:00
builtInFunsSD_6502.c Move function declarations out of the .c files and use the generated .h files instead 2016-01-23 21:50:38 -08: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 Move function declarations out of the .c files and use the generated .h files instead 2016-01-23 21:50:38 -08:00
debugPrint.h Full header information extracted from gcc -aux-info 2016-01-23 21:50:38 -08:00
debugPrintSD_6502.c Move function declarations out of the .c files and use the generated .h files instead 2016-01-23 21:50:38 -08: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 Move function declarations out of the .c files and use the generated .h files instead 2016-01-23 21:50:38 -08:00
emitBranch_68000.c added license headers and README.md 2016-01-21 22:02:21 +01:00
emitBranch.h Full header information extracted from gcc -aux-info 2016-01-23 21:50:38 -08:00
emitStuff.c Move function declarations out of the .c files and use the generated .h files instead 2016-01-23 21:50:38 -08:00
emitStuff.h Full header information extracted from gcc -aux-info 2016-01-23 21:50:38 -08:00
encode.c Move function declarations out of the .c files and use the generated .h files instead 2016-01-23 21:50:38 -08:00
encode.h Full header information extracted from gcc -aux-info 2016-01-23 21:50:38 -08:00
errorfyle Initial commit from macross.tar.gz 2014-05-03 22:20:34 -07:00
errorStuff.c Move function declarations out of the .c files and use the generated .h files instead 2016-01-23 21:50:38 -08:00
errorStuff.h Extra headers and casts so it can compile with the -ansi flag 2016-01-24 15:56:45 -08:00
expressionSemantics.c prevent lda @y or lda @x (which is accepted by the parser) from crashing. 2016-02-23 21:15:01 -05:00
expressionSemantics.h Full header information extracted from gcc -aux-info 2016-01-23 21:50:38 -08:00
fixups.c Move function declarations out of the .c files and use the generated .h files instead 2016-01-23 21:50:38 -08:00
fixups.h Full header information extracted from gcc -aux-info 2016-01-23 21:50:38 -08:00
garbage.c Move function declarations out of the .c files and use the generated .h files instead 2016-01-23 21:50:38 -08:00
garbage.h Full header information extracted from gcc -aux-info 2016-01-23 21:50:38 -08:00
globals.c Extern all the globals, not just the tables 2016-01-24 00:00:20 -08:00
initialize.c mkstemp fix 2016-02-22 15:45:17 -05:00
initialize.h Full header information extracted from gcc -aux-info 2016-01-23 21:50:38 -08:00
lexer.c Move function declarations out of the .c files and use the generated .h files instead 2016-01-23 21:50:38 -08:00
lexer.h Full header information extracted from gcc -aux-info 2016-01-23 21:50:38 -08:00
lexerTables.h added license headers and README.md 2016-01-21 22:02:21 +01:00
listing.c fix macro listings (-m w/ -l). Slightly broken by varargs update. 2016-02-24 13:34:05 -05:00
listing.h Extra headers and casts so it can compile with the -ansi flag 2016-01-24 15:56:45 -08:00
lookups.c Move function declarations out of the .c files and use the generated .h files instead 2016-01-23 21:50:38 -08:00
lookups.h Full header information extracted from gcc -aux-info 2016-01-23 21:50:38 -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 Extern all the globals, not just the tables 2016-01-24 00:00:20 -08:00
macrossTables_6502.c Move function declarations out of the .c files and use the generated .h files instead 2016-01-23 21:50:38 -08:00
macrossTables_68000.c added license headers and README.md 2016-01-21 22:02:21 +01:00
macrossTypes.h remove horrible kludge due to C compiler bug on Sun (and eliminate a lot of enum mismatch warnings) 2016-03-09 09:26:30 -05:00
main.c Extra headers and casts so it can compile with the -ansi flag 2016-01-24 15:56:45 -08:00
Makefile Default to cc as a compiler, with options to change if needed 2016-02-08 18:10:23 -08: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
Makefile.depend Break out makedepend output to auxiliary file 2016-02-08 18:04:00 -08:00
malloc.c Protoize 2016-01-23 21:21:31 +01:00
object.c Move function declarations out of the .c files and use the generated .h files instead 2016-01-23 21:50:38 -08:00
object.h Full header information extracted from gcc -aux-info 2016-01-23 21:50:38 -08: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 Full header information extracted from gcc -aux-info 2016-01-23 21:50:38 -08:00
operandStuffSD_6502.c prevent lda @y or lda @x (which is accepted by the parser) from crashing. 2016-02-23 21:15:01 -05:00
operandStuffSD_68000.c Remove obsolete kludge 2016-01-23 21:21:31 +01:00
parserMisc.c Move function declarations out of the .c files and use the generated .h files instead 2016-01-23 21:50:38 -08:00
parserMisc.h Full header information extracted from gcc -aux-info 2016-01-23 21:50:38 -08:00
README.md added license headers and README.md 2016-01-21 22:02:21 +01:00
semanticMisc.c rename swab to avoid conflict with string.h 2016-01-24 00:10:35 -08:00
semanticMisc.h rename swab to avoid conflict with string.h 2016-01-24 00:10:35 -08:00
slinkyExpressions.h added license headers and README.md 2016-01-21 22:02:21 +01:00
statementSemantics.c Move function declarations out of the .c files and use the generated .h files instead 2016-01-23 21:50:38 -08:00
statementSemantics.h Full header information extracted from gcc -aux-info 2016-01-23 21:50:38 -08:00
structSemantics.c Move function declarations out of the .c files and use the generated .h files instead 2016-01-23 21:50:38 -08:00
structSemantics.h Full header information extracted from gcc -aux-info 2016-01-23 21:50:38 -08: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
tokenStrings.h Full header information extracted from gcc -aux-info 2016-01-23 21:50:38 -08: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