mirror of
https://github.com/irmen/prog8.git
synced 2024-11-03 13:07:54 +00:00
also use output path when launching emulator, fixes #61
This commit is contained in:
parent
5db0408b9f
commit
7a33eb163b
@ -127,10 +127,12 @@ private fun compileMain(args: Array<String>): Boolean {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val programNameInPath = outputPath.resolve(compilationResult.programName)
|
||||||
|
|
||||||
if (startEmulator1==true)
|
if (startEmulator1==true)
|
||||||
compilationResult.compTarget.machine.launchEmulator(1, compilationResult.programName)
|
compilationResult.compTarget.machine.launchEmulator(1, programNameInPath)
|
||||||
else if (startEmulator2==true)
|
else if (startEmulator2==true)
|
||||||
compilationResult.compTarget.machine.launchEmulator(2, compilationResult.programName)
|
compilationResult.compTarget.machine.launchEmulator(2, programNameInPath)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@ package prog8.compiler.target
|
|||||||
|
|
||||||
import prog8.compiler.CompilationOptions
|
import prog8.compiler.CompilationOptions
|
||||||
import prog8.compiler.Zeropage
|
import prog8.compiler.Zeropage
|
||||||
|
import java.nio.file.Path
|
||||||
|
|
||||||
|
|
||||||
interface IMachineFloat {
|
interface IMachineFloat {
|
||||||
@ -32,6 +33,6 @@ interface IMachineDefinition {
|
|||||||
fun getFloat(num: Number): IMachineFloat
|
fun getFloat(num: Number): IMachineFloat
|
||||||
|
|
||||||
fun importLibs(compilerOptions: CompilationOptions, compilationTargetName: String): List<String>
|
fun importLibs(compilerOptions: CompilationOptions, compilationTargetName: String): List<String>
|
||||||
fun launchEmulator(selectedEmulator: Int, programName: String)
|
fun launchEmulator(selectedEmulator: Int, programNameWithPath: Path)
|
||||||
fun isRegularRAMaddress(address: Int): Boolean
|
fun isRegularRAMaddress(address: Int): Boolean
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,7 @@ import prog8.compiler.target.IMachineDefinition
|
|||||||
import prog8.compiler.target.IMachineFloat
|
import prog8.compiler.target.IMachineFloat
|
||||||
import prog8.compiler.target.cbm.viceMonListPostfix
|
import prog8.compiler.target.cbm.viceMonListPostfix
|
||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
|
import java.nio.file.Path
|
||||||
import kotlin.math.absoluteValue
|
import kotlin.math.absoluteValue
|
||||||
import kotlin.math.pow
|
import kotlin.math.pow
|
||||||
|
|
||||||
@ -36,7 +37,7 @@ internal object C64MachineDefinition: IMachineDefinition {
|
|||||||
emptyList()
|
emptyList()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun launchEmulator(selectedEmulator: Int, programName: String) {
|
override fun launchEmulator(selectedEmulator: Int, programNameWithPath: Path) {
|
||||||
if(selectedEmulator!=1) {
|
if(selectedEmulator!=1) {
|
||||||
System.err.println("The c64 target only supports the main emulator (Vice).")
|
System.err.println("The c64 target only supports the main emulator (Vice).")
|
||||||
return
|
return
|
||||||
@ -44,8 +45,8 @@ internal object C64MachineDefinition: IMachineDefinition {
|
|||||||
|
|
||||||
for(emulator in listOf("x64sc", "x64")) {
|
for(emulator in listOf("x64sc", "x64")) {
|
||||||
println("\nStarting C-64 emulator $emulator...")
|
println("\nStarting C-64 emulator $emulator...")
|
||||||
val cmdline = listOf(emulator, "-silent", "-moncommands", "$programName.$viceMonListPostfix",
|
val cmdline = listOf(emulator, "-silent", "-moncommands", "${programNameWithPath}.$viceMonListPostfix",
|
||||||
"-autostartprgmode", "1", "-autostart-warp", "-autostart", "$programName.prg")
|
"-autostartprgmode", "1", "-autostart-warp", "-autostart", "${programNameWithPath}.prg")
|
||||||
val processb = ProcessBuilder(cmdline).inheritIO()
|
val processb = ProcessBuilder(cmdline).inheritIO()
|
||||||
val process: Process
|
val process: Process
|
||||||
try {
|
try {
|
||||||
|
@ -6,6 +6,7 @@ import prog8.compiler.target.IMachineDefinition
|
|||||||
import prog8.compiler.target.c64.C64MachineDefinition
|
import prog8.compiler.target.c64.C64MachineDefinition
|
||||||
import prog8.compiler.target.cbm.viceMonListPostfix
|
import prog8.compiler.target.cbm.viceMonListPostfix
|
||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
|
import java.nio.file.Path
|
||||||
|
|
||||||
internal object CX16MachineDefinition: IMachineDefinition {
|
internal object CX16MachineDefinition: IMachineDefinition {
|
||||||
|
|
||||||
@ -33,7 +34,7 @@ internal object CX16MachineDefinition: IMachineDefinition {
|
|||||||
emptyList()
|
emptyList()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun launchEmulator(selectedEmulator: Int, programName: String) {
|
override fun launchEmulator(selectedEmulator: Int, programNameWithPath: Path) {
|
||||||
val emulatorName: String
|
val emulatorName: String
|
||||||
val extraArgs: List<String>
|
val extraArgs: List<String>
|
||||||
|
|
||||||
@ -44,7 +45,7 @@ internal object CX16MachineDefinition: IMachineDefinition {
|
|||||||
}
|
}
|
||||||
2 -> {
|
2 -> {
|
||||||
emulatorName = "box16"
|
emulatorName = "box16"
|
||||||
extraArgs = listOf("-sym", "$programName.$viceMonListPostfix")
|
extraArgs = listOf("-sym", "${programNameWithPath}.$viceMonListPostfix")
|
||||||
}
|
}
|
||||||
else -> {
|
else -> {
|
||||||
System.err.println("Cx16 target only supports x16emu and box16 emulators.")
|
System.err.println("Cx16 target only supports x16emu and box16 emulators.")
|
||||||
@ -54,7 +55,7 @@ internal object CX16MachineDefinition: IMachineDefinition {
|
|||||||
|
|
||||||
for(emulator in listOf(emulatorName)) {
|
for(emulator in listOf(emulatorName)) {
|
||||||
println("\nStarting Commander X16 emulator $emulator...")
|
println("\nStarting Commander X16 emulator $emulator...")
|
||||||
val cmdline = listOf(emulator, "-scale", "2", "-run", "-prg", "$programName.prg") + extraArgs
|
val cmdline = listOf(emulator, "-scale", "2", "-run", "-prg", "${programNameWithPath}.prg") + extraArgs
|
||||||
val processb = ProcessBuilder(cmdline).inheritIO()
|
val processb = ProcessBuilder(cmdline).inheritIO()
|
||||||
val process: Process
|
val process: Process
|
||||||
try {
|
try {
|
||||||
|
Loading…
Reference in New Issue
Block a user