Releases: CycoPH/atasm
V1.30 .GUARD and .NOTIFY
V1.29 - New directives (.IFDEF, .IFNDEF, .PROC, .ENDP), Multi-line comments
Version 1.29
Added .IFDEF and .IFNDEF directives. Short version of: .IF .DEF and .IF .NOT .DEF
Parsing binary numbers in MADS format %11110000 works now. But is only supported outside a macro.
Added multi-line comments using the /* ..... */ format.
Added .PROC/.ENDP for procedure definitions. This defines a local scope and a label. Useful for grouping code.
V1.28
Version 1.28
Fixed a parse error in a forward declared variable.
The problem is that a forward declaration was given the value of $FFFF.
Issue comes in if the variable is also given that value via x = $FFFF.
At that point atasm does not know if its a forward declaration or a fixed assignment.
V1.27 - Forward references with extra passes now work again
V1.27
Thank you to Itay Chamiel for finding an OLD bug in atasm.
Basically forward references that required an extra pass to resolve did not work.
The issue has now been fixed. Broken since V1.08
V1.26 Fixed command line parsing
Fixed the parsing of the -hvclm and -hvcLm command line parameters
Auto memory banking and .INIT / .RUN directrives
V1.25
- Added basic trigonometry functions as dot commands: .sin, .cos
These can be used in loops to generate trig tables. - Added -a / -mac65 option
This option will create a memory bank for every program counter assignment and will make Atasm more compatible with mac/65. - Added the .INIT and .RUN directives to simplify the INITAT and RUNAT segment generation.
Check the tests/how-to-boot-asm-*.asm samples
V1.23 - Fixed JCC opcode
Fixed the JCC generated opcode.
Thank you to LarsImNetz for finding the bug
V1.22
V1.22
Added long jump commands JEQ, JNE, JPL, JMI, JCC, JCS, JVC, JVS.
These macro commands are similar to the 6502 branch instructions BEQ, BNE, BPL, BMI, BCC, BCS,
BVC, BVS, but can target the entire 64KB address space via a jump. If the distance is short
and the target is known during the first assembler pass then the jump is converted into a branch.
The assembler spits out code change suggestions if it finds jumps that could be optimized.
V1.21
Version 1.21 - Fixed the .REF implementation. It will now detect a forward reference to a label correctly. This is useful in building libraries and excluding code from them if the functions or data is not being referenced. i.e. If there is no JSR FUNC1 then the code in the .IF block is not generated.
.IF .DEF func1
func1 ...
.ENDIF
Version 1.17 - Exporting data to VSCode symbol explorer
Extended the -hv[clm] option. You can now limit the data export to (c)onstants, (l)abels and (m)acros.
Or any combination of them. -hvcl exports constants and labels. By default all data is exported.
Used by the "Atasm-Altirra-Bridge" VSCode plugin (https://bit.ly/3ATTHVR)
Breaking default behavior change: When running atasm without a target assembler file (was test.m65) the command line help is shown. Same when specifying -h on the command line.