More support for assembler please
Closed this issue · 9 comments
I would like to see more support for assembler projects.
A majority of 8-bit development is in assembler rather than c I would expect.
I would like to see support for:
- assembler variables
- labels in tooltip
- watch window
- assembler constants/.defines in mouse tooltip
a call-stack based on jsr/rts instructions
I think these are all available from the VICE monitor as I used to load all of them from the .lbl file e.g.
ld65 -Ln prog.lbl
vice.exe -moncommands prog.lbl
I also see them in your .dbg file.
The other c functionality would be nice GotoDefinition, Find All References, Rename etc...
This is supported well enough by other extensions
For an idea, look at Alchemy65 that seems to offer a lot of this, but unfortunately doesn't work with VICE.
I don't think I'll be changing the call stack, but I will look at the other stuff. If you want a different call stack you can use VICE's monitor. It should open in a MinTTY window.
A majority of 8-bit development is in assembler rather than c I would expect.
Yes, that is why I wrote this extension, because there are a jillion others to support assembly already, and I wanted to write code in C with some assembly for the timing sensitive parts.
Please also provide a code sample and detail exactly what you are expecting from it
For C code parsing please install the extension llvm-vs-code-extensions.vscode-clangd . This should already be recommended by the project. You also will need llvm. Easiest way to install would be choco install llvm
. I will readd this information to the README. I used to require it for the debugger type handling to work, but I removed it because I thought it was no longer necessary.
Okay, I see that you are mainly targeting 'c' development.
The other plug-in that seems to do exactly what I want is Alchemy65, but that is unfortunately restricted to the NES currently.
No worries, thanks for you contribution to the community anyway.
Feel free to close.
Could you provide a code sample please? That would help me to add the features you want.
An alternative would be for you to add the features and create a pull request. I am working full time when I wasn't when I started this, so I'm a bit limited with what I can do with this project now. I have no issue with incorporating what you want, but my time is limited and I also have another person wanting to add an entirely different emulator into this who I've been trying to support, albeit also in a mostly hands-off way.
If you make a PR please don't use code from Alchemy65. I'm not sure about the legal implications, even though it's the same license.
No worries. I understand. I am also working full time and writing retro code in spare time so not sure I'll have time. I understand there's no obligation to do anything in response to feature requests etc as you are not charging for it.
I actually ran your ASM project and did notice some of the variables listed under static+ but they don't show for my project so I will have a look and try to figure out what's different. That just leaves the call-stack missing which as you say I can look at in VICE.
Once again thanks for this.
I added a new variable scope in v6.8.0 which may contain more of what you want. It gets included in the evaluation context, so it will show up on hover and in equations.