'Macross 6502', Assembler developer by Lucasfilm now available!

Habitat_cover
Habitat, by Lucasfilm – Developed using Macross 6502 (Source: Wikipedia)

There are so many 6502 good assemblers nowadays, including the modern KickAssembler and its javascripty macro capabilities. Now the 6502 developers have another option: Macross 6502.

This assembler was developed between 1984 and 1987 by LucasFilm Ltd and used on the development of the game Habitat. Now, the project source code is available on Github, thanks to The Museum of Art and Digital Entertainment.

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.

If you are interested in this tool, the blog PageTable.com has published an excellent article explaining details about the tools, including a short tutorial to get you started.

Looking at the code, it is really interesting to see how similar to KickAssembler the syntax is. It will be interesting to see new projects coming out using this new tool, hopefully with source code so we can learn more how to use it!

Link: PageTable.com
Source Code: Github

 

Author: Paulo Garcia

3 thoughts on “'Macross 6502', Assembler developer by Lucasfilm now available!

  1. Awesome! If you don’t mind a newbie question: an assembler is an assembler, right? Just what can Macross 6502 do that other C64 assembler can’t?

    1. As far I could see, the main difference is a rich macro language, similar to C syntax. I haven’t used it, but it seems very similar to the approach KickAssembler has with Javascript.

    2. Kenny, I haven’t used Macross or a C64 assembler, but I assume the latter does not have macro capability. Macros can be used to dramatically raise the level of the language while still outputting the same machine code you would do by hand. Be benefit is that your source code becomes shorter, less cluttered, much more clear, you become more productive (taking less time to develop working code), the code becomes much more maintainable (meaning you can more easily figure out what you did two years later when you need to change or add something), and you get fewer bugs (by virtue of the things already mentioned). Downsides? Virtually none. In most cases, it will take zero additional memory or execution time, because you write and control the macros to assemble the very same thing you would do if you had to write it all out longhand. I have an article on the subject, even using macros to form program structures, at http://wilsonminesco.com/StructureMacros/ .

Leave a Reply

Your email address will not be published. Required fields are marked *