mirror of
https://github.com/curioustorvald/tsvm.git
synced 2026-03-07 11:51:49 +09:00
finally runs on mac
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
package net.torvald.tsvm;
|
||||
|
||||
import com.badlogic.gdx.ApplicationAdapter;
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application;
|
||||
import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration;
|
||||
import com.badlogic.gdx.graphics.glutils.ShaderProgram;
|
||||
@@ -105,6 +107,13 @@ public class TerranBASIC {
|
||||
|
||||
VM tbasvm = new VM("./assets", 64 << 10, new TheRealWorld(), new VMProgramRom[]{TerranBASICreleaseBios.INSTANCE}, 2, watchdogs);
|
||||
EmulInstance tbasrunner = new EmulInstance(tbasvm, "net.torvald.tsvm.peripheral.ReferenceGraphicsAdapter", diskDir, 560, 448);
|
||||
new Lwjgl3Application(new VMGUI(tbasrunner, WIDTH, HEIGHT), appConfig);
|
||||
|
||||
try {
|
||||
new Lwjgl3Application(new VMGUI(tbasrunner, WIDTH, HEIGHT), appConfig);
|
||||
}
|
||||
catch (Throwable e) {
|
||||
e.printStackTrace();
|
||||
if (Gdx.app != null) Gdx.app.exit();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,6 +45,8 @@ class VMGUI(val loaderInfo: EmulInstance, val viewportWidth: Int, val viewportHe
|
||||
lateinit var fullscreenQuad: Mesh
|
||||
|
||||
override fun create() {
|
||||
println("[VMGUI] create()")
|
||||
|
||||
super.create()
|
||||
|
||||
fullscreenQuad = Mesh(
|
||||
@@ -66,6 +68,8 @@ class VMGUI(val loaderInfo: EmulInstance, val viewportWidth: Int, val viewportHe
|
||||
}
|
||||
|
||||
private fun init() {
|
||||
println("[VMGUI] init()")
|
||||
|
||||
if (loaderInfo.display != null) {
|
||||
val loadedClass = Class.forName(loaderInfo.display)
|
||||
val loadedClassConstructor = loadedClass.getConstructor(String::class.java, vm::class.java)
|
||||
@@ -108,7 +112,6 @@ class VMGUI(val loaderInfo: EmulInstance, val viewportWidth: Int, val viewportHe
|
||||
|
||||
Gdx.input.inputProcessor = vm.getIO()
|
||||
|
||||
|
||||
vmRunner = VMRunnerFactory("./assets", vm, "js")
|
||||
coroutineJob = Thread({
|
||||
vmRunner.executeCommand(vm.roms[0]!!.readAll())
|
||||
|
||||
Reference in New Issue
Block a user