Skip to content

Releases: michaelkamprath/bespokeasm

v0.5.1: Configurable String Packing

27 Jul 17:22
585a073
Compare
Choose a tag to compare

On top of the v0.5.0 release of enabling adjustable data word sizes, this release makes configurable the methodology for packing string bytes into larger words.

v0.5.0: Arbitrary Data Word Size

26 Jul 20:18
e11a022
Compare
Choose a tag to compare

This release adds support for different data word sizes in the assembler, expanding beyond the traditional 8-bit words to support variable word sizes including 4-bit, 16-bit, 32-bit, and other configurations. The changes introduce flexible endianness handling at both the intra-word and multi-word levels, enabling more sophisticated processor architectures.

Key changes include:

  • Introduction of addressing at differing data word sizes (4-bit, 8-bit, 126-bit, etc).
  • Enhanced endianness support with separate intra-word and multi-word configurations
  • Made the 'compile' command optional when using bespokeasm to compile code.
  • Added a command line subcommand that helps user update ISA configuration files if the format BespokeASM expects changes.
  • Many bug fixes and improved unit test coverage.
  • Python v3.11 now required

v0.4.2

27 Apr 05:59
8219b4d
Compare
Choose a tag to compare

This is a rather large change that enables several assembly syntax features to support the Minimal 64x4 Home Computer. The major changes are:

  • address operand type that support bit slicing when needed for things like local jumps and zero page addressing.
  • .align directive to adjust current address to next configurable page boundary
  • Support for embedded strings, which which are essentially .cstr data types without the .cstr directive.
  • #mute and #unmute preprocessor directive to control the emission of byte code.
  • Complete list of changes is in the CHANGELOG.

Also created the ISA configuration and sample code for the Minimal 64x4 Home Computer.

v0.4.1 - Preprocessor Improvements and Bug Fixes

29 Jul 19:43
1f1b1ca
Compare
Choose a tag to compare

This version improves on the preprocessor feature set by addressing various bugs and adding support for negative integers in both preprocessor and compile time labels. A number of bugs in compile error message improvements were addressed too. Finally, added an example for The Minimal 64 Home Computer.

Preprocessor Macros and Compilation Control

22 Apr 16:41
501e8b6
Compare
Choose a tag to compare

This is a major feature upgrade that enables preprocessor macro definitions using the #define <symbol> <value> syntax and compilation control using preprocessor #if / #elif / #else / #endif directives. See documentation for more information.

Also added several minor features documented in the CHANGELOG.

v0.3.3

28 Mar 03:38
a3b8083
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.3.2...v0.3.3