Browse Source

(breaking change) replace *-output-char with *-output-byte (#928)

Robert Aboukhalil 7 months ago
parent
commit
4928c9165d

+ 2 - 2
examples/lang.html

@@ -50,10 +50,10 @@ window.onload = function()
     });
 
     var serial_out = "";
-    emulator.add_listener("serial0-output-char", async function(chr)
+    emulator.add_listener("serial0-output-byte", async function(byte)
     {
+        var chr = String.fromCharCode(byte);
         serial_out += chr;
-        //document.getElementById("output").textContent += chr;
 
         if(serial_out.endsWith("root@nyu"))
         {

+ 2 - 1
examples/lua.html

@@ -32,8 +32,9 @@ window.onload = function()
     var data = "";
     var do_output = false;
 
-    emulator.add_listener("serial0-output-char", function(char)
+    emulator.add_listener("serial0-output-byte", function(byte)
     {
+        var char = String.fromCharCode(byte);
         if(char !== "\r")
         {
             data += char;

+ 2 - 1
examples/nodejs.js

@@ -24,8 +24,9 @@ var emulator = new V86({
     autostart: true,
 });
 
-emulator.add_listener("serial0-output-char", function(chr)
+emulator.add_listener("serial0-output-byte", function(byte)
 {
+    var chr = String.fromCharCode(byte);
     if(chr <= "~")
     {
         process.stdout.write(chr);

+ 2 - 1
examples/nodejs_state.js

@@ -26,8 +26,9 @@ var emulator = new V86({
     autostart: true,
 });
 
-emulator.add_listener("serial0-output-char", function(chr)
+emulator.add_listener("serial0-output-byte", function(byte)
 {
+    var chr = String.fromCharCode(byte);
     if(chr <= "~")
     {
         process.stdout.write(chr);

+ 2 - 1
examples/serial.html

@@ -47,8 +47,9 @@ window.onload = function()
     ];
     var stage = 0;
 
-    emulator.add_listener("serial0-output-char", function(char)
+    emulator.add_listener("serial0-output-byte", function(byte)
     {
+        var char = String.fromCharCode(byte);
         if(char === "\r")
         {
             return;

+ 2 - 1
examples/two_instances.html

@@ -60,8 +60,9 @@ window.onload = function()
         emulator2.keyboard_set_status(true);
     }, false);
 
-    emulator1.add_listener("serial0-output-char", function(char)
+    emulator1.add_listener("serial0-output-byte", function(byte)
     {
+        var char = String.fromCharCode(byte);
         emulator2.serial0_send(char);
     });
     emulator1.add_listener("net0-send", function(data)

+ 2 - 1
examples/worker.js

@@ -17,8 +17,9 @@ var emulator = new V86({
 });
 
 
-emulator.add_listener("serial0-output-char", function(chr)
+emulator.add_listener("serial0-output-byte", function(byte)
 {
+    var chr = String.fromCharCode(byte);
     this.postMessage(chr);
 }.bind(this));
 

+ 6 - 3
src/browser/serial.js

@@ -17,8 +17,9 @@ function SerialAdapter(element, bus)
     this.last_update = 0;
 
 
-    this.bus.register("serial0-output-char", function(chr)
+    this.bus.register("serial0-output-byte", function(byte)
     {
+        var chr = String.fromCharCode(byte);
         this.show_char(chr);
     }, this);
 
@@ -204,8 +205,9 @@ function SerialRecordingAdapter(bus)
     var serial = this;
     this.text = "";
 
-    bus.register("serial0-output-char", function(chr)
+    bus.register("serial0-output-byte", function(byte)
     {
+        var chr = String.fromCharCode(byte);
         this.text += chr;
     }, this);
 }
@@ -235,8 +237,9 @@ function SerialAdapterXtermJS(element, bus)
         }
     });
 
-    bus.register("serial0-output-char", function(chr)
+    bus.register("serial0-output-byte", function(byte)
     {
+        var chr = new Uint8Array([byte]);
         term.write(chr);
     }, this);
 

+ 2 - 3
src/uart.js

@@ -342,12 +342,11 @@ UART.prototype.write_data = function(out_byte)
 
     this.ThrowInterrupt(UART_IIR_THRI);
 
-    var char = String.fromCharCode(out_byte);
-
-    this.bus.send("serial" + this.com + "-output-char", char);
+    this.bus.send("serial" + this.com + "-output-byte", out_byte);
 
     if(DEBUG)
     {
+        var char = String.fromCharCode(out_byte);
         this.current_line += char;
 
         if(char === "\n")

+ 2 - 1
tests/api/reset.js

@@ -27,8 +27,9 @@ const emulator = new V86(config);
 let did_restart = false;
 let serial_text = "";
 
-emulator.add_listener("serial0-output-char", function(chr)
+emulator.add_listener("serial0-output-byte", function(byte)
 {
+    var chr = String.fromCharCode(byte);
     serial_text += chr;
 
     if(serial_text.includes("Files send via emulator appear in /mnt/")) {

+ 2 - 2
tests/api/serial.js

@@ -37,9 +37,9 @@ const timeout = setTimeout(() => {
     throw new Error("Timeout");
 }, 60 * 1000);
 
-emulator.add_listener("serial0-output-char", function(chr)
+emulator.add_listener("serial0-output-byte", function(byte)
 {
-    serial_data.push(chr.charCodeAt(0));
+    serial_data.push(byte);
 
     if(serial_data.length === 510277)
     {

+ 2 - 1
tests/benchmark/arch-bytemark.js

@@ -49,8 +49,9 @@ emulator.bus.register("emulator-started", function()
 
 var line = "";
 
-emulator.add_listener("serial0-output-char", function(chr)
+emulator.add_listener("serial0-output-byte", function(byte)
 {
+    var chr = String.fromCharCode(byte);
     if(chr < " " && chr !== "\n" && chr !== "\t" || chr > "~")
     {
         return;

+ 2 - 1
tests/benchmark/linux-boot.js

@@ -53,8 +53,9 @@ emulator.bus.register("emulator-started", function()
 var serial_text = "";
 var start_time;
 
-emulator.add_listener("serial0-output-char", function(chr)
+emulator.add_listener("serial0-output-byte", function(byte)
 {
+    var chr = String.fromCharCode(byte);
     if(chr < " " && chr !== "\n" && chr !== "\t" || chr > "~")
     {
         return;

+ 2 - 1
tests/devices/virtio_9p.js

@@ -1800,8 +1800,9 @@ emulator.bus.register("emulator-started", function()
     console.error("Booting now, please stand by");
 });
 
-emulator.add_listener("serial0-output-char", function(chr)
+emulator.add_listener("serial0-output-byte", function(byte)
 {
+    var chr = String.fromCharCode(byte);
     if(chr < " " && chr !== "\n" && chr !== "\t" || chr > "~")
     {
         return;

+ 2 - 1
tests/full/run.js

@@ -1203,8 +1203,9 @@ function run_test(test, done)
     }
 
     let serial_line = "";
-    emulator.add_listener("serial0-output-char", function(c)
+    emulator.add_listener("serial0-output-byte", function(byte)
         {
+            var c = String.fromCharCode(byte);
             if(c === "\n")
             {
                 if(VERBOSE)

+ 2 - 1
tests/jit-paging/run.js

@@ -29,8 +29,9 @@ emulator.bus.register("emulator-started", function()
 var ran_command = false;
 var line = "";
 
-emulator.add_listener("serial0-output-char", async function(chr)
+emulator.add_listener("serial0-output-byte", async function(byte)
 {
+    var chr = String.fromCharCode(byte);
     if(chr < " " && chr !== "\n" && chr !== "\t" || chr > "~")
     {
         return;

+ 2 - 1
tests/kvm-unit-tests/run.js

@@ -49,8 +49,9 @@ emulator.bus.register("emulator-started", function()
         function() {});
 });
 
-emulator.add_listener("serial0-output-char", function(chr)
+emulator.add_listener("serial0-output-byte", function(byte)
 {
+    var chr = String.fromCharCode(byte);
     process.stdout.write(chr);
 });
 

+ 2 - 1
tests/qemu/run.js

@@ -29,8 +29,9 @@ emulator.bus.register("emulator-started", function()
 var ran_command = false;
 var line = "";
 
-emulator.add_listener("serial0-output-char", async function(chr)
+emulator.add_listener("serial0-output-byte", async function(byte)
 {
+    var chr = String.fromCharCode(byte);
     if(chr < " " && chr !== "\n" && chr !== "\t" || chr > "~")
     {
         return;

+ 2 - 1
tools/docker/debian/build-state.js

@@ -44,8 +44,9 @@ var boot_start = Date.now();
 var serial_text = "";
 let booted = false;
 
-emulator.add_listener("serial0-output-char", function(c)
+emulator.add_listener("serial0-output-byte", function(byte)
 {
+    var c = String.fromCharCode(byte);
     process.stdout.write(c);
 
     serial_text += c;