diff --git a/.idea/artifacts/TerranBASIC.xml b/.idea/artifacts/TerranBASIC.xml
index 5672138..f111c70 100644
--- a/.idea/artifacts/TerranBASIC.xml
+++ b/.idea/artifacts/TerranBASIC.xml
@@ -7,19 +7,10 @@
-
-
-
-
-
-
-
-
-
@@ -85,6 +76,13 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml
index 0dd4b35..6d8bb6e 100644
--- a/.idea/kotlinc.xml
+++ b/.idea/kotlinc.xml
@@ -1,6 +1,9 @@
-
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/KotlinJavaRuntime.xml b/.idea/libraries/KotlinJavaRuntime.xml
deleted file mode 100644
index 1a7265d..0000000
--- a/.idea/libraries/KotlinJavaRuntime.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/jetbrains_kotlin_reflect.xml b/.idea/libraries/jetbrains_kotlin_reflect.xml
new file mode 100644
index 0000000..2405986
--- /dev/null
+++ b/.idea/libraries/jetbrains_kotlin_reflect.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/jetbrains_kotlin_stdlib_jdk8.xml b/.idea/libraries/jetbrains_kotlin_stdlib_jdk8.xml
new file mode 100644
index 0000000..9b99834
--- /dev/null
+++ b/.idea/libraries/jetbrains_kotlin_stdlib_jdk8.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/jetbrains_kotlin_test.xml b/.idea/libraries/jetbrains_kotlin_test.xml
new file mode 100644
index 0000000..6842add
--- /dev/null
+++ b/.idea/libraries/jetbrains_kotlin_test.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/org_jetbrains_kotlinx_kotlinx_coroutines_core_1_4_1.xml b/.idea/libraries/org_jetbrains_kotlinx_kotlinx_coroutines_core_1_4_1.xml
deleted file mode 100644
index 19d3075..0000000
--- a/.idea/libraries/org_jetbrains_kotlinx_kotlinx_coroutines_core_1_4_1.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/TerranBASICexecutable/TerranBASICexecutable.iml b/TerranBASICexecutable/TerranBASICexecutable.iml
index b73f09b..e218db2 100644
--- a/TerranBASICexecutable/TerranBASICexecutable.iml
+++ b/TerranBASICexecutable/TerranBASICexecutable.iml
@@ -10,10 +10,8 @@
-
-
diff --git a/TerranBASICexecutable/src/net/torvald/tsvm/VMGUI.kt b/TerranBASICexecutable/src/net/torvald/tsvm/VMGUI.kt
index 2600243..6621d94 100644
--- a/TerranBASICexecutable/src/net/torvald/tsvm/VMGUI.kt
+++ b/TerranBASICexecutable/src/net/torvald/tsvm/VMGUI.kt
@@ -4,7 +4,7 @@ import com.badlogic.gdx.ApplicationAdapter
import com.badlogic.gdx.Gdx
import com.badlogic.gdx.graphics.*
import com.badlogic.gdx.graphics.g2d.SpriteBatch
-import kotlinx.coroutines.*
+import kotlin.coroutines.*
import net.torvald.terrarum.DefaultGL32Shaders
import net.torvald.tsvm.peripheral.*
import java.io.File
diff --git a/lib/annotations-13.0-javadoc.jar b/lib/annotations-13.0-javadoc.jar
deleted file mode 100644
index 2c57f97..0000000
Binary files a/lib/annotations-13.0-javadoc.jar and /dev/null differ
diff --git a/lib/annotations-13.0.jar b/lib/annotations-13.0.jar
deleted file mode 100644
index fb794be..0000000
Binary files a/lib/annotations-13.0.jar and /dev/null differ
diff --git a/lib/kotlin-stdlib-1.4.0-javadoc.jar b/lib/kotlin-stdlib-1.4.0-javadoc.jar
deleted file mode 100644
index e3f3a95..0000000
Binary files a/lib/kotlin-stdlib-1.4.0-javadoc.jar and /dev/null differ
diff --git a/lib/kotlin-stdlib-1.4.0.jar b/lib/kotlin-stdlib-1.4.0.jar
deleted file mode 100644
index fe545d7..0000000
Binary files a/lib/kotlin-stdlib-1.4.0.jar and /dev/null differ
diff --git a/lib/kotlin-stdlib-common-1.4.0-javadoc.jar b/lib/kotlin-stdlib-common-1.4.0-javadoc.jar
deleted file mode 100644
index e3f3a95..0000000
Binary files a/lib/kotlin-stdlib-common-1.4.0-javadoc.jar and /dev/null differ
diff --git a/lib/kotlin-stdlib-common-1.4.0.jar b/lib/kotlin-stdlib-common-1.4.0.jar
deleted file mode 100644
index 2ea93b4..0000000
Binary files a/lib/kotlin-stdlib-common-1.4.0.jar and /dev/null differ
diff --git a/lib/kotlinx-coroutines-core-1.4.1-javadoc.jar b/lib/kotlinx-coroutines-core-1.4.1-javadoc.jar
deleted file mode 100644
index ee61e9e..0000000
Binary files a/lib/kotlinx-coroutines-core-1.4.1-javadoc.jar and /dev/null differ
diff --git a/lib/kotlinx-coroutines-core-1.4.1.jar b/lib/kotlinx-coroutines-core-1.4.1.jar
deleted file mode 100644
index 1d51c98..0000000
Binary files a/lib/kotlinx-coroutines-core-1.4.1.jar and /dev/null differ
diff --git a/tsvm_core/src/net/torvald/tsvm/ThreeFiveMinifloat.kt b/tsvm_core/src/net/torvald/tsvm/ThreeFiveMinifloat.kt
index 584f795..f259747 100644
--- a/tsvm_core/src/net/torvald/tsvm/ThreeFiveMinifloat.kt
+++ b/tsvm_core/src/net/torvald/tsvm/ThreeFiveMinifloat.kt
@@ -3,7 +3,8 @@ package net.torvald.tsvm
/**
* Created by minjaesong on 2022-12-30.
*/
-inline class ThreeFiveMiniUfloat(val index: Int = 0) {
+@JvmInline
+value class ThreeFiveMiniUfloat(val index: Int = 0) {
init {
if (index and 0xffffff00.toInt() != 0) throw IllegalArgumentException("Index not in 0..255 ($index)")
diff --git a/tsvm_core/src/net/torvald/tsvm/VM.kt b/tsvm_core/src/net/torvald/tsvm/VM.kt
index e5a49cb..4872f73 100644
--- a/tsvm_core/src/net/torvald/tsvm/VM.kt
+++ b/tsvm_core/src/net/torvald/tsvm/VM.kt
@@ -1,6 +1,6 @@
package net.torvald.tsvm
-import kotlinx.coroutines.Job
+import kotlin.coroutines.Job
import net.torvald.UnsafeHelper
import net.torvald.UnsafePtr
import net.torvald.terrarum.modulecomputers.virtualcomputer.tvd.toHex
@@ -15,7 +15,8 @@ import kotlin.math.ceil
class ErrorIllegalAccess(vm: VM, addr: Long) : RuntimeException("Segmentation fault at 0x${addr.toString(16).padStart(8, '0')} on VM id ${vm.id}")
-inline class VmId(val text: String) {
+@JvmInline
+value class VmId(val text: String) {
override fun toString() = text
}
diff --git a/tsvm_core/src/net/torvald/tsvm/VMJSR223Delegate.kt b/tsvm_core/src/net/torvald/tsvm/VMJSR223Delegate.kt
index b8a1b88..c67885f 100644
--- a/tsvm_core/src/net/torvald/tsvm/VMJSR223Delegate.kt
+++ b/tsvm_core/src/net/torvald/tsvm/VMJSR223Delegate.kt
@@ -1,8 +1,8 @@
package net.torvald.tsvm
-import kotlinx.coroutines.GlobalScope
-import kotlinx.coroutines.Job
-import kotlinx.coroutines.launch
+import kotlin.coroutines.GlobalScope
+import kotlin.coroutines.Job
+import kotlin.coroutines.launch
import net.torvald.UnsafeHelper
import net.torvald.UnsafePtr
import net.torvald.terrarum.modulecomputers.virtualcomputer.tvd.toUlong
diff --git a/tsvm_core/src/net/torvald/tsvm/VMSetupBroker.kt b/tsvm_core/src/net/torvald/tsvm/VMSetupBroker.kt
index 2b361e5..e744250 100644
--- a/tsvm_core/src/net/torvald/tsvm/VMSetupBroker.kt
+++ b/tsvm_core/src/net/torvald/tsvm/VMSetupBroker.kt
@@ -3,10 +3,7 @@ package net.torvald.tsvm
import com.badlogic.gdx.Gdx
import com.badlogic.gdx.utils.GdxRuntimeException
import com.badlogic.gdx.utils.JsonValue
-import kotlinx.coroutines.GlobalScope
-import kotlinx.coroutines.Job
-import kotlinx.coroutines.cancel
-import kotlinx.coroutines.launch
+import kotlin.coroutines.*
import net.torvald.tsvm.peripheral.BlockTransferInterface
import net.torvald.tsvm.peripheral.GraphicsAdapter
import net.torvald.tsvm.peripheral.PeriBase
@@ -23,7 +20,7 @@ object VMSetupBroker {
* @param vm VM to initialise
* @param gpu Display device to attach
* @param vmRunners Hashmap on the host of VMs that holds the instances of the VMRunners for the given VM. Key: Int(VM's identifier), value: [net.torvald.tsvm.VMRunner]
- * @param coroutineJobs Hashmap on the host of VMs that holds the coroutine-job object for the currently running VM-instance. Key: Int(VM's identifier), value: [kotlinx.coroutines.Job]
+ * @param coroutineJobs Hashmap on the host of VMs that holds the coroutine-job object for the currently running VM-instance. Key: Int(VM's identifier), value: [kotlin.coroutines.Job]
*/
fun initVMenv(vm: VM, profileJson: JsonValue, profileName: String, gpu: GraphicsAdapter, vmRunners: HashMap, coroutineJobs: HashMap, whatToDoOnVmException: (Throwable) -> Unit) {
vm.init()
@@ -58,7 +55,7 @@ object VMSetupBroker {
*
* @param vm VM to initialise
* @param vmRunners Hashmap on the host of VMs that holds the instances of the VMRunners for the given VM. Key: Int(VM's identifier), value: [net.torvald.tsvm.VMRunner]
- * @param coroutineJobs Hashmap on the host of VMs that holds the coroutine-job object for the currently running VM-instance. Key: Int(VM's identifier), value: [kotlinx.coroutines.Job]
+ * @param coroutineJobs Hashmap on the host of VMs that holds the coroutine-job object for the currently running VM-instance. Key: Int(VM's identifier), value: [kotlin.coroutines.Job]
*/
fun killVMenv(vm: VM, vmRunners: HashMap, coroutineJobs: HashMap) {
diff --git a/tsvm_core/src/net/torvald/tsvm/vdc/V2kRunTest.kt b/tsvm_core/src/net/torvald/tsvm/vdc/V2kRunTest.kt
index 983b01f..587b6e3 100644
--- a/tsvm_core/src/net/torvald/tsvm/vdc/V2kRunTest.kt
+++ b/tsvm_core/src/net/torvald/tsvm/vdc/V2kRunTest.kt
@@ -7,9 +7,9 @@ import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration
import com.badlogic.gdx.graphics.OrthographicCamera
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import com.badlogic.gdx.graphics.glutils.ShaderProgram
-import kotlinx.coroutines.GlobalScope
-import kotlinx.coroutines.Job
-import kotlinx.coroutines.launch
+import kotlin.coroutines.GlobalScope
+import kotlin.coroutines.Job
+import kotlin.coroutines.launch
import net.torvald.terrarum.DefaultGL32Shaders
import net.torvald.tsvm.*
import net.torvald.tsvm.peripheral.GraphicsAdapter
diff --git a/tsvm_core/tsvm_core.iml b/tsvm_core/tsvm_core.iml
index 5b128e1..ad0f75d 100644
--- a/tsvm_core/tsvm_core.iml
+++ b/tsvm_core/tsvm_core.iml
@@ -9,11 +9,12 @@
-
-
+
+
+
\ No newline at end of file
diff --git a/tsvm_executable.iml b/tsvm_executable.iml
index 0c87ef3..aeb5e5b 100644
--- a/tsvm_executable.iml
+++ b/tsvm_executable.iml
@@ -9,10 +9,8 @@
-
-
diff --git a/tsvm_executable/src/net/torvald/tsvm/VMEmuExecutable.kt b/tsvm_executable/src/net/torvald/tsvm/VMEmuExecutable.kt
index fbbcd9a..3d1d0ea 100644
--- a/tsvm_executable/src/net/torvald/tsvm/VMEmuExecutable.kt
+++ b/tsvm_executable/src/net/torvald/tsvm/VMEmuExecutable.kt
@@ -8,8 +8,8 @@ import com.badlogic.gdx.graphics.*
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import com.badlogic.gdx.utils.JsonValue
import com.badlogic.gdx.utils.JsonWriter
-import kotlinx.coroutines.Job
-import kotlinx.coroutines.cancel
+import kotlin.coroutines.Job
+import kotlin.coroutines.cancel
import net.torvald.terrarum.DefaultGL32Shaders
import net.torvald.terrarum.FlippingSpriteBatch
import net.torvald.terrarum.imagefont.TinyAlphNum
diff --git a/tsvm_executable/src/net/torvald/tsvm/VMGUI.kt b/tsvm_executable/src/net/torvald/tsvm/VMGUI.kt
index becac6d..e9d92b5 100644
--- a/tsvm_executable/src/net/torvald/tsvm/VMGUI.kt
+++ b/tsvm_executable/src/net/torvald/tsvm/VMGUI.kt
@@ -4,7 +4,7 @@ import com.badlogic.gdx.ApplicationAdapter
import com.badlogic.gdx.Gdx
import com.badlogic.gdx.graphics.*
import com.badlogic.gdx.graphics.g2d.SpriteBatch
-import kotlinx.coroutines.*
+import kotlin.coroutines.*
import net.torvald.terrarum.DefaultGL32Shaders
import net.torvald.terrarum.modulecomputers.tsvmperipheral.WorldRadar
import net.torvald.tsvm.peripheral.*