From 0e5f4f2765957583d8a6d76dda3c43b2f4bcde46 Mon Sep 17 00:00:00 2001 From: Purple Tentacle Date: Sun, 1 Feb 2026 16:14:53 +0100 Subject: [PATCH 1/4] Fixed live monitor argument processing. Commands like "m 1E0" did not work as expected, as values with an "e" were interpreted as decimal values in exponential notation (1e0 = 1, 1e1=10, 1e2=100) by the jquery.terminal module. Disabled "argument processing", so all parameters are passed as strings (keeping hexadecimal values safe). Also: - Set option to allow resizing the BASCI editor window. - Synchronize the upper/lower case setting, when browsers have cached the setting and the page is reloaded. --- html/index.html | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/html/index.html b/html/index.html index b35166426..32ac1c42c 100644 --- a/html/index.html +++ b/html/index.html @@ -270,6 +270,8 @@ $('#uppercaseBASIC').on('change', async function (event) { $("#basiceditor").toggleClass("uppercase", this.checked); // change upper/lowercase display }); + // browser may have cached the checkbox state on a page reload: synchronize the initially displayed state + $("#basiceditor").toggleClass("uppercase", $('#uppercaseBASIC').prop('checked')); // convenience: write memory - show error message when access fails async function writeMemory(param, errorMsg) { @@ -845,6 +847,7 @@ }, { checkArity: false, + processArguments: false, greetings: 'Ultimate 64 / II+ Remote Monitor\nhelp = list of commands\n' }); @@ -1492,7 +1495,7 @@ line-height: 1.5; width: 900px; height: 400px; - resize: none; + resize: both; } .trinity-dialog { From 4d0d7e3d8842f68419dbb1f9e1446ecf7209e7aa Mon Sep 17 00:00:00 2001 From: Purple Tentacle Date: Wed, 14 Jan 2026 20:54:48 +0100 Subject: [PATCH 2/4] Added power-off button and firmware version to side panel. - Adds power off button (only shown for Ultimate 64-II). - Adds firmware version (read from /v1/info). - Clean up of duplicated CSS rules. --- html/index.html | 79 ++++++++++++++++++++++++------------------------- 1 file changed, 39 insertions(+), 40 deletions(-) diff --git a/html/index.html b/html/index.html index 32ac1c42c..9fdfa5413 100644 --- a/html/index.html +++ b/html/index.html @@ -40,6 +40,16 @@ $("#logoutmenuitem").hide(); } $("#banner").html(product + " HTTP Server"); + + // show power button for supported boards only + const ProductsWithPwrCtrl = ["Ultimate 64-II", "C64 Ultimate"]; + if (ProductsWithPwrCtrl.includes(product)) + $("#menu-power").show(); + + // show firmware version in side panel + if (ultimateInfo.firmware_version) + $("#firmware-version").html("firmware v"+ultimateInfo.firmware_version); + $("#left-nav").css("visibility", "visible"); $(".page").hide(); $("#welcome").show(); @@ -72,7 +82,19 @@ let [status_code, content] = await make_put_request("http://" + serverIP + "/v1/machine:reset", params); }; - $('#doreboot').click(function(event){ + async function doPowerOff() { + let params = {}; + if (confirm("Are you sure you want to power off your Ultimate?")) { + let [status_code, content] = await make_put_request("http://" + serverIP + "/v1/machine:poweroff", params); + } + }; + + $('#dopoweroff').click(function(event) { + event.preventDefault(); // Prevents the default action of the anchor tag + doPowerOff(); + }); + + $('#doreboot').click(function(event) { event.preventDefault(); // Prevents the default action of the anchor tag doReboot(); }); @@ -1383,6 +1405,14 @@ div#left-nav a:hover { background-color: #beffff; } + #firmware-version { + font-size: 12px; + color: darkgray; + text-align: center; + } + #menu-power { + display: none; + } #login { padding: 20px; width: 800px; @@ -1393,12 +1423,7 @@ width: 800px; display: none; } - #livemon { - flex-grow: 1; - padding: 20px; - display:none; - } - #sidplay { + div#livemon, div#sidplay, div#runner, div#tokenizer { flex-grow: 1; padding: 20px; display:none; @@ -1418,35 +1443,7 @@ color: #4caf50; background-color: #f6fff6; } - #runner { - flex-grow: 1; - padding: 20px; - display:none; - } - #tokenizer { - flex-grow: 1; - padding: 20px; - display:none; - } - #sidmsg { - flex-grow: 1; - margin-top: 20px; - padding: 20px; - display:none; - background-color: red; - color: white; - width: 400px; - } - #runmsg { - flex-grow: 1; - margin-top: 20px; - padding: 20px; - display:none; - background-color: red; - color: white; - width: 400px; - } - #basicmsg { + #sidmsg, #runmsg, #basicmsg { flex-grow: 1; margin-top: 20px; padding: 20px; @@ -1472,7 +1469,7 @@ margin: 5px 0; } - @font-face { + @font-face { font-family: 'C64'; src: url('C64_Pro-STYLE.woff') format('woff'); /* Path to your C64 font file */ } @@ -1582,9 +1579,10 @@
  • BASIC Editor