| |
DaTucker
Registered: Apr 2007 Posts: 24 |
Relaunch64 - Locked until end of script?
Hi,
I set up Relaunch64 and KickAssembler for some coding fun. I added the following compile & run-script:
------
R64 -iw -nowait
java -jar "D:\C64\PC Tools\KickAssembler\KickAss.jar" RSOURCEFILE
D:\WinVICE-x86\x64.exe ROUTFILE
------
It works fine but when executing the script, Relaunch64 is 'locked up' until WinVICE is closed. So, I can't look at the code and watch the output in WinVICE simultaneously.
Anyone who knows how to remove this locking?
Regards,
Jarno |
|
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
Quote: Hi,
I set up Relaunch64 and KickAssembler for some coding fun. I added the following compile & run-script:
------
R64 -iw -nowait
java -jar "D:\C64\PC Tools\KickAssembler\KickAss.jar" RSOURCEFILE
D:\WinVICE-x86\x64.exe ROUTFILE
------
It works fine but when executing the script, Relaunch64 is 'locked up' until WinVICE is closed. So, I can't look at the code and watch the output in WinVICE simultaneously.
Anyone who knows how to remove this locking?
Regards,
Jarno
Looks like you're on windows. You would probably need to run VICE asynchronously. Try:
start D:\WinVICE-x86\x64.exe ROUTFILE |
| |
soci
Registered: Sep 2003 Posts: 480 |
Try what JackAsser said.
I saw in the help that "open" is used on OSX probably for the same reason.
The same freezing problem exists on Linux as well. But it's easy to reduce the script to call only make or a shell script, and the execute compilation and x64 backgrounded from there.
As it seems to be a recurring problem I've added "R64BG" prefix, which executes a command but ignores it's result and continues the script execution. Possibly not the best solution, but it works.
https://github.com/sjPlot/Relaunch64/commit/11e10efe141c108cb69..
It can be reverted easily if there's a better way of course.
I'm not that much into java to be able to build a proper distributable jar for testing. So please wait for an "official" release, or try some sort of workaround like the one mentioned on top. |
| |
DaTucker
Registered: Apr 2007 Posts: 24 |
Thanks JackAsser and Soci.
After JackAssers reply, I tried to build a batch-file. It worked fine in the command line (compiling and running and immediately getting back to the command line) but the batch wasn't working in Relaunch. Compiling and running: yes, but still waiting for x64 to end.
I looked at the source on GitHub and believe Relaunch keeps waiting because of the Assembler-log window. In CustomScripts.java there is a line 345:
-----
345 pb = pb.redirectInput(ProcessBuilder.Redirect.PIPE);
-----
I suspect the piping keeps the Assembler log window waiting because the default behaviour of the process builder should be 'nowait'.***
*** DISCLAIMER: I am no JAVA-expert or professional coder in any other computer language at all, so this might be total bullshit I am writing!
Is this prefix you added already part of the current release? If I use it, it seems the commands following it on the same line aren't executed. |
| |
soci
Registered: Sep 2003 Posts: 480 |
I don't think it's part of a current build as I've just made that commit before I posted ;)
Yes, it waited for x64 so it can display it's output in the error window.
The redirection left in was harmless without the actual read which is where it blocks normally. Just in case it's jumped over now as well.
The line mentioned by you is for the compiler help and is only used when "ch" is typed into the goto field. I've corrected the redirection there now (input vs. output). Strange that it worked with the wrong one as well. |
| |
oziphantom
Registered: Oct 2014 Posts: 490 |
There is an option in "editor" that tells it to not wait for the script to complete. but it doesn't work on windows.
I trued the start and start /b trick, the script exits but vice doesn't show. |
| |
Testicle Account closed
Registered: Sep 2002 Posts: 131 |
Can you please try the test-release: https://github.com/sjPlot/Relaunch64/releases/tag/3.3.7-1
and see whether the "R64BG"-option works for you? I have included some examples in the help-file. |
| |
oziphantom
Registered: Oct 2014 Posts: 490 |
Works Windows 10 + Vice + Tass |
| |
oziphantom
Registered: Oct 2014 Posts: 490 |
Warnings are clickable, but halt execution of VICE/rest of script. Windows 10 + Tass |
| |
Testicle Account closed
Registered: Sep 2002 Posts: 131 |
I have added an option to add a second run-script, which may be used for debugging only. So the script that also runs the emulator can use the "R64BG"-option, which doesn't log warnings, and an alternative build-script for debugging can be run without starting the emulator (hence, R64BG is not needed).
New release here:
https://github.com/sjPlot/Relaunch64/releases/tag/3.3.7-2 |
| |
oziphantom
Registered: Oct 2014 Posts: 490 |
I raised some issues on the github tracker. |
| |
Testicle Account closed
Registered: Sep 2002 Posts: 131 |
Should be fixed in the latest release (Relaunch64 V3.3.7)m using the "R64BG" option.
Quote from the help-file:
In case you have problems with the -nowait-option, so Relaunch64 is locked while an emulator is running, although you want to continue editing in Relaunch64, use R64BG as a prefix of the command line for the tool that should not block execution (mostly the command line for starting the emulator). |