6502.Net Versions Save

A .Net-based Cross-Assembler for Several 8-Bit Microprocessors

v2.7.0.1

2 years ago

Fixes

  • Corrected a bug in the m6809 assembler.

v2.7

2 years ago

Release 2.7

Features

  • Added a command-line option --allow-overflow to allow sign-overflows in pseudo-op assembly. For instance, `.byte -23, would not error if this option is set.
  • Added a command-line option --Wcase-mismatch to warn user of symbol case mismatches.

Changes

  • Subroutine calls succeeded immediately by a return instruction will issue a warning.
  • Slightly improved error and warning syntax highlighting.

Fixes

  • The --error option will now properly output errors to the specified file.
  • Certain .Net exceptions were not properly caught in invalid assembly.
  • .case directives were not evaluating string constants correctly.
  • Fixed the ^^ (raise-to-the-power-of) operation.

v2.6.3.4

2 years ago

Release 2.6.3.4

Changes

  • Slightly improved the help text for the help command line options, and specific command line errors will now list instead of a generic error.

Fixes

  • Fixed a bug in the format function that would error if it was not the sole expression.

v2.6.3.3

2 years ago

Release 2.6.3.3

Changes

  • Refactored the IEEE-754-to-CBM conversion routine to be slightly more efficient.

v2.6.3.2

3 years ago

W65C02 would not report as a valid CPU mode. This is fixed.

v2.6.3.1

3 years ago

Release 2.6.3.1

Added option --enable-branch-always to enable the bra mnemonic for 6502 mode.

v2.6.2.1

3 years ago

Release 2.6.2.1

Features

  • Added a sizeof function that returns the size in bytes of the given expression.

Changes

  • Labels and instructions can now be parameterized in macro definitions.
  • Option -f is a short alternative to --format.

Fixes

  • Fixed an error when the output hash would not calculate correctly in certain cases with long addressing enabled.
  • Creating config file from options was not naming all properties correctly. This is fixed.
  • The help options -h and -? will no longer report being unknown in the help text.

v2.6.1.2

3 years ago

Release 2.6.1.2

Features

  • Added c64dtv2 CPU type

Fixes

  • Adding uninitialized data past 64KiB in long addressing mode was not being handled properly. This has been fixed.

v2.6.1

3 years ago

Release 2.6.1

Features

  • Added labels-addresses-only option to refine label assembly output.
  • Added long-addressing option to enable 24-bit (long) addressing. Output can exceed the 64KiB boundary when this option is enabled.

Changes

  • Re-targeted the project to .Net 5. Source is still .Net Core 3.x (C# 8.0) compatible.
  • Improved error output. Errors in source are now highlighted.
  • Improved reporting of Z80 relative branching errors.
  • Symbols inside macros are accessible when their expansions are labeled.
  • By default, the .bank directive will no longer reset the Program Counter. To enable this behavior pass the --reset-pc-on-bank option.

Fixes

  • Program overflow errors will now only occur after first pass.
  • The .initmem directive will now properly initialize memory.
  • Some errors were duplicating, particularly in loop constructions.

v2.5.2

3 years ago

Release 2.5.2

Fixes

  • Instructions without operands followed by colons should not throw errors (e.g., nop:nop)
  • Fixed some 65816 and R65C02 instructions.
  • Switching between Z80 and i8080 modes is now possible.
  • Fixed ability for user-defined functions to change the values of passed parameters.