Skip to content

Commit eddb206

Browse files
committed
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
1 parent 42a313b commit eddb206

File tree

7 files changed

+24
-10
lines changed

7 files changed

+24
-10
lines changed

VERSION.TXT

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,4 +233,9 @@ May 4, 2024
233233

234234
Feb 5, 2025
235235
version 1.26 - fixed the parsing of the -hvclm and -hvcLm command line parameters
236-
-l and -s options now produce the same output. -l also includes equates (=)
236+
-l and -s options now produce the same output. -l also includes equates (=)
237+
238+
April 23, 2025
239+
version 1.27 - Thank you to Itay Chamiel for finding an OLD bug in atasm.
240+
Basically forward references that required an extra pass to resolve did not work.
241+
The issue has now been fixed. Broken since V1.08

docs/atasm.blurb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
ATasm v1.26
1+
ATasm v1.27
22
A mostly Mac/65 compatible 6502 cross-assembler
3-
Copyright (c) 1998-2023 Mark Schmelzenbach
3+
Copyright (c) 1998-2025 Mark Schmelzenbach
44

55
ATasm is a 6502 command-line cross-assembler that is compatible with the
66
original Mac/65 macro-assembler released by OSS software. Code

docs/atasm.pdf

275 KB
Binary file not shown.

docs/atasm.txt

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
============================================================================
2-
ATasm v1.26
2+
ATasm v1.27
33
A mostly Mac/65 compatible 6502 cross-assembler
44

5-
Copyright (c) 1998-2022 Mark Schmelzenbach
5+
Copyright (c) 1998-2025 Mark Schmelzenbach
66
email: mschmelzenbach@acm.org or cerebusrc@gmail.com
77
============================================================================
88
Introduction
@@ -17,7 +17,7 @@ email: mschmelzenbach@acm.org or cerebusrc@gmail.com
1717
2.1 The Assembler
1818
2.2 Opcode format
1919
2.3 Operand format
20-
2.4 Operators and expressions.9
20+
2.4 Operators and expressions.
2121

2222
Chapter 3 Compiler directives, Conditional assembly, and Macros
2323
3.1 Overview
@@ -282,6 +282,11 @@ Version 1.25 - Added -a / -mac65 option
282282
Version 1.26 - fixed the parsing of the -hvclm and -hvcLm command line parameters
283283
-l and -s options now produce the same output. -l also includes equates (=)
284284

285+
286+
Version 1.27 - Thank you to Itay Chamiel for finding an OLD bug in atasm.
287+
Basically forward references that required an extra pass to resolve did not work.
288+
The issue has now been fixed. Broken since V1.08
289+
285290
============================================================================
286291
Chapter 1: ATasm
287292
============================================================================
@@ -746,8 +751,8 @@ creates unique names for local labels by appending the local onto the end
746751
of the previous global label. For example, a local label '?LP' following a
747752
regular label 'DELAY' will be named 'DELAY?LP'. In fact, you can code a direct
748753
reference to the label DELAY?LP if you need to access the local from outside
749-
its region. [Note that in contrast to regular mode, these 'composite' label
750-
names will appear in the -hvl dump output as if they were global.]
754+
its region. Note that in contrast to regular mode, these 'composite' label
755+
names will appear in the -hvl dump output as if they were global.
751756

752757
3.16 .MACRO <macro name>, .ENDM
753758
The .MACRO directive must be paired with an .ENDM directive. All macros

src/asm.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2845,7 +2845,7 @@ int proc_sym(symbol *sym)
28452845
case EQUATE:
28462846
{
28472847
if (!pass) {
2848-
if (eq == 1) { /* was 2? probably a typo - mws */
2848+
if (eq == 2) {
28492849
snprintf(buf, 80, "Symbol '%s' is not a transitory equate!", sym->name);
28502850
error(buf, 1);
28512851
}

src/symbol.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
#define SYMBOL_H
2323

2424
#define MAJOR_VER 1
25-
#define MINOR_VER 26
25+
#define MINOR_VER 27
2626
#define BETA_VER 0
2727

2828
/*==========================================================================*/

tests/crash.asm

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
HELLO=1
2+
*=$1000
3+
lda cntrl
4+
cntrl=$80

0 commit comments

Comments
 (0)