Browse Source

Add Windows 3.1 and Snowdrop

Fabian 3 years ago
parent
commit
bd50bb8dae
3 changed files with 68 additions and 4 deletions
  1. 5 1
      index.html
  2. 38 3
      src/browser/main.js
  3. 25 0
      tests/full/run.js

+ 5 - 1
index.html

@@ -27,6 +27,8 @@
             Including Minesweeper and Internet Explorer with internet access. Additional sectors are loaded as needed.</td></tr>
             <tr id="start_windows95"><td><a href="?profile=windows95">Windows 95</a> <small>4.6 MB</small></td><td>
             Restored from snapshot</td></tr>
+            <tr id="start_windows31"><td><a href="?profile=windows31">Windows 3.1</a> <small>15 MB</small></td><td>
+            Takes 15 seconds to boot</td></tr>
             <tr id="start_windows1"><td><a href="?profile=windows1">Windows 1.01</a> <small>0.6 MB</small></td><td>
             Takes 1 second to boot</td></tr>
             <tr id="start_msdos"><td><a href="?profile=msdos">MS-DOS 6.22</a> <small>4.4 MB</small></td><td>
@@ -49,6 +51,8 @@
             Fast graphical OS written in Assembly</td></tr>
             <tr id="start_qnx"><td><a href="?profile=qnx">QNX</a> <small>1.3 MB</small></td><td>
             QNX 4.05 Demo disk (no networking)</td></tr>
+            <tr id="start_snowdrop"><td><a href="?profile=snowdrop">Snowdrop</a> <small>0.3 MB</small></td><td>
+            A homebrew operating system from scratch, written in assembly language</td></tr>
             <tr id="start_solos"><td><a href="?profile=solos">Solar OS</a> <small>0.3 MB</small></td><td>
             Simple graphical OS</td></tr>
             <tr id="start_bootchess"><td><a href="?profile=bootchess">Bootchess</a> <small>0.1 MB</small></td><td>
@@ -254,7 +258,7 @@
 <div id="terminal"></div>
 
 <br style="clear: both">
-<code>Version: <a href="https://github.com/copy/v86/commits/b40c8ad2">b40c8ad2</a> (Apr 23, 2020 01:04)</code>
+<code>Version: <a href="https://github.com/copy/v86/commits/98e7110c2">98e7110c2</a> (Feb 16, 2021 12:02)</code>
 
 <hr>
 <a href="debug.html">Enable debug</a>

+ 38 - 3
src/browser/main.js

@@ -379,15 +379,27 @@
                     "async": false,
                     "size": 1474560,
                 },
-                name: "Bootchess",
+                name: "BootChess",
                 homepage: "http://www.pouet.net/prod.php?which=64962",
             },
+            {
+                id: "bootbasic",
+                fda: {
+                    "url": HOST + "bootbasic.img",
+                    "async": false,
+                    "size": 1474560,
+                },
+                name: "bootBASIC",
+                homepage: "https://github.com/nanochess/bootBASIC",
+            },
             {
                 id: "windows2000",
                 memory_size: 512 * 1024 * 1024,
                 hda: {
-                    "url": "images/windows2k.img",
+                    "url": HOST + "windows2k.img",
+                    "size": 2 * 1024 * 1024 * 1024,
                     "async": true,
+                    use_parts: !ON_LOCALHOST,
                 },
                 name: "Windows 2000",
                 state: {
@@ -399,8 +411,10 @@
                 id: "windows2000-boot",
                 memory_size: 512 * 1024 * 1024,
                 hda: {
-                    "url": "images/windows2k.img",
+                    "url": HOST + "windows2k.img",
+                    "size": 2 * 1024 * 1024 * 1024,
                     "async": true,
+                    use_parts: !ON_LOCALHOST,
                 },
                 boot_order: 0x132,
                 name: "Windows 2000",
@@ -465,6 +479,16 @@
                 },
                 name: "Windows 3.0",
             },
+            {
+                id: "windows31",
+                memory_size: 64 * 1024 * 1024,
+                hda: {
+                    "url": HOST + "win31.img",
+                    "async": false,
+                    "size": 34463744,
+                },
+                name: "Windows 3.1",
+            },
             {
                 id: "freebsd",
                 memory_size: 256 * 1024 * 1024,
@@ -541,6 +565,17 @@
                 name: "Skift",
                 homepage: "https://skiftos.org/",
             },
+            {
+                id: "snowdrop",
+                memory_size: 128 * 1024 * 1024,
+                fda: {
+                    "url": HOST + "snowdrop.img",
+                    "size": 1440 * 1024,
+                    "async": false,
+                },
+                name: "Snowdrop",
+                homepage: "http://www.sebastianmihai.com/snowdrop/",
+            },
             {
                 id: "openwrt",
                 memory_size: 128 * 1024 * 1024,

+ 25 - 0
tests/full/run.js

@@ -118,6 +118,19 @@ if(cluster.isMaster)
                 },
             ],
         },
+        {
+            name: "Snowdrop",
+            fda: root_path + "/images/snowdrop.img",
+            timeout: 30,
+            expect_graphical_mode: true,
+            expect_mouse_registered: true,
+            actions: [
+                {
+                    on_text: "[Snowdrop OS snowshell]:",
+                    run: "desktop\n"
+                },
+            ],
+        },
         {
             name: "Linux",
             cdrom: root_path + "/images/linux.iso",
@@ -341,6 +354,18 @@ if(cluster.isMaster)
                 },
             ],
         },
+        {
+            name: "Windows 3.1",
+            skip_if_disk_image_missing: true,
+            timeout: 2 * 60,
+            hda: root_path + "/images/win31.img",
+            expect_graphical_mode: true,
+            expect_graphical_size: [1024, 768],
+            expect_mouse_registered: true,
+            expected_texts: [
+                "MODE prepare code page function completed",
+            ],
+        },
         {
             name: "FreeBSD",
             skip_if_disk_image_missing: true,