Releases: mkoloberdin/rasm
v0.99
update v0.99 - 2018.08.16
- new directive
UNDEF
- bugfix memory leaks
- bugfix calculations with a function followed by two or more opened parenthesis
update v0.98 - 2018.08.03
- bugfix with snapshot v2 memory size detection
- new optional parameter to get file size when load and crunch on the fly
- new option to remove warnings
- new fake instructions
RR
,RL
,SRL
,SRA
,SLL
,SLA
with 16 bits (BC
,DE
,HL
) registers - preprocessing does not allow empty parameter to avoid confusion
- extended error may suggest a name if a variable/label/alias looks similar to a 'not found' value
update v0.97 - 2018.07.27
- bugfix conditionnal code inhibition with macro declaration
- better alias infinite recursivity detection
update v0.96 - 2018.07.25
- bugfix memory leak in tag translation with
PRINT
directive - bugfix negative offset with
INCBIN
- bugfix autotests memory handling
- added include path in command line
update v0.95 - 2018.07.22
- allow spaces in tags inside strings with
PRINT
directive - display warning if you try to export symbols or breakpoints with snapshot version 2
- proximity label beginning with
BRK
will generate an exportable breakpoint - new enhanced
LD
instructions (see online documentation)
update v0.94 - 2018.07.20
- bugfix using macro parameter inside print quote
- bugfix multiple memory leak with tag replacement
- bugfix command line side effect with wrong option
- better hack in expression calculator for expression beginning with negative value
- better equality processing in expression calculator
- dependencies export do not display preprocessing message anymore
update v0.93 - 2018.07.14
- bugfix
RUN
gate array configuration - overriding an alias with a label will trigger an error
PRINT
directive may use escaped chars in strings- tags
BANK
,PAGE
,PAGESET
may be used with current adress$
update v0.92 - 2018.07.10
- bugfix
PAGE
tag when usingBANK
in snapshot mode
update v0.91 - 2018.07.10
- bugfix school case with crunched block
- bugfix proximity labels when using loops or macros
- bugfix imbricated IFUSED/IFNUSED
- new directive FAIL will print a message before exiting with an error flag
- label usage may use formula
- escaped codes support in strings (disregarding the current charset)
PRINT
directive may compute formula in strings when using curly brackets- RUN directive may set the gate array configuration for snapshots
- generated label with negative index will trigger an error
- overriding an alias with a variable will trigger an error
- overriding a variable with an alias will trigger an error
- missing
ENDIF
at the end of the source will trigger an error
update v0.90 - 2018.06.27
PROTECT
directive does not increase automatic binary size anymore- bugfix memory leak with proximity labels
- proximity label properties also for
EQU
aliases - label declaration may use formula
update v0.89 - 2018.06.26
- bugfix dependencies export
- multiple bugfix in preprocessor
- simplify path of dependencies when possible
- enhanced
ASSERT
mayPRINT
additional parameters
update v0.88
- bugfix another cases during preprocessing
update v0.87 - 2018.06.24
- new proximity labels
- rasm is able to use variables inside label names
INCBIN
directive enhanced forWAV
import as aCPC
sample orDMA
listREPEAT
directive may export internal counter to a variable- new directive
IFUSED
&IFNUSED
- new math operator
!
forNOT
- new math function
PSGVALUE
- rasm return 1 to shell when there is error(s)
- new options to export dependencies (makefile style)
- new option to define variable(s) from command line
- new option for extended error messages
- bugfix cases during preprocessing
- bugfix tags
PAGE
&PAGESET
- new autotests embedded in Rasm in order to reduce regressions
v0.86
update v0.86 - 2018.04.27
- fix many bugs in label import
- fix multi-nops
- fix automatic extension for primary source
- fix infinite loop when error on reserved keyword in an expression
- shortcuts
LD BC/DE/HL,BC/DE/HL
(uz80 style)
update v0.85 - 2018.04.18
- fix some regressions introduced by
STRUCT
code modifications
update v0.84 - 2018.04.18
- new directives
STRUCT
andENDSTRUCT
,ENDS
to create structures - fix regression introduced with v0.75 and embedded usage (like Arkos Tracker II does)
update v0.83 - 2018.04.11
NOCODE
output must increment current adress in all cases- new directives
DR
&DEFR
to defineREAL
values (Amstrad firmware compatible)
update v0.82 - 2018.04.09
- better infinite loop detection
- bugfix while 0 loop (check and disable block)
- repeat until internal counter harmonisation
- alias
SL1
forSLL
instruction - remove CLang warnings on Linux
v0.81
update v0.81 - 2018.04.05
- added special maxam priorities for parenthesis and boolean operators
update v0.80 - 2018.04.05
- bugfix operator
>
and>=
- bugfix Maxam priorities
v0.79
update v0.79 - 2018.04.05
!=
operator is back in the new solver
update v0.78 - 2018.04.04
DEFS
can handle multiple repetition schemas- alias
DM
&DEFM
forDEFB
update v0.77 - 2018.03.30
- even faster expression calculation
- maxam & AS80 comparison operators are back
update v0.76 - 2018.03.29
- fix solver when using
%
prefixed binary values and comparison operators or parenthesis
update v0.75 - 2018.03.29
- newer and faster expression calculator without limitations of comparisons
%
may be used as modulo (still used for binary values)- Intel hexa & binary style support
- Binary prefix
0b
fixed - does not export
IX
andIY
anymore in symbol files - better error messages when calculating expressions
- boolean operators
&&
and||
PUSH
&POP
may have more than one register in parametersNOP
may be multiplied specifying a number of repetition in parameter- alias
<>
for!=
comparison operator - filenames are forced to upper case when saved to EDSK
- Infinite loop detection won't go to infinite loop anymore ^_^
update v0.74 - 2018.03.18
- usage of snapshot directives forces snapshot output
- try to load
.asm
or.Z80
file if filename given is not found and has no extension BREAKPOINT
directive may have an additional parameter to set break address anywhere- declaring two
MACRO
with the same name will trigger an error - bugfix regression of
-m
option handling - each
REPEAT
orWHILE
loop export aREPEAT_COUNTER
orWHILE_COUNTER
variable, locally
v0.73
update 2018.02.28 - v0.73
- bugfix in snapshot directive
- bugfix in snapshot when using distinct bank instead of banksets
v0.72
update 2018.02.26 - v0.72
- ability to generate v2 snapshot for M4Wifi
v0.71
update 2018.02.23 - v0.71
- math functions
HI
&LO
to get high 8 bits or low 8 bits of a pseudo 16 bits value @
prefix for octal values- AS80 assembler compatibility mode (enough to compile CNG player)
update 2018.02.21 - v0.70
- shifting operator
>>
bugfix - EDSK face selection bugfix
v0.69
update 2018.02.15 - v0.69
- added
$
prefix for hex values - added
0xb
prefix for binary values - added shifting operators
<<
and>>
- EDSK update/generation improvements (make backups before use!)
v0.68
update 2018.02.07 - v0.68
- Morphos compatibility code
- some error messages modified
- breakpoint in snapshot with BRKC chunk for ACE emulator
- shorter splash text
- unused var cleanup
- includes or incbin in a disabled section won't warn anymore if file does not exists :o
v0.67
update 2017.12.21 - v0.67
- bugfix buffer overflow with long filenames for export
- export breakpoint in snapshot (unofficial Winape chunk)
- new directive
BREAKPOINT
update 2017.12.19 - v0.66
- new directives
IFDEF
,IFNDEF
to test label, variable or alias existence
update 2017.12.19 - v0.65
- snapshot is initialised with standard CRTC values, all audio channels OFF, all inks to deep blue except ink 1 to bright yellow
- new directives
SETCRTC
andSETCPC
to select the CRTC and CPC model with snapshots - new tag
{PAGE}
before a label to get the gate array banking value for the bank of a label (ex:#C4
for a label in bank 4) - new tag
{PAGESET}
before a label to get the gate array banking value for the bankset of a label (ex:#C2
for a label in bankset 1 or bank 4,5,6,7) - new variable
ASSEMBLER_RASM
(set to 1) in order to have specific rasm code SAVE
may be used to save file in a (new) DSK. I have to work on a update mode- "checkmode" option to assemble without writing file(s)
- moar comprehensive error message when using illegal register combination
- moar compact splash screen
- documentation updated
update 2017.12.05 - v0.64
(mostly snapshot related evolutions and fix)
- bugfix
SYMB
chunk size - added optionnal var export in snapshot
SYMB
chunk - improve bankset switch control (do not mix bank & bankset of the same pages)
INCBIN
handle negative offset to seek relative to the end of fileINCBIN
special option to disable overwrite control- Documentation updated