acme-assembly-vscode-template icon indicating copy to clipboard operation
acme-assembly-vscode-template copied to clipboard

Unable to run program

Open SwampThingTom opened this issue 3 years ago • 7 comments

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?

SwampThingTom avatar Dec 07 '21 19:12 SwampThingTom

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?

Esshahn avatar Dec 07 '21 20:12 Esshahn

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'

SwampThingTom avatar Dec 07 '21 23:12 SwampThingTom

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?

Esshahn avatar Dec 08 '21 07:12 Esshahn

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.

image

benjamink avatar Jun 25 '22 12:06 benjamink

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.

Esshahn avatar Jun 27 '22 06:06 Esshahn

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.

DylanGraham avatar Dec 31 '22 10:12 DylanGraham

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.

iplanetcn avatar Jun 29 '23 15:06 iplanetcn