Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MIDAS bug fixes for assembling Muddle #826

Open
larsbrinkhoff opened this issue Apr 22, 2018 · 6 comments
Open

MIDAS bug fixes for assembling Muddle #826

larsbrinkhoff opened this issue Apr 22, 2018 · 6 comments
Labels
bug muddle Muddle/MDL

Comments

@larsbrinkhoff
Copy link
Member

larsbrinkhoff commented Apr 22, 2018

@atsampson has found a number of problems in MIDAS when using it to assemble Muddle.

Check #665 for gory details.

Also, he's been using MIDAS 323 because 328 and later doesn't work. So see what the difference is and fix it. (73, 289, and 308 also work.)

@larsbrinkhoff
Copy link
Member Author

larsbrinkhoff commented Apr 23, 2018

I think the next version of MIDAS should be 459 rather than incremented for every bugfix or git commit.

@larsbrinkhoff
Copy link
Member Author

Also add the INFO; MIDAS ARCHIV file.

@larsbrinkhoff
Copy link
Member Author

larsbrinkhoff commented Apr 24, 2018

MIDAS 323 can multiply a global symbol with a constant. See e.g. MUDSYS; SAVE 176, ; POINT TO REAL CHANNELS SLOTS.

MIDAS 458 won't do that. It'll complain saying "Externals multiplied".

Checking the diff, it seems the logic at label MULTP1 has been arranged somewhat. The 323 version seems to work, but supposedly the change was made for a reason. Some testcases and careful single-stepping should reveal the intent.

@atsampson
Copy link
Contributor

To summarise the changes we made to MIDAS 323 when we were using it for building Muddle:

  • Break .ALSO RET] into two lines, so it would compile with MIDAS 458.
  • Add XMOVEI to the symbol table, since the Muddle source used it (it doesn't any more) - 458 has this.
  • Set the IRCONT flag for all two-word linker directives so they don't get split across a block boundary - 458 needs this fix.
  • Define the right symbol name at the start of a CONSTANTS area - 458 needs this fix.

We're now using MIDAS 73 for Muddle, so none of these are strictly necessary, although it would be nice to include the last two in 459 for posterity.

It may well be that the other older code we're building with 323 would actually build with 73/77, so 323 itself might not be necessary.

@larsbrinkhoff
Copy link
Member Author

larsbrinkhoff commented Aug 30, 2020 via email

@atsampson
Copy link
Contributor

At present we build 73 using a binary of 77 - neither 73 nor 77 will build with 323.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug muddle Muddle/MDL
Projects
None yet
Development

No branches or pull requests

2 participants