C64Studio icon indicating copy to clipboard operation
C64Studio copied to clipboard

64tass/tasm support

Open theenemy-thd opened this issue 3 years ago • 8 comments

while im posting .... any chance you can support c64tass tasm syntax/pseudo commands please ... pretty please with cherries on top :D

wishful thinking

theenemy-thd avatar Apr 18 '21 16:04 theenemy-thd

Sure thing! Do you have any source files I can prey upon?

You wouldn't perchance know the binary format of TASM? I tried to dissect it but it's really really weird.

Edit: Ooh boy, that's quite a lot. I probably can't easily implement all of those pseudo ops. Which pseudo ops are the most used ones?

GeorgRottensteiner avatar Apr 18 '21 16:04 GeorgRottensteiner

TASM/64tass support has been greatly enhanced with 7.6. If you still find issues let me know.

GeorgRottensteiner avatar Oct 29 '23 18:10 GeorgRottensteiner

many thanks for the info, i will try it out On Sunday, 29 October 2023 at 18:18:19 GMT, Georg Rottensteiner @.***> wrote:

TASM/64tass support has been greatly enhanced with 7.6. If you still find issues let me know.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

theenemy-thd avatar Nov 08 '23 10:11 theenemy-thd

there are still many issues. 

  1. the .if command and closing the if with .fi doesnt work.
  2. .else isnt supported
  3. labels dont seem to be allowed on a line for example:

TRAINR:    LDA #$00

  1. 64tass allows you to branch and jmp as per the following example:     lda $0007     beq ++                ;this will jump to line "jmp $2000"     sta $0008     cmp #$0009     beq +                   ;this will jump to line "RTS"     sta $0009+  RTS +  jmp $2000 this is the same using the - symbol to branch and jump backwards

5. disablehigh: =+$1 isnt allowed ... this will take the position in memory of where the label is and add the $1 to it .. this could be any number to shift forward or say using disablehigh: =-$1 will shift it back then that label can be used later. maybe the example below will explain it better.

inc disbalehigh                    ;this will make the line below LDA #$01 disablehigh: =*+$1                  LDA #$00

i can email or pm the file that will show these issues if needs be. also can you add .tas as a known file type when opening a file.

TASM/64tass support has been greatly enhanced with 7.6. If you still find issues let me know.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

theenemy-thd avatar Nov 08 '23 11:11 theenemy-thd

Ah, more issues than I hoped. The ++ will be fun. I'll try to fix up these issues first. e.g. = * + $1 ought to work (it does in other modes), probably an issue with the label in front that I'm doing wrong.

Will look into it, thanks!

GeorgRottensteiner avatar Nov 08 '23 14:11 GeorgRottensteiner

Fixed .if, .else, .fi, labels followed by : (which caused the other issues).

Not yet fixed: The accumulated +/- labels, that needs some special treatment. Uploaded a new WIP version for this

GeorgRottensteiner avatar Nov 08 '23 16:11 GeorgRottensteiner

Wow! Quick work... looking forward to + /- branch/jmp issue being sorted

theenemy-thd avatar Nov 08 '23 17:11 theenemy-thd

Added the stacked +/- functionality, WIP version is updated. Let's see what I've broken and what the next issues are :)

GeorgRottensteiner avatar Nov 09 '23 08:11 GeorgRottensteiner