diff --git a/Console/Properties/AssemblyInfo.cs b/Console/Properties/AssemblyInfo.cs
index 8e03b6d..3afa266 100644
--- a/Console/Properties/AssemblyInfo.cs
+++ b/Console/Properties/AssemblyInfo.cs
@@ -8,9 +8,9 @@ using System.Runtime.InteropServices;
[assembly: AssemblyCopyright("Copyright © 2009")]
[assembly: AssemblyConfiguration("")]
[assembly: Guid("581ca4b6-a91c-4d24-b9b5-207f3b5da379")]
-[assembly: AssemblyFileVersion("4.11.4.3")]
+[assembly: AssemblyFileVersion("4.11.4.4")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: AssemblyTitle("Tesla Console")]
[assembly: AssemblyDescription("All code and UI property of Virtual World Entertainment.\r\n\r\nDeveloped by Elsewhen Studios, LLC in association with VGCorps, LLC.\r\n\r\nElsewhen Studios and the Elsewhen Wormhole are trademarks of Elsewhen Studios, LLC\r\n\r\nIncludes the WeifenLuo DockingPane library. Copyright © 2007 Weifen Luo (email: weifenluo@yahoo.com). Licensed under the MIT License - details can be found in WeifenLuo.txt included in this installation.")]
-[assembly: AssemblyVersion("4.11.4.3")]
+[assembly: AssemblyVersion("4.11.4.4")]
diff --git a/Console/tests/TeslaConsole.DiffTests/BehavioralEquivalenceTests.cs b/Console/tests/TeslaConsole.DiffTests/BehavioralEquivalenceTests.cs
index 68031df..7ff7bb5 100644
--- a/Console/tests/TeslaConsole.DiffTests/BehavioralEquivalenceTests.cs
+++ b/Console/tests/TeslaConsole.DiffTests/BehavioralEquivalenceTests.cs
@@ -47,7 +47,7 @@ namespace TeslaConsole.DiffTests
Assert.Contains("TeslaConsole", _fx.Original.AssemblyFullName);
Assert.Contains("TeslaConsole", _fx.Recovered.AssemblyFullName);
Assert.Contains("4.11.3.37076", _fx.Original.AssemblyFullName);
- Assert.Contains("4.11.4.3", _fx.Recovered.AssemblyFullName);
+ Assert.Contains("4.11.4.4", _fx.Recovered.AssemblyFullName);
}
// ---- RPStrings.GetTimeString: mm:ss formatting with 0.5s rounding ----
diff --git a/Launcher/SecureConfig.cs b/Launcher/SecureConfig.cs
index 0cd8dfc..3468709 100644
--- a/Launcher/SecureConfig.cs
+++ b/Launcher/SecureConfig.cs
@@ -156,6 +156,12 @@ namespace TeslaSecureConfig
_port = new System.IO.Ports.SerialPort(comPort, baud,
System.IO.Ports.Parity.None, 8, System.IO.Ports.StopBits.One);
_port.Open();
+ // Hide the text cursor once at startup, exactly as the game and the
+ // controller's own ROM demo do (ESC G 0). ESC @ does not restore it,
+ // so a single hide holds for the session.
+ _port.BaseStream.WriteByte(0x1B); // ESC
+ _port.BaseStream.WriteByte(0x47); // G
+ _port.BaseStream.WriteByte(0x00); // 0 -> cursor hidden
ClearAll();
}
catch (Exception ex)
@@ -166,12 +172,19 @@ namespace TeslaSecureConfig
}
}
- // ClearAll: send ESC J (clear display) as per Plasma protocol
+ // Clear + home, per the PD01D221 controller's recovered command set (EPROM
+ // dump -> vrio/PlasmaNew/FIRMWARE.md; the ROM's own demo prefixes every
+ // screen with exactly these two). The previous code sent ESC J, which on
+ // this controller is NOT a clear -- it toggles an orientation/mode bit -- so
+ // the panel never cleared and never homed, and each provisioning cycle wrote
+ // stale text at a stale cursor position (garbled overlap in the field).
public void ClearAll()
{
if (_port == null || !_port.IsOpen) return;
_port.BaseStream.WriteByte(0x1B); // ESC
- _port.BaseStream.WriteByte(0x4A); // J (clear screen)
+ _port.BaseStream.WriteByte(0x40); // @ -> clear active buffer, reset text state
+ _port.BaseStream.WriteByte(0x1B); // ESC
+ _port.BaseStream.WriteByte(0x4C); // L -> home cursor to (0,0)
_port.BaseStream.Flush();
}
diff --git a/Launcher/TeslaLauncher.csproj b/Launcher/TeslaLauncher.csproj
index 75d9eaf..bfd8e29 100644
--- a/Launcher/TeslaLauncher.csproj
+++ b/Launcher/TeslaLauncher.csproj
@@ -18,7 +18,7 @@
disable
disable
latest
- 4.11.4.3
+ 4.11.4.4
app.ico
TeslaLauncher
Tesla.Launcher
diff --git a/Launcher/build.bat b/Launcher/build.bat
index 5410b98..c8b25ac 100644
--- a/Launcher/build.bat
+++ b/Launcher/build.bat
@@ -46,7 +46,7 @@ for %%a in (%*) do (
echo.
echo ============================================================
-echo Tesla Launcher v4.11.4.3 - Build ^& Package (net40 single binary)
+echo Tesla Launcher v4.11.4.4 - Build ^& Package (net40 single binary)
echo Output : %BUILD_DIR%
echo ============================================================
echo.
diff --git a/Launcher/install.bat b/Launcher/install.bat
index 42f7d4e..d4fc639 100644
--- a/Launcher/install.bat
+++ b/Launcher/install.bat
@@ -20,7 +20,7 @@
setlocal enabledelayedexpansion
echo ============================================================
-echo Tesla Launcher v4.11.4.3 - Installation (single binary)
+echo Tesla Launcher v4.11.4.4 - Installation (single binary)
echo ============================================================
echo.
diff --git a/vPOD/vPOD.csproj b/vPOD/vPOD.csproj
index 22288d1..f14d0bd 100644
--- a/vPOD/vPOD.csproj
+++ b/vPOD/vPOD.csproj
@@ -27,8 +27,8 @@
VPod
true
- 4.11.4.3
- 4.11.4.3
+ 4.11.4.4
+ 4.11.4.4
vPOD