- 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
- 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>
- 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 when DS 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)
- 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 Alver
SAVETRD
has optional argument to save BASIC with variables (length_minus_variables)
- minor bugfixes (conditional block parser)
- [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)
- 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-counter
ASSERT
has optional argument (to add description/notes for expression)
SLOT
and MMU
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
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 formatting
DEFINE+
added to [re]define identifier without error
ELSEIF
added to conditional assembling arsenal
WHILE
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
STRUCT
has new TEXT
pseudo-instruction to define "DB-like" data
STRUCT
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
LUA
the new emit warning (v1.15.1) is now suppressible
- Predefined defines extended and renamed (following gcc/clang ones)
- Added relocation data generator, check also example
- bugfixes/improvements in parser like: operators
not
, low
, high
can be followed also by (
EQU
now assigns memory page to symbol based on the symbol value and current memory mapping
- this does affect also results of
LABELSLIST
(Issue #111)
LUA
emits warning when some machine code is emitted without "ALLPASS" modifier
SAVETRD
refactored: fix couple of bugs and make TRD files conform the actual TR-DOS practice
SAVETRD
: new "&" modifier to produce "mono-loaders" with extra files appended
SAVETRD
: added support for the unofficial 3-letter extensions ("; ok" to suppress warnings)
INCTRD
refactored and added support for unofficial 3-letter extensions
- fix issue #108 to detect windows drive letters at beginning of file names with full windows paths
- bugfixes: RAMTOP w/ global device, "r+w" file operations code review, memory buffer overrun in LUA
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session.
You signed out in another tab or window. Reload to refresh your session.