From 741df9f5b8ac0d4fa2381eaf38a4c3017f407f40 Mon Sep 17 00:00:00 2001 From: Steven Hugg Date: Mon, 6 Jul 2020 18:53:20 -0500 Subject: [PATCH] zmachine experiments --- README.md | 2 + css/ui.css | 47 +- index.html | 3 + lib/zvm/ifvms.min.js | 3 + presets/zmachine/advent.inf | 4003 +++ presets/zmachine/adventureland.inf | 873 + presets/zmachine/alice.inf | 469 + presets/zmachine/aloneice.inf | 458 + presets/zmachine/balances.inf | 1932 ++ presets/zmachine/hello.inf | 5 + presets/zmachine/house01.inf | 213 + presets/zmachine/house02.inf | 175 + presets/zmachine/house03.inf | 284 + presets/zmachine/house04.inf | 422 + presets/zmachine/house05.inf | 333 + presets/zmachine/house06.inf | 384 + presets/zmachine/house07.inf | 381 + presets/zmachine/museum.inf | 2169 ++ presets/zmachine/ruins1.inf | 691 + presets/zmachine/ruins2.inf | 1025 + presets/zmachine/ruins3.inf | 994 + presets/zmachine/toyshop.inf | 942 + src/codemirror/inform6.js | 121 + src/common/baseplatform.ts | 35 +- src/ide/ui.ts | 1 + src/ide/views.ts | 28 +- src/platform/verilog.ts | 2 +- src/platform/zmachine.ts | 714 + src/worker/fs/fsinform.data | 36946 +++++++++++++++++++++++++++ src/worker/fs/fsinform.js | 201 + src/worker/fs/fsinform.js.metadata | 1 + src/worker/wasm/inform.js | 5781 +++++ src/worker/wasm/inform.wasm | Bin 0 -> 586343 bytes src/worker/workermain.ts | 129 +- 34 files changed, 59739 insertions(+), 28 deletions(-) create mode 100644 lib/zvm/ifvms.min.js create mode 100644 presets/zmachine/advent.inf create mode 100644 presets/zmachine/adventureland.inf create mode 100644 presets/zmachine/alice.inf create mode 100644 presets/zmachine/aloneice.inf create mode 100644 presets/zmachine/balances.inf create mode 100644 presets/zmachine/hello.inf create mode 100644 presets/zmachine/house01.inf create mode 100644 presets/zmachine/house02.inf create mode 100644 presets/zmachine/house03.inf create mode 100644 presets/zmachine/house04.inf create mode 100644 presets/zmachine/house05.inf create mode 100644 presets/zmachine/house06.inf create mode 100644 presets/zmachine/house07.inf create mode 100644 presets/zmachine/museum.inf create mode 100644 presets/zmachine/ruins1.inf create mode 100644 presets/zmachine/ruins2.inf create mode 100644 presets/zmachine/ruins3.inf create mode 100644 presets/zmachine/toyshop.inf create mode 100644 src/codemirror/inform6.js create mode 100644 src/platform/zmachine.ts create mode 100644 src/worker/fs/fsinform.data create mode 100644 src/worker/fs/fsinform.js create mode 100644 src/worker/fs/fsinform.js.metadata create mode 100644 src/worker/wasm/inform.js create mode 100644 src/worker/wasm/inform.wasm diff --git a/README.md b/README.md index 60b2f0da..866374ae 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,7 @@ The IDE uses custom forks for many of these, found at https://github.com/sehugg? * https://github.com/floooh/chips * https://github.com/DrGoldfire/Z80.js * http://www.twitchasylum.com/jsvecx/ +* https://github.com/curiousdannii/ifvms.js/ ### Compilers @@ -60,6 +61,7 @@ The IDE uses custom forks for many of these, found at https://github.com/sehugg? * https://github.com/batari-Basic/batari-Basic * https://www.veripool.org/wiki/verilator * http://mcpp.sourceforge.net/ +* http://www.ifarchive.org/indexes/if-archiveXinfocomXcompilersXinform6.html ### Assemblers/Linkers diff --git a/css/ui.css b/css/ui.css index 7637994a..5edbf832 100644 --- a/css/ui.css +++ b/css/ui.css @@ -568,4 +568,49 @@ div.asset_toolbar { font-family: "Andale Mono", "Menlo", "Lucida Console", monospace; font-size: 10pt; line-height: 1.2; -} \ No newline at end of file +} +.transcript { + background-color: #fff; + width: 100%; + padding: 1.25em; + user-select: text; + font-family: Verdana, Geneva, sans-serif; +} +.transcript-line { + line-height: 1.5; + min-height: 1em; + white-space: pre-wrap; +} +.transcript-style-1 { + font-style: italic; +} +.transcript-style-2 { + white-space: pre-wrap; /* css-3 */ + font-family: "Andale Mono", "Menlo", "Lucida Console", monospace; + line-height: 1; + min-height: 0; +} +.transcript-style-4 { + font-weight: bold; +} +.transcript-style-8 { /* input */ + font-weight: bold; + font-variant: small-caps; + color: #6666ff; + background-color: #eeeeff; + padding: 0.25em; + padding-left: 0.5em; + padding-right: 0.5em; +} +.transcript-reverse { + background-color: #666; + color: #ddd; +} +.transcript-input { + margin:1%; + font-weight: bold; + font-variant: small-caps; + color: #6666ff; + background-color: #eeeeff; +} + \ No newline at end of file diff --git a/index.html b/index.html index c5986c07..c3498a83 100644 --- a/index.html +++ b/index.html @@ -218,6 +218,7 @@ if (window.location.host.endsWith('8bitworkshop.com')) {
  • Atari 5200 (MAME)
  • Atari Color Vector (6502)
  • Markdown
  • +
  • Z-Machine (Inform 6)
  • @@ -311,6 +312,7 @@ if (window.location.host.endsWith('8bitworkshop.com')) {
    +