Releases: z00m128/sjasmplus
Releases · z00m128/sjasmplus
sjasmplus v1.16.0
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(
sjasmplus v1.15.1
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" modifierSAVETRD
refactored: fix couple of bugs and make TRD files conform the actual TR-DOS practiceSAVETRD
: new "&" modifier to produce "mono-loaders" with extra files appendedSAVETRD
: 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
sjasmplus v1.15.0
- added
BPLIST
andSETBP
to export breakpoints info from asm for Unreal and ZEsarUX emulators - added ZX-like devices with 2/4/8 MiB of virtual memory
- the fake-sysvars/state of ZXSPECTRUM48/128/... devices reworked, moving stack down by default
- behaviour of
--fullpath
option unified across all platforms and compilers DEFARRAY
has new operator[#]
to retrieve current size of array.MMU
has new optional third argument to set also address (likeORG
)- use of forward reference in
IF
/IFN
emits only warning, and can be suppressed - internal Lua updated to 5.1.5 (last official 5.1 version)
- STDIN can be read multiple times (per each "-" argument)
- new macro/lua examples:
sj_sysvars.i.asm
,section.asm
,lua_sin_table.asm
,union_like_structures.asm
- RAM limit exceeded warning/error reworked to report with more sense, fixed bug with missing labels
SAVETRD
warning about invalid extension can be suppressed by "; ok"EMPTYTRD
takes as second argument disc label- added
--outprefix
option to prefix any output-directive filename (issue #102)
sjasmplus v1.14.5
- fix crash when opening source file fails
DISP
/ORG
warns about being used insideDISP
block (also docs extended)
sjasmplus v1.14.4
- added few example utility macros in tests/macro_examples/sj_library.asm (
neg r16
) - added
SAVENEX SCREEN BMP
sub-command to include BMP loading-screen - added support for V1.3 of NEX file format (new commands:
CFG3
,PALETTE
,COPPER
, new screen modes) - in lua scripts:
sj.calc(..)
(alias _c(..))
now substitutes defines and macro arguments - error reporting inside LUA and MACRO refactored to give better info about origin of error
- macro-arguments parser now recognizes C++ numeric literals with apostrophe as digits-group separator
- the assembler will instantly exit when run at Big-Endian platform (the rest of code is broken on BE)
- updated syntax-highlight file for KDE5 editors (Kate)
sjasmplus v1.14.3
- fix detection of
.end:
and.END
labels when--dirbol
is used - added export of SLD (Source Level Debugging) data, see also NDS (NextDevSystem)
- added
--longptr
option to allow labels outside of 16b address space - docs: added small details about
FPOS
,SAVETAP
,IFUSED
- fix assembling-time reported in linux
sjasmplus v1.14.2
- added i8080 mode (
--i8080
CLI option) (it's still Z80 Zilog syntax, just limited instruction set) - added Sharp LR35902 mode (
--lr35902
CLI option) (100% syntax compatibility with IDA, 95% bgb) - new
$$label
operator to retrieve page of label - 1.14.0 include-path bugfix reverted, the "." is again automatically added (did break projects)
- small improvements/polish/extra-info in docs, INSTALL, README, few new tests added
- cmake script fix of
SYSTEM_LUA=ON
option, CirrusCI configs added for macOS and FreeBSD - few fixes of memory leaks, invalid memory access, double free/delete
sjasmplus v1.14.1
- refactored
SHELLEXEC
to use clib "system(..)" on all platforms (also MS VS), minor fixes - lua example "inc_text" (result of specific request from sjasmplus user)
- listing fixed when Lua was used to emit bytes and also parsed lines of assembly source
- MinGW windows exe prefers "/" file system delimiter ("\" should still work on windows (only))
- lot of small bugfixes and Cirrus CI infrastructure adjustments (windows MinGW build does run full tests)
- MS VS builds stabilized and fixed, should now work mostly on par with MinGW builds (99.5%)
- Using lgtm.com code analysis (did help to find new bugs and memory leaks)
- UnitTest++ framework added for regular C++ unit tests, first few tests added
sjasmplus v1.14.0
INCLUDE
bugfix, now searching paths according to original documentation (may break some projects)UNDEFINE
had undocumented feature of removing also labels, cancelled (was broken beyond repair)- R800
MULUB
was producing wrong opcode all those years... fixed MODULE
names can't contain dot any more!MODULE
andENDMODULE
resets non-local label to "_"--syntax
option: "m" (switch off low-mem access warning) and "M" added, "A" removed- macro expansion can be inhibited by using "@" in front of instruction
- expression evaluator was not stricly 32 bit (64b binaries could have produced different results than 32b binaries)
- reading memory addresses 0..255 directly emits warning, use "; ok" comment to suppress it.
- several tests added to improve the code coverage: coveralls.io/github/z00m128/sjasmplus
- as tests were added, minor bugs were found and squashed (errors wording, etc)
sjasmplus v1.13.3
- bugfixes, new examples (check tests/lua_examples)
- UTF BOM are now detected, UTF8 BOM is silently skipped, UTF16/32 BOMs cause fatal error
ZXSPECTRUMNEXT
device is now initialized with whole memory zeroed (no more ZX48 sysvars)DEFL
documented, "no forward reference" rule relaxed forEQU
- some error messages reworded to make them easier to comprehend