MightyPirates / TIS-3D

TIS-100 inspired low-tech computing in Minecraft.
https://www.curseforge.com/minecraft/mc-mods/tis-3d
Other
104 stars 35 forks source link

[1.18.2 Forge] Timer module appears to be capable of overwriting data in ROM module #176

Open zack-emmert opened 1 year ago

zack-emmert commented 1 year ago

Versions:

Minecraft 1.18.2 Forge 40.2.1 TIS-3D 1.6.8+2ac5c5f

Steps to reproduce:

  1. Place a casing on top of a controller, with an execution module on the top face of the casing.

  2. Load the following byte sequence into a ROM module: 0x03 0x04 0x05 0x06.

  3. Place the ROM module on a side of the casing, connected to the UP port on the execution module.

  4. Place a timer module on a different side of the casing, connected to the LEFT port of the execution module.

  5. Load the following instruction sequence onto the execution module:

    MOV 0 UP
    MOV UP ACC
    JRO 0
  6. Run the program

  7. Examine the ROM module to find the second byte replaced with 0x00. The ACC register is also 0x00.

Expected result: The data stored in the ROM should not change Actual behavior: The second byte of the ROM is overwritten.

Visual guide for module placement: Screenshot_20230217_000431