Skip to content

Releases: CycoPH/atasm

V1.30 .GUARD and .NOTIFY

21 May 12:50

Choose a tag to compare

Added .GUARD and .NOTIFY directive.
.GUARD condition, "terminating message", [param1, param2, ....]
.NOTIFY condition, "message", [param1, param2, ....]
Fixed all windows and unix compilation warnings.

V1.29 - New directives (.IFDEF, .IFNDEF, .PROC, .ENDP), Multi-line comments

06 May 18:40

Choose a tag to compare

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

25 Apr 16:05

Choose a tag to compare

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

23 Apr 17:00

Choose a tag to compare

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

05 Feb 18:49

Choose a tag to compare

Fixed the parsing of the -hvclm and -hvcLm command line parameters

Auto memory banking and .INIT / .RUN directrives

05 May 13:32

Choose a tag to compare

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

19 Mar 15:58

Choose a tag to compare

Fixed the JCC generated opcode.
Thank you to LarsImNetz for finding the bug

V1.22

11 Jan 10:27

Choose a tag to compare

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

04 Jan 16:55

Choose a tag to compare

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

02 Feb 16:19

Choose a tag to compare

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.