-1 голос
 
721 просмотр
23.08.2017 / 23:03  Slastyon_Artyom

Как собрать и запустить эмулятор V86

Как собрать эмулятор V86 написанный на JavaScript?
Пробовал так:
  1. <!DOCTYPE html>
  2. <html>
  3.     <head>
  4.         <title>V86 Test</title>
  5.     </head>
  6.     <body>
  7.         <div id="emulator_scripts">
  8.             <script src="lib/9p.js"></script>
  9.             <script src="lib/closure-base.js"></script>
  10.             <script src="lib/esprima.js"></script>
  11.             <script src="lib/esprime-min.js"></script>
  12.             <script src="lib/filesystem.js"></script>
  13.             <script src="lib/jor1k.js"></script>
  14.             <script src="lib/marshall.js"></script>
  15.             <script src="lib/utf8.js"></script>
  16.             <script src="lib/walk.js"></script>
  17.             <script src="lib/walk-min.js"></script>
  18.             <script src="src/acpi.js"></script>
  19.             <script src="src/adapter-externs.js"></script>
  20.             <script src="src/apic.js"></script>
  21.             <script src="src/arith.js"></script>
  22.             <script src="src/bus.js"></script>
  23.             <script src="src/config.js"></script>
  24.             <script src="src/const.js"></script>
  25.             <script src="src/cpu.js"></script>
  26.             <script src="src/debug.js"></script>
  27.             <script src="src/dma.js"></script>
  28.             <script src="src/elf.js"></script>
  29.             <script src="src/externs.js"></script>
  30.             <script src="src/floppy.js"></script>
  31.             <script src="src/fpu.js"></script>
  32.             <script src="src/hpet.js"></script>
  33.             <script src="src/ide.js"></script>
  34.             <script src="src/instructions.js"></script>
  35.             <script src="src/io.js"></script>
  36.             <script src="src/ioapic"></script>
  37.             <script src="src/lib.js"></script>
  38.             <script src="src/log.js"></script>
  39.             <script src="src/main.js"></script>
  40.             <script src="src/memory.js"></script>
  41.             <script src="src/misc_inst.js"></script>
  42.             <script src="src/modrm.js"></script>
  43.             <script src="src/ne2k"></script>
  44.             <script src="src/pci.js"></script>
  45.             <script src="src/pic.js"></script>
  46.             <script src="src/pit.js"></script>
  47.             <script src="src/ps2.js"></script>
  48.             <script src="src/rtc.js"></script>
  49.             <script src="src/state.js"></script>
  50.             <script src="src/string.js"></script>
  51.             <script src="src/translate.js"></script>
  52.             <script src="src/uart.js"></script>
  53.             <script src="src/vga.js"></script>
  54.             <script src="src/virtio.js"></script>
  55.             <script src="src/browser/dummy_screen.js"></script>
  56.             <script src="src/browser/keyboard.js"></script>
  57.             <script src="src/browser/lib.js"></script>
  58.             <script src="src/browser/main.js"></script>
  59.             <script src="src/browser/modem.js"></script>
  60.             <script src="src/browser/mouse.js"></script>
  61.             <script src="src/browser/network.js"></script>
  62.             <script src="src/browser/screen.js"></script>
  63.             <script src="src/browser/serial.js"></script>
  64.             <script src="src/browser/starter.js"></script>
  65.             <script src="src/browser/worker_bus.js"></script>
  66.             <script src="starter.js"></script>
  67.         </div>
  68.         <div id="screen_container">
  69.             <div id="screen"></div>
  70.             <canvas id="vga"></canvas>
  71.         </div>
  72.     </body>
  73. </html>
Starter.js
  1. var emulator = new V86Starter({
  2.     screen_container: document.getElementById("screen_container"),
  3.     bios: {
  4.         url: "bios/seabios.bin",
  5.     },
  6.     vga_bios: {
  7.         url: "bios/vgabios.bin",
  8.     },
  9.     cdrom: {
  10.         url: "images/kali-linux.iso",
  11.     },
  12.     autostart: true,
  13. });
  14. emulator.run();
И так:
  1. <!DOCTYPE html>
  2. <html>
  3.     <head>
  4.         <title>V86 Test</title>
  5.     </head>
  6.     <body>
  7.         <div id="screen_container">
  8.             <div id="screen"></div>
  9.             <canvas id="vga"></canvas>
  10.         </div>
  11.         <script src='build/v86_all.js'></script>
  12.         <script>
  13.             var emulator = new V86Starter({
  14.                 screen_container: document.getElementById("screen_container"),
  15.                 bios: {
  16.                 url: "bios/seabios.bin",
  17.                 },
  18.                 vga_bios: {
  19.                 url: "bios/vgabios.bin",
  20.                 },
  21.                 cdrom: {
  22.                 url: "images/kali-linux.iso",
  23.                 },
  24.                 autostart: true,
  25.             });
  26.             emulator.run();
  27.         </script>
  28.     </body>
  29. </html>
P.S. Мои попытки были тестовыми поэтому там только контейнер с "монитором"
Ссылка github
Ответы
 
1 голос
 
# 2.09.2017 / 17:11  Slastyon_Artyom
Вся причина была в браузере и в некоторых ошибках.Нужно было исправить ошибки и закинуть на хостинг.
Всего: 1

Реклама

Мы в соцсетях

tw tg yt gt