Skip to content

Releases: z00m128/sjasmplus

sjasmplus v1.13.2

02 Jul 21:43
4453140
Compare
Choose a tag to compare
  • OPT has now also listoff and liston commands
  • added to --syntax option: case insensitive instructions, bBw added/changed
  • new macro examples, minor fixes and refactoring
  • SAVETRD implementation refactored (more checks, less bugs, "replace" file feature)
  • operators {address} and {b address} are now official and documented

sjasmplus v1.13.1

30 May 18:52
8a10c05
Compare
Choose a tag to compare
  • added --syntax command line option
  • added OPT directive (modifies some command line options)
  • added way to use structure at designed address
  • MACRO can be now named through label (optional syntax)
  • added DEFARRAY+ directive (for splitting long list of DEFARRAY values)
  • added CSPECTMAP directive for MAP files for CSpect emulator
  • added support for SJASMPLUSOPTS environment variable
  • Z80N new variants of syntax, now also "mul de : mul : pixelad hl : pixeldn hl" works
  • minor bugfixes, improvements and internal refactorings (error reporting)
  • updated syntax-highlight file for KDE5 editors (Kate)

sjasmplus v1.13.0

06 May 16:46
a287d05
Compare
Choose a tag to compare
  • [may break old sources] DEVICE: each assembling pass resets also
    "device". To work with "device" memory (savesna/savetap/...) you
    must select the device (and slot and pages) before producing machine
    code which you want to work with (SAVESNA/SAVETAP/...).
    If only single DEVICE is used in whole source batch, then the setting
    is "global" and will be applied to all lines of source (in 2nd+ pass).
  • [may break old sources] ZXSPECTRUM128 based devices map into slots
    by default banks {7, 5, 2, 0}. (was {0, 5, 2, 7} in older versions)
  • [may break old sources] ZXSPECTRUM128 based devices have sysvars and
    stack set up as in "USR 0" mode (ZXSPECTRUM48 system variables and
    default stack content).
  • [may break old sources] MAP+FIELD directives removed (STRUCT is better and working)
  • MMU directive (fusing SLOT + PAGE and extending them)
  • SAVEDEV directive (similar to SAVEBIN)
  • SAVENEX directive (for ZX Spectrum Next)
  • INCBIN: support for negative offset/length values, support for MMU wrapping
  • INCBIN: support for file chunks of 64+ki size (usable with MMU)
  • Fixed: INCTRD offset, binary STDOUT on windows, SAVETRD/SAVEHOB filenames
  • Fixed: LUA used inside macros, LUA get_word, LUA error reporting
  • parser: added C++(like) numeric literals
  • ZXSPECTRUMNEXT device added
  • refactoring of label/define implementation = less memory leaks, more correct
    "label.mem_page" values, "Unreal" labels dump is more correct too
  • docs: now the CSS file is actually used, and default style modified a bit
  • new MACRO examples, syntax-highlight file for KDE5 editors (Kate)

sjasmplus v1.12.0

08 Apr 06:51
403ae32
Compare
Choose a tag to compare
  • Fixed parsing of expressions starting with string literal
  • Fixed listing of DS directive with negative values, added value check warning
  • Fixed possible wrong indexing of some arrays internally
  • Fixed parsing of single-word instructions in colon-packed-no-space macros
  • Making macro arguments substitution a bit more aggressive, to work also with
    DEFINE/IFDEF/IFNDEF/DEFARRAY directives inside macro (this gives the coder
    more macro power and freedom, but the error reporting may get lot more confused)
  • Refactoring substring substitution for macro-arguments and defines, now it
    should work always. To prohibit some macro/define to substitute into middle
    of the string, start its name with underscore, like "_VERSION".
  • THIS MAY BREAK SOME OLDER SOURCES, SORRY. Also the rules for substitutions
    will be in the future further modified and documented, to make them more
    intuitive and predictable, so there may be more breakage even later.
  • Adding fake instructions break and exit for CSpect emulator (--zxnext=cspect)

sjasmplus v1.11.1

01 Apr 10:38
b0813a8
Compare
Choose a tag to compare
  • Fixed global labels in MACRO and in IFUSED/IFNUSED
  • Fixed nested IF-DUP-IF
  • Fixed local labels fail when amount of lines did change between passes
  • Fixed Makefile to build when path to project contains space
  • Added macro-example: turn "DJNZ ." into "DJNZ $" (to fix Zeus syntax source)
  • Added --msg=lst and --msg=lstlab options to produce listing file to STDERR
  • Added options to read input file from STDIN and output "raw" binary to STDOUT

sjasmplus v1.11.0

22 Mar 18:05
Compare
Choose a tag to compare
  • Added ZX Spectrum Next instructions support
  • Added --msg option, directives DG and DH
  • Changed listing layout to fixed-width type
  • Errors, Warnings and similar are now channeled to STDERR
  • Fixed string literal parser, added two apostrophes and escaped zero
  • Fixed docs templates (HTML is now more valid)
  • Fixed nesting DUP issue
  • Fixed CRLF handling in parser
  • Fixed -D option for multiple asm files
  • Fixed address display when the 64kB limit exceeded
  • Fixed lost code when current memory leaves device slot in "disp" mode
  • Fixed IF inside MACRO, DUP and REPT
  • Fixed ALIGN behavior and docs wording
  • Fixed INCHOB/INCBIN (offset / length)
  • Fixed INCLUDE/INCLUDELUA system path priority ("" vs <>)
  • Fixed END behavior
  • Fixed DEFARRAY to work as documented
  • Fixed and refactored WORD/DWORD/D24
  • Fixed and extended STRUCT
  • Multiple bugfixes in listing generation
  • Multiple bugfixes of internal code
  • Refactored options parser, instruction parser and Warning/Error system
  • C++14 standard is now required minimum (to compile sjasmplus sources)
  • Added automated-testing scripts, with 50+ tests
  • GitHub connected with Cirrus Continuous Integration service

sjasmplus v1.10.4

09 Jan 17:25
2709f54
Compare
Choose a tag to compare
  • Bytes lost error reworked (and changed to warning)
  • Error/warning messages are displayed in last pass only (where possible)
  • Fixed 64k limit warnings
  • BinIncFile reworked

sjasmplus v1.10.3

26 Nov 14:58
Compare
Choose a tag to compare
  • Fixed macro issue with commas inside quotes
  • Fixed IFUSED and IFNUSED directives
  • Fixed STRUCT directive
  • Added support of register operands for operators HIGH and LOW

sjasmplus v1.10.2

17 Aug 07:33
Compare
Choose a tag to compare
  • Fixed UNDEFINE behavior and line wrapping

  • removed obsolete and unimportant comments

  • removed forgotten debug/trace printouts

sjasmplus v1.10.1

15 May 17:27
Compare
Choose a tag to compare
  • OUTPUT directive was bugfixed
  • TAPOUT, TAPEND, OUTEND directives were implemented