Releases: z00m128/sjasmplus
Releases · z00m128/sjasmplus
sjasmplus v1.20.3
- added alias
--define
for-D
- added string-literals suffixes Z and C to add zero or set high bit of last char
- end of line backslash continues source line (limited support, not recommended)
- Lua: minor version upgrade to 5.4.6 (from 5.4.4)
- minor updates to Makefile
sjasmplus v1.20.2
- added optional second argument for
DUP
to have index variable - option
--exp
will create file even when noEXPORT
is used - fixing variable name-clash when compiling against musl-clib
- LuaBridge updated, CMake and Makefile updated a bit
- minor bugfixes/improvements in parser in specific edge cases
sjasmplus v1.20.1
- parse decimal numeric constants with warning (for easier Lua 5.4 life)
- added
SAVEAMSDOS
(like SAVEBIN with AMSDOS header) - added "smart" SMC offset syntax for self-modify-code labels:
abc+*: or 123
- added
DEFDEVICE
to define custom devices - Makefile cleanup
sjasmplus v1.20.0
1.20.0 - 13.6.2022
- Lua: upgrade to 5.4, replacing tolua++ bindings with LuaBridge2.6 library, extending some bindings
- Lua: bindings slightly modified (required by upgrade), refreshed docs, added test coverage
- Lua: the 3rd party extensions (BTW not working for many years) are obsolete in 5.4 and removed
- Lua: more accurate errors/warning location reported even in complex cases
- warnings: added -Wall, --help=warnings shows on/off status, rdlow off by default
- Added HIGH mode to relocation data generator (MSB-only relocation mode)
- many open-file "fatal" errors become "non-fatal", assembling will continue
- deprecated features removed: --syntax=m, label
abs
in expressions --color=auto
will stay no-color when env.var.NO_COLOR
is defined- refactorings, improving some error messages and parsing, small fixes in parsing logic
- fix listing of Lua's sj.parse_code (eol-comments), minor memory leaks fixed
- fix relocation of temporary labels in expressions
- invalid CLI options are reported as regular errors (also changing exit code)
- errors are colored similarly to gcc (only keyword has color), console input name is
<stdin>
sjasmplus v1.19.0
- added Amstrad CPC devices (
AMSTRADCPC464
,AMSTRADCPC6128
) - by Oli Wilkinson - added Amstrad CPC save snapshot and CDT (
SAVECPCSNA
,SAVECDT
) - by Oli Wilkinson - added
SAVE3DOS
(like SAVEBIN with +3DOS header) - the deprecated "ok" warning suppression is removed, use "<warning-id>-ok" comment or -Wno-...
- new temporary label suffix syntax
_b
and_f
, enabling them for all expressions - fix
--longptr
mode to keep 32b address whenDS 0
is used - added fake instructions adc|add|sbc|sub de,bc|de|hl|sp
- dec|inc|pop|push will accept also single-comma multiarg in --syntax=a mode
- DUP/REPT will now accept also zero count (skipping the block)
- DEFL labels can be defined even as late as in last pass
- bugfixes (macros, listing, file names in errors, SLD reversepop data)
sjasmplus v1.18.3
- added
--color
to enable/disable ANSI coloring of errors/warnings - added
--syntax=s
mode to disable sub-word substitutions of DEFINEs - added at-sign prefix for macro local labels to act as non-macro local label
SAVETRD
accepts names containing dot ("z.x.B" is "z.x" with extension "B") - by Dart AlverSAVETRD
has optional argument to save BASIC with variables (length_minus_variables)- minor bugfixes (conditional block parser)
sjasmplus v1.18.2
- [may break old sources] new exist operator to check label existence
- the
--syntax=i
mode makes now also register parsing case insensitive - minor bugfixes (predefined values, savenex BMP loader less strict about "colors used" content)
sjasmplus v1.18.1
- Big-Endian hosts support (experimental and not tested continuously)
- added "listall", "listact" commands to OPT - to switch between listing types
WHILE
has optional argument to set explicit guardian-counterASSERT
has optional argument (to add description/notes for expression)SLOT
andMMU
will now accept also starting address of slot instead of its number- fix: option
--sym
was not exporting labels starting with underscore - fix:
SAVENEX
BMP-loader bug when certain builds of sjasmplus were unable to open BMP files - fix: after
STRUCT
instance the "main" label is not polluted by last field of STRUCT - minor bugfixes in parser, windows cmake-builds have now icon
- docs: adding "Index" section
- docs: adding some missing information (
__DATE__
,__TIME__
), fixing HTML anchor names
sjasmplus v1.18.0
1.18.0 - 12.12.2020
- [may break old sources] the colon between end of EQU/DEFL/= expression and instruction is mandatory
- [may break old sources] new abs operator for absolute integer value
- new system of warnings (and suppression), the "; ok" comments are now deprecated
DISPLAY
has now also binary and char formattingDEFINE+
added to [re]define identifier without errorELSEIF
added to conditional assembling arsenalWHILE
added for conditional loops- added "NOSLOT64K" device with 2MiB of virtual memory
LABELSLIST
has new optional argument to dump 16bit "virtual labels"CSPECTMAP
exports STRUCT symbols with more detail (instance labels with physical address)- SMC offset syntax for self-modify-code labels for source brevity
- added exclamation mark prefix for labels to not affect following local labels
- added "listmc" command to OPT - to list only lines with machine code bytes
- added
--lstlab=sort
variant to have symbols in listings in predictable order - minor bugfixes in parser and listing-line-numbering, refactored symbols/labels implementation
- Added example (chargfx2asm) how to use sjasmplus as byte-processor for binary files
- SLD data improvements based on Maziac's feedback and DeZog's needs
sjasmplus v1.17.0
STRUCT
has newTEXT
pseudo-instruction to define "DB-like" dataSTRUCT
initializer block can be now multi-line (when correctly enclosed in curly braces)EQU
now allows for optional override of page number assigned to the new symbol- new $$$ and $$$$ operators to retrieve "physical" address/page inside DISP block
- instruction
out (c),0
now emits warning (can be suppressed by the "; ok" comment) - fixed listing of structures using long BLOCK fields (machine code was correct, but listing not)
- fixed some memory leaks, undefined behaviour and unaligned memory access