Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > Converting 64Tass 1.45 sources to 1.xx
2016-06-22 09:07
Angel of Death

Registered: Apr 2008
Posts: 210
Converting 64Tass 1.45 sources to 1.xx

Hello,
Just me being a lazy person I want to start using a newer version of 64tass as I'm still using 1.45.
However, it turns out that none of my macros are working anymore.
For example this one suddenly gives a "constant too large" error:
basicstart	.macro
		*=	$0801
		.word nd,2015
		.byte 0,^2015
		.null $9e,^\1
nd		.word 0
basicend
		.endm

And with all the other ones I get all sorts of "...not defined" errors.
I tried using a version as old as 1.46 with no result and I can't find anything in the documentation, so far, that says something regarding that functionality has changed.
What am I not seeing here?
2016-06-22 09:32
iAN CooG

Registered: May 2002
Posts: 3132
.byte 0,^2015
seems useless here and also the message is clear, you're trying to define ^2015 as a byte while it's text. just remove it
basicstart  .macro
        *=  $0801
        .word nd,2015
        .null $9e,^\1
nd      .word 0
basicend
        .endm

        basicstart start
        *=$80d
start
        inc $d020
        rts


dox at http://tass64.sourceforge.net/ (even linked in the csdb entry)
2016-06-22 10:09
Angel of Death

Registered: Apr 2008
Posts: 210
It's an old trick to hide the "sys" command and I solved that one in the meantime as it was indeed a bit of bad coding and probably worked by accident.
But that still left me with the other thing of the "...not defined" errors.
And while writing this I got a hunch and found where the problem lies. Browsing through the binaries in Sourceforge it turned out that somewhere between 1.46r38 and 1.46r191 the .macro directive was changed to NOT except outside access of labels anymore and the .segment directive was added to accomodate.
Since it was not in the release notes but only in the manual entry for the .macro directive it took a while to find it.
But thanks a lot for your quick, if unhelpful, answer anyway.
2016-06-22 21:07
soci

Registered: Sep 2003
Posts: 473
Yes, scoping of .macro was fixed in r86, from there on the .segment directive is equivalent to the old behaviour. This change fixed a long mismatch to C64 TASM.

As for .byte vs. .text, only the second accepts strings in newer versions. This is to enforce the intended range checking of .byte the same way as .word and others.

Traditionally the two directives were equivalent (and still are in some other assemblers), but this was not the case on C64 TASM either.

Another thing which might trip you is that the arguments of .binary, .include and .cpu need to be quoted for a while now (was optional before). This was changed to allow variables as arguments.

That's what I remember now, there might be other "minor" differences.

There was a period after 1.46 where I thought commit messages are enough (no, they're usually not). So mentioning that .macro change fell through the cracks.

But for many years now I picked up the habit of creating news entries about what might break, was fixed or added. (https://sourceforge.net/p/tass64/news/)
2016-06-22 21:47
Angel of Death

Registered: Apr 2008
Posts: 210
Thanks for the answer Soci.
It turned out I kinda exploited the quirks of the old version much more than I thought.
It gave me a huge compatibility problem which I am fixing as we speak. :)
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Fungus/Nostalgia
kbs/Pht/Lxt
Fred/Channel 4
Rock/Finnish Gold
redcrab/G★P
eryngi
Skylab/The Movers
Guests online: 126
Top Demos
1 Next Level  (9.8)
2 Mojo  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Comaland 100%  (9.6)
6 No Bounds  (9.6)
7 Uncensored  (9.6)
8 The Ghost  (9.6)
9 Wonderland XIV  (9.6)
10 Bromance  (9.6)
Top onefile Demos
1 It's More Fun to Com..  (9.7)
2 Party Elk 2  (9.7)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.5)
5 Rainbow Connection  (9.5)
6 TRSAC, Gabber & Pebe..  (9.5)
7 Onscreen 5k  (9.5)
8 Wafer Demo  (9.5)
9 Dawnfall V1.1  (9.5)
10 Quadrants  (9.5)
Top Groups
1 Oxyron  (9.3)
2 Nostalgia  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top Coders
1 Axis  (9.8)
2 Graham  (9.8)
3 Lft  (9.8)
4 Crossbow  (9.8)
5 HCL  (9.8)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.047 sec.