+ An unhandled error has occurred.
+
Reload
+
🗙
+
+
+
+
+
+
+
+
diff --git a/NorModifierWeb/wwwroot/js/serial.js b/NorModifierWeb/wwwroot/js/serial.js
new file mode 100644
index 0000000..9a4b143
--- /dev/null
+++ b/NorModifierWeb/wwwroot/js/serial.js
@@ -0,0 +1,86 @@
+var serialPort;
+
+function serialIsSupported() {
+ return navigator.serial ? true : false;
+}
+
+async function serialRequestPort() {
+ try {
+ serialPort = await navigator.serial.requestPort();
+ return true;
+ }
+ catch (err) {
+ console.error("Serial request error:", err);
+ return false;
+ }
+}
+
+async function serialOpen(baudRate) {
+ try {
+ await serialPort.open({ baudRate: baudRate });
+ //await serialPort.setSignals({ rts: true });
+ return true;
+ }
+ catch (err) {
+ console.error("Serial open error:", err);
+ return false;
+ }
+}
+
+async function serialClose() {
+ await serialPort.close();
+}
+
+async function serialWrite(text) {
+ let writer;
+ let writableStreamClosed;
+ try {
+ const textEncoder = new TextEncoderStream();
+ writableStreamClosed = textEncoder.readable.pipeTo(serialPort.writable);
+ writer = textEncoder.writable.getWriter();
+
+ await writer.write(text);
+ return true;
+ } catch (err) {
+ console.error("Serial write error:", err);
+ } finally {
+ if (writer) {
+ await writer.close();
+ await writableStreamClosed;
+ writer.releaseLock();
+ }
+ }
+
+ return false;
+}
+
+async function serialRead() {
+ const textDecoder = new TextDecoderStream();
+ const readableStreamClosed = serialPort.readable.pipeTo(textDecoder.writable);
+ const reader = textDecoder.readable.getReader();
+
+ let buffer = '';
+
+ try {
+ while (true) {
+ const { value, done } = await reader.read();
+ if (done) break;
+
+ buffer += value;
+
+ const match = buffer.match(/(.*?)(\r\n|\n|\r)/);
+ if (match) {
+ return match[1].trim();
+ }
+ }
+ } catch (err) {
+ console.error("Serial read error:", err);
+ } finally {
+ await reader.cancel();
+ reader.releaseLock();
+ try { await readableStreamClosed; } catch (_) { }
+ }
+
+ return null;
+}
+
diff --git a/PS5 NOR Modifier Standalone.zip b/PS5 NOR Modifier Standalone.zip
deleted file mode 100644
index aa007f1..0000000
Binary files a/PS5 NOR Modifier Standalone.zip and /dev/null differ
diff --git a/PS5 NOR Modifier.sln b/PS5 NOR Modifier.sln
index 1cfcbf0..bc16f3c 100644
--- a/PS5 NOR Modifier.sln
+++ b/PS5 NOR Modifier.sln
@@ -5,6 +5,14 @@ VisualStudioVersion = 17.3.32901.215
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PS5 NOR Modifier", "PS5 NOR Modifier\PS5 NOR Modifier.csproj", "{BBBF9E78-9480-436A-92F1-B5B8943BCDEF}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UART-CL By TheCod3r", "UART-CL By TheCod3r\UART-CL By TheCod3r.csproj", "{5BFC3B50-FB68-9995-F3B4-D8498BD3C7E1}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UART-CL Tests", "UART-CL Tests\UART-CL Tests.csproj", "{0E155073-52EB-4771-A9CB-E6FD7DC42D2E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NorModifierLib", "NorModifierLib\NorModifierLib.csproj", "{5E047A92-075B-4C7F-87CA-B708320F80A9}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NorModifierWeb", "NorModifierWeb\NorModifierWeb.csproj", "{677BEA2B-3A03-CA22-A4A6-DB26F4EB8238}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -21,6 +29,38 @@ Global
{BBBF9E78-9480-436A-92F1-B5B8943BCDEF}.Release|Any CPU.Build.0 = Release|Any CPU
{BBBF9E78-9480-436A-92F1-B5B8943BCDEF}.Release|x86.ActiveCfg = Release|x86
{BBBF9E78-9480-436A-92F1-B5B8943BCDEF}.Release|x86.Build.0 = Release|x86
+ {5BFC3B50-FB68-9995-F3B4-D8498BD3C7E1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5BFC3B50-FB68-9995-F3B4-D8498BD3C7E1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5BFC3B50-FB68-9995-F3B4-D8498BD3C7E1}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {5BFC3B50-FB68-9995-F3B4-D8498BD3C7E1}.Debug|x86.Build.0 = Debug|Any CPU
+ {5BFC3B50-FB68-9995-F3B4-D8498BD3C7E1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5BFC3B50-FB68-9995-F3B4-D8498BD3C7E1}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5BFC3B50-FB68-9995-F3B4-D8498BD3C7E1}.Release|x86.ActiveCfg = Release|Any CPU
+ {5BFC3B50-FB68-9995-F3B4-D8498BD3C7E1}.Release|x86.Build.0 = Release|Any CPU
+ {0E155073-52EB-4771-A9CB-E6FD7DC42D2E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0E155073-52EB-4771-A9CB-E6FD7DC42D2E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0E155073-52EB-4771-A9CB-E6FD7DC42D2E}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {0E155073-52EB-4771-A9CB-E6FD7DC42D2E}.Debug|x86.Build.0 = Debug|Any CPU
+ {0E155073-52EB-4771-A9CB-E6FD7DC42D2E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0E155073-52EB-4771-A9CB-E6FD7DC42D2E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0E155073-52EB-4771-A9CB-E6FD7DC42D2E}.Release|x86.ActiveCfg = Release|Any CPU
+ {0E155073-52EB-4771-A9CB-E6FD7DC42D2E}.Release|x86.Build.0 = Release|Any CPU
+ {5E047A92-075B-4C7F-87CA-B708320F80A9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5E047A92-075B-4C7F-87CA-B708320F80A9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5E047A92-075B-4C7F-87CA-B708320F80A9}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {5E047A92-075B-4C7F-87CA-B708320F80A9}.Debug|x86.Build.0 = Debug|Any CPU
+ {5E047A92-075B-4C7F-87CA-B708320F80A9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5E047A92-075B-4C7F-87CA-B708320F80A9}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5E047A92-075B-4C7F-87CA-B708320F80A9}.Release|x86.ActiveCfg = Release|Any CPU
+ {5E047A92-075B-4C7F-87CA-B708320F80A9}.Release|x86.Build.0 = Release|Any CPU
+ {677BEA2B-3A03-CA22-A4A6-DB26F4EB8238}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {677BEA2B-3A03-CA22-A4A6-DB26F4EB8238}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {677BEA2B-3A03-CA22-A4A6-DB26F4EB8238}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {677BEA2B-3A03-CA22-A4A6-DB26F4EB8238}.Debug|x86.Build.0 = Debug|Any CPU
+ {677BEA2B-3A03-CA22-A4A6-DB26F4EB8238}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {677BEA2B-3A03-CA22-A4A6-DB26F4EB8238}.Release|Any CPU.Build.0 = Release|Any CPU
+ {677BEA2B-3A03-CA22-A4A6-DB26F4EB8238}.Release|x86.ActiveCfg = Release|Any CPU
+ {677BEA2B-3A03-CA22-A4A6-DB26F4EB8238}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/PS5 NOR Modifier/obj/Debug/PS5 NOR Modifier.1.0.0.nuspec b/PS5 NOR Modifier/obj/Debug/PS5 NOR Modifier.1.0.0.nuspec
deleted file mode 100644
index e69de29..0000000
diff --git a/PS5 NOR Modifier/obj/Debug/net6.0-windows/PS5 NOR Modifier.GlobalUsings.g.cs b/PS5 NOR Modifier/obj/Debug/net6.0-windows/PS5 NOR Modifier.GlobalUsings.g.cs
deleted file mode 100644
index fea4009..0000000
--- a/PS5 NOR Modifier/obj/Debug/net6.0-windows/PS5 NOR Modifier.GlobalUsings.g.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-//