Skip to content

Releases: CycoPH/atasm

V1.23 - Fixed JCC opcode

19 Mar 15:58
Compare
Choose a tag to compare

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

V1.22

11 Jan 10:27
Compare
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
Compare
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
Compare
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.

Version 1.16 - Shift operator and .LST fixes

22 Dec 13:38
Compare
Choose a tag to compare

Added the << and >> shift operators to the expression parser.
Code like this now assembles:
lda #$100>>[DataMatrix_SIZE&7]
Fixed a bug in .LST output generator. Filenames were not tracked correctly which caused source lines
to be allocated to the wrong source file. Thank you to Lars Langhans for reporting this.

Version 1.15

21 Dec 10:22
Compare
Choose a tag to compare

Added -hv switch to dump all equates, labels, macro defs and included source files to the 'plugin.json' file located at the root folder from where atasm starts searching for source files. This is to be used my the Atasm-Altirra-Bridge VSCode plugin to allow you to quickly manouver your code.
Added modulo/remainder operator. %% or .MOD
You can now say '.byte 15%%10' and it will store the value of 5.

Version 1.14

02 Dec 07:57
Compare
Choose a tag to compare

Improved the source file and line # tracking for equate and label definitions.
The -hc and -ha switches now dump detailed info on which file and on which line the definition occurred.
-hc and -ha dumps sort their output by the address and not alphabetically.
Added support for labels with '.' in them.
cio.cmd .byte 0
cio.len .byte 0
are now valid labels.
Fixed some Linux compile warnings.

Version 1.13

30 Nov 06:37
Compare
Choose a tag to compare

Added CC65 header and assembler include file generation switches.
Switch -hc dumps all equates and labels into a C-style header file. Useful when interfacing with CC65. Each #define is prefixed with the basename of the assembler file. atasm -hc test.asm will create "test.asm.h" with #define TEST_...
Switch -ha dumps all equated and labels into an atasm style include file.
Both -hc and -ha switches can have their output filenames specified by the switch or if left out auto-generated by atasm.
-hcmy-project.h -hamy-project.inc will generate "my-project.h" and "my-project.inc"

Version 1.12

28 Nov 11:45
Compare
Choose a tag to compare

V1.12
When listing an assembly via the -g command line parameter, labels not defined on the same line as an operand where not output at all. This version outputs the label in its original name (in all caps).
i.e.
SomeLabel:
    lda #0
Will output as "SOMELABEL lda #0"

Version 1.11 - Altirra source level debugging

14 May 19:21
Compare
Choose a tag to compare

Fixes buffer overrun in put_float().
Changes the output format of the list command slightly to allow source level debugging in the Altirra emulator. The list file has to starts with "mads "
Adds support to pass Altirra specific ;##TRACE and ;##ASSERT commands from the source code to the listing file (to be read and interpreted by Altirra)