Repository navigation
Releases: EdouardBERGE/rasm
Release list
Rasm v3.3.1 - Monolith
- new INCBIN tags SLICE and ISLICE to import tileset ordered by slices (you select the line of the tile setting high-byte address)
- SLICE and ISLICE tags are already documented => https://rasm.wikidot.com/keywords:import
Rasm v3.3 - Monolith
- new directive API_SEND to build web socket communication with anything
- new math operator \ like locomotive Basic operator for integer division
- documentation up to date
Rasm v3.2.7 - Atlas
Thanks to Frank and Mathias for their merge requests
- Added cross-platform path handling (Linux include becomes case insensitive like Windows)
- Added $$ symbol acting like real output address (cons to $ which is logical address)
- Added RELOCATE_START/RELOCATE_END_RELOCATE_TABLE like Winape things
- Added EXTENDED flag to LIMIT to allow breaking 64K barrier without crunch segment
- Trigger an error when trying to use PAGE/PAGESET in cartridge mode
- honour LOCALISATION inside a numbered BANK in cartridge mode
Rasm 3.0.9 - Polaris
- fix a bug in EDSK engine when reading a file when there is readable entries of a previous and bigger version deleted
- new autotests for expression engine and that EDSK bug
previous releases :
- bugfix comma shadowing with multi-param functions
- new directive ENUM
- new math function COUNTNOPS
- do not export regular proximity labels of breakpoints global labels as breakpoints (intempestive)
- ludicrous optimisation + fix uninitialised floating point usage in textbook case
- INCBIN directive enhancements (see http://rasm.wikidot.com/keywords:import )
- better method to retrieve local alias case when root label is in another file
- bugfix rare memory leak with absurd syntax usage of SET/RES
- bugfix EDSK rewrite textbook case
...
Rasm 2.3.9 - Beacon 2025
v2.3.9
- do not replace ampersand in strings with ampersand command line option
- a missing include file must trigger a proper error, not cryptic one ^_^
- enforce correct EQU usage
- ability to generate variable names with variables inside (like labels)
v2.3.8
bugfix IX/IY patch with repeat
ss/sb command line option does not force snapshot output
new tag EXISTS for INCBIN directive (see documentation)
removed IX/IY trick to avoid missing invalid opcodes
prevent addressing mode usage as value with instructions that cannot do that
new directive SUM16 to create 16-bits checksum (useful for manual Amsdos Header)
new directive FREEQUOTES (when you are bothered with command line option)
new behaviour for USED tag of aliases, variables and labels with IFUSED, IFNUSED
new optimisations in aliases processing (benefits for all kind of calculations)
new autotests (TDD, end-to-end, UT and exploratory tests)
new optimisations in overall processing engine leading to absurd performance peak
added search in labels with Levenshtein distance when a symbol is not found
better error message when there is an empty parameter
ability to generate module names with tags
documentation updated
ability to remap any UTF8 char (see documentation http://rasm.wikidot.com/syntax:data-structures )
ability to remap any UTF8 char when using inline struct and parameter overload
ability to ouput hexadecimal in strings (see documentation)
READ directive is now DEPRECATED! (replace them with INCLUDE)
cartridge export may include symbols chunk for ACE-DL
bugfix segfault with self-recursive structure declaration
new ability to initialise structure objects
Rasm MSDOS version is back ^_^
Thanks to Sid for Mac binary
Rasm 2.2.11 - Consolidation 2024
v2.2.11
bugfix breakpoint step export
up to v2.2.10
bugfix new variable in lower case from command line
bugfix ACE breakpoints + evolutions
Ability to export native breakpoints for ACE-DL emulator
FR/EN documentation up to date
Ability to assemble a string from command line
Ability to export a cartridge in snapshot mode
Display how much bytes are overloading a BANK (when overload occurs)
new directive NAMEROM (like NAMEBANK but for snapshot ROM)
Added new option in order to ROMBANK NEXT
Bugfix sizeof on an unknown struct may not trigger error all the time
New math function pow2 to get fractionnal power of 2
Snapshot RAM conf default
HFE track size fixer
HFE not protected as default
HFE directive subcommand bugfixes (CRC, AddGAP, ...), it's now usable ^_^
Bugfix "random" memory overrun with COMZ directive
Bugfix random user with SAVE+AMSDOS when not specified, will be zero as default
Bugfix Snapshot RLE encoding + autotest
Online Help up to date
As always, MacOS binary kindly compiled with love by Sid/iMPact
Rasm v2.1.7 - 2024 Gerieh Yasmana
Since october 2023, i'm doing a cycle of joint releases of RASM + ACE-DL Emulator so RASM versions are not major versions (until...)
- REND must trigger an error if used with parameter(s)
- enforce DEFS repeat value is not a string
- minor changes in old rasm symbol file to output symbol type (L)abel (V)ariable (A)lias (I)dx
- morphOS makefile
- bugfix meta struct autofill + autotest
- new directive LOCALISATION to specify a precise localisation for ACE emulator when assembling in a temporary space
- documentation updated
- minor changes in symbol export for ACE emulator
- bugfixes in HFE/DSK generation (still unfinished for HFE)
- bugfixes related to wrong STRUCT usage + imbricated structs
- debug without efence, new target for fast recompilation (internal use)
- new directive LABEL with options to set LOCAL/GLOBAL tag for ACE export and be more flexible
- bugfix lower ROM localisation at ACE export
- minor version release on the occasion of ACE-DL emulator release
- new command line option -rasm in order to produce super symbol file for ACE-DL Emulator
- new directive EDSK to build, merge, manage, edit and assemble inside
- there is also HFE prototypes in order to manage an MFM flow (as you know, HFE is a pure track format)
- DSK support is documented on wikidot
- super snaphots Help was updated, take a look! http://rasm.wikidot.com/dev:supersnap
windows 32bits and 64bits
MacOS all versions executable (thanks to Sid)
Rasm v2.0 - 2023 Blue Hedgehog
What? Less than a month since two releases?
Yeah, sorry, but there was a huge rework and enhancement on dynamic LZ sections
You can now overflow the 64K memory space allocated IF YOU SQUEEZE enough your data to fit the 64K at the end ^_^
You may jump on another crunched section from anywhere if the destination is not 'in place', i mean, with a relocated ORG like "ORG #A000,$"
As usual, new features use the unlimited design, you may overflow as much as you want in the memory
As usual, the feature is already documented
Enjoy!
Note : There is also new AY conversion value, expect some audio changes
Windows binaries
MacOS binaries for ARM and Intel/AMD (Merci Sid!)
Rasm v1.9 - 2023 Guilty Pleasure
- ludicrous speed enhancement
- new struct export for rasm embeded
- enforce LD r8,im8 usage (to avoid confusion when it's possible between memory reference and calculation using parenthesis)
- enforce AMSDOS name proper format
- may export files on DSK with another user
- new REMU chunk in snapshots for debug usage and precise breakpoints
- new RMxx chunks in snapshots for ROM usage
- new directives ROMBANK to manage ROM in snapshot output
- new directives SRL8 and shift aliases RLC/RRC for 16 bits registers
- new conditionnals RST #38
- audio filtering for DMA conversion
- various prototypes in order to design relocatable code (still in progress but documented)
- changed DJNZ timing to "loop"
- bugfix some autotests and leaks with embeded Rasm
- up to date documentation
- each OS build of rasm is still tested with more than 1100 automatic tests
builds for windows XP, windows x64
builds for MacOS ARM and MacOS Intel
Rasm v1.8 - 2022 Flying monkeys
- new up to date documentation on wikidot => http://rasm.wikidot.com/home:home
- new conditional directive ELSEIFNOT
- new math function IS_REGISTER
- new directives CPRINIT and SNAPINIT in order to initialise RASM memory with a cartridge or a snapshot
- new command line option to handler macro calls on multiple lines
- MAP output improvements
- MODULE support for EQU => Alias are now inside modules, like labels
- CHARSET can be used with string to string conversion
- removed ENDREPEAT and ENDREP literaly unused directives
- bugfix WATCOM compatibility issue
- bugfix STR endmark with CHARSET conversion
- bugfix CONFINE directive with ENFORCE parameter usage
- bugfix backslash usage with CHARSET defined for it
- bugfix memory leak with map output and alias usage
- bugfix memory overrun at memory cleanup
- bugfix preprocessor with include filename strictly ending the line