Page 1 of 1

How to get the VICE compatible symbol file from VASM?

Posted: Tue Nov 30, 2021 4:16 am
by stenlik
I am using the VASM assembler with the VICE emulator. I have tried to find the answer to my problem on other forums (https://www.lemon64.com/forum/viewtopic ... 70&start=0) and to figure out that on my own without any succes so far...

I have found that other assemblers, e.g. 64tass has a nice feature when executed with switch --vice-labels. It generates file with labels and breakpoints that could be loaded by VICE and used in the monitor when started with the -moncommands switch. KickAssembler has a similar function (I have never tried it, but it is described in the manual).

Does anyone know if VASM can do it also? The only thing I found is the -L <listfile> switch, which generates a file with many parameters, which could theoretically be post-processed into a format that VICE would understand. There is no other option? Anyone using VASM?

Links
* 64tass: http://tass64.sourceforge.net/
* KickAssembler: http://www.theweb.dk/KickAssembler/KickAssembler.pdf
* VASM: http://sun.hasenbraten.de/vasm/release/vasm.pdf

Re: How to get the VICE compatible symbol file from VASM?

Posted: Tue Nov 30, 2021 6:32 am
by vbc
stenlik wrote:
I am using the VASM assembler with the VICE emulator. I have tried to find the answer to my problem on other forums (https://www.lemon64.com/forum/viewtopic ... 70&start=0) and to figure out that on my own without any succes so far...

I have found that other assemblers, e.g. 64tass has a nice feature when executed with switch --vice-labels. It generates file with labels and breakpoints that could be loaded by VICE and used in the monitor when started with the -moncommands switch. KickAssembler has a similar function (I have never tried it, but it is described in the manual).

Does anyone know if VASM can do it also? The only thing I found is the -L <listfile> switch, which generates a file with many parameters, which could theoretically be post-processed into a format that VICE would understand. There is no other option? Anyone using VASM?
To be more flexible, we implemented this feature in our linker vlink rather than the assembler. If you are already using vlink, you can simply add the option: -vicelabels <filename>

If you are creating the binary directly with vasm, you can do an additional pass, e.g.:

Code: Select all

vasm -Fvobj file.s -o file.o
vlink -b cbmprg file.o -o file.prg -viceleabels file.lab

Re: How to get the VICE compatible symbol file from VASM?

Posted: Tue Nov 30, 2021 5:05 pm
by stenlik
Hi vbs
Quote:
To be more flexible, we implemented this feature in our linker vlink rather than the assembler. If you are already using vlink, you can simply add the option: -vicelabels <filename>
The vlink works great. I still need small advice - is there any way how to create the breakpoints (?based on some directive in the source file), which will be included in the VICE monitor file produced by -vicelabels, e.g. lines like those below, so the VICE emulator stops on those breakpoints?

Code: Select all

break $1020
break $1020
Thanks a lot
STeN

Re: How to get the VICE compatible symbol file from VASM?

Posted: Thu Dec 02, 2021 9:35 am
by vbc
stenlik wrote:
Hi vbs
The vlink works great. I still need small advice - is there any way how to create the breakpoints (?based on some directive in the source file), which will be included in the VICE monitor file produced by -vicelabels, e.g. lines like those below, so the VICE emulator stops on those breakpoints?

Code: Select all

break $1020
break $1020
Thanks a lot
STeN
I am not sure if I correctly understand your question. Do you want to add additional vice commands into your assembly source and have them somehow passed through the label file created by vlink? If yes, I do not think this is not possible.