rolandshacks / vs64

C64 Development Environment for Visual Studio Code
Other
97 stars 16 forks source link

Support for Kickc - Enhancement #63

Open NovaCoderX opened 5 months ago

NovaCoderX commented 5 months ago

Please add support for Kickc, much appreciated :)

https://gitlab.com/camelot/kickc

rolandshacks commented 5 months ago

Hi. Thanks for the proposal.

I'll keep the request in the backlog, but won't be able to spend significant time on it. Also, I don't know the project - how big is the user base for kickc? Is there an active community? Are there bigger projects being made with kickc?

In general: for any C/C++ toolkit: effort to add it to the build system is rather low and straight forward. Good integration with the debugger, handling debug symbols, providing interactive debugging with VICE, etc. ... that's the challenge. And that's mostly a challenge because either you have to deal with DWARF/ELF debugging information, or some weird custom information. Quite some work, and it's not even fully done for LLVM, nor for CC65, as that's endless work. ... therefore, I hesitate to add another C/C++ toolkit now.

But as said: adding support in the build system, that is not too much work...

NovaCoderX commented 5 months ago

Great, thanks 😊  I believe that KickC generates faster code.

On Sunday, 21 April 2024 at 18:28:41 GMT+10, Roland ***@***.***> wrote:  

Hi. Thanks for the proposal.

I'll keep the request in the backlog, but won't be able to spend significant time on it. Also, I don't know the project - how big is the user base for kickc? Is there an active community? Are there bigger projects being made with kickc?

In general: for any C/C++ toolkit: effort to add it to the build system is rather low and straight forward. Good integration with the debugger, handling debug symbols, providing interactive debugging with VICE, etc. ... that's the challenge. And that's mostly a challenge because either you have to deal with DWARF/ELF debugging information, or some weird custom information. Quite some work, and it's not even fully done for LLVM, nor for CC65, as that's endless work. ... therefore, I hesitate to add another C/C++ toolkit now.

But as said: adding support in the build system, that is not too much work...

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

rolandshacks commented 5 months ago

I would be interested in comparison between LLVM and KickC as LLVM-MOS stands on the shoulders of the giant efforts to create a superior compiler environment...

mgbeyer commented 4 months ago

Came here because I wanted to know if there's KickC integration available ... but doesn't seem like it :-( I haven't started retro coding yet, so I can't tell from (own) experience. But from what I've learned so far, KickC generates optimized and fast assembly code and has actually been used for fast game development. So I guess it would be a good way to start with. But I also want to start with a nice and familiar IDE... so if only those two could work together :-) And yes, debugging would be the killer feature here, too bad it's so time consuming for you to integrate. Do you have any future schedule for integration or is it postponed wihout any timeline?

rolandshacks commented 4 months ago

I started VS64 for two reasons - #1 having a good IDE with debugging support for my C64/6502 assembly renessaince, and #2 writing some stuff with C++ 20/23 for the C64 (using LLVM-MOS). All the rest came later or as a side activity: CC65 ... don't remember exactly why..., KickAss because it seems like it's the superior assembler, BASIC ... well -that's what you start with on a C64 ...

I need to be careful now with adding support for more and more tools, compilers, etc. as maintenance effort will be a nightmare soon. To your question: it is not on the roadmap right now.

If you're starting fresh, then why don't you go for LLVM-MOS?

mgbeyer commented 4 months ago

"having a good IDE" and debugging, yes, that's basically the reason I was looking for a solution which integrates in VS/VSC (I'm a web-developer working much with the .NET tech stack). In terms of assembly language, well, there's not much renessaince on my part :-) last time I did that was some 30 years ago and I was just spicing up time critical stuff a little with smaller snippets on a PC or coding specialized things like TSR programs under DOS. I know C quite well, so I was looking for a solution here. Why not go for LLVM-MOS? Well I wasn't aware it exists until you just mentioned it :-) Afaik CC65 is widely considered to be sluggish, I've seen a couple benchmark tests which seem to confirm that. I've found this source https://raxiss.com/article/id/30-MOS6502-compiler-benchmark and if you can give credit to it, LLVM-MOS seems to be quite swift, hardly slower than KickC. And this test also seems to strongly suggest, KickC probably has some serious compatibility issues (lots of code didn't compile, but I havn't looked at their code). But this is just my first day of research, I have to take what I find at face value, I have no own experience (yet). Let's see... I guess I'll give LLVM-MOS a try then...