Skip to content

@z00m128 z00m128 released this May 19, 2020 · 18 commits to master since this release

  • added BPLIST and SETBP 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 (like ORG)
  • 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)
Assets 3

@z00m128 z00m128 released this Jan 30, 2020 · 66 commits to master since this release

  • fix crash when opening source file fails
  • DISP / ORG warns about being used inside DISP block (also docs extended)
Assets 3

@z00m128 z00m128 released this Jan 13, 2020 · 76 commits to master since this release

  • 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)
Assets 3
Jan 12, 2020
Merge remote-tracking branch 'up-z80/master' into ped-master
* up-z80/master: (34 commits)
  Kate highlight syntax rules update (mini fix of label Arguments)
  README: adding cross-links to other projects which may be useful for
Z80 developers
  v1.14.4 release prepared
  docs: preparing for v1.14.4 release, refreshing CHANGELOG
  fixup! Makefile: note about 32b build and "upx" target for testing
compressed binary
  Kate highlight syntax rules update
  Makefile: note about 32b build and "upx" target for testing compressed
binary
  CSPECTMAP: remember the page-size of the device active at that point
in source
  SAVENEX: V1.3 CRC-32C implementation
  coverage, tests: NEX V1.3 implementation gets more tests
  code quality: fix new LGTM warnings in SAVENEX changes
  docs: adding SAVENEX V1.3 new commands, few typos fixed, what's new
updated
  SAVENEX, tests: new tests for V1.3 NEX files (WIP)
  tests: refreshing SAVENEX tests with new error wording (to make tests
pass)
  SAVENEX: V1.3 implementation almost complete, missing CRC-32C
implementation
  fixup! docs: refresh docs with latest changes
  docs: refresh docs with latest changes
  sjasmplus main: check if it is running at Little-Endian platform
  macros: argument parsing has crude heuristic to parse C++ numeric
literals
  error reporting refactored: LUA and MACRO errors show where they were
defined
  ...

@z00m128 z00m128 released this Nov 16, 2019 · 110 commits to master since this release

  • 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
Assets 3

@z00m128 z00m128 released this Oct 4, 2019 · 148 commits to master since this release

  • 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
Assets 3
Oct 3, 2019
Merge branch 'master' into ped-master
* master: (28 commits)
  1.14.2 release prepared
  docs: extra info about Z80N, i8080 and LR35902, links to tests
  fix: need of many Ctrl+D while in STDIN mode, using real console
  internal: single exit point for "out of memory" error reporting
  Z80: making the opcode-functions local to the z80.cpp file
  docs: update with the include paths changes
  revert INCLUDE paths bugfix. "." is added by default AGAIN. New
"--inc" option
  fix #60 - all fake instructions implementation documented.
  docs: $$label operator documented, changelog refreshed
  labels: new "$$label" operator (get page), refactoring around, adding
tests
  labels: small refactoring of chars legitimacy tests
  LR35902: anti-Z80/Next tests finished, all done.
  LR35902: anti-Z80 tests added, minor bugs fixed
  tests: LR35902: more thorough exercising of new parsing code
  docs+changelog: --lr35902 added
  LR35902: added new CPU mode, 100% support for IDA syntax, 95% bgb
  docs: update what's new, CHANGELOG, refresh html
  i8080: final wording of help and docs
  i8080: adding test to verify Z80N instructions and device are disabled
  i8080: adjusting fake-instruction error wording
  ...

@z00m128 z00m128 released this Aug 30, 2019 · 193 commits to master since this release

  • 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
Assets 3

@z00m128 z00m128 released this Aug 17, 2019 · 248 commits to master since this release

  • 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 and ENDMODULE 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)
Assets 3
Aug 12, 2019
Merge remote-tracking branch 'up-z80/master' into ped-master
* up-z80/master:
  docs: documented --version option
  option --version added, options parser made a bit more strict
  reader.cpp: some minor adjustments to GetFileName related code
  docs: adding explicit anchor on Fake instructions section
  docs: rewording Chapter 2 "where to get and how to use", and some typos/details
You can’t perform that action at this time.