diff --git a/TerranBASICexecutable/src/net/torvald/tsvm/TerranBASIC.java b/TerranBASICexecutable/src/net/torvald/tsvm/TerranBASIC.java index 8a28796..1a8c26c 100644 --- a/TerranBASICexecutable/src/net/torvald/tsvm/TerranBASIC.java +++ b/TerranBASICexecutable/src/net/torvald/tsvm/TerranBASIC.java @@ -5,6 +5,8 @@ import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration; import com.badlogic.gdx.graphics.glutils.ShaderProgram; import net.torvald.tsvm.peripheral.*; +import java.util.HashMap; + public class TerranBASIC { public static String appTitle = "TerranBASIC"; @@ -25,7 +27,10 @@ public class TerranBASIC { appConfig.setWindowedMode(WIDTH, HEIGHT); - VM tbasvm = new VM("./assets", 64 << 10, new TheRealWorld(), new VMProgramRom[]{TBASRelBios.INSTANCE}, 2); + HashMap watchdogs = new HashMap<>(); + watchdogs.put("TEVD_SYNC", TevdSyncWatchdog.INSTANCE); + + VM tbasvm = new VM("./assets", 64 << 10, new TheRealWorld(), new VMProgramRom[]{TBASRelBios.INSTANCE}, 2, watchdogs); EmulInstance tbasrunner = new EmulInstance(tbasvm, "net.torvald.tsvm.peripheral.ReferenceGraphicsAdapter", "assets/disk0", 560, 448); new Lwjgl3Application(new VMGUI(tbasrunner, WIDTH, HEIGHT), appConfig); } diff --git a/terranmon.txt b/terranmon.txt index a409802..b4543a0 100644 --- a/terranmon.txt +++ b/terranmon.txt @@ -378,59 +378,76 @@ METADATA - uint16 HEIGHT uint16 FPS (0: play as fast as can) uint32 NUMBER OF FRAMES - uint16 PACKET TYPE + uint16 GLOBAL PACKET TYPE (will be deprecated; please use 255,0) byte[12] RESERVED - Packet Type Low Byte: - 0: 256-Colour frame - 1: 256-Colour frame with palette data - 2: 4096-Colour frame (stored as two byte-planes) - 4: iPF no-alpha indicator (see iPF Type Numbers for details) - 5: iPF with alpha indicator (see iPF Type Numbers for details) - 16: Series of JPEGs - 18: Series of PNGs - 20: Series of TGAs - 21: Series of TGA/GZs - 255: Every frame specifies the type + Packet Types: +