Skip to content

Releases: informedcitizenry/6502.Net

Version 5.0

24 Apr 22:35

Choose a tag to compare

The Big Five-Oh! Release

Version 4.4.1

18 Oct 13:36

Choose a tag to compare

Fixed several defects

  • Several instructions in the 65xx family as well as a few in the Z80 instruction set.
  • A bug in how constants were evaluated in subsequent passes.
  • Several undocumented/illegal Z80 opcodes should now disassemble properly.
  • When a .relocate instruction before a .page/.endpage block but the .endrelocate instruction within it, a more helpful error will emit if a page boundary is crossed.

Version 4.3.2

08 Jun 13:27

Choose a tag to compare

Made small improvements to diagnostics for disassembler mode. Ignored options are now reported individually. In addition, some other options, such as --quiet, --Werror and --error now work as they would in assembler mode.

Version 4.3.1

19 Apr 12:51

Choose a tag to compare

Version 4.3.1

  • Added support for escape codes of special Commodore keys in string and character literals, e.g.,"{CLR}{HOME}" for Commodore-specific encodings.
  • Symbol names can include registers.
  • Some error message improvements.
  • Other minor bug fixes.

Version 4.2.2

13 Oct 12:21

Choose a tag to compare

Version 4.2.2

This release mostly focused on improved error messages.

Release 4.2

06 Oct 14:39

Choose a tag to compare

Changes

Support for the Sharp LR35902, the z80-flavored CPU powering the Nintendo Game Boy.

Release 4.1

23 Sep 14:34
4f0d928

Choose a tag to compare

Minor bugfix release

Release 4.0

21 Apr 13:04

Choose a tag to compare

Release 4.0

Features

  • Enhanced the type system. Now all types have a minimum number of instance member methods, most notable toString(). Previously standalone functions for arrays and strings are now implemented as methods on instances of those types. See the documentation on expressions for more details.
  • Added the tuple type, functionally equivalent to arrays except their members can be heterogenous types.
  • String literals can have explicit encodings via the prefices: u, U and u8.
  • Support included for .Net style interpolated strings, e.g. $"3+2={3+2}", including value formatting support.
  • The command-line option --vice-labels used with -L can output label listings as VICE format.
  • The ^^ prefix operator extracts the high word of a numeric expression.
  • A lightweight diassembler is now available with the --disassemble option. The --disassembly-start and --dissembly-offset options control disassembly. See the documentation for more details.
  • Pseudo-ops accept array and tuple expressions as operands
  • The range function generates an integer array from given arguments.

Changes

  • The command-line options -E and --ignore-colons has been removed.
  • The --createconfig option is now a flag that will generate a config file called 'config.json' from the passed options.
  • The macro string literal substitution of the form @"{macro_param}" has been removed. String interpolation is now supported as a replacement capable of full stringifying full expressions.
  • The following built-in functions have been removed (see above): concat, filter, len, map, reduce, and sort.
  • The poke function now returns the value of the poked value.
  • The preprocessing directives .macro, .binclude and .include are now affected by the -C option.
  • Parsing grammar simplification.
  • Further improvements to error highlighting.
  • The core assembler functionality has been packaged into its own project as a separated library called Sixty502DotNet.Shared.

Fixes

  • Fixed certain 6809 cwai and certain indexed instructions.
  • The --config option had a defect that occasionally prevented the JSON schema from validating.
  • Certain values caused problems for the cbmflt and cbmfltp functionality (both the pseudo-op directives and related functions)

Release 3.2

09 Sep 17:12

Choose a tag to compare

Release 3.2

Features

Functions

New functional support for array, with the following functions:

  • concat: Concatenate two arrays or strings
  • filter: Filter array or string elements according to the specified predicate
  • map: Map array elements to new values according to the specified transform function
  • reduce: Reduce array elements to a new value according to the specified reducer function
  • sort: Sort the array or string

The function, or arrow, expression idiom has been added to the assembler syntax to support many of the above built-in functions. Function expressions work like callbacks and lambdas in other programming languages. See the wiki for usage and examples.

The .stringify directive

To generate string byte output from non-string values, ordinarily the format function would be used. A new directive .stringify allows the same in a compact format.

Release 3.1

20 May 12:46

Choose a tag to compare

Release 3.1

Changes

  • Loosened equality/comparison rules for doubles.
  • Minor refactoring of evaluation code.