Compare commits
10 Commits
943d32ee48
...
71b6bb07c3
Author | SHA1 | Date |
---|---|---|
Peter Dell | 71b6bb07c3 | |
Peter Dell | 6520f1e27a | |
Peter Dell | c22b471565 | |
Peter Dell | 0423e79c7a | |
Peter Dell | 6dc5b3ef2f | |
Peter Dell | e0d03fc8ea | |
Peter Dell | da51fa1440 | |
Peter Dell | 4ad66df344 | |
Peter Dell | b8a7ed581f | |
Peter Dell | bbcebf699d |
|
@ -41,7 +41,7 @@
|
|||
category="com.wudsn.ide.lng.asm.preferences.AssemblerPreferencesPage"
|
||||
class="com.wudsn.ide.lng.asm.preferences.AssemblerC64PreferencesPage"
|
||||
id="com.wudsn.ide.lng.asm.preferences.AssemblerPreferencesPage"
|
||||
name="%com.wudsn.ide.lng.asm.preferences.AssemblerPreferencesPage.name">
|
||||
name="%com.wudsn.ide.lng.asm.preferences.AssemblerC64PreferencesPage.name">
|
||||
</page>
|
||||
<page
|
||||
category="com.wudsn.ide.lng.asm.preferences.AssemblerPreferencesPage"
|
||||
|
@ -91,8 +91,8 @@
|
|||
<compiler
|
||||
class="com.wudsn.ide.lng.asm.compiler.asm6.Asm6Compiler"
|
||||
defaultHardware="NES"
|
||||
defaultParameters=" ${sourceFilePath} ${outputFilePath}"
|
||||
homePageURL="http://3dscapture.com/NES/asm6.zip"
|
||||
defaultParameters=" ${sourceFilePath} ${outputFilePath}"
|
||||
homePageURL="https://github.com/freem/asm6f"
|
||||
id="asm6"
|
||||
language="ASM"
|
||||
name="%com.wudsn.ide.lng.asm.compiler.asm6.Asm6Compiler.name"
|
||||
|
@ -105,14 +105,14 @@
|
|||
</supportedTarget>
|
||||
<helpDocument
|
||||
language="*"
|
||||
path="./README.TXT">
|
||||
path="./readme.txt">
|
||||
</helpDocument>
|
||||
</compiler>
|
||||
<compiler
|
||||
class="com.wudsn.ide.lng.asm.compiler.atasm.AtasmCompiler"
|
||||
defaultHardware="ATARI8BIT"
|
||||
defaultParameters="-s -o${outputFilePath} -l${outputFilePathWithoutExtension}.lab ${sourceFilePath}"
|
||||
homePageURL="http://atari.miribilist.com/atasm"
|
||||
homePageURL="https://atari.miribilist.com/atasm/"
|
||||
id="atasm"
|
||||
language="ASM"
|
||||
name="%com.wudsn.ide.lng.asm.compiler.atasm.AtasmCompiler.name"
|
||||
|
@ -205,7 +205,7 @@
|
|||
<compiler
|
||||
class="com.wudsn.ide.lng.asm.compiler.merlin32.Merlin32Compiler"
|
||||
defaultHardware="APPLE2"
|
||||
defaultParameters="-V ${sourceFilePath}"
|
||||
defaultParameters="-V ${sourceFilePath}"
|
||||
homePageURL="http://www.brutaldeluxe.fr/products/crossdevtools/merlin/index.html"
|
||||
id="merlin32"
|
||||
language="ASM"
|
||||
|
@ -449,5 +449,5 @@
|
|||
</contentTypeBinding>
|
||||
</editor>
|
||||
</extension>
|
||||
|
||||
|
||||
</plugin>
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
<runner
|
||||
defaultCommandLine="${runnerExecutablePath} ${outputFilePathWithoutExtension}.dsk"
|
||||
hardware="APPLE2"
|
||||
homePageURL="http://virtu.codeplex.com"
|
||||
homePageURL="https://github.com/digital-jellyfish/Virtu"
|
||||
id="virtu"
|
||||
name="%com.wudsn.ide.lng.run.apple2.virtu.name">
|
||||
</runner>
|
||||
|
@ -34,6 +34,7 @@
|
|||
name="%com.wudsn.ide.lng.run.apple2.virtualii.name">
|
||||
</runner>
|
||||
</extension>
|
||||
|
||||
<extension
|
||||
id="Atari 2600 runners"
|
||||
point="com.wudsn.ide.lng.runners">
|
||||
|
@ -45,6 +46,7 @@
|
|||
name="%com.wudsn.ide.lng.run.atari2600.stella.name">
|
||||
</runner>
|
||||
</extension>
|
||||
|
||||
<extension
|
||||
id="Atari 8-bit runners"
|
||||
point="com.wudsn.ide.lng.runners">
|
||||
|
@ -52,14 +54,14 @@
|
|||
class="com.wudsn.ide.lng.run.atari8.Altirra"
|
||||
defaultCommandLine="${runnerExecutablePath} /singleinstance ${outputFilePath}"
|
||||
hardware="ATARI8BIT"
|
||||
homePageURL="http://www.virtualdub.org/altirra.html"
|
||||
homePageURL="https://www.virtualdub.org/altirra.html"
|
||||
id="altirra"
|
||||
name="%com.wudsn.ide.lng.run.atari8.altirra.name">
|
||||
</runner>
|
||||
<runner
|
||||
defaultCommandLine="xterm -iconic -e atari800 -run ${outputFilePath}"
|
||||
hardware="ATARI8BIT"
|
||||
homePageURL="http://atari800.sourceforge.net"
|
||||
homePageURL="https://atari800.github.io"
|
||||
id="atari800"
|
||||
name="%com.wudsn.ide.lng.run.atari8.atari800.name">
|
||||
</runner>
|
||||
|
@ -74,7 +76,7 @@
|
|||
<runner
|
||||
defaultCommandLine="open -a ${runnerExecutablePath} ${outputFilePath}"
|
||||
hardware="ATARI8BIT"
|
||||
homePageURL="http://www.atarimac.com/atari800macx.php"
|
||||
homePageURL="https://www.atarimac.com/atari800macx.php"
|
||||
id="atari800_macx"
|
||||
name="%com.wudsn.ide.lng.run.atari8.atari800_macx.name">
|
||||
</runner>
|
||||
|
@ -86,20 +88,19 @@
|
|||
name="%com.wudsn.ide.lng.run.atari8.atari_plus_plus.name">
|
||||
</runner>
|
||||
</extension>
|
||||
|
||||
<extension
|
||||
id="Atari7800 runners"
|
||||
point="com.wudsn.ide.lng.runners">
|
||||
<runner
|
||||
defaultCommandLine="${runnerExecutablePath} ${outputFilePath}"
|
||||
hardware="ATARI7800"
|
||||
homePageURL="http://emu7800.sourceforge.net"
|
||||
homePageURL="https://emu7800.github.io/"
|
||||
id="emu7800"
|
||||
name="%com.wudsn.ide.lng.run.atari7800.emu7800.name">
|
||||
</runner>
|
||||
</extension>
|
||||
|
||||
|
||||
|
||||
|
||||
<extension
|
||||
id="C64 runners"
|
||||
point="com.wudsn.ide.lng.runners">
|
||||
|
@ -113,32 +114,33 @@
|
|||
<runner
|
||||
defaultCommandLine="${runnerExecutablePath} -autostart ${outputFilePath}"
|
||||
hardware="C64"
|
||||
homePageURL="https://vice-emu.sourceforge.io/"
|
||||
homePageURL="https://vice-emu.sourceforge.io"
|
||||
id="vice"
|
||||
name="%com.wudsn.ide.lng.run.c64.vice.name">
|
||||
</runner>
|
||||
</extension>
|
||||
|
||||
<extension
|
||||
id="NES runners"
|
||||
point="com.wudsn.ide.lng.runners">
|
||||
<runner
|
||||
defaultCommandLine="${runnerExecutablePath} ${outputFilePath}"
|
||||
hardware="NES"
|
||||
homePageURL="http://www.byuu.org/bsnes"
|
||||
homePageURL="https://github.com/bsnes-emu/bsnes"
|
||||
id="bsnes"
|
||||
name="%com.wudsn.ide.lng.run.nes.bsnes.name">
|
||||
</runner>
|
||||
<runner
|
||||
defaultCommandLine="${runnerExecutablePath} ${outputFilePath}"
|
||||
hardware="NES"
|
||||
homePageURL="http://www.fceux.comux"
|
||||
homePageURL="https://fceux.com"
|
||||
id="fceux"
|
||||
name="%com.wudsn.ide.lng.run.nes.fceux.name">
|
||||
</runner>
|
||||
<runner
|
||||
defaultCommandLine="${runnerExecutablePath} ${outputFilePath}"
|
||||
hardware="NES"
|
||||
homePageURL="http://www.qmtpro.com/~nes/nintendulator"
|
||||
homePageURL="https://www.qmtpro.com/~nes/nintendulator"
|
||||
id="nintendulator"
|
||||
name="%com.wudsn.ide.lng.run.nes.nintendulator.name">
|
||||
</runner>
|
||||
|
|
Binary file not shown.
|
@ -1 +1,2 @@
|
|||
From https://forums.atariage.com/topic/278499-stella-programmers-guide-reprinted-book/
|
||||
"Stella_Programmers_Guide.pdf" was created directly from "Stella_Programmers_Guide.docx" via "Save as PDF".
|
||||
|
|
|
@ -88,6 +88,7 @@ public final class CompilerPaths {
|
|||
/**
|
||||
* Initialize the default paths.
|
||||
*/
|
||||
@SuppressWarnings("deprecation")
|
||||
public void init() {
|
||||
compilerPaths = new TreeMap<String, CompilerPath>();
|
||||
// See https://github.com/peterdell/wudsn-ide-tools
|
||||
|
|
|
@ -187,6 +187,23 @@ final class LanguageEditorCompileCommand {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Splits a string a one or more spaces, unless they are quoted.
|
||||
*
|
||||
* @param commandLine The command line to be split, not <code>null</code>.
|
||||
* @return The array of string, may be empty, not <code>null</code>.
|
||||
*/
|
||||
private static String[] splitAtSpaces(String commandLine) {
|
||||
if (commandLine == null) {
|
||||
throw new IllegalArgumentException("Parameter 'commandLine' must not be null.");
|
||||
}
|
||||
return commandLine.split("\\s+(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)", -1);
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
System.out.println(java.util.Arrays.toString(splitAtSpaces("\"a b\" \"c d\" e")));
|
||||
}
|
||||
|
||||
private boolean executeInternal(ILanguageEditor languageEditor, CompilerFiles files, String commandId,
|
||||
String runnerId) {
|
||||
|
||||
|
@ -280,14 +297,16 @@ final class LanguageEditorCompileCommand {
|
|||
compilerParameters = compilerDefinition.getDefaultParameters();
|
||||
}
|
||||
|
||||
// The parameters are first split and then substituted.
|
||||
// The parameters are first split at spaces (unless they are quotes) and then
|
||||
// substituted.
|
||||
// This allows for parameters and file paths inner spaces to be used.
|
||||
// In some case addition quotes must be places around parameters, for
|
||||
// example for the "${sourceFilePath}". This can be used to avoid
|
||||
// problems with absolute file path under Unix starting with "/" or path
|
||||
// containing white spaces.
|
||||
compilerParameters = compilerParameters.trim();
|
||||
String compilerParameterArray[] = compilerParameters.split(" ");
|
||||
String compilerParameterArray[] = splitAtSpaces(compilerParameters);
|
||||
|
||||
if (compilerParameterArray.length == 0) {
|
||||
// ERROR: The {0} '{1}' does not specify default parameters.
|
||||
createMainSourceFileMessage(files, IMarker.SEVERITY_ERROR, Texts.MESSAGE_E101, compilerDefinition.getText(),
|
||||
|
@ -570,8 +589,7 @@ final class LanguageEditorCompileCommand {
|
|||
// parameters, for example for the "${outputFilePath}" for
|
||||
// MADS. Otherwise using absolute file path under Unix starting
|
||||
// "/" may cause conflicts.
|
||||
String[] commandLineArray;
|
||||
commandLineArray = runnerCommandLine.split(" ");
|
||||
String[] commandLineArray = splitAtSpaces(runnerCommandLine);
|
||||
|
||||
// Execution type: DEFAULT_APPLICATION
|
||||
if (runnerId.equals(RunnerId.DEFAULT_APPLICATION)) {
|
||||
|
|
Loading…
Reference in New Issue