Instant opcodes, more proquints, manatee


The v0.4.2 version brings uxn emulation up to spec regarding the call/lit opcodes, rounds out proquint support, introduces the default OS for starships, and fixes a few bugs encountered along the way.

The last three opcodes added to uxn (JCI/JMI/JSI) should now be emulated as they are in uxnemu. The JCI and JMI opcodes are emitted by the ? and ! runes, and they take the relative address to jump to as the next short in memory, making these jumps faster during emulation, and terser in the source code.

The delown server-side command now takes proquint identifiers, and the ipv4address starting configuration option now also accepts a double proquint (with a separator in between). The client-side focus-setting command > now accepts proquints, and the prompt shows the focused entity in both forms.

Lastly, the new opcodes were a good excuse to finally rewrite cmd.tal and controller.tal to merge them into manatee.tal, the first iteration of an interactive operating system for ships. For now, it is a state machine with a shell that can execute commands with some arguments.

The emulator now triggers the vector of the Screen device every tick, so ships can now step in sync with the simulation. For example, if the ship has to do nothing in an idle state, and a zero byte represents that state, the vector can take as few as three instructions to run.

@on-screen ( -> )

    ;state LDA [ ?on-screen/no-idle ] BRK
    &no-idle

BRK

Other notes:

  • delown now correctly removes even non-owned entities, and it removes from the owner otherwise (not the user running the command)
  • the reported OpenGL version is now logged during initialization
  • logs are flushed after shader compilation, now they reach disk even when an OpenGL function crashes
  • keyboard keys can now be mapped to dual controller axes, correctly updating both
  • another pixel-offsetting trick should help with pixel-perfect display of sprites & bitmap fonts

Files

doldrusidus-aarch64-linux-gnu-debug.zip 5 MB
Feb 13, 2023
doldrusidus-arm-linux-gnueabihf-debug.zip 5 MB
Feb 13, 2023
doldrusidus-i686-linux-gnu-debug.zip 5 MB
Feb 13, 2023
doldrusidus-x86_64-linux-gnu-debug.zip 5 MB
Feb 13, 2023

Get doldrusidus

Leave a comment

Log in with itch.io to leave a comment.