v86 0.5.307 → 0.5.319

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -344,9 +344,14 @@ function $ScreenAdapter$$module$src$browser$screen$$($options$jscomp$36$$, $scre
344
344
  console.assert($screen_container$$, "options.container must be provided");
345
345
  this.FLAG_BLINKING = 1;
346
346
  this.FLAG_FONT_PAGE_B = 2;
347
- var $graphic_screen$$ = $screen_container$$.getElementsByTagName("canvas")[0], $graphic_context$$ = $graphic_screen$$.getContext("2d", {alpha:!1}), $text_screen$$ = $screen_container$$.getElementsByTagName("div")[0], $cursor_element$$ = document.createElement("div"), $cursor_row$$, $cursor_col$$, $scale_x$$ = void 0 !== $options$jscomp$36$$.scale ? $options$jscomp$36$$.scale : 1, $scale_y$$ = void 0 !== $options$jscomp$36$$.scale ? $options$jscomp$36$$.scale : 1, $base_scale$$ = 1, $changed_rows$$,
348
- $mode$jscomp$15$$, $text_mode_data$$, $text_mode_width$$, $text_mode_height$$, $offscreen_context$$, $offscreen_extra_context$$, $font_context$$, $font_image_data$$, $font_is_visible$$ = new Int8Array(2048), $font_height$$, $font_width$$, $font_width_9px$$, $font_width_dbl$$, $font_copy_8th_col$$, $font_page_a$$ = 0, $font_page_b$$ = 0, $blink_visible$$, $tm_last_update$$ = 0, $cursor_start$$, $cursor_end$$, $cursor_enabled$$, $charmap$$ = $get_charmap$$module$src$lib$$($options$jscomp$36$$.encoding),
349
- $timer_id$$ = 0, $paused$$ = !1;
347
+ let $graphic_screen$$ = $screen_container$$.getElementsByTagName("canvas")[0];
348
+ $graphic_screen$$ || ($graphic_screen$$ = document.createElement("canvas"), $screen_container$$.appendChild($graphic_screen$$));
349
+ const $graphic_context$$ = $graphic_screen$$.getContext("2d", {alpha:!1});
350
+ let $text_screen$$ = $screen_container$$.getElementsByTagName("div")[0];
351
+ $text_screen$$ || ($text_screen$$ = document.createElement("div"), $screen_container$$.appendChild($text_screen$$));
352
+ const $cursor_element$$ = document.createElement("div");
353
+ var $cursor_row$$, $cursor_col$$, $scale_x$$ = void 0 !== $options$jscomp$36$$.scale ? $options$jscomp$36$$.scale : 1, $scale_y$$ = void 0 !== $options$jscomp$36$$.scale ? $options$jscomp$36$$.scale : 1, $base_scale$$ = 1, $changed_rows$$, $mode$jscomp$15$$, $text_mode_data$$, $text_mode_width$$, $text_mode_height$$, $offscreen_context$$, $offscreen_extra_context$$, $font_context$$, $font_image_data$$, $font_is_visible$$ = new Int8Array(2048), $font_height$$, $font_width$$, $font_width_9px$$, $font_width_dbl$$,
354
+ $font_copy_8th_col$$, $font_page_a$$ = 0, $font_page_b$$ = 0, $blink_visible$$, $tm_last_update$$ = 0, $cursor_start$$, $cursor_end$$, $cursor_enabled$$, $charmap$$ = $get_charmap$$module$src$lib$$($options$jscomp$36$$.encoding), $timer_id$$ = 0, $paused$$ = !1;
350
355
  this.init = function() {
351
356
  $cursor_element$$.classList.add("cursor");
352
357
  $cursor_element$$.style.position = "absolute";
@@ -5526,20 +5531,18 @@ function $V86$$module$src$browser$starter$$($options$jscomp$41$$) {
5526
5531
  $cpu$jscomp$12$$.io.port_write32($addr$jscomp$16$$, $value$jscomp$142$$);
5527
5532
  }, mmap_read8:function($addr$jscomp$17$$) {
5528
5533
  return $cpu$jscomp$12$$.mmap_read8($addr$jscomp$17$$);
5529
- }, mmap_read16:function($addr$jscomp$18$$) {
5530
- return $cpu$jscomp$12$$.mmap_read16($addr$jscomp$18$$);
5531
- }, mmap_read32:function($addr$jscomp$19$$) {
5532
- return $cpu$jscomp$12$$.mmap_read32($addr$jscomp$19$$);
5533
- }, mmap_write8:function($addr$jscomp$20$$, $value$jscomp$143$$) {
5534
- $cpu$jscomp$12$$.mmap_write8($addr$jscomp$20$$, $value$jscomp$143$$);
5535
- }, mmap_write16:function($addr$jscomp$21$$, $value$jscomp$144$$) {
5536
- $cpu$jscomp$12$$.mmap_write16($addr$jscomp$21$$, $value$jscomp$144$$);
5537
- }, mmap_write32:function($addr$jscomp$22$$, $value$jscomp$145$$) {
5538
- $cpu$jscomp$12$$.mmap_write32($addr$jscomp$22$$, $value$jscomp$145$$);
5539
- }, mmap_write64:function($addr$jscomp$23$$, $value0$$, $value1$jscomp$7$$) {
5540
- $cpu$jscomp$12$$.mmap_write64($addr$jscomp$23$$, $value0$$, $value1$jscomp$7$$);
5541
- }, mmap_write128:function($addr$jscomp$24$$, $value0$jscomp$1$$, $value1$jscomp$8$$, $value2$jscomp$7$$, $value3$jscomp$4$$) {
5542
- $cpu$jscomp$12$$.mmap_write128($addr$jscomp$24$$, $value0$jscomp$1$$, $value1$jscomp$8$$, $value2$jscomp$7$$, $value3$jscomp$4$$);
5534
+ }, mmap_read32:function($addr$jscomp$18$$) {
5535
+ return $cpu$jscomp$12$$.mmap_read32($addr$jscomp$18$$);
5536
+ }, mmap_write8:function($addr$jscomp$19$$, $value$jscomp$143$$) {
5537
+ $cpu$jscomp$12$$.mmap_write8($addr$jscomp$19$$, $value$jscomp$143$$);
5538
+ }, mmap_write16:function($addr$jscomp$20$$, $value$jscomp$144$$) {
5539
+ $cpu$jscomp$12$$.mmap_write16($addr$jscomp$20$$, $value$jscomp$144$$);
5540
+ }, mmap_write32:function($addr$jscomp$21$$, $value$jscomp$145$$) {
5541
+ $cpu$jscomp$12$$.mmap_write32($addr$jscomp$21$$, $value$jscomp$145$$);
5542
+ }, mmap_write64:function($addr$jscomp$22$$, $value0$$, $value1$jscomp$7$$) {
5543
+ $cpu$jscomp$12$$.mmap_write64($addr$jscomp$22$$, $value0$$, $value1$jscomp$7$$);
5544
+ }, mmap_write128:function($addr$jscomp$23$$, $value0$jscomp$1$$, $value1$jscomp$8$$, $value2$jscomp$7$$, $value3$jscomp$4$$) {
5545
+ $cpu$jscomp$12$$.mmap_write128($addr$jscomp$23$$, $value0$jscomp$1$$, $value1$jscomp$8$$, $value2$jscomp$7$$, $value3$jscomp$4$$);
5543
5546
  }, log_from_wasm:function($offset$jscomp$60_str$jscomp$11$$, $len$jscomp$22$$) {
5544
5547
  $offset$jscomp$60_str$jscomp$11$$ = $read_sized_string_from_mem$$module$src$lib$$($wasm_memory$$, $offset$jscomp$60_str$jscomp$11$$, $len$jscomp$22$$);
5545
5548
  $dbg_log$$module$src$log$$($offset$jscomp$60_str$jscomp$11$$, 2);
@@ -5585,28 +5588,28 @@ $V86$$module$src$browser$starter$$.prototype.continue_init = async function($emu
5585
5588
  function $put_on_settings$$($name$jscomp$100$$, $buffer$jscomp$42$$) {
5586
5589
  switch($name$jscomp$100$$) {
5587
5590
  case "hda":
5588
- $settings$$.hda = this.disk_images.hda = $buffer$jscomp$42$$;
5591
+ $settings$$.hda = $buffer$jscomp$42$$;
5589
5592
  break;
5590
5593
  case "hdb":
5591
- $settings$$.hdb = this.disk_images.hdb = $buffer$jscomp$42$$;
5594
+ $settings$$.hdb = $buffer$jscomp$42$$;
5592
5595
  break;
5593
5596
  case "cdrom":
5594
- $settings$$.cdrom = this.disk_images.cdrom = $buffer$jscomp$42$$;
5597
+ $settings$$.cdrom = $buffer$jscomp$42$$;
5595
5598
  break;
5596
5599
  case "fda":
5597
- $settings$$.fda = this.disk_images.fda = $buffer$jscomp$42$$;
5600
+ $settings$$.fda = $buffer$jscomp$42$$;
5598
5601
  break;
5599
5602
  case "fdb":
5600
- $settings$$.fdb = this.disk_images.fdb = $buffer$jscomp$42$$;
5603
+ $settings$$.fdb = $buffer$jscomp$42$$;
5601
5604
  break;
5602
5605
  case "multiboot":
5603
- $settings$$.multiboot = this.disk_images.multiboot = $buffer$jscomp$42$$.buffer;
5606
+ $settings$$.multiboot = $buffer$jscomp$42$$.buffer;
5604
5607
  break;
5605
5608
  case "bzimage":
5606
- $settings$$.bzimage = this.disk_images.bzimage = $buffer$jscomp$42$$.buffer;
5609
+ $settings$$.bzimage = $buffer$jscomp$42$$.buffer;
5607
5610
  break;
5608
5611
  case "initrd":
5609
- $settings$$.initrd = this.disk_images.initrd = $buffer$jscomp$42$$.buffer;
5612
+ $settings$$.initrd = $buffer$jscomp$42$$.buffer;
5610
5613
  break;
5611
5614
  case "bios":
5612
5615
  $settings$$.bios = $buffer$jscomp$42$$.buffer;
@@ -5655,9 +5658,7 @@ $V86$$module$src$browser$starter$$.prototype.continue_init = async function($emu
5655
5658
  this.cpu_is_running = !0;
5656
5659
  this.screen_adapter.continue();
5657
5660
  }, this);
5658
- var $settings$$ = {};
5659
- this.disk_images = {fda:void 0, fdb:void 0, hda:void 0, hdb:void 0, cdrom:void 0, };
5660
- var $add_file_boot_order_fs_url_relay_url_screen_options_virtio_console_settings$$ = $options$jscomp$42$$.boot_order ? $options$jscomp$42$$.boot_order : $options$jscomp$42$$.fda ? 801 : $options$jscomp$42$$.hda ? 786 : 291;
5661
+ var $settings$$ = {}, $add_file_boot_order_fs_url_relay_url_screen_options_virtio_console_settings$$ = $options$jscomp$42$$.boot_order ? $options$jscomp$42$$.boot_order : $options$jscomp$42$$.fda ? 801 : $options$jscomp$42$$.hda ? 786 : 291;
5661
5662
  $settings$$.acpi = $options$jscomp$42$$.acpi;
5662
5663
  $settings$$.disable_jit = $options$jscomp$42$$.disable_jit;
5663
5664
  $settings$$.load_devices = !0;
@@ -5793,7 +5794,7 @@ $V86$$module$src$browser$starter$$.prototype.zstd_decompress_worker = async func
5793
5794
  $e$jscomp$43_exports$jscomp$1$$.zstd_free_ctx($env$jscomp$1_zstd_context$$);
5794
5795
  postMessage({result:$result$jscomp$11$$, id:$id$jscomp$21$$}, [$result$jscomp$11$$]);
5795
5796
  } else {
5796
- $env$jscomp$1_zstd_context$$ = Object.fromEntries("cpu_exception_hook run_hardware_timers cpu_event_halt microtick get_rand_int stop_idling io_port_read8 io_port_read16 io_port_read32 io_port_write8 io_port_write16 io_port_write32 mmap_read8 mmap_read16 mmap_read32 mmap_write8 mmap_write16 mmap_write32 mmap_write64 mmap_write128 codegen_finalize jit_clear_func jit_clear_all_funcs".split(" ").map($f$jscomp$2$$ => [$f$jscomp$2$$, () => console.error("zstd worker unexpectedly called " + $f$jscomp$2$$)])),
5797
+ $env$jscomp$1_zstd_context$$ = Object.fromEntries("cpu_exception_hook run_hardware_timers cpu_event_halt microtick get_rand_int stop_idling io_port_read8 io_port_read16 io_port_read32 io_port_write8 io_port_write16 io_port_write32 mmap_read8 mmap_read32 mmap_write8 mmap_write16 mmap_write32 mmap_write64 mmap_write128 codegen_finalize jit_clear_func jit_clear_all_funcs".split(" ").map($f$jscomp$2$$ => [$f$jscomp$2$$, () => console.error("zstd worker unexpectedly called " + $f$jscomp$2$$)])),
5797
5798
  $env$jscomp$1_zstd_context$$.__indirect_function_table = new WebAssembly.Table({element:"anyfunc", initial:1024}), $env$jscomp$1_zstd_context$$.abort = () => {
5798
5799
  throw Error("zstd worker aborted");
5799
5800
  }, $env$jscomp$1_zstd_context$$.log_from_wasm = $env$jscomp$1_zstd_context$$.console_log_from_wasm = ($off$$, $len$jscomp$25$$) => {
@@ -6660,47 +6661,47 @@ $PCI$$module$src$pci$$.prototype.set_state = function($state$jscomp$33$$) {
6660
6661
  this.pci_status.set($state$jscomp$33$$[259]);
6661
6662
  };
6662
6663
  $PCI$$module$src$pci$$.prototype.pci_query = function() {
6663
- var $bdf$$ = this.pci_addr[2] << 8 | this.pci_addr[1], $addr$jscomp$25$$ = this.pci_addr[0] & 252, $dev_device$jscomp$5$$ = $bdf$$ >> 3 & 31;
6664
+ var $bdf$$ = this.pci_addr[2] << 8 | this.pci_addr[1], $addr$jscomp$24$$ = this.pci_addr[0] & 252, $dev_device$jscomp$5$$ = $bdf$$ >> 3 & 31;
6664
6665
  var $dbg_line$$ = "query enabled=" + (this.pci_addr[3] >> 7) + (" bdf=" + $h$$module$src$lib$$($bdf$$, 4));
6665
6666
  $dbg_line$$ += " dev=" + $h$$module$src$lib$$($dev_device$jscomp$5$$, 2);
6666
- $dbg_line$$ += " addr=" + $h$$module$src$lib$$($addr$jscomp$25$$, 2);
6667
+ $dbg_line$$ += " addr=" + $h$$module$src$lib$$($addr$jscomp$24$$, 2);
6667
6668
  $dev_device$jscomp$5$$ = this.device_spaces[$bdf$$];
6668
- void 0 !== $dev_device$jscomp$5$$ ? (this.pci_status32[0] = -2147483648, this.pci_response32[0] = $addr$jscomp$25$$ < $dev_device$jscomp$5$$.byteLength ? $dev_device$jscomp$5$$[$addr$jscomp$25$$ >> 2] : 0, $dbg_line$$ += " " + $h$$module$src$lib$$(this.pci_addr32[0] >>> 0, 8) + " -> " + $h$$module$src$lib$$(this.pci_response32[0] >>> 0, 8), $addr$jscomp$25$$ >= $dev_device$jscomp$5$$.byteLength && ($dbg_line$$ += " (undef)"), $dbg_line$$ += " (" + this.devices[$bdf$$].name + ")", $dbg_log$$module$src$log$$($dbg_line$$,
6669
+ void 0 !== $dev_device$jscomp$5$$ ? (this.pci_status32[0] = -2147483648, this.pci_response32[0] = $addr$jscomp$24$$ < $dev_device$jscomp$5$$.byteLength ? $dev_device$jscomp$5$$[$addr$jscomp$24$$ >> 2] : 0, $dbg_line$$ += " " + $h$$module$src$lib$$(this.pci_addr32[0] >>> 0, 8) + " -> " + $h$$module$src$lib$$(this.pci_response32[0] >>> 0, 8), $addr$jscomp$24$$ >= $dev_device$jscomp$5$$.byteLength && ($dbg_line$$ += " (undef)"), $dbg_line$$ += " (" + this.devices[$bdf$$].name + ")", $dbg_log$$module$src$log$$($dbg_line$$,
6669
6670
  2048)) : (this.pci_response32[0] = -1, this.pci_status32[0] = 0);
6670
6671
  };
6671
- $PCI$$module$src$pci$$.prototype.pci_write8 = function($addr$jscomp$26_address$jscomp$19$$, $written$$) {
6672
- var $bdf$jscomp$1$$ = $addr$jscomp$26_address$jscomp$19$$ >> 8 & 65535;
6673
- $addr$jscomp$26_address$jscomp$19$$ &= 255;
6672
+ $PCI$$module$src$pci$$.prototype.pci_write8 = function($addr$jscomp$25_address$jscomp$19$$, $written$$) {
6673
+ var $bdf$jscomp$1$$ = $addr$jscomp$25_address$jscomp$19$$ >> 8 & 65535;
6674
+ $addr$jscomp$25_address$jscomp$19$$ &= 255;
6674
6675
  var $space$jscomp$1$$ = new Uint8Array(this.device_spaces[$bdf$jscomp$1$$].buffer), $device$jscomp$6$$ = this.devices[$bdf$jscomp$1$$];
6675
- $space$jscomp$1$$ && ($dbg_assert$$module$src$log$$(!(16 <= $addr$jscomp$26_address$jscomp$19$$ && 44 > $addr$jscomp$26_address$jscomp$19$$ || 48 <= $addr$jscomp$26_address$jscomp$19$$ && 52 > $addr$jscomp$26_address$jscomp$19$$), "PCI: Expected 32-bit write, got 8-bit (addr: " + $h$$module$src$lib$$($addr$jscomp$26_address$jscomp$19$$) + ")"), $dbg_log$$module$src$log$$("PCI write8 dev=" + $h$$module$src$lib$$($bdf$jscomp$1$$ >> 3, 2) + " (" + $device$jscomp$6$$.name + ") addr=" + $h$$module$src$lib$$($addr$jscomp$26_address$jscomp$19$$,
6676
- 4) + " value=" + $h$$module$src$lib$$($written$$, 2), 2048), $space$jscomp$1$$[$addr$jscomp$26_address$jscomp$19$$] = $written$$);
6676
+ $space$jscomp$1$$ && ($dbg_assert$$module$src$log$$(!(16 <= $addr$jscomp$25_address$jscomp$19$$ && 44 > $addr$jscomp$25_address$jscomp$19$$ || 48 <= $addr$jscomp$25_address$jscomp$19$$ && 52 > $addr$jscomp$25_address$jscomp$19$$), "PCI: Expected 32-bit write, got 8-bit (addr: " + $h$$module$src$lib$$($addr$jscomp$25_address$jscomp$19$$) + ")"), $dbg_log$$module$src$log$$("PCI write8 dev=" + $h$$module$src$lib$$($bdf$jscomp$1$$ >> 3, 2) + " (" + $device$jscomp$6$$.name + ") addr=" + $h$$module$src$lib$$($addr$jscomp$25_address$jscomp$19$$,
6677
+ 4) + " value=" + $h$$module$src$lib$$($written$$, 2), 2048), $space$jscomp$1$$[$addr$jscomp$25_address$jscomp$19$$] = $written$$);
6677
6678
  };
6678
- $PCI$$module$src$pci$$.prototype.pci_write16 = function($addr$jscomp$27_address$jscomp$20$$, $written$jscomp$1$$) {
6679
- $dbg_assert$$module$src$log$$(0 === ($addr$jscomp$27_address$jscomp$20$$ & 1));
6680
- var $bdf$jscomp$2$$ = $addr$jscomp$27_address$jscomp$20$$ >> 8 & 65535;
6681
- $addr$jscomp$27_address$jscomp$20$$ &= 255;
6679
+ $PCI$$module$src$pci$$.prototype.pci_write16 = function($addr$jscomp$26_address$jscomp$20$$, $written$jscomp$1$$) {
6680
+ $dbg_assert$$module$src$log$$(0 === ($addr$jscomp$26_address$jscomp$20$$ & 1));
6681
+ var $bdf$jscomp$2$$ = $addr$jscomp$26_address$jscomp$20$$ >> 8 & 65535;
6682
+ $addr$jscomp$26_address$jscomp$20$$ &= 255;
6682
6683
  var $space$jscomp$2$$ = new Uint16Array(this.device_spaces[$bdf$jscomp$2$$].buffer), $device$jscomp$7$$ = this.devices[$bdf$jscomp$2$$];
6683
- $space$jscomp$2$$ && (16 <= $addr$jscomp$27_address$jscomp$20$$ && 44 > $addr$jscomp$27_address$jscomp$20$$ ? $dbg_log$$module$src$log$$("Warning: PCI: Expected 32-bit write, got 16-bit (addr: " + $h$$module$src$lib$$($addr$jscomp$27_address$jscomp$20$$) + ")") : ($dbg_assert$$module$src$log$$(!(48 <= $addr$jscomp$27_address$jscomp$20$$ && 52 > $addr$jscomp$27_address$jscomp$20$$), "PCI: Expected 32-bit write, got 16-bit (addr: " + $h$$module$src$lib$$($addr$jscomp$27_address$jscomp$20$$) + ")"),
6684
- $dbg_log$$module$src$log$$("PCI writ16 dev=" + $h$$module$src$lib$$($bdf$jscomp$2$$ >> 3, 2) + " (" + $device$jscomp$7$$.name + ") addr=" + $h$$module$src$lib$$($addr$jscomp$27_address$jscomp$20$$, 4) + " value=" + $h$$module$src$lib$$($written$jscomp$1$$, 4), 2048), $space$jscomp$2$$[$addr$jscomp$27_address$jscomp$20$$ >>> 1] = $written$jscomp$1$$));
6684
+ $space$jscomp$2$$ && (16 <= $addr$jscomp$26_address$jscomp$20$$ && 44 > $addr$jscomp$26_address$jscomp$20$$ ? $dbg_log$$module$src$log$$("Warning: PCI: Expected 32-bit write, got 16-bit (addr: " + $h$$module$src$lib$$($addr$jscomp$26_address$jscomp$20$$) + ")") : ($dbg_assert$$module$src$log$$(!(48 <= $addr$jscomp$26_address$jscomp$20$$ && 52 > $addr$jscomp$26_address$jscomp$20$$), "PCI: Expected 32-bit write, got 16-bit (addr: " + $h$$module$src$lib$$($addr$jscomp$26_address$jscomp$20$$) + ")"),
6685
+ $dbg_log$$module$src$log$$("PCI writ16 dev=" + $h$$module$src$lib$$($bdf$jscomp$2$$ >> 3, 2) + " (" + $device$jscomp$7$$.name + ") addr=" + $h$$module$src$lib$$($addr$jscomp$26_address$jscomp$20$$, 4) + " value=" + $h$$module$src$lib$$($written$jscomp$1$$, 4), 2048), $space$jscomp$2$$[$addr$jscomp$26_address$jscomp$20$$ >>> 1] = $written$jscomp$1$$));
6685
6686
  };
6686
- $PCI$$module$src$pci$$.prototype.pci_write32 = function($addr$jscomp$28_address$jscomp$21$$, $written$jscomp$2$$) {
6687
- $dbg_assert$$module$src$log$$(0 === ($addr$jscomp$28_address$jscomp$21$$ & 3));
6688
- var $bdf$jscomp$3_space_addr$$ = $addr$jscomp$28_address$jscomp$21$$ >> 8 & 65535;
6689
- $addr$jscomp$28_address$jscomp$21$$ &= 255;
6687
+ $PCI$$module$src$pci$$.prototype.pci_write32 = function($addr$jscomp$27_address$jscomp$21$$, $written$jscomp$2$$) {
6688
+ $dbg_assert$$module$src$log$$(0 === ($addr$jscomp$27_address$jscomp$21$$ & 3));
6689
+ var $bdf$jscomp$3_space_addr$$ = $addr$jscomp$27_address$jscomp$21$$ >> 8 & 65535;
6690
+ $addr$jscomp$27_address$jscomp$21$$ &= 255;
6690
6691
  var $space$jscomp$3$$ = this.device_spaces[$bdf$jscomp$3_space_addr$$], $device$jscomp$8_from$jscomp$1_type$jscomp$153$$ = this.devices[$bdf$jscomp$3_space_addr$$];
6691
6692
  if ($space$jscomp$3$$) {
6692
- if (16 <= $addr$jscomp$28_address$jscomp$21$$ && 40 > $addr$jscomp$28_address$jscomp$21$$) {
6693
- var $bar_nr$jscomp$1_original_bar_to$jscomp$1$$ = $addr$jscomp$28_address$jscomp$21$$ - 16 >> 2, $bar$jscomp$1$$ = $device$jscomp$8_from$jscomp$1_type$jscomp$153$$.pci_bars[$bar_nr$jscomp$1_original_bar_to$jscomp$1$$];
6694
- $dbg_log$$module$src$log$$("BAR" + $bar_nr$jscomp$1_original_bar_to$jscomp$1$$ + " exists=" + ($bar$jscomp$1$$ ? "y" : "n") + " changed from " + $h$$module$src$lib$$($space$jscomp$3$$[$addr$jscomp$28_address$jscomp$21$$ >> 2]) + " to " + $h$$module$src$lib$$($written$jscomp$2$$ >>> 0) + " dev=" + $h$$module$src$lib$$($bdf$jscomp$3_space_addr$$ >> 3, 2) + " (" + $device$jscomp$8_from$jscomp$1_type$jscomp$153$$.name + ") ", 2048);
6695
- $bar$jscomp$1$$ ? ($dbg_assert$$module$src$log$$(!($bar$jscomp$1$$.size & $bar$jscomp$1$$.size - 1), "bar size should be power of 2"), $bdf$jscomp$3_space_addr$$ = $addr$jscomp$28_address$jscomp$21$$ >> 2, $device$jscomp$8_from$jscomp$1_type$jscomp$153$$ = $space$jscomp$3$$[$bdf$jscomp$3_space_addr$$] & 1, -1 === ($written$jscomp$2$$ | 3 | $bar$jscomp$1$$.size - 1) ? ($written$jscomp$2$$ = ~($bar$jscomp$1$$.size - 1) | $device$jscomp$8_from$jscomp$1_type$jscomp$153$$, 0 === $device$jscomp$8_from$jscomp$1_type$jscomp$153$$ &&
6693
+ if (16 <= $addr$jscomp$27_address$jscomp$21$$ && 40 > $addr$jscomp$27_address$jscomp$21$$) {
6694
+ var $bar_nr$jscomp$1_original_bar_to$jscomp$1$$ = $addr$jscomp$27_address$jscomp$21$$ - 16 >> 2, $bar$jscomp$1$$ = $device$jscomp$8_from$jscomp$1_type$jscomp$153$$.pci_bars[$bar_nr$jscomp$1_original_bar_to$jscomp$1$$];
6695
+ $dbg_log$$module$src$log$$("BAR" + $bar_nr$jscomp$1_original_bar_to$jscomp$1$$ + " exists=" + ($bar$jscomp$1$$ ? "y" : "n") + " changed from " + $h$$module$src$lib$$($space$jscomp$3$$[$addr$jscomp$27_address$jscomp$21$$ >> 2]) + " to " + $h$$module$src$lib$$($written$jscomp$2$$ >>> 0) + " dev=" + $h$$module$src$lib$$($bdf$jscomp$3_space_addr$$ >> 3, 2) + " (" + $device$jscomp$8_from$jscomp$1_type$jscomp$153$$.name + ") ", 2048);
6696
+ $bar$jscomp$1$$ ? ($dbg_assert$$module$src$log$$(!($bar$jscomp$1$$.size & $bar$jscomp$1$$.size - 1), "bar size should be power of 2"), $bdf$jscomp$3_space_addr$$ = $addr$jscomp$27_address$jscomp$21$$ >> 2, $device$jscomp$8_from$jscomp$1_type$jscomp$153$$ = $space$jscomp$3$$[$bdf$jscomp$3_space_addr$$] & 1, -1 === ($written$jscomp$2$$ | 3 | $bar$jscomp$1$$.size - 1) ? ($written$jscomp$2$$ = ~($bar$jscomp$1$$.size - 1) | $device$jscomp$8_from$jscomp$1_type$jscomp$153$$, 0 === $device$jscomp$8_from$jscomp$1_type$jscomp$153$$ &&
6696
6697
  ($space$jscomp$3$$[$bdf$jscomp$3_space_addr$$] = $written$jscomp$2$$)) : 0 === $device$jscomp$8_from$jscomp$1_type$jscomp$153$$ && ($bar_nr$jscomp$1_original_bar_to$jscomp$1$$ = $bar$jscomp$1$$.original_bar, ($written$jscomp$2$$ & -16) !== ($bar_nr$jscomp$1_original_bar_to$jscomp$1$$ & -16) && $dbg_log$$module$src$log$$("Warning: Changing memory bar not supported, ignored", 2048), $space$jscomp$3$$[$bdf$jscomp$3_space_addr$$] = $bar_nr$jscomp$1_original_bar_to$jscomp$1$$), 1 === $device$jscomp$8_from$jscomp$1_type$jscomp$153$$ &&
6697
6698
  ($dbg_assert$$module$src$log$$(1 === $device$jscomp$8_from$jscomp$1_type$jscomp$153$$), $device$jscomp$8_from$jscomp$1_type$jscomp$153$$ = $space$jscomp$3$$[$bdf$jscomp$3_space_addr$$] & 65534, $bar_nr$jscomp$1_original_bar_to$jscomp$1$$ = $written$jscomp$2$$ & 65534, $dbg_log$$module$src$log$$("io bar changed from " + $h$$module$src$lib$$($device$jscomp$8_from$jscomp$1_type$jscomp$153$$ >>> 0, 8) + " to " + $h$$module$src$lib$$($bar_nr$jscomp$1_original_bar_to$jscomp$1$$ >>> 0, 8) + " size=" +
6698
- $bar$jscomp$1$$.size, 2048), this.set_io_bars($bar$jscomp$1$$, $device$jscomp$8_from$jscomp$1_type$jscomp$153$$, $bar_nr$jscomp$1_original_bar_to$jscomp$1$$), $space$jscomp$3$$[$bdf$jscomp$3_space_addr$$] = $written$jscomp$2$$ | 1)) : $space$jscomp$3$$[$addr$jscomp$28_address$jscomp$21$$ >> 2] = 0;
6699
- $dbg_log$$module$src$log$$("BAR effective value: " + $h$$module$src$lib$$($space$jscomp$3$$[$addr$jscomp$28_address$jscomp$21$$ >> 2] >>> 0), 2048);
6699
+ $bar$jscomp$1$$.size, 2048), this.set_io_bars($bar$jscomp$1$$, $device$jscomp$8_from$jscomp$1_type$jscomp$153$$, $bar_nr$jscomp$1_original_bar_to$jscomp$1$$), $space$jscomp$3$$[$bdf$jscomp$3_space_addr$$] = $written$jscomp$2$$ | 1)) : $space$jscomp$3$$[$addr$jscomp$27_address$jscomp$21$$ >> 2] = 0;
6700
+ $dbg_log$$module$src$log$$("BAR effective value: " + $h$$module$src$lib$$($space$jscomp$3$$[$addr$jscomp$27_address$jscomp$21$$ >> 2] >>> 0), 2048);
6700
6701
  } else {
6701
- 48 === $addr$jscomp$28_address$jscomp$21$$ ? ($dbg_log$$module$src$log$$("PCI write rom address dev=" + $h$$module$src$lib$$($bdf$jscomp$3_space_addr$$ >> 3, 2) + " (" + $device$jscomp$8_from$jscomp$1_type$jscomp$153$$.name + ") value=" + $h$$module$src$lib$$($written$jscomp$2$$ >>> 0, 8), 2048), $space$jscomp$3$$[$addr$jscomp$28_address$jscomp$21$$ >> 2] = $device$jscomp$8_from$jscomp$1_type$jscomp$153$$.pci_rom_size ? -1 === ($written$jscomp$2$$ | 2047) ? -$device$jscomp$8_from$jscomp$1_type$jscomp$153$$.pci_rom_size |
6702
- 0 : $device$jscomp$8_from$jscomp$1_type$jscomp$153$$.pci_rom_address | 0 : 0) : 4 === $addr$jscomp$28_address$jscomp$21$$ ? $dbg_log$$module$src$log$$("PCI write dev=" + $h$$module$src$lib$$($bdf$jscomp$3_space_addr$$ >> 3, 2) + " (" + $device$jscomp$8_from$jscomp$1_type$jscomp$153$$.name + ") addr=" + $h$$module$src$lib$$($addr$jscomp$28_address$jscomp$21$$, 4) + " value=" + $h$$module$src$lib$$($written$jscomp$2$$ >>> 0, 8), 2048) : ($dbg_log$$module$src$log$$("PCI write dev=" + $h$$module$src$lib$$($bdf$jscomp$3_space_addr$$ >>
6703
- 3, 2) + " (" + $device$jscomp$8_from$jscomp$1_type$jscomp$153$$.name + ") addr=" + $h$$module$src$lib$$($addr$jscomp$28_address$jscomp$21$$, 4) + " value=" + $h$$module$src$lib$$($written$jscomp$2$$ >>> 0, 8), 2048), $space$jscomp$3$$[$addr$jscomp$28_address$jscomp$21$$ >>> 2] = $written$jscomp$2$$);
6702
+ 48 === $addr$jscomp$27_address$jscomp$21$$ ? ($dbg_log$$module$src$log$$("PCI write rom address dev=" + $h$$module$src$lib$$($bdf$jscomp$3_space_addr$$ >> 3, 2) + " (" + $device$jscomp$8_from$jscomp$1_type$jscomp$153$$.name + ") value=" + $h$$module$src$lib$$($written$jscomp$2$$ >>> 0, 8), 2048), $space$jscomp$3$$[$addr$jscomp$27_address$jscomp$21$$ >> 2] = $device$jscomp$8_from$jscomp$1_type$jscomp$153$$.pci_rom_size ? -1 === ($written$jscomp$2$$ | 2047) ? -$device$jscomp$8_from$jscomp$1_type$jscomp$153$$.pci_rom_size |
6703
+ 0 : $device$jscomp$8_from$jscomp$1_type$jscomp$153$$.pci_rom_address | 0 : 0) : 4 === $addr$jscomp$27_address$jscomp$21$$ ? $dbg_log$$module$src$log$$("PCI write dev=" + $h$$module$src$lib$$($bdf$jscomp$3_space_addr$$ >> 3, 2) + " (" + $device$jscomp$8_from$jscomp$1_type$jscomp$153$$.name + ") addr=" + $h$$module$src$lib$$($addr$jscomp$27_address$jscomp$21$$, 4) + " value=" + $h$$module$src$lib$$($written$jscomp$2$$ >>> 0, 8), 2048) : ($dbg_log$$module$src$log$$("PCI write dev=" + $h$$module$src$lib$$($bdf$jscomp$3_space_addr$$ >>
6704
+ 3, 2) + " (" + $device$jscomp$8_from$jscomp$1_type$jscomp$153$$.name + ") addr=" + $h$$module$src$lib$$($addr$jscomp$27_address$jscomp$21$$, 4) + " value=" + $h$$module$src$lib$$($written$jscomp$2$$ >>> 0, 8), 2048), $space$jscomp$3$$[$addr$jscomp$27_address$jscomp$21$$ >>> 2] = $written$jscomp$2$$);
6704
6705
  }
6705
6706
  }
6706
6707
  };
@@ -8208,7 +8209,7 @@ $FloppyDrive$$module$src$floppy$$.prototype.eject_disk = function() {
8208
8209
  this.buffer = null;
8209
8210
  };
8210
8211
  $FloppyDrive$$module$src$floppy$$.prototype.get_buffer = function() {
8211
- return this.buffer ? this.buffer.buffer : null;
8212
+ return this.buffer ? new Uint8Array(this.buffer.buffer) : null;
8212
8213
  };
8213
8214
  $FloppyDrive$$module$src$floppy$$.prototype.chs2lba = function($track$jscomp$6$$, $head$jscomp$1$$, $sect$jscomp$1$$) {
8214
8215
  return ($track$jscomp$6$$ * this.max_head + $head$jscomp$1$$) * this.max_sect + $sect$jscomp$1$$ - 1;
@@ -8911,9 +8912,9 @@ $IDEInterface$$module$src$ide$$.prototype.do_atapi_dma = function() {
8911
8912
  } else {
8912
8913
  var $prdt_start$$ = this.channel.prdt_addr, $offset$jscomp$71$$ = 0, $data$jscomp$199$$ = this.data;
8913
8914
  do {
8914
- var $addr$jscomp$29$$ = this.cpu.read32s($prdt_start$$), $count$jscomp$60$$ = this.cpu.read16($prdt_start$$ + 4), $end$jscomp$20$$ = this.cpu.read8($prdt_start$$ + 7) & 128;
8915
+ var $addr$jscomp$28$$ = this.cpu.read32s($prdt_start$$), $count$jscomp$60$$ = this.cpu.read16($prdt_start$$ + 4), $end$jscomp$20$$ = this.cpu.read8($prdt_start$$ + 7) & 128;
8915
8916
  $count$jscomp$60$$ || ($count$jscomp$60$$ = 65536);
8916
- this.cpu.write_blob($data$jscomp$199$$.subarray($offset$jscomp$71$$, Math.min($offset$jscomp$71$$ + $count$jscomp$60$$, this.data_length)), $addr$jscomp$29$$);
8917
+ this.cpu.write_blob($data$jscomp$199$$.subarray($offset$jscomp$71$$, Math.min($offset$jscomp$71$$ + $count$jscomp$60$$, this.data_length)), $addr$jscomp$28$$);
8917
8918
  $offset$jscomp$71$$ += $count$jscomp$60$$;
8918
8919
  $prdt_start$$ += 8;
8919
8920
  if ($offset$jscomp$71$$ >= this.data_length && !$end$jscomp$20$$) {
@@ -9392,7 +9393,7 @@ function $VGAScreen$$module$src$vga$$($cpu$jscomp$24$$, $bus$jscomp$26_io$jscomp
9392
9393
  this.plane2 = new Uint8Array(this.vga_memory.buffer, 131072, 65536);
9393
9394
  this.plane3 = new Uint8Array(this.vga_memory.buffer, 196608, 65536);
9394
9395
  this.pixel_buffer = new Uint8Array(524288);
9395
- $bus$jscomp$26_io$jscomp$4$$.mmap_register(655360, 131072, $addr$jscomp$30$$ => this.vga_memory_read($addr$jscomp$30$$), ($addr$jscomp$31$$, $value$jscomp$168$$) => this.vga_memory_write($addr$jscomp$31$$, $value$jscomp$168$$), );
9396
+ $bus$jscomp$26_io$jscomp$4$$.mmap_register(655360, 131072, $addr$jscomp$29$$ => this.vga_memory_read($addr$jscomp$29$$), ($addr$jscomp$30$$, $value$jscomp$168$$) => this.vga_memory_write($addr$jscomp$30$$, $value$jscomp$168$$), );
9396
9397
  $cpu$jscomp$24$$.devices.pci.register_device(this);
9397
9398
  }
9398
9399
  $VGAScreen$$module$src$vga$$.prototype.get_state = function() {
@@ -9532,38 +9533,38 @@ $VGAScreen$$module$src$vga$$.prototype.set_state = function($state$jscomp$53$$)
9532
9533
  this.graphical_mode ? (this.screen_height = this.screen_width = 0, this.svga_enabled ? (this.set_size_graphical(this.svga_width, this.svga_height, this.svga_width, this.svga_height, this.svga_bpp), this.update_layers()) : (this.update_vga_size(), this.update_layers(), this.complete_replot())) : (this.set_font_bitmap(!0), this.set_size_text(this.max_cols, this.max_rows), this.set_font_page(), this.update_cursor_scanline(), this.update_cursor());
9533
9534
  this.complete_redraw();
9534
9535
  };
9535
- $VGAScreen$$module$src$vga$$.prototype.vga_memory_read = function($addr$jscomp$32$$) {
9536
+ $VGAScreen$$module$src$vga$$.prototype.vga_memory_read = function($addr$jscomp$31$$) {
9536
9537
  if (this.svga_enabled) {
9537
- return this.cpu.read8(($addr$jscomp$32$$ - 655360 | this.svga_bank_offset) + 3758096384 | 0);
9538
+ return this.cpu.read8(($addr$jscomp$31$$ - 655360 | this.svga_bank_offset) + 3758096384 | 0);
9538
9539
  }
9539
9540
  var $memory_space_select_plane_reading$$ = this.miscellaneous_graphics_register >> 2 & 3;
9540
- $addr$jscomp$32$$ -= $VGA_HOST_MEMORY_SPACE_START$$module$src$vga$$[$memory_space_select_plane_reading$$];
9541
- if (0 > $addr$jscomp$32$$ || $addr$jscomp$32$$ >= $VGA_HOST_MEMORY_SPACE_SIZE$$module$src$vga$$[$memory_space_select_plane_reading$$]) {
9542
- return $dbg_log$$module$src$log$$("vga read outside memory space: addr:" + $h$$module$src$lib$$($addr$jscomp$32$$ >>> 0), 256), 0;
9543
- }
9544
- this.latch_dword = this.plane0[$addr$jscomp$32$$];
9545
- this.latch_dword |= this.plane1[$addr$jscomp$32$$] << 8;
9546
- this.latch_dword |= this.plane2[$addr$jscomp$32$$] << 16;
9547
- this.latch_dword |= this.plane3[$addr$jscomp$32$$] << 24;
9541
+ $addr$jscomp$31$$ -= $VGA_HOST_MEMORY_SPACE_START$$module$src$vga$$[$memory_space_select_plane_reading$$];
9542
+ if (0 > $addr$jscomp$31$$ || $addr$jscomp$31$$ >= $VGA_HOST_MEMORY_SPACE_SIZE$$module$src$vga$$[$memory_space_select_plane_reading$$]) {
9543
+ return $dbg_log$$module$src$log$$("vga read outside memory space: addr:" + $h$$module$src$lib$$($addr$jscomp$31$$ >>> 0), 256), 0;
9544
+ }
9545
+ this.latch_dword = this.plane0[$addr$jscomp$31$$];
9546
+ this.latch_dword |= this.plane1[$addr$jscomp$31$$] << 8;
9547
+ this.latch_dword |= this.plane2[$addr$jscomp$31$$] << 16;
9548
+ this.latch_dword |= this.plane3[$addr$jscomp$31$$] << 24;
9548
9549
  if (this.planar_mode & 8) {
9549
- return $memory_space_select_plane_reading$$ = 255, this.color_dont_care & 1 && ($memory_space_select_plane_reading$$ &= this.plane0[$addr$jscomp$32$$] ^ ~(this.color_compare & 1 ? 255 : 0)), this.color_dont_care & 2 && ($memory_space_select_plane_reading$$ &= this.plane1[$addr$jscomp$32$$] ^ ~(this.color_compare & 2 ? 255 : 0)), this.color_dont_care & 4 && ($memory_space_select_plane_reading$$ &= this.plane2[$addr$jscomp$32$$] ^ ~(this.color_compare & 4 ? 255 : 0)), this.color_dont_care & 8 &&
9550
- ($memory_space_select_plane_reading$$ &= this.plane3[$addr$jscomp$32$$] ^ ~(this.color_compare & 8 ? 255 : 0)), $memory_space_select_plane_reading$$;
9550
+ return $memory_space_select_plane_reading$$ = 255, this.color_dont_care & 1 && ($memory_space_select_plane_reading$$ &= this.plane0[$addr$jscomp$31$$] ^ ~(this.color_compare & 1 ? 255 : 0)), this.color_dont_care & 2 && ($memory_space_select_plane_reading$$ &= this.plane1[$addr$jscomp$31$$] ^ ~(this.color_compare & 2 ? 255 : 0)), this.color_dont_care & 4 && ($memory_space_select_plane_reading$$ &= this.plane2[$addr$jscomp$31$$] ^ ~(this.color_compare & 4 ? 255 : 0)), this.color_dont_care & 8 &&
9551
+ ($memory_space_select_plane_reading$$ &= this.plane3[$addr$jscomp$31$$] ^ ~(this.color_compare & 8 ? 255 : 0)), $memory_space_select_plane_reading$$;
9551
9552
  }
9552
9553
  $memory_space_select_plane_reading$$ = this.plane_read;
9553
- this.graphical_mode ? this.sequencer_memory_mode & 8 ? ($memory_space_select_plane_reading$$ = $addr$jscomp$32$$ & 3, $addr$jscomp$32$$ &= -4) : this.planar_mode & 16 && ($memory_space_select_plane_reading$$ = $addr$jscomp$32$$ & 1, $addr$jscomp$32$$ &= -2) : $memory_space_select_plane_reading$$ &= 3;
9554
- return this.vga_memory[$memory_space_select_plane_reading$$ << 16 | $addr$jscomp$32$$];
9554
+ this.graphical_mode ? this.sequencer_memory_mode & 8 ? ($memory_space_select_plane_reading$$ = $addr$jscomp$31$$ & 3, $addr$jscomp$31$$ &= -4) : this.planar_mode & 16 && ($memory_space_select_plane_reading$$ = $addr$jscomp$31$$ & 1, $addr$jscomp$31$$ &= -2) : $memory_space_select_plane_reading$$ &= 3;
9555
+ return this.vga_memory[$memory_space_select_plane_reading$$ << 16 | $addr$jscomp$31$$];
9555
9556
  };
9556
- $VGAScreen$$module$src$vga$$.prototype.vga_memory_write = function($addr$jscomp$33$$, $value$jscomp$169$$) {
9557
+ $VGAScreen$$module$src$vga$$.prototype.vga_memory_write = function($addr$jscomp$32$$, $value$jscomp$169$$) {
9557
9558
  if (this.svga_enabled) {
9558
- this.cpu.write8(($addr$jscomp$33$$ - 655360 | this.svga_bank_offset) + 3758096384 | 0, $value$jscomp$169$$);
9559
+ this.cpu.write8(($addr$jscomp$32$$ - 655360 | this.svga_bank_offset) + 3758096384 | 0, $value$jscomp$169$$);
9559
9560
  } else {
9560
9561
  var $memory_space_select$jscomp$1$$ = this.miscellaneous_graphics_register >> 2 & 3;
9561
- $addr$jscomp$33$$ -= $VGA_HOST_MEMORY_SPACE_START$$module$src$vga$$[$memory_space_select$jscomp$1$$];
9562
- 0 > $addr$jscomp$33$$ || $addr$jscomp$33$$ >= $VGA_HOST_MEMORY_SPACE_SIZE$$module$src$vga$$[$memory_space_select$jscomp$1$$] ? $dbg_log$$module$src$log$$("vga write outside memory space: addr:" + $h$$module$src$lib$$($addr$jscomp$33$$ >>> 0) + ", value:" + $h$$module$src$lib$$($value$jscomp$169$$), 256) : this.graphical_mode ? this.vga_memory_write_graphical($addr$jscomp$33$$, $value$jscomp$169$$) : this.plane_write_bm & 3 ? this.vga_memory_write_text_mode($addr$jscomp$33$$, $value$jscomp$169$$) :
9563
- this.plane_write_bm & 4 && (this.plane2[$addr$jscomp$33$$] = $value$jscomp$169$$);
9562
+ $addr$jscomp$32$$ -= $VGA_HOST_MEMORY_SPACE_START$$module$src$vga$$[$memory_space_select$jscomp$1$$];
9563
+ 0 > $addr$jscomp$32$$ || $addr$jscomp$32$$ >= $VGA_HOST_MEMORY_SPACE_SIZE$$module$src$vga$$[$memory_space_select$jscomp$1$$] ? $dbg_log$$module$src$log$$("vga write outside memory space: addr:" + $h$$module$src$lib$$($addr$jscomp$32$$ >>> 0) + ", value:" + $h$$module$src$lib$$($value$jscomp$169$$), 256) : this.graphical_mode ? this.vga_memory_write_graphical($addr$jscomp$32$$, $value$jscomp$169$$) : this.plane_write_bm & 3 ? this.vga_memory_write_text_mode($addr$jscomp$32$$, $value$jscomp$169$$) :
9564
+ this.plane_write_bm & 4 && (this.plane2[$addr$jscomp$32$$] = $value$jscomp$169$$);
9564
9565
  }
9565
9566
  };
9566
- $VGAScreen$$module$src$vga$$.prototype.vga_memory_write_graphical = function($addr$jscomp$34_pixel_addr$$, $plane_select_value$jscomp$170$$) {
9567
+ $VGAScreen$$module$src$vga$$.prototype.vga_memory_write_graphical = function($addr$jscomp$33_pixel_addr$$, $plane_select_value$jscomp$170$$) {
9567
9568
  var $write_mode$$ = this.planar_mode & 3, $bitmask$$ = this.apply_feed(this.planar_bitmap), $setreset_dword$$ = this.apply_expand(this.planar_setreset), $setreset_enable_dword$$ = this.apply_expand(this.planar_setreset_enable);
9568
9569
  switch($write_mode$$) {
9569
9570
  case 0:
@@ -9587,20 +9588,20 @@ $VGAScreen$$module$src$vga$$.prototype.vga_memory_write_graphical = function($ad
9587
9588
  $plane_select_value$jscomp$170$$ = 15;
9588
9589
  switch(this.sequencer_memory_mode & 12) {
9589
9590
  case 0:
9590
- $plane_select_value$jscomp$170$$ = 5 << ($addr$jscomp$34_pixel_addr$$ & 1);
9591
- $addr$jscomp$34_pixel_addr$$ &= -2;
9591
+ $plane_select_value$jscomp$170$$ = 5 << ($addr$jscomp$33_pixel_addr$$ & 1);
9592
+ $addr$jscomp$33_pixel_addr$$ &= -2;
9592
9593
  break;
9593
9594
  case 8:
9594
9595
  case 12:
9595
- $plane_select_value$jscomp$170$$ = 1 << ($addr$jscomp$34_pixel_addr$$ & 3), $addr$jscomp$34_pixel_addr$$ &= -4;
9596
+ $plane_select_value$jscomp$170$$ = 1 << ($addr$jscomp$33_pixel_addr$$ & 3), $addr$jscomp$33_pixel_addr$$ &= -4;
9596
9597
  }
9597
9598
  $plane_select_value$jscomp$170$$ &= this.plane_write_bm;
9598
- $plane_select_value$jscomp$170$$ & 1 && (this.plane0[$addr$jscomp$34_pixel_addr$$] = $plane_dword$$ >> 0 & 255);
9599
- $plane_select_value$jscomp$170$$ & 2 && (this.plane1[$addr$jscomp$34_pixel_addr$$] = $plane_dword$$ >> 8 & 255);
9600
- $plane_select_value$jscomp$170$$ & 4 && (this.plane2[$addr$jscomp$34_pixel_addr$$] = $plane_dword$$ >> 16 & 255);
9601
- $plane_select_value$jscomp$170$$ & 8 && (this.plane3[$addr$jscomp$34_pixel_addr$$] = $plane_dword$$ >> 24 & 255);
9602
- $addr$jscomp$34_pixel_addr$$ = this.vga_addr_to_pixel($addr$jscomp$34_pixel_addr$$);
9603
- this.partial_replot($addr$jscomp$34_pixel_addr$$, $addr$jscomp$34_pixel_addr$$ + 7);
9599
+ $plane_select_value$jscomp$170$$ & 1 && (this.plane0[$addr$jscomp$33_pixel_addr$$] = $plane_dword$$ >> 0 & 255);
9600
+ $plane_select_value$jscomp$170$$ & 2 && (this.plane1[$addr$jscomp$33_pixel_addr$$] = $plane_dword$$ >> 8 & 255);
9601
+ $plane_select_value$jscomp$170$$ & 4 && (this.plane2[$addr$jscomp$33_pixel_addr$$] = $plane_dword$$ >> 16 & 255);
9602
+ $plane_select_value$jscomp$170$$ & 8 && (this.plane3[$addr$jscomp$33_pixel_addr$$] = $plane_dword$$ >> 24 & 255);
9603
+ $addr$jscomp$33_pixel_addr$$ = this.vga_addr_to_pixel($addr$jscomp$33_pixel_addr$$);
9604
+ this.partial_replot($addr$jscomp$33_pixel_addr$$, $addr$jscomp$33_pixel_addr$$ + 7);
9604
9605
  };
9605
9606
  $VGAScreen$$module$src$vga$$.prototype.apply_feed = function($data_byte$jscomp$27$$) {
9606
9607
  return $data_byte$jscomp$27$$ | $data_byte$jscomp$27$$ << 8 | $data_byte$jscomp$27$$ << 16 | $data_byte$jscomp$27$$ << 24;
@@ -9631,38 +9632,38 @@ $VGAScreen$$module$src$vga$$.prototype.apply_bitmask = function($data_dword$jsco
9631
9632
  };
9632
9633
  $VGAScreen$$module$src$vga$$.prototype.text_mode_redraw = function() {
9633
9634
  const $split_screen_row$$ = this.scan_line_to_screen_row(this.line_compare), $row_offset$$ = Math.max(0, 2 * (2 * this.offset_register - this.max_cols)), $blink_enabled$$ = this.attribute_mode & 8, $fg_color_mask$$ = this.font_page_ab_enabled ? 7 : 15, $bg_color_mask$$ = $blink_enabled$$ ? 7 : 15, $FLAG_BLINKING$jscomp$1$$ = this.screen.FLAG_BLINKING, $FLAG_FONT_PAGE_B$jscomp$1$$ = this.screen.FLAG_FONT_PAGE_B;
9634
- let $addr$jscomp$35$$ = this.start_address << 1;
9635
+ let $addr$jscomp$34$$ = this.start_address << 1;
9635
9636
  for (let $row$jscomp$7$$ = 0; $row$jscomp$7$$ < this.max_rows; $row$jscomp$7$$++) {
9636
- $row$jscomp$7$$ === $split_screen_row$$ && ($addr$jscomp$35$$ = 0);
9637
+ $row$jscomp$7$$ === $split_screen_row$$ && ($addr$jscomp$34$$ = 0);
9637
9638
  for (let $col$jscomp$4$$ = 0; $col$jscomp$4$$ < this.max_cols; $col$jscomp$4$$++) {
9638
- const $chr$jscomp$12$$ = this.vga_memory[$addr$jscomp$35$$], $color$jscomp$2$$ = this.vga_memory[$addr$jscomp$35$$ | 1], $flags$jscomp$13$$ = ($blink_enabled$$ && $color$jscomp$2$$ & 128 ? $FLAG_BLINKING$jscomp$1$$ : 0) | (!this.font_page_ab_enabled || $color$jscomp$2$$ & 8 ? 0 : $FLAG_FONT_PAGE_B$jscomp$1$$);
9639
+ const $chr$jscomp$12$$ = this.vga_memory[$addr$jscomp$34$$], $color$jscomp$2$$ = this.vga_memory[$addr$jscomp$34$$ | 1], $flags$jscomp$13$$ = ($blink_enabled$$ && $color$jscomp$2$$ & 128 ? $FLAG_BLINKING$jscomp$1$$ : 0) | (!this.font_page_ab_enabled || $color$jscomp$2$$ & 8 ? 0 : $FLAG_FONT_PAGE_B$jscomp$1$$);
9639
9640
  this.bus.send("screen-put-char", [$row$jscomp$7$$, $col$jscomp$4$$, $chr$jscomp$12$$]);
9640
9641
  this.screen.put_char($row$jscomp$7$$, $col$jscomp$4$$, $chr$jscomp$12$$, $flags$jscomp$13$$, this.vga256_palette[this.dac_mask & this.dac_map[$color$jscomp$2$$ >> 4 & $bg_color_mask$$]], this.vga256_palette[this.dac_mask & this.dac_map[$color$jscomp$2$$ & $fg_color_mask$$]]);
9641
- $addr$jscomp$35$$ += 2;
9642
+ $addr$jscomp$34$$ += 2;
9642
9643
  }
9643
- $addr$jscomp$35$$ += $row_offset$$;
9644
+ $addr$jscomp$34$$ += $row_offset$$;
9644
9645
  }
9645
9646
  };
9646
- $VGAScreen$$module$src$vga$$.prototype.vga_memory_write_text_mode = function($addr$jscomp$36_flags$jscomp$14$$, $chr$jscomp$13_value$jscomp$171$$) {
9647
- this.vga_memory[$addr$jscomp$36_flags$jscomp$14$$] = $chr$jscomp$13_value$jscomp$171$$;
9647
+ $VGAScreen$$module$src$vga$$.prototype.vga_memory_write_text_mode = function($addr$jscomp$35_flags$jscomp$14$$, $chr$jscomp$13_value$jscomp$171$$) {
9648
+ this.vga_memory[$addr$jscomp$35_flags$jscomp$14$$] = $chr$jscomp$13_value$jscomp$171$$;
9648
9649
  var $col$jscomp$5_max_cols$$ = Math.max(this.max_cols, 2 * this.offset_register);
9649
9650
  let $row$jscomp$8$$;
9650
- if ($addr$jscomp$36_flags$jscomp$14$$ >> 1 >= this.start_address) {
9651
- var $color$jscomp$3_memory_start_memory_start$jscomp$1$$ = ($addr$jscomp$36_flags$jscomp$14$$ >> 1) - this.start_address;
9651
+ if ($addr$jscomp$35_flags$jscomp$14$$ >> 1 >= this.start_address) {
9652
+ var $color$jscomp$3_memory_start_memory_start$jscomp$1$$ = ($addr$jscomp$35_flags$jscomp$14$$ >> 1) - this.start_address;
9652
9653
  $row$jscomp$8$$ = $color$jscomp$3_memory_start_memory_start$jscomp$1$$ / $col$jscomp$5_max_cols$$ | 0;
9653
9654
  $col$jscomp$5_max_cols$$ = $color$jscomp$3_memory_start_memory_start$jscomp$1$$ % $col$jscomp$5_max_cols$$;
9654
9655
  } else {
9655
- $color$jscomp$3_memory_start_memory_start$jscomp$1$$ = $addr$jscomp$36_flags$jscomp$14$$ >> 1, $row$jscomp$8$$ = ($color$jscomp$3_memory_start_memory_start$jscomp$1$$ / $col$jscomp$5_max_cols$$ | 0) + this.scan_line_to_screen_row(this.line_compare), $col$jscomp$5_max_cols$$ = $color$jscomp$3_memory_start_memory_start$jscomp$1$$ % $col$jscomp$5_max_cols$$;
9656
+ $color$jscomp$3_memory_start_memory_start$jscomp$1$$ = $addr$jscomp$35_flags$jscomp$14$$ >> 1, $row$jscomp$8$$ = ($color$jscomp$3_memory_start_memory_start$jscomp$1$$ / $col$jscomp$5_max_cols$$ | 0) + this.scan_line_to_screen_row(this.line_compare), $col$jscomp$5_max_cols$$ = $color$jscomp$3_memory_start_memory_start$jscomp$1$$ % $col$jscomp$5_max_cols$$;
9656
9657
  }
9657
9658
  $dbg_assert$$module$src$log$$(0 <= $row$jscomp$8$$ && 0 <= $col$jscomp$5_max_cols$$);
9658
9659
  if (!($col$jscomp$5_max_cols$$ >= this.max_cols || $row$jscomp$8$$ >= this.max_rows)) {
9659
- $addr$jscomp$36_flags$jscomp$14$$ & 1 ? ($color$jscomp$3_memory_start_memory_start$jscomp$1$$ = $chr$jscomp$13_value$jscomp$171$$, $chr$jscomp$13_value$jscomp$171$$ = this.vga_memory[$addr$jscomp$36_flags$jscomp$14$$ & -2]) : $color$jscomp$3_memory_start_memory_start$jscomp$1$$ = this.vga_memory[$addr$jscomp$36_flags$jscomp$14$$ | 1];
9660
+ $addr$jscomp$35_flags$jscomp$14$$ & 1 ? ($color$jscomp$3_memory_start_memory_start$jscomp$1$$ = $chr$jscomp$13_value$jscomp$171$$, $chr$jscomp$13_value$jscomp$171$$ = this.vga_memory[$addr$jscomp$35_flags$jscomp$14$$ & -2]) : $color$jscomp$3_memory_start_memory_start$jscomp$1$$ = this.vga_memory[$addr$jscomp$35_flags$jscomp$14$$ | 1];
9660
9661
  var $bg_color_mask$jscomp$1_blink_enabled$jscomp$1$$ = this.attribute_mode & 8;
9661
- $addr$jscomp$36_flags$jscomp$14$$ = ($bg_color_mask$jscomp$1_blink_enabled$jscomp$1$$ && $color$jscomp$3_memory_start_memory_start$jscomp$1$$ & 128 ? this.screen.FLAG_BLINKING : 0) | (!this.font_page_ab_enabled || $color$jscomp$3_memory_start_memory_start$jscomp$1$$ & 8 ? 0 : this.screen.FLAG_FONT_PAGE_B);
9662
+ $addr$jscomp$35_flags$jscomp$14$$ = ($bg_color_mask$jscomp$1_blink_enabled$jscomp$1$$ && $color$jscomp$3_memory_start_memory_start$jscomp$1$$ & 128 ? this.screen.FLAG_BLINKING : 0) | (!this.font_page_ab_enabled || $color$jscomp$3_memory_start_memory_start$jscomp$1$$ & 8 ? 0 : this.screen.FLAG_FONT_PAGE_B);
9662
9663
  var $fg_color_mask$jscomp$1$$ = this.font_page_ab_enabled ? 7 : 15;
9663
9664
  $bg_color_mask$jscomp$1_blink_enabled$jscomp$1$$ = $bg_color_mask$jscomp$1_blink_enabled$jscomp$1$$ ? 7 : 15;
9664
9665
  this.bus.send("screen-put-char", [$row$jscomp$8$$, $col$jscomp$5_max_cols$$, $chr$jscomp$13_value$jscomp$171$$]);
9665
- this.screen.put_char($row$jscomp$8$$, $col$jscomp$5_max_cols$$, $chr$jscomp$13_value$jscomp$171$$, $addr$jscomp$36_flags$jscomp$14$$, this.vga256_palette[this.dac_mask & this.dac_map[$color$jscomp$3_memory_start_memory_start$jscomp$1$$ >> 4 & $bg_color_mask$jscomp$1_blink_enabled$jscomp$1$$]], this.vga256_palette[this.dac_mask & this.dac_map[$color$jscomp$3_memory_start_memory_start$jscomp$1$$ & $fg_color_mask$jscomp$1$$]]);
9666
+ this.screen.put_char($row$jscomp$8$$, $col$jscomp$5_max_cols$$, $chr$jscomp$13_value$jscomp$171$$, $addr$jscomp$35_flags$jscomp$14$$, this.vga256_palette[this.dac_mask & this.dac_map[$color$jscomp$3_memory_start_memory_start$jscomp$1$$ >> 4 & $bg_color_mask$jscomp$1_blink_enabled$jscomp$1$$]], this.vga256_palette[this.dac_mask & this.dac_map[$color$jscomp$3_memory_start_memory_start$jscomp$1$$ & $fg_color_mask$jscomp$1$$]]);
9666
9667
  }
9667
9668
  };
9668
9669
  $VGAScreen$$module$src$vga$$.prototype.update_cursor = function() {
@@ -9708,27 +9709,27 @@ $VGAScreen$$module$src$vga$$.prototype.vga_addr_shift_count = function() {
9708
9709
  $shift_count$$ -= this.attribute_mode & 64;
9709
9710
  return $shift_count$$ >>> 6;
9710
9711
  };
9711
- $VGAScreen$$module$src$vga$$.prototype.vga_addr_to_pixel = function($addr$jscomp$37$$) {
9712
+ $VGAScreen$$module$src$vga$$.prototype.vga_addr_to_pixel = function($addr$jscomp$36$$) {
9712
9713
  var $shift_count$jscomp$1$$ = this.vga_addr_shift_count();
9713
9714
  if (~this.crtc_mode & 3) {
9714
- var $col$jscomp$7_pixel_addr$jscomp$1$$ = $addr$jscomp$37$$ - this.start_address;
9715
+ var $col$jscomp$7_pixel_addr$jscomp$1$$ = $addr$jscomp$36$$ - this.start_address;
9715
9716
  $col$jscomp$7_pixel_addr$jscomp$1$$ &= this.crtc_mode << 13 | -24577;
9716
9717
  $col$jscomp$7_pixel_addr$jscomp$1$$ <<= $shift_count$jscomp$1$$;
9717
9718
  var $row$jscomp$10$$ = $col$jscomp$7_pixel_addr$jscomp$1$$ / this.virtual_width | 0;
9718
9719
  $col$jscomp$7_pixel_addr$jscomp$1$$ %= this.virtual_width;
9719
9720
  switch(this.crtc_mode & 3) {
9720
9721
  case 2:
9721
- $row$jscomp$10$$ = $row$jscomp$10$$ << 1 | $addr$jscomp$37$$ >> 13 & 1;
9722
+ $row$jscomp$10$$ = $row$jscomp$10$$ << 1 | $addr$jscomp$36$$ >> 13 & 1;
9722
9723
  break;
9723
9724
  case 1:
9724
- $row$jscomp$10$$ = $row$jscomp$10$$ << 1 | $addr$jscomp$37$$ >> 14 & 1;
9725
+ $row$jscomp$10$$ = $row$jscomp$10$$ << 1 | $addr$jscomp$36$$ >> 14 & 1;
9725
9726
  break;
9726
9727
  case 0:
9727
- $row$jscomp$10$$ = $row$jscomp$10$$ << 2 | $addr$jscomp$37$$ >> 13 & 3;
9728
+ $row$jscomp$10$$ = $row$jscomp$10$$ << 2 | $addr$jscomp$36$$ >> 13 & 3;
9728
9729
  }
9729
9730
  return $row$jscomp$10$$ * this.virtual_width + $col$jscomp$7_pixel_addr$jscomp$1$$ + (this.start_address << $shift_count$jscomp$1$$);
9730
9731
  }
9731
- return $addr$jscomp$37$$ << $shift_count$jscomp$1$$;
9732
+ return $addr$jscomp$36$$ << $shift_count$jscomp$1$$;
9732
9733
  };
9733
9734
  $VGAScreen$$module$src$vga$$.prototype.scan_line_to_screen_row = function($scan_line$$) {
9734
9735
  this.max_scan_line & 128 && ($scan_line$$ >>>= 1);
@@ -10306,27 +10307,27 @@ $VGAScreen$$module$src$vga$$.prototype.svga_register_read = function($n$jscomp$1
10306
10307
  };
10307
10308
  $VGAScreen$$module$src$vga$$.prototype.vga_replot = function() {
10308
10309
  for (var $pixel_addr$jscomp$2_start$jscomp$40$$ = this.diff_plot_min & -16, $end$jscomp$24$$ = Math.min(this.diff_plot_max | 15, 524287), $addr_shift$$ = this.vga_addr_shift_count(), $addr_substitution$$ = ~this.crtc_mode & 3, $shift_mode$$ = this.planar_mode & 96, $pel_width$$ = this.attribute_mode & 64; $pixel_addr$jscomp$2_start$jscomp$40$$ <= $end$jscomp$24$$;) {
10309
- var $addr$jscomp$38_shift_loads$$ = $pixel_addr$jscomp$2_start$jscomp$40$$ >>> $addr_shift$$;
10310
+ var $addr$jscomp$37_shift_loads$$ = $pixel_addr$jscomp$2_start$jscomp$40$$ >>> $addr_shift$$;
10310
10311
  if ($addr_substitution$$) {
10311
10312
  var $byte0_j$jscomp$10_row$jscomp$11$$ = $pixel_addr$jscomp$2_start$jscomp$40$$ / this.virtual_width | 0, $byte1_col$jscomp$8$$ = $pixel_addr$jscomp$2_start$jscomp$40$$ - this.virtual_width * $byte0_j$jscomp$10_row$jscomp$11$$;
10312
10313
  switch($addr_substitution$$) {
10313
10314
  case 1:
10314
- $addr$jscomp$38_shift_loads$$ = ($byte0_j$jscomp$10_row$jscomp$11$$ & 1) << 13;
10315
+ $addr$jscomp$37_shift_loads$$ = ($byte0_j$jscomp$10_row$jscomp$11$$ & 1) << 13;
10315
10316
  $byte0_j$jscomp$10_row$jscomp$11$$ >>>= 1;
10316
10317
  break;
10317
10318
  case 2:
10318
- $addr$jscomp$38_shift_loads$$ = ($byte0_j$jscomp$10_row$jscomp$11$$ & 1) << 14;
10319
+ $addr$jscomp$37_shift_loads$$ = ($byte0_j$jscomp$10_row$jscomp$11$$ & 1) << 14;
10319
10320
  $byte0_j$jscomp$10_row$jscomp$11$$ >>>= 1;
10320
10321
  break;
10321
10322
  case 3:
10322
- $addr$jscomp$38_shift_loads$$ = ($byte0_j$jscomp$10_row$jscomp$11$$ & 3) << 13, $byte0_j$jscomp$10_row$jscomp$11$$ >>>= 2;
10323
+ $addr$jscomp$37_shift_loads$$ = ($byte0_j$jscomp$10_row$jscomp$11$$ & 3) << 13, $byte0_j$jscomp$10_row$jscomp$11$$ >>>= 2;
10323
10324
  }
10324
- $addr$jscomp$38_shift_loads$$ |= ($byte0_j$jscomp$10_row$jscomp$11$$ * this.virtual_width + $byte1_col$jscomp$8$$ >>> $addr_shift$$) + this.start_address;
10325
+ $addr$jscomp$37_shift_loads$$ |= ($byte0_j$jscomp$10_row$jscomp$11$$ * this.virtual_width + $byte1_col$jscomp$8$$ >>> $addr_shift$$) + this.start_address;
10325
10326
  }
10326
- $byte0_j$jscomp$10_row$jscomp$11$$ = this.plane0[$addr$jscomp$38_shift_loads$$];
10327
- $byte1_col$jscomp$8$$ = this.plane1[$addr$jscomp$38_shift_loads$$];
10328
- var $byte2$$ = this.plane2[$addr$jscomp$38_shift_loads$$], $byte3$$ = this.plane3[$addr$jscomp$38_shift_loads$$];
10329
- $addr$jscomp$38_shift_loads$$ = new Uint8Array(8);
10327
+ $byte0_j$jscomp$10_row$jscomp$11$$ = this.plane0[$addr$jscomp$37_shift_loads$$];
10328
+ $byte1_col$jscomp$8$$ = this.plane1[$addr$jscomp$37_shift_loads$$];
10329
+ var $byte2$$ = this.plane2[$addr$jscomp$37_shift_loads$$], $byte3$$ = this.plane3[$addr$jscomp$37_shift_loads$$];
10330
+ $addr$jscomp$37_shift_loads$$ = new Uint8Array(8);
10330
10331
  switch($shift_mode$$) {
10331
10332
  case 0:
10332
10333
  $byte0_j$jscomp$10_row$jscomp$11$$ <<= 0;
@@ -10334,31 +10335,31 @@ $VGAScreen$$module$src$vga$$.prototype.vga_replot = function() {
10334
10335
  $byte2$$ <<= 2;
10335
10336
  $byte3$$ <<= 3;
10336
10337
  for (var $i$jscomp$86$$ = 7; 0 <= $i$jscomp$86$$; $i$jscomp$86$$--) {
10337
- $addr$jscomp$38_shift_loads$$[7 - $i$jscomp$86$$] = $byte0_j$jscomp$10_row$jscomp$11$$ >> $i$jscomp$86$$ & 1 | $byte1_col$jscomp$8$$ >> $i$jscomp$86$$ & 2 | $byte2$$ >> $i$jscomp$86$$ & 4 | $byte3$$ >> $i$jscomp$86$$ & 8;
10338
+ $addr$jscomp$37_shift_loads$$[7 - $i$jscomp$86$$] = $byte0_j$jscomp$10_row$jscomp$11$$ >> $i$jscomp$86$$ & 1 | $byte1_col$jscomp$8$$ >> $i$jscomp$86$$ & 2 | $byte2$$ >> $i$jscomp$86$$ & 4 | $byte3$$ >> $i$jscomp$86$$ & 8;
10338
10339
  }
10339
10340
  break;
10340
10341
  case 32:
10341
- $addr$jscomp$38_shift_loads$$[0] = $byte0_j$jscomp$10_row$jscomp$11$$ >> 6 & 3 | $byte2$$ >> 4 & 12;
10342
- $addr$jscomp$38_shift_loads$$[1] = $byte0_j$jscomp$10_row$jscomp$11$$ >> 4 & 3 | $byte2$$ >> 2 & 12;
10343
- $addr$jscomp$38_shift_loads$$[2] = $byte0_j$jscomp$10_row$jscomp$11$$ >> 2 & 3 | $byte2$$ >> 0 & 12;
10344
- $addr$jscomp$38_shift_loads$$[3] = $byte0_j$jscomp$10_row$jscomp$11$$ >> 0 & 3 | $byte2$$ << 2 & 12;
10345
- $addr$jscomp$38_shift_loads$$[4] = $byte1_col$jscomp$8$$ >> 6 & 3 | $byte3$$ >> 4 & 12;
10346
- $addr$jscomp$38_shift_loads$$[5] = $byte1_col$jscomp$8$$ >> 4 & 3 | $byte3$$ >> 2 & 12;
10347
- $addr$jscomp$38_shift_loads$$[6] = $byte1_col$jscomp$8$$ >> 2 & 3 | $byte3$$ >> 0 & 12;
10348
- $addr$jscomp$38_shift_loads$$[7] = $byte1_col$jscomp$8$$ >> 0 & 3 | $byte3$$ << 2 & 12;
10342
+ $addr$jscomp$37_shift_loads$$[0] = $byte0_j$jscomp$10_row$jscomp$11$$ >> 6 & 3 | $byte2$$ >> 4 & 12;
10343
+ $addr$jscomp$37_shift_loads$$[1] = $byte0_j$jscomp$10_row$jscomp$11$$ >> 4 & 3 | $byte2$$ >> 2 & 12;
10344
+ $addr$jscomp$37_shift_loads$$[2] = $byte0_j$jscomp$10_row$jscomp$11$$ >> 2 & 3 | $byte2$$ >> 0 & 12;
10345
+ $addr$jscomp$37_shift_loads$$[3] = $byte0_j$jscomp$10_row$jscomp$11$$ >> 0 & 3 | $byte2$$ << 2 & 12;
10346
+ $addr$jscomp$37_shift_loads$$[4] = $byte1_col$jscomp$8$$ >> 6 & 3 | $byte3$$ >> 4 & 12;
10347
+ $addr$jscomp$37_shift_loads$$[5] = $byte1_col$jscomp$8$$ >> 4 & 3 | $byte3$$ >> 2 & 12;
10348
+ $addr$jscomp$37_shift_loads$$[6] = $byte1_col$jscomp$8$$ >> 2 & 3 | $byte3$$ >> 0 & 12;
10349
+ $addr$jscomp$37_shift_loads$$[7] = $byte1_col$jscomp$8$$ >> 0 & 3 | $byte3$$ << 2 & 12;
10349
10350
  break;
10350
10351
  case 64:
10351
10352
  case 96:
10352
- $addr$jscomp$38_shift_loads$$[0] = $byte0_j$jscomp$10_row$jscomp$11$$ >> 4 & 15, $addr$jscomp$38_shift_loads$$[1] = $byte0_j$jscomp$10_row$jscomp$11$$ >> 0 & 15, $addr$jscomp$38_shift_loads$$[2] = $byte1_col$jscomp$8$$ >> 4 & 15, $addr$jscomp$38_shift_loads$$[3] = $byte1_col$jscomp$8$$ >> 0 & 15, $addr$jscomp$38_shift_loads$$[4] = $byte2$$ >> 4 & 15, $addr$jscomp$38_shift_loads$$[5] = $byte2$$ >> 0 & 15, $addr$jscomp$38_shift_loads$$[6] = $byte3$$ >> 4 & 15, $addr$jscomp$38_shift_loads$$[7] =
10353
+ $addr$jscomp$37_shift_loads$$[0] = $byte0_j$jscomp$10_row$jscomp$11$$ >> 4 & 15, $addr$jscomp$37_shift_loads$$[1] = $byte0_j$jscomp$10_row$jscomp$11$$ >> 0 & 15, $addr$jscomp$37_shift_loads$$[2] = $byte1_col$jscomp$8$$ >> 4 & 15, $addr$jscomp$37_shift_loads$$[3] = $byte1_col$jscomp$8$$ >> 0 & 15, $addr$jscomp$37_shift_loads$$[4] = $byte2$$ >> 4 & 15, $addr$jscomp$37_shift_loads$$[5] = $byte2$$ >> 0 & 15, $addr$jscomp$37_shift_loads$$[6] = $byte3$$ >> 4 & 15, $addr$jscomp$37_shift_loads$$[7] =
10353
10354
  $byte3$$ >> 0 & 15;
10354
10355
  }
10355
10356
  if ($pel_width$$) {
10356
10357
  for ($byte0_j$jscomp$10_row$jscomp$11$$ = $i$jscomp$86$$ = 0; 4 > $i$jscomp$86$$; $i$jscomp$86$$++, $pixel_addr$jscomp$2_start$jscomp$40$$++, $byte0_j$jscomp$10_row$jscomp$11$$ += 2) {
10357
- this.pixel_buffer[$pixel_addr$jscomp$2_start$jscomp$40$$] = $addr$jscomp$38_shift_loads$$[$byte0_j$jscomp$10_row$jscomp$11$$] << 4 | $addr$jscomp$38_shift_loads$$[$byte0_j$jscomp$10_row$jscomp$11$$ + 1];
10358
+ this.pixel_buffer[$pixel_addr$jscomp$2_start$jscomp$40$$] = $addr$jscomp$37_shift_loads$$[$byte0_j$jscomp$10_row$jscomp$11$$] << 4 | $addr$jscomp$37_shift_loads$$[$byte0_j$jscomp$10_row$jscomp$11$$ + 1];
10358
10359
  }
10359
10360
  } else {
10360
10361
  for ($i$jscomp$86$$ = 0; 8 > $i$jscomp$86$$; $i$jscomp$86$$++, $pixel_addr$jscomp$2_start$jscomp$40$$++) {
10361
- this.pixel_buffer[$pixel_addr$jscomp$2_start$jscomp$40$$] = $addr$jscomp$38_shift_loads$$[$i$jscomp$86$$];
10362
+ this.pixel_buffer[$pixel_addr$jscomp$2_start$jscomp$40$$] = $addr$jscomp$37_shift_loads$$[$i$jscomp$86$$];
10362
10363
  }
10363
10364
  }
10364
10365
  }
@@ -10684,48 +10685,42 @@ function $CPU$$module$src$cpu$$($bus$jscomp$28$$, $memory$jscomp$1_wm$$, $stop_i
10684
10685
  this.seen_code = {};
10685
10686
  this.seen_code_uncompiled = {};
10686
10687
  }
10687
- $CPU$$module$src$cpu$$.prototype.mmap_read8 = function($addr$jscomp$39_value$jscomp$183$$) {
10688
- $addr$jscomp$39_value$jscomp$183$$ = this.memory_map_read8[$addr$jscomp$39_value$jscomp$183$$ >>> 17]($addr$jscomp$39_value$jscomp$183$$);
10689
- $dbg_assert$$module$src$log$$(0 <= $addr$jscomp$39_value$jscomp$183$$ && 255 >= $addr$jscomp$39_value$jscomp$183$$);
10690
- return $addr$jscomp$39_value$jscomp$183$$;
10688
+ $CPU$$module$src$cpu$$.prototype.mmap_read8 = function($addr$jscomp$38_value$jscomp$183$$) {
10689
+ $addr$jscomp$38_value$jscomp$183$$ = this.memory_map_read8[$addr$jscomp$38_value$jscomp$183$$ >>> 17]($addr$jscomp$38_value$jscomp$183$$);
10690
+ $dbg_assert$$module$src$log$$(0 <= $addr$jscomp$38_value$jscomp$183$$ && 255 >= $addr$jscomp$38_value$jscomp$183$$);
10691
+ return $addr$jscomp$38_value$jscomp$183$$;
10691
10692
  };
10692
- $CPU$$module$src$cpu$$.prototype.mmap_write8 = function($addr$jscomp$40$$, $value$jscomp$184$$) {
10693
+ $CPU$$module$src$cpu$$.prototype.mmap_write8 = function($addr$jscomp$39$$, $value$jscomp$184$$) {
10693
10694
  $dbg_assert$$module$src$log$$(0 <= $value$jscomp$184$$ && 255 >= $value$jscomp$184$$);
10694
- this.memory_map_write8[$addr$jscomp$40$$ >>> 17]($addr$jscomp$40$$, $value$jscomp$184$$);
10695
+ this.memory_map_write8[$addr$jscomp$39$$ >>> 17]($addr$jscomp$39$$, $value$jscomp$184$$);
10695
10696
  };
10696
- $CPU$$module$src$cpu$$.prototype.mmap_read16 = function($addr$jscomp$41_value$jscomp$185$$) {
10697
- var $fn$jscomp$17$$ = this.memory_map_read8[$addr$jscomp$41_value$jscomp$185$$ >>> 17];
10698
- $addr$jscomp$41_value$jscomp$185$$ = $fn$jscomp$17$$($addr$jscomp$41_value$jscomp$185$$) | $fn$jscomp$17$$($addr$jscomp$41_value$jscomp$185$$ + 1 | 0) << 8;
10699
- $dbg_assert$$module$src$log$$(0 <= $addr$jscomp$41_value$jscomp$185$$ && 65535 >= $addr$jscomp$41_value$jscomp$185$$);
10700
- return $addr$jscomp$41_value$jscomp$185$$;
10697
+ $CPU$$module$src$cpu$$.prototype.mmap_write16 = function($addr$jscomp$40$$, $value$jscomp$185$$) {
10698
+ var $fn$jscomp$17$$ = this.memory_map_write8[$addr$jscomp$40$$ >>> 17];
10699
+ $dbg_assert$$module$src$log$$(0 <= $value$jscomp$185$$ && 65535 >= $value$jscomp$185$$);
10700
+ $fn$jscomp$17$$($addr$jscomp$40$$, $value$jscomp$185$$ & 255);
10701
+ $fn$jscomp$17$$($addr$jscomp$40$$ + 1 | 0, $value$jscomp$185$$ >> 8);
10701
10702
  };
10702
- $CPU$$module$src$cpu$$.prototype.mmap_write16 = function($addr$jscomp$42$$, $value$jscomp$186$$) {
10703
- var $fn$jscomp$18$$ = this.memory_map_write8[$addr$jscomp$42$$ >>> 17];
10704
- $dbg_assert$$module$src$log$$(0 <= $value$jscomp$186$$ && 65535 >= $value$jscomp$186$$);
10705
- $fn$jscomp$18$$($addr$jscomp$42$$, $value$jscomp$186$$ & 255);
10706
- $fn$jscomp$18$$($addr$jscomp$42$$ + 1 | 0, $value$jscomp$186$$ >> 8);
10703
+ $CPU$$module$src$cpu$$.prototype.mmap_read32 = function($addr$jscomp$41$$) {
10704
+ return this.memory_map_read32[$addr$jscomp$41$$ >>> 17]($addr$jscomp$41$$);
10707
10705
  };
10708
- $CPU$$module$src$cpu$$.prototype.mmap_read32 = function($addr$jscomp$43$$) {
10709
- return this.memory_map_read32[$addr$jscomp$43$$ >>> 17]($addr$jscomp$43$$);
10706
+ $CPU$$module$src$cpu$$.prototype.mmap_write32 = function($addr$jscomp$42$$, $value$jscomp$186$$) {
10707
+ this.memory_map_write32[$addr$jscomp$42$$ >>> 17]($addr$jscomp$42$$, $value$jscomp$186$$);
10710
10708
  };
10711
- $CPU$$module$src$cpu$$.prototype.mmap_write32 = function($addr$jscomp$44$$, $value$jscomp$187$$) {
10712
- this.memory_map_write32[$addr$jscomp$44$$ >>> 17]($addr$jscomp$44$$, $value$jscomp$187$$);
10713
- };
10714
- $CPU$$module$src$cpu$$.prototype.mmap_write64 = function($addr$jscomp$45$$, $value0$jscomp$2$$, $value1$jscomp$9$$) {
10715
- var $aligned_addr$jscomp$5_write_func32$jscomp$1$$ = $addr$jscomp$45$$ >>> 17;
10716
- $dbg_assert$$module$src$log$$($aligned_addr$jscomp$5_write_func32$jscomp$1$$ === $addr$jscomp$45$$ + 7 >>> 17);
10709
+ $CPU$$module$src$cpu$$.prototype.mmap_write64 = function($addr$jscomp$43$$, $value0$jscomp$2$$, $value1$jscomp$9$$) {
10710
+ var $aligned_addr$jscomp$5_write_func32$jscomp$1$$ = $addr$jscomp$43$$ >>> 17;
10711
+ $dbg_assert$$module$src$log$$($aligned_addr$jscomp$5_write_func32$jscomp$1$$ === $addr$jscomp$43$$ + 7 >>> 17);
10717
10712
  $aligned_addr$jscomp$5_write_func32$jscomp$1$$ = this.memory_map_write32[$aligned_addr$jscomp$5_write_func32$jscomp$1$$];
10718
- $aligned_addr$jscomp$5_write_func32$jscomp$1$$($addr$jscomp$45$$, $value0$jscomp$2$$);
10719
- $aligned_addr$jscomp$5_write_func32$jscomp$1$$($addr$jscomp$45$$ + 4, $value1$jscomp$9$$);
10713
+ $aligned_addr$jscomp$5_write_func32$jscomp$1$$($addr$jscomp$43$$, $value0$jscomp$2$$);
10714
+ $aligned_addr$jscomp$5_write_func32$jscomp$1$$($addr$jscomp$43$$ + 4, $value1$jscomp$9$$);
10720
10715
  };
10721
- $CPU$$module$src$cpu$$.prototype.mmap_write128 = function($addr$jscomp$46$$, $value0$jscomp$3$$, $value1$jscomp$10$$, $value2$jscomp$8$$, $value3$jscomp$5$$) {
10722
- var $aligned_addr$jscomp$6_write_func32$jscomp$2$$ = $addr$jscomp$46$$ >>> 17;
10723
- $dbg_assert$$module$src$log$$($aligned_addr$jscomp$6_write_func32$jscomp$2$$ === $addr$jscomp$46$$ + 12 >>> 17);
10716
+ $CPU$$module$src$cpu$$.prototype.mmap_write128 = function($addr$jscomp$44$$, $value0$jscomp$3$$, $value1$jscomp$10$$, $value2$jscomp$8$$, $value3$jscomp$5$$) {
10717
+ var $aligned_addr$jscomp$6_write_func32$jscomp$2$$ = $addr$jscomp$44$$ >>> 17;
10718
+ $dbg_assert$$module$src$log$$($aligned_addr$jscomp$6_write_func32$jscomp$2$$ === $addr$jscomp$44$$ + 12 >>> 17);
10724
10719
  $aligned_addr$jscomp$6_write_func32$jscomp$2$$ = this.memory_map_write32[$aligned_addr$jscomp$6_write_func32$jscomp$2$$];
10725
- $aligned_addr$jscomp$6_write_func32$jscomp$2$$($addr$jscomp$46$$, $value0$jscomp$3$$);
10726
- $aligned_addr$jscomp$6_write_func32$jscomp$2$$($addr$jscomp$46$$ + 4, $value1$jscomp$10$$);
10727
- $aligned_addr$jscomp$6_write_func32$jscomp$2$$($addr$jscomp$46$$ + 8, $value2$jscomp$8$$);
10728
- $aligned_addr$jscomp$6_write_func32$jscomp$2$$($addr$jscomp$46$$ + 12, $value3$jscomp$5$$);
10720
+ $aligned_addr$jscomp$6_write_func32$jscomp$2$$($addr$jscomp$44$$, $value0$jscomp$3$$);
10721
+ $aligned_addr$jscomp$6_write_func32$jscomp$2$$($addr$jscomp$44$$ + 4, $value1$jscomp$10$$);
10722
+ $aligned_addr$jscomp$6_write_func32$jscomp$2$$($addr$jscomp$44$$ + 8, $value2$jscomp$8$$);
10723
+ $aligned_addr$jscomp$6_write_func32$jscomp$2$$($addr$jscomp$44$$ + 12, $value3$jscomp$5$$);
10729
10724
  };
10730
10725
  $CPU$$module$src$cpu$$.prototype.write_blob = function($blob$jscomp$16$$, $offset$jscomp$77$$) {
10731
10726
  $dbg_assert$$module$src$log$$($blob$jscomp$16$$ && 0 <= $blob$jscomp$16$$.length);
@@ -10802,8 +10797,8 @@ $CPU$$module$src$cpu$$.prototype.wasm_patch = function() {
10802
10797
  this.zstd_read = $get_import$$("zstd_read");
10803
10798
  this.zstd_read_free = $get_import$$("zstd_read_free");
10804
10799
  };
10805
- $CPU$$module$src$cpu$$.prototype.jit_force_generate = function($addr$jscomp$47$$) {
10806
- this.jit_force_generate_unsafe ? this.jit_force_generate_unsafe($addr$jscomp$47$$) : $dbg_assert$$module$src$log$$(!1, "Not supported in this wasm build: jit_force_generate_unsafe");
10800
+ $CPU$$module$src$cpu$$.prototype.jit_force_generate = function($addr$jscomp$45$$) {
10801
+ this.jit_force_generate_unsafe ? this.jit_force_generate_unsafe($addr$jscomp$45$$) : $dbg_assert$$module$src$log$$(!1, "Not supported in this wasm build: jit_force_generate_unsafe");
10807
10802
  };
10808
10803
  $CPU$$module$src$cpu$$.prototype.jit_clear_func = function($index$jscomp$87$$) {
10809
10804
  $dbg_assert$$module$src$log$$(0 <= $index$jscomp$87$$ && 900 > $index$jscomp$87$$);
@@ -11161,7 +11156,7 @@ $CPU$$module$src$cpu$$.prototype.init = function($option_rom$jscomp$1_settings$j
11161
11156
  $dbg_assert$$module$src$log$$(!1, "config port: Read past value");
11162
11157
  return 0;
11163
11158
  });
11164
- $ide_config$jscomp$2_io$jscomp$5$$.register_write(1296, this, void 0, function($buffer32_value$jscomp$188$$) {
11159
+ $ide_config$jscomp$2_io$jscomp$5$$.register_write(1296, this, void 0, function($buffer32_value$jscomp$187$$) {
11165
11160
  function $i32$$($x$jscomp$120$$) {
11166
11161
  return new Uint8Array(Int32Array.of($x$jscomp$120$$).buffer);
11167
11162
  }
@@ -11171,35 +11166,35 @@ $CPU$$module$src$cpu$$.prototype.init = function($option_rom$jscomp$1_settings$j
11171
11166
  function $to_be32$$($x$jscomp$122$$) {
11172
11167
  return $x$jscomp$122$$ << 24 | $x$jscomp$122$$ << 8 & 16711680 | $x$jscomp$122$$ >> 8 & 65280 | $x$jscomp$122$$ >>> 24;
11173
11168
  }
11174
- $dbg_log$$module$src$log$$("bios config port, index=" + $h$$module$src$lib$$($buffer32_value$jscomp$188$$));
11169
+ $dbg_log$$module$src$log$$("bios config port, index=" + $h$$module$src$lib$$($buffer32_value$jscomp$187$$));
11175
11170
  this.fw_pointer = 0;
11176
- if (0 === $buffer32_value$jscomp$188$$) {
11171
+ if (0 === $buffer32_value$jscomp$187$$) {
11177
11172
  this.fw_value = $i32$$(1431127377);
11178
11173
  } else {
11179
- if (1 === $buffer32_value$jscomp$188$$) {
11174
+ if (1 === $buffer32_value$jscomp$187$$) {
11180
11175
  this.fw_value = $i32$$(0);
11181
11176
  } else {
11182
- if (3 === $buffer32_value$jscomp$188$$) {
11177
+ if (3 === $buffer32_value$jscomp$187$$) {
11183
11178
  this.fw_value = $i32$$(this.memory_size[0]);
11184
11179
  } else {
11185
- if (5 === $buffer32_value$jscomp$188$$) {
11180
+ if (5 === $buffer32_value$jscomp$187$$) {
11186
11181
  this.fw_value = $i32$$(1);
11187
11182
  } else {
11188
- if (15 === $buffer32_value$jscomp$188$$) {
11183
+ if (15 === $buffer32_value$jscomp$187$$) {
11189
11184
  this.fw_value = $i32$$(1);
11190
11185
  } else {
11191
- if (13 === $buffer32_value$jscomp$188$$) {
11186
+ if (13 === $buffer32_value$jscomp$187$$) {
11192
11187
  this.fw_value = new Uint8Array(16);
11193
11188
  } else {
11194
- if (25 === $buffer32_value$jscomp$188$$) {
11195
- $buffer32_value$jscomp$188$$ = new Int32Array(4 + 64 * this.option_roms.length);
11196
- const $buffer8$$ = new Uint8Array($buffer32_value$jscomp$188$$.buffer);
11197
- $buffer32_value$jscomp$188$$[0] = $to_be32$$(this.option_roms.length);
11189
+ if (25 === $buffer32_value$jscomp$187$$) {
11190
+ $buffer32_value$jscomp$187$$ = new Int32Array(4 + 64 * this.option_roms.length);
11191
+ const $buffer8$$ = new Uint8Array($buffer32_value$jscomp$187$$.buffer);
11192
+ $buffer32_value$jscomp$187$$[0] = $to_be32$$(this.option_roms.length);
11198
11193
  for (let $i$jscomp$95$$ = 0; $i$jscomp$95$$ < this.option_roms.length; $i$jscomp$95$$++) {
11199
11194
  const {name:$name$jscomp$108$$, data:$data$jscomp$219$$} = this.option_roms[$i$jscomp$95$$], $file_struct_ptr$$ = 4 + 64 * $i$jscomp$95$$;
11200
11195
  $dbg_assert$$module$src$log$$(65536 > 49152 + $i$jscomp$95$$);
11201
- $buffer32_value$jscomp$188$$[$file_struct_ptr$$ + 0 >> 2] = $to_be32$$($data$jscomp$219$$.length);
11202
- $buffer32_value$jscomp$188$$[$file_struct_ptr$$ + 4 >> 2] = $to_be16$$(49152 + $i$jscomp$95$$);
11196
+ $buffer32_value$jscomp$187$$[$file_struct_ptr$$ + 0 >> 2] = $to_be32$$($data$jscomp$219$$.length);
11197
+ $buffer32_value$jscomp$187$$[$file_struct_ptr$$ + 4 >> 2] = $to_be16$$(49152 + $i$jscomp$95$$);
11203
11198
  $dbg_assert$$module$src$log$$(56 > $name$jscomp$108$$.length);
11204
11199
  for (let $j$jscomp$11$$ = 0; $j$jscomp$11$$ < $name$jscomp$108$$.length; $j$jscomp$11$$++) {
11205
11200
  $buffer8$$[$file_struct_ptr$$ + 8 + $j$jscomp$11$$] = $name$jscomp$108$$.charCodeAt($j$jscomp$11$$);
@@ -11207,7 +11202,7 @@ $CPU$$module$src$cpu$$.prototype.init = function($option_rom$jscomp$1_settings$j
11207
11202
  }
11208
11203
  this.fw_value = $buffer8$$;
11209
11204
  } else {
11210
- 32768 <= $buffer32_value$jscomp$188$$ && 49152 > $buffer32_value$jscomp$188$$ ? this.fw_value = $i32$$(0) : 49152 <= $buffer32_value$jscomp$188$$ && $buffer32_value$jscomp$188$$ - 49152 < this.option_roms.length ? this.fw_value = this.option_roms[$buffer32_value$jscomp$188$$ - 49152].data : ($dbg_log$$module$src$log$$("Warning: Unimplemented fw index: " + $h$$module$src$lib$$($buffer32_value$jscomp$188$$)), this.fw_value = $i32$$(0));
11205
+ 32768 <= $buffer32_value$jscomp$187$$ && 49152 > $buffer32_value$jscomp$187$$ ? this.fw_value = $i32$$(0) : 49152 <= $buffer32_value$jscomp$187$$ && $buffer32_value$jscomp$187$$ - 49152 < this.option_roms.length ? this.fw_value = this.option_roms[$buffer32_value$jscomp$187$$ - 49152].data : ($dbg_log$$module$src$log$$("Warning: Unimplemented fw index: " + $h$$module$src$lib$$($buffer32_value$jscomp$187$$)), this.fw_value = $i32$$(0));
11211
11206
  }
11212
11207
  }
11213
11208
  }
@@ -11275,10 +11270,10 @@ $CPU$$module$src$cpu$$.prototype.load_multiboot_option_rom = function($buffer$js
11275
11270
  $cpu$jscomp$26$$.write32(31792, $i$jscomp$98_multiboot_data$$);
11276
11271
  $blob$jscomp$17_file_start_header_addr_start$jscomp$42_top_of_load$$ = 0;
11277
11272
  var $view$jscomp$inline_408_was_memory$$ = !1;
11278
- for (let $addr$jscomp$48$$ = 0; 4294967296 > $addr$jscomp$48$$; $addr$jscomp$48$$ += 131072) {
11279
- $view$jscomp$inline_408_was_memory$$ && void 0 !== $cpu$jscomp$26$$.memory_map_read8[$addr$jscomp$48$$ >>> 17] ? ($cpu$jscomp$26$$.write32($i$jscomp$98_multiboot_data$$, 20), $cpu$jscomp$26$$.write32($i$jscomp$98_multiboot_data$$ + 4, $blob$jscomp$17_file_start_header_addr_start$jscomp$42_top_of_load$$), $cpu$jscomp$26$$.write32($i$jscomp$98_multiboot_data$$ + 8, 0), $cpu$jscomp$26$$.write32($i$jscomp$98_multiboot_data$$ + 12, $addr$jscomp$48$$ - $blob$jscomp$17_file_start_header_addr_start$jscomp$42_top_of_load$$),
11280
- $cpu$jscomp$26$$.write32($i$jscomp$98_multiboot_data$$ + 16, 0), $cpu$jscomp$26$$.write32($i$jscomp$98_multiboot_data$$ + 20, 1), $i$jscomp$98_multiboot_data$$ += 24, $cmdline_utf8_entrypoint_load_addr_multiboot_mmap_count_program_headers$jscomp$inline_411$$ += 24, $view$jscomp$inline_408_was_memory$$ = !1) : $view$jscomp$inline_408_was_memory$$ || void 0 !== $cpu$jscomp$26$$.memory_map_read8[$addr$jscomp$48$$ >>> 17] || ($blob$jscomp$17_file_start_header_addr_start$jscomp$42_top_of_load$$ =
11281
- $addr$jscomp$48$$, $view$jscomp$inline_408_was_memory$$ = !0);
11273
+ for (let $addr$jscomp$46$$ = 0; 4294967296 > $addr$jscomp$46$$; $addr$jscomp$46$$ += 131072) {
11274
+ $view$jscomp$inline_408_was_memory$$ && void 0 !== $cpu$jscomp$26$$.memory_map_read8[$addr$jscomp$46$$ >>> 17] ? ($cpu$jscomp$26$$.write32($i$jscomp$98_multiboot_data$$, 20), $cpu$jscomp$26$$.write32($i$jscomp$98_multiboot_data$$ + 4, $blob$jscomp$17_file_start_header_addr_start$jscomp$42_top_of_load$$), $cpu$jscomp$26$$.write32($i$jscomp$98_multiboot_data$$ + 8, 0), $cpu$jscomp$26$$.write32($i$jscomp$98_multiboot_data$$ + 12, $addr$jscomp$46$$ - $blob$jscomp$17_file_start_header_addr_start$jscomp$42_top_of_load$$),
11275
+ $cpu$jscomp$26$$.write32($i$jscomp$98_multiboot_data$$ + 16, 0), $cpu$jscomp$26$$.write32($i$jscomp$98_multiboot_data$$ + 20, 1), $i$jscomp$98_multiboot_data$$ += 24, $cmdline_utf8_entrypoint_load_addr_multiboot_mmap_count_program_headers$jscomp$inline_411$$ += 24, $view$jscomp$inline_408_was_memory$$ = !1) : $view$jscomp$inline_408_was_memory$$ || void 0 !== $cpu$jscomp$26$$.memory_map_read8[$addr$jscomp$46$$ >>> 17] || ($blob$jscomp$17_file_start_header_addr_start$jscomp$42_top_of_load$$ =
11276
+ $addr$jscomp$46$$, $view$jscomp$inline_408_was_memory$$ = !0);
11282
11277
  }
11283
11278
  $dbg_assert$$module$src$log$$(!$view$jscomp$inline_408_was_memory$$, "top of 4GB shouldn't have memory");
11284
11279
  $cpu$jscomp$26$$.write32(31788, $cmdline_utf8_entrypoint_load_addr_multiboot_mmap_count_program_headers$jscomp$inline_411$$);
@@ -11374,17 +11369,17 @@ $CPU$$module$src$cpu$$.prototype.load_multiboot_option_rom = function($buffer$js
11374
11369
  $cpu$jscomp$26$$.dump_regs_short();
11375
11370
  return 732803074;
11376
11371
  });
11377
- this.io.register_write_consecutive(244, this, function($value$jscomp$189$$) {
11378
- console.log("Test exited with code " + $h$$module$src$lib$$($value$jscomp$189$$, 2));
11372
+ this.io.register_write_consecutive(244, this, function($value$jscomp$188$$) {
11373
+ console.log("Test exited with code " + $h$$module$src$lib$$($value$jscomp$188$$, 2));
11379
11374
  throw "HALT";
11380
11375
  }, function() {
11381
11376
  }, function() {
11382
11377
  }, function() {
11383
11378
  });
11384
11379
  for (let $i$jscomp$99$$ = 0; 15 >= $i$jscomp$99$$; $i$jscomp$99$$++) {
11385
- function $handle_write$$($value$jscomp$190$$) {
11386
- $dbg_log$$module$src$log$$("kvm-unit-test: Set irq " + $h$$module$src$lib$$($i$jscomp$99$$) + " to " + $h$$module$src$lib$$($value$jscomp$190$$, 2));
11387
- $value$jscomp$190$$ ? this.device_raise_irq($i$jscomp$99$$) : this.device_lower_irq($i$jscomp$99$$);
11380
+ function $handle_write$$($value$jscomp$189$$) {
11381
+ $dbg_log$$module$src$log$$("kvm-unit-test: Set irq " + $h$$module$src$lib$$($i$jscomp$99$$) + " to " + $h$$module$src$lib$$($value$jscomp$189$$, 2));
11382
+ $value$jscomp$189$$ ? this.device_raise_irq($i$jscomp$99$$) : this.device_lower_irq($i$jscomp$99$$);
11388
11383
  }
11389
11384
  this.io.register_write(8192 + $i$jscomp$99$$, this, $handle_write$$, $handle_write$$, $handle_write$$);
11390
11385
  }
@@ -11438,19 +11433,19 @@ $CPU$$module$src$cpu$$.prototype.load_bios = function() {
11438
11433
  $dbg_assert$$module$src$log$$($vga_bios$$ instanceof ArrayBuffer);
11439
11434
  var $vga_bios8$$ = new Uint8Array($vga_bios$$);
11440
11435
  this.write_blob($vga_bios8$$, 786432);
11441
- this.io.mmap_register(4272947200, 1048576, function($addr$jscomp$49$$) {
11442
- $addr$jscomp$49$$ = $addr$jscomp$49$$ - 4272947200 | 0;
11443
- return $addr$jscomp$49$$ < $vga_bios8$$.length ? $vga_bios8$$[$addr$jscomp$49$$] : 0;
11436
+ this.io.mmap_register(4272947200, 1048576, function($addr$jscomp$47$$) {
11437
+ $addr$jscomp$47$$ = $addr$jscomp$47$$ - 4272947200 | 0;
11438
+ return $addr$jscomp$47$$ < $vga_bios8$$.length ? $vga_bios8$$[$addr$jscomp$47$$] : 0;
11444
11439
  }, function() {
11445
11440
  $dbg_assert$$module$src$log$$(!1, "Unexpected write to VGA rom");
11446
11441
  });
11447
11442
  } else {
11448
11443
  $dbg_log$$module$src$log$$("Warning: No VGA BIOS");
11449
11444
  }
11450
- this.io.mmap_register(4293918720, 1048576, function($addr$jscomp$51$$) {
11451
- return this.mem8[$addr$jscomp$51$$ & 1048575];
11452
- }.bind(this), function($addr$jscomp$52$$, $value$jscomp$192$$) {
11453
- this.mem8[$addr$jscomp$52$$ & 1048575] = $value$jscomp$192$$;
11445
+ this.io.mmap_register(4293918720, 1048576, function($addr$jscomp$49$$) {
11446
+ return this.mem8[$addr$jscomp$49$$ & 1048575];
11447
+ }.bind(this), function($addr$jscomp$50$$, $value$jscomp$191$$) {
11448
+ this.mem8[$addr$jscomp$50$$ & 1048575] = $value$jscomp$191$$;
11454
11449
  }.bind(this));
11455
11450
  } else {
11456
11451
  $dbg_log$$module$src$log$$("Warning: No BIOS");
@@ -11530,9 +11525,9 @@ $CPU$$module$src$cpu$$.prototype.dump_regs_short = function() {
11530
11525
  $dbg_log$$module$src$log$$($lines$jscomp$1$$[1], 2);
11531
11526
  };
11532
11527
  $CPU$$module$src$cpu$$.prototype.dump_gdt_ldt = function() {
11533
- function $dump_table$$($addr$jscomp$53$$, $size$jscomp$41$$) {
11534
- for (var $i$jscomp$108$$ = 0; $i$jscomp$108$$ < $size$jscomp$41$$; $i$jscomp$108$$ += 8, $addr$jscomp$53$$ += 8) {
11535
- var $base$jscomp$4$$ = this.read16($addr$jscomp$53$$ + 2) | this.read8($addr$jscomp$53$$ + 4) << 16 | this.read8($addr$jscomp$53$$ + 7) << 24, $limit$$ = this.read16($addr$jscomp$53$$) | (this.read8($addr$jscomp$53$$ + 6) & 15) << 16, $access$jscomp$1$$ = this.read8($addr$jscomp$53$$ + 5), $flags$jscomp$18$$ = this.read8($addr$jscomp$53$$ + 6) >> 4, $flags_str$$ = "", $dpl$$ = $access$jscomp$1$$ >> 5 & 3;
11528
+ function $dump_table$$($addr$jscomp$51$$, $size$jscomp$41$$) {
11529
+ for (var $i$jscomp$108$$ = 0; $i$jscomp$108$$ < $size$jscomp$41$$; $i$jscomp$108$$ += 8, $addr$jscomp$51$$ += 8) {
11530
+ var $base$jscomp$4$$ = this.read16($addr$jscomp$51$$ + 2) | this.read8($addr$jscomp$51$$ + 4) << 16 | this.read8($addr$jscomp$51$$ + 7) << 24, $limit$$ = this.read16($addr$jscomp$51$$) | (this.read8($addr$jscomp$51$$ + 6) & 15) << 16, $access$jscomp$1$$ = this.read8($addr$jscomp$51$$ + 5), $flags$jscomp$18$$ = this.read8($addr$jscomp$51$$ + 6) >> 4, $flags_str$$ = "", $dpl$$ = $access$jscomp$1$$ >> 5 & 3;
11536
11531
  $flags_str$$ = $access$jscomp$1$$ & 128 ? $flags_str$$ + " P " : $flags_str$$ + "NP ";
11537
11532
  $access$jscomp$1$$ & 16 ? ($flags_str$$ = $flags$jscomp$18$$ & 4 ? $flags_str$$ + "32b " : $flags_str$$ + "16b ", $access$jscomp$1$$ & 8 ? ($flags_str$$ += "X ", $access$jscomp$1$$ & 4 && ($flags_str$$ += "C ")) : $flags_str$$ += "R ", $flags_str$$ += "RW ") : $flags_str$$ += "sys: " + $h$$module$src$lib$$($access$jscomp$1$$ & 15);
11538
11533
  $flags$jscomp$18$$ & 8 && ($limit$$ = $limit$$ << 12 | 4095);
@@ -11546,12 +11541,12 @@ $CPU$$module$src$cpu$$.prototype.dump_gdt_ldt = function() {
11546
11541
  };
11547
11542
  $CPU$$module$src$cpu$$.prototype.dump_idt = function() {
11548
11543
  for (var $i$jscomp$109$$ = 0; $i$jscomp$109$$ < this.idtr_size[0]; $i$jscomp$109$$ += 8) {
11549
- var $addr$jscomp$54_type$jscomp$156$$ = this.translate_address_system_read(this.idtr_offset[0] + $i$jscomp$109$$), $base$jscomp$5$$ = this.read16($addr$jscomp$54_type$jscomp$156$$) | this.read16($addr$jscomp$54_type$jscomp$156$$ + 6) << 16, $selector$jscomp$1$$ = this.read16($addr$jscomp$54_type$jscomp$156$$ + 2);
11550
- $addr$jscomp$54_type$jscomp$156$$ = this.read8($addr$jscomp$54_type$jscomp$156$$ + 5);
11551
- var $dpl$jscomp$1$$ = $addr$jscomp$54_type$jscomp$156$$ >> 5 & 3;
11552
- var $line$jscomp$6$$ = 5 === ($addr$jscomp$54_type$jscomp$156$$ & 31) ? "task gate " : 14 === ($addr$jscomp$54_type$jscomp$156$$ & 31) ? "intr gate " : 15 === ($addr$jscomp$54_type$jscomp$156$$ & 31) ? "trap gate " : "invalid ";
11553
- $line$jscomp$6$$ = $addr$jscomp$54_type$jscomp$156$$ & 128 ? $line$jscomp$6$$ + " P" : $line$jscomp$6$$ + "NP";
11554
- $dbg_log$$module$src$log$$($h$$module$src$lib$$($i$jscomp$109$$ >> 3, 4) + " " + $h$$module$src$lib$$($base$jscomp$5$$ >>> 0, 8) + ", " + $h$$module$src$lib$$($selector$jscomp$1$$, 4) + "; " + $line$jscomp$6$$ + "; dpl = " + $dpl$jscomp$1$$ + ", t = " + $addr$jscomp$54_type$jscomp$156$$.toString(2));
11544
+ var $addr$jscomp$52_type$jscomp$156$$ = this.translate_address_system_read(this.idtr_offset[0] + $i$jscomp$109$$), $base$jscomp$5$$ = this.read16($addr$jscomp$52_type$jscomp$156$$) | this.read16($addr$jscomp$52_type$jscomp$156$$ + 6) << 16, $selector$jscomp$1$$ = this.read16($addr$jscomp$52_type$jscomp$156$$ + 2);
11545
+ $addr$jscomp$52_type$jscomp$156$$ = this.read8($addr$jscomp$52_type$jscomp$156$$ + 5);
11546
+ var $dpl$jscomp$1$$ = $addr$jscomp$52_type$jscomp$156$$ >> 5 & 3;
11547
+ var $line$jscomp$6$$ = 5 === ($addr$jscomp$52_type$jscomp$156$$ & 31) ? "task gate " : 14 === ($addr$jscomp$52_type$jscomp$156$$ & 31) ? "intr gate " : 15 === ($addr$jscomp$52_type$jscomp$156$$ & 31) ? "trap gate " : "invalid ";
11548
+ $line$jscomp$6$$ = $addr$jscomp$52_type$jscomp$156$$ & 128 ? $line$jscomp$6$$ + " P" : $line$jscomp$6$$ + "NP";
11549
+ $dbg_log$$module$src$log$$($h$$module$src$lib$$($i$jscomp$109$$ >> 3, 4) + " " + $h$$module$src$lib$$($base$jscomp$5$$ >>> 0, 8) + ", " + $h$$module$src$lib$$($selector$jscomp$1$$, 4) + "; " + $line$jscomp$6$$ + "; dpl = " + $dpl$jscomp$1$$ + ", t = " + $addr$jscomp$52_type$jscomp$156$$.toString(2));
11555
11550
  }
11556
11551
  };
11557
11552
  $CPU$$module$src$cpu$$.prototype.dump_page_structures = function() {
@@ -11595,16 +11590,16 @@ $CPU$$module$src$cpu$$.prototype.get_memory_dump = function($start$jscomp$49$$,
11595
11590
  void 0 === $start$jscomp$49$$ ? ($start$jscomp$49$$ = 0, $count$jscomp$70$$ = this.memory_size[0]) : void 0 === $count$jscomp$70$$ && ($count$jscomp$70$$ = $start$jscomp$49$$, $start$jscomp$49$$ = 0);
11596
11591
  return this.mem8.slice($start$jscomp$49$$, $start$jscomp$49$$ + $count$jscomp$70$$).buffer;
11597
11592
  };
11598
- $CPU$$module$src$cpu$$.prototype.memory_hex_dump = function($addr$jscomp$57$$, $length$jscomp$34$$) {
11593
+ $CPU$$module$src$cpu$$.prototype.memory_hex_dump = function($addr$jscomp$55$$, $length$jscomp$34$$) {
11599
11594
  $length$jscomp$34$$ = $length$jscomp$34$$ || 64;
11600
11595
  for (var $line$jscomp$7$$, $byt$$, $i$jscomp$112$$ = 0; $i$jscomp$112$$ < $length$jscomp$34$$ >> 4; $i$jscomp$112$$++) {
11601
- $line$jscomp$7$$ = $h$$module$src$lib$$($addr$jscomp$57$$ + ($i$jscomp$112$$ << 4), 5) + " ";
11596
+ $line$jscomp$7$$ = $h$$module$src$lib$$($addr$jscomp$55$$ + ($i$jscomp$112$$ << 4), 5) + " ";
11602
11597
  for (var $j$jscomp$13$$ = 0; 16 > $j$jscomp$13$$; $j$jscomp$13$$++) {
11603
- $byt$$ = this.read8($addr$jscomp$57$$ + ($i$jscomp$112$$ << 4) + $j$jscomp$13$$), $line$jscomp$7$$ += $h$$module$src$lib$$($byt$$, 2) + " ";
11598
+ $byt$$ = this.read8($addr$jscomp$55$$ + ($i$jscomp$112$$ << 4) + $j$jscomp$13$$), $line$jscomp$7$$ += $h$$module$src$lib$$($byt$$, 2) + " ";
11604
11599
  }
11605
11600
  $line$jscomp$7$$ += " ";
11606
11601
  for ($j$jscomp$13$$ = 0; 16 > $j$jscomp$13$$; $j$jscomp$13$$++) {
11607
- $byt$$ = this.read8($addr$jscomp$57$$ + ($i$jscomp$112$$ << 4) + $j$jscomp$13$$), $line$jscomp$7$$ += 33 > $byt$$ || 126 < $byt$$ ? "." : String.fromCharCode($byt$$);
11602
+ $byt$$ = this.read8($addr$jscomp$55$$ + ($i$jscomp$112$$ << 4) + $j$jscomp$13$$), $line$jscomp$7$$ += 33 > $byt$$ || 126 < $byt$$ ? "." : String.fromCharCode($byt$$);
11608
11603
  }
11609
11604
  $dbg_log$$module$src$log$$($line$jscomp$7$$);
11610
11605
  }
@@ -11830,16 +11825,16 @@ $VirtIO$$module$src$virtio$$.prototype.init_capabilities = function($cap_len$jsc
11830
11825
  if ($cap$jscomp$2$$.use_mmio) {
11831
11826
  $dbg_assert$$module$src$log$$(!1, "VirtIO device <" + this.name + "> mmio capability not implemented.");
11832
11827
  } else {
11833
- $bar_size_shim_read8_on_16$$ = function($addr$jscomp$58$$) {
11828
+ $bar_size_shim_read8_on_16$$ = function($addr$jscomp$56$$) {
11834
11829
  $dbg_log$$module$src$log$$("Warning: 8-bit read from 16-bit virtio port", 2097152);
11835
- return $read$$($addr$jscomp$58$$ & -2) >> (($addr$jscomp$58$$ & 1) << 3) & 255;
11830
+ return $read$$($addr$jscomp$56$$ & -2) >> (($addr$jscomp$56$$ & 1) << 3) & 255;
11836
11831
  };
11837
- const $shim_read8_on_32$$ = function($addr$jscomp$59$$) {
11832
+ const $shim_read8_on_32$$ = function($addr$jscomp$57$$) {
11838
11833
  $dbg_log$$module$src$log$$("Warning: 8-bit read from 32-bit virtio port", 2097152);
11839
- return $read$$($addr$jscomp$59$$ & -4) >> (($addr$jscomp$59$$ & 3) << 3) & 255;
11840
- }, $shim_read32_on_16$$ = function($addr$jscomp$60$$) {
11834
+ return $read$$($addr$jscomp$57$$ & -4) >> (($addr$jscomp$57$$ & 3) << 3) & 255;
11835
+ }, $shim_read32_on_16$$ = function($addr$jscomp$58$$) {
11841
11836
  $dbg_log$$module$src$log$$("Warning: 32-bit read from 16-bit virtio port", 2097152);
11842
- return $read$$($addr$jscomp$60$$);
11837
+ return $read$$($addr$jscomp$58$$);
11843
11838
  };
11844
11839
  switch($field$jscomp$1$$.bytes) {
11845
11840
  case 4:
@@ -12072,21 +12067,21 @@ $VirtQueue$$module$src$virtio$$.prototype.avail_get_used_event = function() {
12072
12067
  $VirtQueue$$module$src$virtio$$.prototype.used_get_flags = function() {
12073
12068
  return this.cpu.read16(this.used_addr);
12074
12069
  };
12075
- $VirtQueue$$module$src$virtio$$.prototype.used_set_flags = function($value$jscomp$193$$) {
12076
- this.cpu.write16(this.used_addr, $value$jscomp$193$$);
12070
+ $VirtQueue$$module$src$virtio$$.prototype.used_set_flags = function($value$jscomp$192$$) {
12071
+ this.cpu.write16(this.used_addr, $value$jscomp$192$$);
12077
12072
  };
12078
12073
  $VirtQueue$$module$src$virtio$$.prototype.used_get_idx = function() {
12079
12074
  return this.cpu.read16(this.used_addr + 2);
12080
12075
  };
12081
- $VirtQueue$$module$src$virtio$$.prototype.used_set_idx = function($value$jscomp$194$$) {
12082
- this.cpu.write16(this.used_addr + 2, $value$jscomp$194$$);
12076
+ $VirtQueue$$module$src$virtio$$.prototype.used_set_idx = function($value$jscomp$193$$) {
12077
+ this.cpu.write16(this.used_addr + 2, $value$jscomp$193$$);
12083
12078
  };
12084
12079
  $VirtQueue$$module$src$virtio$$.prototype.used_set_entry = function($i$jscomp$119$$, $desc_idx$jscomp$1$$, $length_written$$) {
12085
12080
  this.cpu.write32(this.used_addr + 4 + 8 * $i$jscomp$119$$, $desc_idx$jscomp$1$$);
12086
12081
  this.cpu.write32(this.used_addr + 8 + 8 * $i$jscomp$119$$, $length_written$$);
12087
12082
  };
12088
- $VirtQueue$$module$src$virtio$$.prototype.used_set_avail_event = function($value$jscomp$195$$) {
12089
- this.cpu.write16(this.used_addr + 4 + 8 * this.size, $value$jscomp$195$$);
12083
+ $VirtQueue$$module$src$virtio$$.prototype.used_set_avail_event = function($value$jscomp$194$$) {
12084
+ this.cpu.write16(this.used_addr + 4 + 8 * this.size, $value$jscomp$194$$);
12090
12085
  };
12091
12086
  function $VirtQueueBufferChain$$module$src$virtio$$($virtqueue$$, $desc_idx$jscomp$2_head_idx$$) {
12092
12087
  this.cpu = $virtqueue$$.cpu;