acme-assembly-vscode-template
acme-assembly-vscode-template copied to clipboard
Unable to run program
I'm using this on MacOS Monterey. When it tries to open Vice and run the moncommands
, it fails with the following error messages:
Opening monitor command playback file: labels
Error - Failed to open playback file: labels
Argument 'labels' not valid for option `-moncommands'.
Error parsing command-line options, bailing out. For help use '-help'
From the documentation, it looks like -moncommands
expects a file containing monitor commands. Instead this template passes the labels and assembly output which don't seem to be recognized by -moncommands
.
Is there something else I need to pass?
Hey, can you post the full terminal command you are using here? It should look like this
bin/mac/acme -f cbm -l build/labels -o build/main.prg code/main.asm && /Applications/Vice/x64.app/Contents/MacOS/x64 -moncommands build/labels build/main.prg 2> /dev/null
As you can see, labels
is indeed a file (without suffix), which is first generated in the build folder and later read in from the very same location. Maybe that folder location got lost in your script?
Sure. I did install both acme and Vice from their SourceForge repositories so I modified the command line accordingly. But acme is creating the correct files in the build
directory, including the labels
file. For some reason, Vice can't seem to open it. 🤔
Terminal command:
/Users/tom/bin/acme -f cbm -l build/labels -o build/main.prg main.asm && /Applications/vice-gtk3-3.5/bin/x64sc -moncommands build/labels build/main.prg
File system status after building in VSCode:
> ls
build main.asm
> ls build
labels main.prg
> cat build/labels
BGCOLOR = $d020
BASIC = $801
BORDERCOLOR = $d021
SCREENRAM = $400
hello = $821 ; ?
character_loop = $817
entry = $80d ; ?
Error in VSCode terminal:
Opening monitor command playback file: build/labels
Error - Failed to open playback file: build/labels
Argument 'build/labels' not valid for option `-moncommands'.
Error parsing command-line options, bailing out. For help use '-help'
I can't find anything unusual in your command, it looks okay to me. Have you tried executing vice from within its own folder, adding the prg and label file in that same folder just to try if it works from there?
Having the same problem. If I run the vice command by itself it will open:
/Applications/Vice/x64sc.app/Contents/MacOS/x64sc
But it won't do anything with the command in the tasks. Another odd thing for me, though, is that even -help
doesn't produce anything.
I'm using Vice 3.6.1 GTK on macOS Monterey (12.4). There isn't any x64
binary & the documentation says that's been discontinued/not included anymore.
Thanks for the info @benjamink. I haven't been able to work on the project or even code any assembly lately, so I can only encourage you to investigate further and keep us in the loop.
If anyone still needs help on this old issue, here's a command that works for me with the current Vice 3.7.1
.
"command": "killall x64sc; acme -f cbm -l build/labels -o build/main.prg code/main.asm && /Applications/vice-arm64-sdl2-3.7.1/x64sc.app/Contents/MacOS/x64sc ${workspaceFolder}/build/hello_world.prg",
Vice currently needs the full path to the prg file.
BTW, @Esshahn this also kills Vice before assembling the code and restarting it.
If anyone still needs help on this old issue, here's a command that works for me with the current Vice
3.7.1
."command": "killall x64sc; acme -f cbm -l build/labels -o build/main.prg code/main.asm && /Applications/vice-arm64-sdl2-3.7.1/x64sc.app/Contents/MacOS/x64sc ${workspaceFolder}/build/hello_world.prg",
Vice currently needs the full path to the prg file.
BTW, @Esshahn this also kills Vice before assembling the code and restarting it.
It's worked for me.