finally runs on mac

This commit is contained in:
minjaesong
2023-05-19 14:54:37 +09:00
parent 3df989a213
commit bacb40b0ef
9 changed files with 20 additions and 8 deletions

View File

@@ -16,8 +16,6 @@
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-controllers-core-2.2.1.jar" path-in-jar="/" /> <element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-controllers-core-2.2.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-controllers-desktop-2.2.1.jar" path-in-jar="/" /> <element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-controllers-desktop-2.2.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-jnigen-loader-2.3.1.jar" path-in-jar="/" /> <element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-jnigen-loader-2.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-lwjgl3-glfw-awt-macos-1.11.0-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-lwjgl3-glfw-awt-macos-1.11.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-platform-1.11.0-natives-arm64-v8a.jar" path-in-jar="/" /> <element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-platform-1.11.0-natives-arm64-v8a.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-platform-1.11.0-natives-armeabi-v7a.jar" path-in-jar="/" /> <element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-platform-1.11.0-natives-armeabi-v7a.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-platform-1.11.0-natives-desktop.jar" path-in-jar="/" /> <element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-platform-1.11.0-natives-desktop.jar" path-in-jar="/" />

View File

@@ -6,8 +6,6 @@
<root url="jar://$PROJECT_DIR$/lib/gdx-controllers-core-2.2.1.jar!/" /> <root url="jar://$PROJECT_DIR$/lib/gdx-controllers-core-2.2.1.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-controllers-desktop-2.2.1.jar!/" /> <root url="jar://$PROJECT_DIR$/lib/gdx-controllers-desktop-2.2.1.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-jnigen-loader-2.3.1.jar!/" /> <root url="jar://$PROJECT_DIR$/lib/gdx-jnigen-loader-2.3.1.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-lwjgl3-glfw-awt-macos-1.11.0-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-lwjgl3-glfw-awt-macos-1.11.0.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-platform-1.11.0-natives-arm64-v8a.jar!/" /> <root url="jar://$PROJECT_DIR$/lib/gdx-platform-1.11.0-natives-arm64-v8a.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-platform-1.11.0-natives-armeabi-v7a.jar!/" /> <root url="jar://$PROJECT_DIR$/lib/gdx-platform-1.11.0-natives-armeabi-v7a.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-platform-1.11.0-natives-desktop.jar!/" /> <root url="jar://$PROJECT_DIR$/lib/gdx-platform-1.11.0-natives-desktop.jar!/" />
@@ -60,6 +58,8 @@
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-linux.jar!/" /> <root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-linux.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-linux-arm64.jar!/" /> <root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-linux-arm64.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-linux-arm32.jar!/" /> <root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-linux-arm32.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jlayer-1.0.1-gdx.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jorbis-0.0.17.jar!/" />
</CLASSES> </CLASSES>
<JAVADOC> <JAVADOC>
<root url="jar://$PROJECT_DIR$/lib/gdx-1.11.0-javadoc.jar!/" /> <root url="jar://$PROJECT_DIR$/lib/gdx-1.11.0-javadoc.jar!/" />
@@ -67,13 +67,13 @@
<root url="jar://$PROJECT_DIR$/lib/gdx-controllers-core-2.2.1-javadoc.jar!/" /> <root url="jar://$PROJECT_DIR$/lib/gdx-controllers-core-2.2.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-controllers-desktop-2.2.1-javadoc.jar!/" /> <root url="jar://$PROJECT_DIR$/lib/gdx-controllers-desktop-2.2.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-jnigen-loader-2.3.1-javadoc.jar!/" /> <root url="jar://$PROJECT_DIR$/lib/gdx-jnigen-loader-2.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-lwjgl3-glfw-awt-macos-1.11.0-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.3.1-javadoc.jar!/" /> <root url="jar://$PROJECT_DIR$/lib/lwjgl-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-javadoc.jar!/" /> <root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-javadoc.jar!/" /> <root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-javadoc.jar!/" /> <root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-javadoc.jar!/" /> <root url="jar://$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-javadoc.jar!/" /> <root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jlayer-1.0.1-gdx-javadoc.jar!/" />
</JAVADOC> </JAVADOC>
<SOURCES> <SOURCES>
<root url="jar://$PROJECT_DIR$/lib/gdx-1.11.0-sources.jar!/" /> <root url="jar://$PROJECT_DIR$/lib/gdx-1.11.0-sources.jar!/" />
@@ -81,13 +81,14 @@
<root url="jar://$PROJECT_DIR$/lib/gdx-controllers-core-2.2.1-sources.jar!/" /> <root url="jar://$PROJECT_DIR$/lib/gdx-controllers-core-2.2.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-controllers-desktop-2.2.1-sources.jar!/" /> <root url="jar://$PROJECT_DIR$/lib/gdx-controllers-desktop-2.2.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-jnigen-loader-2.3.1-sources.jar!/" /> <root url="jar://$PROJECT_DIR$/lib/gdx-jnigen-loader-2.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-lwjgl3-glfw-awt-macos-1.11.0-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.3.1-sources.jar!/" /> <root url="jar://$PROJECT_DIR$/lib/lwjgl-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-sources.jar!/" /> <root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-sources.jar!/" /> <root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-sources.jar!/" /> <root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-sources.jar!/" /> <root url="jar://$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-sources.jar!/" /> <root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jlayer-1.0.1-gdx-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jorbis-0.0.17-sources.jar!/" />
</SOURCES> </SOURCES>
</library> </library>
</component> </component>

View File

@@ -1,5 +1,7 @@
package net.torvald.tsvm; 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.Lwjgl3Application;
import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration; import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration;
import com.badlogic.gdx.graphics.glutils.ShaderProgram; 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); 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); 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();
}
} }
} }

View File

@@ -45,6 +45,8 @@ class VMGUI(val loaderInfo: EmulInstance, val viewportWidth: Int, val viewportHe
lateinit var fullscreenQuad: Mesh lateinit var fullscreenQuad: Mesh
override fun create() { override fun create() {
println("[VMGUI] create()")
super.create() super.create()
fullscreenQuad = Mesh( fullscreenQuad = Mesh(
@@ -66,6 +68,8 @@ class VMGUI(val loaderInfo: EmulInstance, val viewportWidth: Int, val viewportHe
} }
private fun init() { private fun init() {
println("[VMGUI] init()")
if (loaderInfo.display != null) { if (loaderInfo.display != null) {
val loadedClass = Class.forName(loaderInfo.display) val loadedClass = Class.forName(loaderInfo.display)
val loadedClassConstructor = loadedClass.getConstructor(String::class.java, vm::class.java) 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() Gdx.input.inputProcessor = vm.getIO()
vmRunner = VMRunnerFactory("./assets", vm, "js") vmRunner = VMRunnerFactory("./assets", vm, "js")
coroutineJob = Thread({ coroutineJob = Thread({
vmRunner.executeCommand(vm.roms[0]!!.readAll()) vmRunner.executeCommand(vm.roms[0]!!.readAll())

Binary file not shown.

View File

@@ -1,5 +1,6 @@
package net.torvald.tsvm; package net.torvald.tsvm;
import com.badlogic.gdx.Game;
import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application; import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application;
import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration; import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration;
import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.Texture;