Skip to content

Releases: santiontanon/mdlz80optimizer

mdl beta v1.3

30 Jan 18:18
Compare
Choose a tag to compare

Changes with respect to v1.2:

  • binary generation (mdl can be used as a stand-alone assembler now, using the syntax of all the supported dialects)
  • improved support for sdcc integration
  • many internal improvements and bug-fixes

mdl alpha v1.2

18 Jan 22:08
Compare
Choose a tag to compare

This is a maintenance release, with minor improvements on the optimizer, better asMSX support and some bug fixes.

mdl alpha v1.1

24 Aug 04:21
Compare
Choose a tag to compare

This just just a maintenance release, with some bug fixes, and only minor improvements in the optimizer.

mdl alpha v1.0

17 Aug 04:03
4846728
Compare
Choose a tag to compare

Changes since previous version:

  • Robustness: main focus of this release (updated the CPU op definition tables with many fixes, fixes in many of the dialects to improve compatibility, better support for character escaping having in mind the different ways in which different assemblers handle them, etc.)
  • Changed the warning system: off by default, and you can turn coding style warnings on with the -warn flag
  • New experimental execution mode for the pattern-based optimizer activated with "-poapply": this will automatically apply the optimizations to the original source files, saving copies of every input file with ".mdl.asm" extension. All updates to the source code are marked with "; -mdl" (deletion) and "; +mdl" (addition).

mdl alpha v9

09 Aug 22:32
Compare
Choose a tag to compare

New in this release:

  • improved parser support for tniasm, sjasm, asmsx
  • initial support for sdcc assembler output! (minimal)
  • better optimizer:
    • expanded template language to allow for more complex patterns (introduced the concept of an "?op" variable)
    • improved dependency tracking to allow some more optimizations to trigger
    • more optimization patterns
  • better assembler output: added a collection of command line flags to configure the output to be compilable with different assemblers (currently tested with glass and asmsx)

mdl alpha v8

02 Aug 05:26
Compare
Choose a tag to compare

New in this release:

  • parser support:

    • sjasm: more robust colon-less label recognition, better [] repeat support, module/endmodule, more fake instructions supported, S/NS flag synonym support
    • glass: better support for the "section" keyword, and scoping adjusted to mimic closer Glass's process. Automatically generated code for Glass with sections now results in working binaries.
    • pasmo: initial support for pasmo (limited, just enough to make the FlappyBird project in pasmo parse)
    • winAPE: initial support (limited, just enough to make the Subcommander project (in winAPE syntax), parse)
    • tniasm/sjasm/asmsx: fixed local label resolution when they were inside of a macro (e.g. IFDEF)
  • The pattern-based optimizer is a significantly faster for larger projects now

  • more flexible optimization patterns including repetitions

  • many bug fixes

mdl alpha v7

26 Jul 03:04
Compare
Choose a tag to compare

parser support:

  • sjasm: support for extended instructions (e.g. "ld a,(hl++)"), ":" operator, macros with arguments specified in a numeric way, page keyword, allow macros with the same name and different number of arguments, code blocks are now properly relocated into pages using the same assignment algorithm like the original sjasm

optimizer:

  • significantly increased the number of patterns
  • optimizer is robust enough so that automatically generated code by MDL (-asm flag) now compiles and produces working ROMs for most projects (except Glass projects with "section" usage, which is not yet supported)

bugs fixed:

  • jp -> jr pattern range fixed
  • labels not allowed in between code matched by a pattern to prevent unsafe optimizations
  • preserve labels when instructions are removed by an optimization

mdl alpha v6

19 Jul 02:22
Compare
Choose a tag to compare
  • Improved parser support for:
    • sjasm
    • asMSX
  • Improved optimizer:
    • more and more flexible patterns
    • added a new pattern file for size-based optimizations (the default optimizations are only those that would improve both speed and size). Size-based optimizations might decrease speed, but can be more aggressive in terms of size
  • lots of bug fixes
  • Improved line number tracking for messages

mdl alpha v5

12 Jul 00:37
Compare
Choose a tag to compare
  • improved parser support for:
    • Glass: all keywords supported ("section" only minimally supported, enough for getting the label addresses right, and for using the optimizer; but if mdl is asked to generate assembler output, it might not be correct)
    • asMSX
    • tniasm (thanks to theNestruo!)
  • improved optimizer:
    • more optimization patterns
    • more flexible pattern matcher (with better expression unification)
    • tracking of time savings in optimizations

mdl alpha v4

05 Jul 21:27
Compare
Choose a tag to compare
  • Improved support for Glass, asMSX and sjasm dialects
  • lots of bug fixes
  • initial support for integration into VSCode and Sublime Text (thanks to theNestruo!)