rolandshacks / vs64

C64 Development Environment for Visual Studio Code
Other
103 stars 18 forks source link

Resource formatting improvements #46

Closed tomaz closed 1 year ago

tomaz commented 1 year ago

as per #45

tomaz commented 1 year ago

Oh btw, tested with KickAssembler and C++ output.

And I'm thinking I'd also add proper color table values for multicolor characters; currently the colors are 0-7 but they should be 8-15 (bit 3 must be set to make character multicolor), so don't merge yet...

tomaz commented 1 year ago

With the latest commit, char colors are correctly extracted for per-project and per-char modes. Didn't try per-tile, but should only affect 6510 side.

rolandshacks commented 1 year ago

Thank you for driving this. Let me finish v2.4.2 with some major cleanups (including possibilities to configure rc output formats) and then see how to add your proposal. Maybe I cannot completely merge, but will likely manually pick from your contribution.

rolandshacks commented 1 year ago

Thanks for the PR. I did some cherry-picking and added most of your suggestions to master. Changes are released with v2.4.3

tomaz commented 1 year ago

Hmm, 2.4.2 and 2.4.3 don't build anything for me - I can see "Executing task: Build Project" starting in Terminal but there's no assembler output there and .prg and other files are not generated... Tried recreating the project in case something changed but no luck...

Sorry for late reply, have "one of those" weeks

rolandshacks commented 1 year ago

Oh. What's your configuration? Linux? Win11? If you create an empty folder and let VS64 create a project skeleton for you, does that work? Can you switch the verbosity setting to "trace"? What does it report? ...really strange, I tried many different configs... (if you can and like: you could just zip your project skeleton and attach here so I can have a look...)

tomaz commented 1 year ago

Windows 11. Tried creating new project and get the same results. Trace doesn't result in any useful info, just this:

 *  Executing task: build project 
 *  Terminal will be reused by tasks, press any key to close it. 

It doesn't matter if new project is created with 2.4.3 or 2.4.1 (the last version that works for me), it won't build anything on 2.4.2+ but if I go back to 2.4.1 it works.

Attaching empty project created with 2.4.3 (hope it comes accross)

Test1.zip

rolandshacks commented 1 year ago

You could try this:

tomaz commented 1 year ago

Shoot, I looked at terminal not output tab... 🙈

Here's clean build log from 2.4.3:

D/Settings.Settings.show: extension log level is trace
D/Settings.Settings.show: auto build is enabled
D/Settings.Settings.show: acme executable: c:\Users\tkrag\Documents\Projects\Retro\C64\programs\development\compiler\Acme\acme.exe
D/Settings.Settings.show: kickass executable: c:\Users\tkrag\Documents\Projects\Retro\C64\programs\development\compiler\Kick\KickAss.jar
D/Settings.Settings.show: cc65 executable: c:\Users\tkrag\Documents\Projects\Retro\C64\programs\development\compiler\cc65\bin\cc65.exe
D/Settings.Settings.show: ca65 executable: c:\Users\tkrag\Documents\Projects\Retro\C64\programs\development\compiler\cc65\bin\ca65.exe
D/Settings.Settings.show: ld65 executable: c:\Users\tkrag\Documents\Projects\Retro\C64\programs\development\compiler\cc65\bin\ld65.exe
D/Settings.Settings.show: vice executable: c:\Users\tkrag\Documents\Projects\Retro\C64\programs\emulator\Vice\bin\x64sc.exe
D/Settings.Settings.show: ninja executable: c:\Users\tkrag\.vscode\extensions\rosc.vs64-2.4.3\resources\ninja\win\ninja.exe
D/Settings.Settings.show: python executable: c:\Users\tkrag\.vscode\extensions\rosc.vs64-2.4.3\resources\python\python.exe
D/Settings.Settings.show: java executable: java
T/DisassemblerView.new DisassemblerView: create instance
D/DebugSession.new DebugSession: create debug session
D/DebugSession.DebugSession.start: start debug session
D/DebugSession.DebugSession.start: waiting for DebugAdapter protocol client
D/Settings.Settings.show: extension log level is trace
D/Settings.Settings.show: auto build is enabled
D/Settings.Settings.show: acme executable: c:\Users\tkrag\Documents\Projects\Retro\C64\programs\development\compiler\Acme\acme.exe
D/Settings.Settings.show: kickass executable: c:\Users\tkrag\Documents\Projects\Retro\C64\programs\development\compiler\Kick\KickAss.jar
D/Settings.Settings.show: cc65 executable: c:\Users\tkrag\Documents\Projects\Retro\C64\programs\development\compiler\cc65\bin\cc65.exe
D/Settings.Settings.show: ca65 executable: c:\Users\tkrag\Documents\Projects\Retro\C64\programs\development\compiler\cc65\bin\ca65.exe
D/Settings.Settings.show: ld65 executable: c:\Users\tkrag\Documents\Projects\Retro\C64\programs\development\compiler\cc65\bin\ld65.exe
D/Settings.Settings.show: vice executable: c:\Users\tkrag\Documents\Projects\Retro\C64\programs\emulator\Vice\bin\x64sc.exe
D/Settings.Settings.show: ninja executable: c:\Users\tkrag\.vscode\extensions\rosc.vs64-2.4.3\resources\ninja\win\ninja.exe
D/Settings.Settings.show: python executable: c:\Users\tkrag\.vscode\extensions\rosc.vs64-2.4.3\resources\python\python.exe
D/Settings.Settings.show: java executable: java
D/Settings.Settings.show: extension log level is trace
D/Settings.Settings.show: auto build is enabled
D/Settings.Settings.show: acme executable: c:\Users\tkrag\Documents\Projects\Retro\C64\programs\development\compiler\Acme\acme.exe
D/Settings.Settings.show: kickass executable: c:\Users\tkrag\Documents\Projects\Retro\C64\programs\development\compiler\Kick\KickAss.jar
D/Settings.Settings.show: cc65 executable: c:\Users\tkrag\Documents\Projects\Retro\C64\programs\development\compiler\cc65\bin\cc65.exe
D/Settings.Settings.show: ca65 executable: c:\Users\tkrag\Documents\Projects\Retro\C64\programs\development\compiler\cc65\bin\ca65.exe
D/Settings.Settings.show: ld65 executable: c:\Users\tkrag\Documents\Projects\Retro\C64\programs\development\compiler\cc65\bin\ld65.exe
D/Settings.Settings.show: vice executable: c:\Users\tkrag\Documents\Projects\Retro\C64\programs\emulator\Vice\bin\x64sc.exe
D/Settings.Settings.show: ninja executable: c:\Users\tkrag\.vscode\extensions\rosc.vs64-2.4.3\resources\ninja\win\ninja.exe
D/Settings.Settings.show: python executable: c:\Users\tkrag\.vscode\extensions\rosc.vs64-2.4.3\resources\python\python.exe
D/Settings.Settings.show: java executable: java
T/Extension.Extension.showStatus: status: $(gear) Building...
D/Builder.#doInitialize: build: created project build directory
D/Scanner.Scanner.scan: scanFile: c:\Users\tkrag\Documents\Projects\Retro\C64\games\test\Test1\src\main.asm
T/Extension.Extension.showStatus: status: $(error) Build failed
T/Extension.Extension.showStatus: status: $(gear) Cleaning build...
D/Builder.Build.clean: build.clean: removed project build directory
T/Extension.Extension.showStatus: status: $(pass) Clean succeeded
T/Extension.Extension.showStatus: status: $(gear) Building...
D/Builder.#doInitialize: build: created project build directory
D/Scanner.Scanner.scan: scanFile: c:\Users\tkrag\Documents\Projects\Retro\C64\games\test\Test1\src\main.asm
T/Extension.Extension.showStatus: status: $(error) Build failed
tomaz commented 1 year ago

Here's log from 2.4.1 which creates prg:

T/Extension.Extension.showStatus: status: $(gear) Building...
D/Builder.#doInitialize: build: created project build directory
D/Project.#getReferences: scanFile: c:\Users\tkrag\Documents\Projects\Retro\C64\games\test\Test1\src\main.asm
D/Builder.#doNinjaBuild: build.run
D/Utils.Object.exec: spawn child process: c:\Users\tkrag\.vscode\extensions\rosc.vs64-2.4.1\resources\ninja\win\ninja.exe -f c:\Users\tkrag\Documents\Projects\Retro\C64\games\test\Test1\build\build.ninja -d keepdepfile
I/Extension.anonymous: build succeeded
T/Extension.Extension.showStatus: status: $(pass) Build succeeded

Note: I didn't clear 2.4.3 output in log from previous comment, so it has extra lines...

rolandshacks commented 1 year ago

Would be great if you could try out v2.4.4 - I fixed a crash bug that wasn't detected because of a disabled unit test...

tomaz commented 1 year ago

Allright, 2.4.4 works! Maybe I was affected by the crash you mentioned...