Giter Site home page Giter Site logo

museum-of-art-and-digital-entertainment / macross Goto Github PK

View Code? Open in Web Editor NEW
158.0 158.0 15.0 1.19 MB

Macross 6502, the assembler written by Lucasfilm Ltd. that was used for Habitat and SCUMM

Makefile 1.19% C 89.77% C++ 3.02% Yacc 5.89% Objective-C 0.12%

macross's People

Contributors

ksherlock avatar michaelcmartin avatar mist64 avatar pdewacht avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

macross's Issues

Slinky is getting wrong answers when writing the binary

If I create the hello.m test program and use the commands you state on your blog to build it, the linker fails as it attempts to jam the value $3ff8 into a single byte. On Linux, the link succeeds but the value loaded in the binary for the "text" variable is $0705 instead of $c007. Oddly enough, this only appears in the .bin file; the .sym file correctly names the intended locations.

Slinky: how does org work?

I am having problems with organizing. I think I am missing something....for I would expect the following code to produce output to be at least 0x8000 bytes in size, but it is only 23 bytes.

start 0x0000

lda 0
sta 0

org 0x8000

lda 1
sta 0

I've also tried block and align, but with similar results.

Questions about build tools

I'm decent with build infrastructure and I like to help, but I don't want to push anything that's not wanted/needed. So, without further ado:

  • Does macross require GNU make (with extensions), and not some minimally POSIX-compliant make?
  • Is there any interest in autotooling?
  • Is anyone absolutely against autotooling?
  • Is the project better served by "simple" Makefiles instead? How many?

Does not build on GCC

As noted in the release announcement, this doesn't yet build on GCC or MSVC. I've started looking into this, and the primary problem we have here is that extern functions are being declared inside the functions that use them, instead of in header files. Worse, some of them are being declared inconsistently (see, for instance, evaluateOperand, which takes two arguments when called but only one when defined.)

I'm working on cleaning this up in my fork so I can get a pull request out of it. I'm trying to make it a minimal set of changes, but even with that this will probably get us about halfway to ANSI C.

Code should be updated to ANSI C

This has several subtasks:

  • Function prototypes for everything that is used in other files (GCC support required some of this but not for everything)
  • Match up functions to include files as ultimately standardized
  • Many functions that take format strings should really be varargs functions that forward to vprintf
  • Remove calls to deprecated functions like mktmp and use the preferred functions instead
  • There are some extremely dire errors involving objects being missized at link time by hundreds of bytes. We should look into that
  • Ideally, in doing this we could make the code 64-bit clean. That's a task of unknown size at present and might be better tracked as a separate issue.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.