├── .dropbox.attr
├── .gitignore
├── Build1
└── zmachine
│ ├── zmachine.sln
│ └── zmachine
│ ├── App.config
│ ├── CompareOutput.png
│ ├── IO.cs
│ ├── Lex.cs
│ ├── Machine.cs
│ ├── Memory.cs
│ ├── ObjectTable.cs
│ ├── ObjectTableFunctions.txt
│ ├── OpcodeHandler.cs
│ ├── Program.cs
│ ├── Properties
│ └── AssemblyInfo.cs
│ ├── ZORK1.DAT
│ ├── crc32.cs
│ ├── hhgg.z5
│ ├── zmachine.csproj
│ ├── zmachine.csproj.user
│ └── zmachinestatus.txt
├── Build2
└── Z-Machine
│ ├── Assembly-CSharp-vs.csproj
│ ├── Assembly-CSharp.csproj
│ ├── Assets
│ ├── Fonts
│ │ ├── Inconsolata-Bold.ttf
│ │ ├── Inconsolata-Regular.ttf
│ │ └── New Font.fontsettings
│ ├── FreeFurnitureSet
│ │ ├── Materials
│ │ │ ├── metal.mat
│ │ │ └── wood.mat
│ │ ├── Models
│ │ │ ├── cabinet.FBX
│ │ │ ├── chair.FBX
│ │ │ ├── desk.FBX
│ │ │ └── table.FBX
│ │ ├── Prefabs
│ │ │ ├── cabinet.prefab
│ │ │ ├── chair.prefab
│ │ │ ├── desk.prefab
│ │ │ └── table.prefab
│ │ ├── Textures
│ │ │ └── wood.png
│ │ └── scenes
│ │ │ ├── demo.unity
│ │ │ └── demo
│ │ │ └── LightmapFar-0.exr
│ ├── Scenes
│ │ ├── GUI Testing.unity
│ │ └── ModelRoom.unity
│ ├── Scripts
│ │ ├── IO.cs
│ │ ├── Lex.cs
│ │ ├── Machine.cs
│ │ ├── Memory.cs
│ │ ├── ObjectTable.cs
│ │ ├── OpcodeHandler.cs
│ │ ├── Program.cs
│ │ ├── RunZork.cs
│ │ ├── SubmitInput.cs
│ │ ├── TestingInput.cs
│ │ └── crc32.cs
│ ├── ZORK1.DAT
│ └── hhgg.z5
│ ├── Library
│ ├── AnnotationManager
│ ├── AssetImportState
│ ├── AssetServerCacheV3
│ ├── AssetVersioning.db
│ ├── BuildPlayer.prefs
│ ├── BuildSettings.asset
│ ├── CurrentLayout.dwlt
│ ├── EditorUserBuildSettings.asset
│ ├── EditorUserSettings.asset
│ ├── InspectorExpandedItems.asset
│ ├── LibraryFormatVersion.txt
│ ├── MonoManager.asset
│ ├── ProjectSettings.asset
│ ├── ScriptAssemblies
│ │ ├── Assembly-CSharp.dll
│ │ ├── Assembly-CSharp.dll.mdb
│ │ └── BuiltinAssemblies.stamp
│ ├── ScriptMapper
│ ├── ShaderCache.db
│ ├── ShaderCache
│ │ ├── 0
│ │ │ ├── 0640b9a36b927ffe72c686f0d3047c88.bin
│ │ │ ├── 06c0326a500c1437e9ece431b117d17b.bin
│ │ │ ├── 08bf8c99d6547ff288b22ab1f6849486.bin
│ │ │ ├── 0c64b2f7da00a7b522412b8544d72e25.bin
│ │ │ ├── 0d0717f9d680a23eabe26eb397ad12a2.bin
│ │ │ └── 0ece2bfbf54f8453224e074c76698650.bin
│ │ ├── 1
│ │ │ ├── 169b1d967cfc34f314aac8e745dde7c1.bin
│ │ │ └── 1744bdb2178acea09e0fe7503122db75.bin
│ │ ├── 2
│ │ │ ├── 21f229216fa739350bde11a5d656c38a.bin
│ │ │ ├── 22de5a3d470fbc1027df0fe5b273fbc4.bin
│ │ │ ├── 2e5d10387cd975760eb7b15b73d12ebd.bin
│ │ │ └── 2f863c98514b3ac9c3c00e17306c6153.bin
│ │ ├── 3
│ │ │ ├── 30ac97043b23b7b65bec44d54dc702f6.bin
│ │ │ ├── 34be80ad60c2d2efb22fae70dac3c572.bin
│ │ │ ├── 3909840f2a03562f540ec80fc304f7ca.bin
│ │ │ ├── 3926e0aadb38cba9a9d3244540d1b2f0.bin
│ │ │ ├── 3d987443ef0909d7b52c8812463e8078.bin
│ │ │ └── 3ee1b83443bd8e784a9715a32ba83c16.bin
│ │ ├── 4
│ │ │ ├── 4227a355b64c1ec62f1c649191f31e9f.bin
│ │ │ ├── 45fd48076b2413e3714ba49ddf0c6147.bin
│ │ │ ├── 4a72374006606780b31bbeb4d25db108.bin
│ │ │ ├── 4d33be73fe5ecfdd329d4f09e975fdfe.bin
│ │ │ ├── 4d88eec03287bef5ef4a60706a20975a.bin
│ │ │ └── 4eedf166432ab24d343c45212253dfba.bin
│ │ ├── 5
│ │ │ ├── 52f30e95d63fb3d6a579eae2f3af2db6.bin
│ │ │ ├── 544eb52c503edd34f959d3b488429303.bin
│ │ │ ├── 591b1c33a02a98cfeade9366e30ad8ae.bin
│ │ │ ├── 5e1911256496f4d0921484d0b68f74ec.bin
│ │ │ └── 5ec12f81331eec73f27aac5f22bcf106.bin
│ │ ├── 6
│ │ │ ├── 607a487ed642404ae048274b91b5ad72.bin
│ │ │ ├── 60fef9286d0a82b00b39a4e0240159ae.bin
│ │ │ ├── 636689c99b31cb7cf9aa9375cf01d51f.bin
│ │ │ ├── 640a1eeefd6cdfa6161b4ed5e1870c70.bin
│ │ │ ├── 68f8986a71e72b5ec794d42481f203a6.bin
│ │ │ ├── 69468934c067d5e6a0d89a800f2e8fe9.bin
│ │ │ ├── 6a49e2c6288439a8d00bf5e772bfb8f6.bin
│ │ │ └── 6b358efe50a600af524eae42673c8ef2.bin
│ │ ├── 7
│ │ │ ├── 71b2941ba9795cf5898cd529ee746a2a.bin
│ │ │ └── 775ea8c1283692db5ab8a626a0d0ebf6.bin
│ │ ├── 8
│ │ │ ├── 811a19516fb667f65d6cc44f785b5c11.bin
│ │ │ ├── 8336a1de71ebd86ad7502f1a4fbb30b6.bin
│ │ │ ├── 839f2203e88d4e20ade67a19d6f798df.bin
│ │ │ └── 83be693f5c5478e7b430ac1170d98c4f.bin
│ │ ├── 9
│ │ │ ├── 90e7fbdcd42ab6420ae5a1ef3115d903.bin
│ │ │ ├── 919be77b9dd5fa1d851d1efe4fcb2d7e.bin
│ │ │ ├── 9328e8986396acb303b0a06f3bbf6870.bin
│ │ │ ├── 94ec54488164a4b74b961428c3552f06.bin
│ │ │ ├── 95c2ecc3c5da4de3d1c40947d6dcc3e9.bin
│ │ │ ├── 9d199673dbb3b11d3029e2fa0c6366be.bin
│ │ │ └── 9fb80792e1f6930a09bb888fda2cbc6a.bin
│ │ ├── a
│ │ │ ├── a066bbe06eee247e272d44b3d686a625.bin
│ │ │ ├── a455b213080397272edb28bf12d7e5da.bin
│ │ │ └── a6d0d749c3d450c9bdac49d33fc171a5.bin
│ │ ├── b
│ │ │ ├── b10cbdd9ba42779d84d2809aebf47436.bin
│ │ │ ├── b9787bcad7ab5d7edf8ed8cddbaf1415.bin
│ │ │ ├── bc8467d02131b59a0f66ac1fdf699409.bin
│ │ │ ├── bc9c6d128f02a5639f8a41ff0839ebf5.bin
│ │ │ ├── bd5439e7a8386c503eb2b59b6f85d900.bin
│ │ │ └── bf43e4d8480a2a4e0f6936e1949a7aaf.bin
│ │ ├── c
│ │ │ ├── c16a92dfd9779d5f5a44d86981b29f6f.bin
│ │ │ ├── c63e1bc677264fabb5730c1b1fa55d3b.bin
│ │ │ ├── c9abfff0afd5d6c92cc44f9aeae65033.bin
│ │ │ └── cdf131a289caf4707eebc5bfabc3a7f8.bin
│ │ ├── d
│ │ │ ├── d0e13f950a8f87d4b5c392a63f1e3da4.bin
│ │ │ ├── d662969f96484f24736844d1da204547.bin
│ │ │ ├── d8c6df2506a8e7ddf30bf034f0026035.bin
│ │ │ ├── df703a75f7899d37accf6e7e3a42574c.bin
│ │ │ └── df7b0851d6344002337af92fc079e28c.bin
│ │ ├── e
│ │ │ ├── e3664c75988fb375800edd75700d346d.bin
│ │ │ ├── e5eb0812274e20da4e85f22eb952a38e.bin
│ │ │ ├── e7990bf0af54279cac13451c9a811455.bin
│ │ │ ├── ebc821468e2a85effec46d8a0629f53a.bin
│ │ │ ├── ec293d5adc5d4387a8158803528ba516.bin
│ │ │ ├── ed2a508cc87d4dcc992198b058ae74cb.bin
│ │ │ └── eef6b71ce959f13879fd3956b7fbac3c.bin
│ │ └── f
│ │ │ └── f3978ae787c7eb8f274569c13e153945.bin
│ ├── assetDatabase3
│ ├── expandedItems
│ ├── guidmapper
│ └── metadata
│ │ ├── 20
│ │ ├── 208b3e19d226f264d82e8d7016d990b3
│ │ └── 208b3e19d226f264d82e8d7016d990b3.info
│ │ ├── 21
│ │ ├── 21f3fc561d5dfb34a876fa71dcc70198
│ │ └── 21f3fc561d5dfb34a876fa71dcc70198.info
│ │ ├── 25
│ │ ├── 256cd750e1a1ef742a848f1b5f7b0c42
│ │ └── 256cd750e1a1ef742a848f1b5f7b0c42.info
│ │ ├── 29
│ │ ├── 29e497487ae706f4a90f81cac1f10ccf
│ │ └── 29e497487ae706f4a90f81cac1f10ccf.info
│ │ ├── 38
│ │ ├── 380c7078df8e06b4d8ab768177010c53
│ │ └── 380c7078df8e06b4d8ab768177010c53.info
│ │ ├── 40
│ │ ├── 400453dc66de0024bbc07f806d04dfaf
│ │ └── 400453dc66de0024bbc07f806d04dfaf.info
│ │ ├── 42
│ │ ├── 42b6afc3447f5c649ab3ac558c2e6520
│ │ └── 42b6afc3447f5c649ab3ac558c2e6520.info
│ │ ├── 47
│ │ ├── 475d41c31e1d4b841a7c2dad20e1689d
│ │ └── 475d41c31e1d4b841a7c2dad20e1689d.info
│ │ ├── 59
│ │ ├── 5923dd5836d37604b9224eb4781a2dcd
│ │ └── 5923dd5836d37604b9224eb4781a2dcd.info
│ │ ├── 80
│ │ ├── 80a3616ca19596e4da0f10f14d241e9f
│ │ └── 80a3616ca19596e4da0f10f14d241e9f.info
│ │ ├── 83
│ │ ├── 83a8ea92913740449a4ad6c6c19c7d92
│ │ └── 83a8ea92913740449a4ad6c6c19c7d92.info
│ │ ├── 89
│ │ ├── 892b11b7140154f4285bdbf75c36521a
│ │ └── 892b11b7140154f4285bdbf75c36521a.info
│ │ ├── 90
│ │ ├── 90e5c1f917aca5e4fa42b18c9451da2e
│ │ └── 90e5c1f917aca5e4fa42b18c9451da2e.info
│ │ ├── 00
│ │ ├── 00000000000000001000000000000000
│ │ ├── 00000000000000001000000000000000.info
│ │ ├── 00000000000000002000000000000000
│ │ ├── 00000000000000002000000000000000.info
│ │ ├── 00000000000000003000000000000000
│ │ ├── 00000000000000003000000000000000.info
│ │ ├── 00000000000000004000000000000000
│ │ ├── 00000000000000004000000000000000.info
│ │ ├── 00000000000000004100000000000000
│ │ ├── 00000000000000004100000000000000.info
│ │ ├── 00000000000000005000000000000000
│ │ ├── 00000000000000005000000000000000.info
│ │ ├── 00000000000000005100000000000000
│ │ ├── 00000000000000005100000000000000.info
│ │ ├── 00000000000000006000000000000000
│ │ ├── 00000000000000006000000000000000.info
│ │ ├── 00000000000000006100000000000000
│ │ ├── 00000000000000006100000000000000.info
│ │ ├── 00000000000000007000000000000000
│ │ ├── 00000000000000007000000000000000.info
│ │ ├── 00000000000000008000000000000000
│ │ ├── 00000000000000008000000000000000.info
│ │ ├── 00000000000000009000000000000000
│ │ ├── 00000000000000009000000000000000.info
│ │ ├── 0000000000000000a000000000000000
│ │ ├── 0000000000000000a000000000000000.info
│ │ ├── 0000000000000000b000000000000000
│ │ ├── 0000000000000000b000000000000000.info
│ │ ├── 0000000000000000c000000000000000
│ │ └── 0000000000000000c000000000000000.info
│ │ ├── 03
│ │ ├── 03db3db6f68dc514e8f1ee0c95468740
│ │ └── 03db3db6f68dc514e8f1ee0c95468740.info
│ │ ├── 04
│ │ ├── 04b71a8614e4af24989b0b8ecd4bbde3
│ │ └── 04b71a8614e4af24989b0b8ecd4bbde3.info
│ │ ├── 05
│ │ ├── 057d5430214e8414cafeee34639cae34
│ │ └── 057d5430214e8414cafeee34639cae34.info
│ │ ├── 0f
│ │ ├── 0f61ef3ece10b7c4bbc27b34eb63d727
│ │ └── 0f61ef3ece10b7c4bbc27b34eb63d727.info
│ │ ├── 1b
│ │ ├── 1b5c69c0a0542cc46ab05ac37c7a2ae5
│ │ └── 1b5c69c0a0542cc46ab05ac37c7a2ae5.info
│ │ ├── 1e
│ │ ├── 1ef132f753f8fa642aec7e0675b4788d
│ │ └── 1ef132f753f8fa642aec7e0675b4788d.info
│ │ ├── 3b
│ │ ├── 3b4cc2688e6fe3543a327d1d422f3151
│ │ └── 3b4cc2688e6fe3543a327d1d422f3151.info
│ │ ├── 3d
│ │ ├── 3da411549bd4d5e49bfc59bb789c4ac7
│ │ └── 3da411549bd4d5e49bfc59bb789c4ac7.info
│ │ ├── 4b
│ │ ├── 4b7bec28e7d6ed04d83f326c21a33e15
│ │ └── 4b7bec28e7d6ed04d83f326c21a33e15.info
│ │ ├── 4c
│ │ ├── 4c0fe61e2df6b5849a7133213e52b2d8
│ │ └── 4c0fe61e2df6b5849a7133213e52b2d8.info
│ │ ├── 4d
│ │ ├── 4d5a532497eeb314eb5058feadb3423c
│ │ └── 4d5a532497eeb314eb5058feadb3423c.info
│ │ ├── 7f
│ │ ├── 7fc4f1ae771c82248a8194f137ffd698
│ │ └── 7fc4f1ae771c82248a8194f137ffd698.info
│ │ ├── 8a
│ │ ├── 8a38d8e5af9904640b3fce05ebd3712f
│ │ └── 8a38d8e5af9904640b3fce05ebd3712f.info
│ │ ├── 8b
│ │ ├── 8b02e897774729f44b5d749161a8bf13
│ │ ├── 8b02e897774729f44b5d749161a8bf13.info
│ │ ├── 8b5326baaaee7b44dbd927fa8383a226
│ │ └── 8b5326baaaee7b44dbd927fa8383a226.info
│ │ ├── 8c
│ │ ├── 8c1ab7b5cb8e12f4088c6a0ba58427af
│ │ └── 8c1ab7b5cb8e12f4088c6a0ba58427af.info
│ │ ├── 8d
│ │ ├── 8dcb342b46460c64cbe5e2b61029710e
│ │ └── 8dcb342b46460c64cbe5e2b61029710e.info
│ │ ├── ae
│ │ ├── ae207bc4ee0595247b245a86f38fb4e5
│ │ └── ae207bc4ee0595247b245a86f38fb4e5.info
│ │ ├── bc
│ │ ├── bc09823b4a881ae48a3b1f5243401f03
│ │ ├── bc09823b4a881ae48a3b1f5243401f03.info
│ │ ├── bc58e39d5a39cc741ba6070216845032
│ │ └── bc58e39d5a39cc741ba6070216845032.info
│ │ ├── c9
│ │ ├── c940c180a0f266e4287416baa0eb1ada
│ │ └── c940c180a0f266e4287416baa0eb1ada.info
│ │ ├── cf
│ │ ├── cf42c0414564e924984129862cae5c59
│ │ └── cf42c0414564e924984129862cae5c59.info
│ │ ├── d6
│ │ ├── d6f52e515307d2041abb8cd710c80d03
│ │ └── d6f52e515307d2041abb8cd710c80d03.info
│ │ ├── d8
│ │ ├── d88ede4314e591e4ba8726d98e1cecb2
│ │ └── d88ede4314e591e4ba8726d98e1cecb2.info
│ │ ├── e5
│ │ ├── e5f7fbe9afca239488f5a66582c03c55
│ │ └── e5f7fbe9afca239488f5a66582c03c55.info
│ │ ├── ec
│ │ ├── ec505f73967a98c48a090df01f10c44b
│ │ ├── ec505f73967a98c48a090df01f10c44b.info
│ │ ├── ecdfe9f0b8508af4d92737c656e36132
│ │ └── ecdfe9f0b8508af4d92737c656e36132.info
│ │ ├── ed
│ │ ├── ed127049c1bb0134f9276f8f13b1ae0e
│ │ └── ed127049c1bb0134f9276f8f13b1ae0e.info
│ │ ├── f5
│ │ ├── f5f67c52d1564df4a8936ccd202a3bd8
│ │ └── f5f67c52d1564df4a8936ccd202a3bd8.info
│ │ └── f6
│ │ ├── f63df71161fd98c4191fdbc25700aa62
│ │ └── f63df71161fd98c4191fdbc25700aa62.info
│ ├── Project Design.doc
│ ├── ProjectOutline.txt
│ ├── ProjectSettings
│ ├── AudioManager.asset
│ ├── DynamicsManager.asset
│ ├── EditorBuildSettings.asset
│ ├── EditorSettings.asset
│ ├── GraphicsSettings.asset
│ ├── InputManager.asset
│ ├── NavMeshAreas.asset
│ ├── NetworkManager.asset
│ ├── Physics2DSettings.asset
│ ├── ProjectSettings.asset
│ ├── ProjectVersion.txt
│ ├── QualitySettings.asset
│ ├── TagManager.asset
│ └── TimeManager.asset
│ ├── Z-Machine-csharp.sln
│ ├── Z-Machine.sln
│ └── ZORK1.DAT
├── DOSInstaller
├── DOSBox0.74-win32-installer.exe
└── LaunchBox-4.4-Setup.exe
├── README.md
├── Zork 1
├── DATA
│ └── ZORK1.DAT
├── NNANSI.COM
├── README.TXT
├── SAVE
│ └── ZORK1.DAT
├── SETUP.INF
├── ZORK1.BAT
└── _ZORK1.COM
├── z-spec10.pdf
├── zip.pdf
└── zmach06e.pdf
/.dropbox.attr:
--------------------------------------------------------------------------------
1 | {"mac": {"com.apple.FinderInfo": {"data": "AAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="}}}
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 |
4 | # User-specific files
5 | *.suo
6 | *.user
7 | *.userosscache
8 | *.sln.docstates
9 |
10 | # User-specific files (MonoDevelop/Xamarin Studio)
11 | *.userprefs
12 |
13 | # Build results
14 | [Dd]ebug/
15 | [Dd]ebugPublic/
16 | [Rr]elease/
17 | [Rr]eleases/
18 | x64/
19 | x86/
20 | build/
21 | bld/
22 | [Bb]in/
23 | [Oo]bj/
24 |
25 | # Visual Studo 2015 cache/options directory
26 | .vs/
27 |
28 | # MSTest test Results
29 | [Tt]est[Rr]esult*/
30 | [Bb]uild[Ll]og.*
31 |
32 | # NUNIT
33 | *.VisualState.xml
34 | TestResult.xml
35 |
36 | # Build Results of an ATL Project
37 | [Dd]ebugPS/
38 | [Rr]eleasePS/
39 | dlldata.c
40 |
41 | *_i.c
42 | *_p.c
43 | *_i.h
44 | *.ilk
45 | *.meta
46 | *.obj
47 | *.pch
48 | *.pdb
49 | *.pgc
50 | *.pgd
51 | *.rsp
52 | *.sbr
53 | *.tlb
54 | *.tli
55 | *.tlh
56 | *.tmp
57 | *.tmp_proj
58 | *.log
59 | *.vspscc
60 | *.vssscc
61 | .builds
62 | *.pidb
63 | *.svclog
64 | *.scc
65 |
66 | # Chutzpah Test files
67 | _Chutzpah*
68 |
69 | # Visual C++ cache files
70 | ipch/
71 | *.aps
72 | *.ncb
73 | *.opensdf
74 | *.sdf
75 | *.cachefile
76 |
77 | # Visual Studio profiler
78 | *.psess
79 | *.vsp
80 | *.vspx
81 |
82 | # TFS 2012 Local Workspace
83 | $tf/
84 |
85 | # Guidance Automation Toolkit
86 | *.gpState
87 |
88 | # ReSharper is a .NET coding add-in
89 | _ReSharper*/
90 | *.[Rr]e[Ss]harper
91 | *.DotSettings.user
92 |
93 | .dropbox
94 | desktop.ini
95 |
96 |
--------------------------------------------------------------------------------
/Build1/zmachine/zmachine.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Express 2013 for Windows Desktop
4 | VisualStudioVersion = 12.0.31101.0
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "zmachine", "zmachine\zmachine.csproj", "{B8D61C79-30D9-4327-BB6D-5F33BE75E3F1}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {B8D61C79-30D9-4327-BB6D-5F33BE75E3F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {B8D61C79-30D9-4327-BB6D-5F33BE75E3F1}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {B8D61C79-30D9-4327-BB6D-5F33BE75E3F1}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 | {B8D61C79-30D9-4327-BB6D-5F33BE75E3F1}.Release|Any CPU.Build.0 = Release|Any CPU
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | EndGlobal
23 |
--------------------------------------------------------------------------------
/Build1/zmachine/zmachine/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Build1/zmachine/zmachine/CompareOutput.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build1/zmachine/zmachine/CompareOutput.png
--------------------------------------------------------------------------------
/Build1/zmachine/zmachine/IO.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace zmachine
8 | {
9 | public class IO
10 | {
11 | public string ReadLine()
12 | {
13 | return Console.ReadLine();
14 | }
15 | public void Write(String str)
16 | {
17 | Console.WriteLine(str);
18 | }
19 | public void WriteLine(String str)
20 | {
21 | Console.Write(str);
22 | }
23 | public System.ConsoleKeyInfo ReadKey()
24 | {
25 | return Console.ReadKey();
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/Build1/zmachine/zmachine/Lex.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Diagnostics;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using System.Text;
6 | using System.Threading.Tasks;
7 |
8 | namespace zmachine
9 | {
10 |
11 | public class Lex
12 | {
13 | Memory memory;
14 | uint dictionaryAddress;
15 | List separators = new List();
16 | List dictionary = new List();
17 | List dictionaryIndex = new List();
18 | int[] wordStartIndex;
19 | IO io = new IO();
20 |
21 | uint mp = 0; // Memory Pointer
22 |
23 | public Lex(Memory mem)
24 | {
25 | memory = mem;
26 | dictionaryAddress = memory.getWord(Memory.ADDR_DICT);
27 | //IO io = new IO();
28 | }
29 |
30 | public void read(int textBufferAddress, uint parseBufferAddress)
31 | {
32 | int maxInputLength = memory.getByte((uint)textBufferAddress) - 1; // byte 0 of the text-buffer should initially contain the maximum number of letters which can be typed, minus 1
33 | int parseBufferLength = memory.getByte((uint)parseBufferAddress);
34 | mp = parseBufferAddress + 2;
35 | String input = io.ReadLine(); // Get initial input from io terminal
36 |
37 | if (input.Length > maxInputLength)
38 | input = input.Remove(maxInputLength); // Limit input to size of text-buffer
39 | input.TrimEnd('\n'); // Remove carriage return from end of string
40 | input = input.ToLower(); // Convert to lowercase
41 |
42 | writeToBuffer(input, textBufferAddress); // stored in bytes 1 onward, with a zero terminator (but without any other terminator, such as a carriage return code
43 |
44 | if (parseBufferLength > 0) // Check to see if lexical analysis is called for
45 | {
46 | buildDict(); // Build Dictionary into class variable
47 | String[] wordArray = parseString(input); // Separate string by spaces and build list of word indices
48 | uint[] matchedWords = new uint[parseBufferLength];
49 |
50 | for (int i = 0; i < wordArray.Length; i++)
51 | {
52 | matchedWords[i] = compare(wordArray[i]); // Stores the dictionary address of matched words (or 0 if no match)
53 | // Debug.WriteLine("Byte address of matched word: " + matchedWords[i]);
54 | }
55 | // Record dictionary addresses after comparing words
56 |
57 |
58 | memory.setByte(mp - 1, (byte)(wordArray.Length)); // Write number of parsed words
59 |
60 | for (int i = 0; i < wordArray.Length; i++)
61 | {
62 |
63 | // if (4 * (i + 1) < parseBufferLength)
64 | // {
65 | int wordLength = wordArray[i].Length;
66 | memory.setWord((uint)(mp), (ushort)matchedWords[i]); // Address in dictionary of matches (either from dictionary or 0)
67 | memory.setByte((uint)(mp + 2), (byte)wordLength); // # of letters in parsed word
68 | memory.setByte((uint)(mp + 3), (byte)wordStartIndex[i]); // Corresponding word position in text buffer
69 | // }
70 | mp += 4;
71 | memory.setByte((uint)mp, 0);
72 | }
73 | }
74 |
75 | }
76 |
77 | // Store string (in ZSCII) at address in byte 1 onward with a zero terminator.
78 | public void writeToBuffer(String input, int address)
79 | {
80 | int i;
81 | for (i = 0; i < input.Length; i++)
82 | {
83 | char ch = input[i];
84 | // Convert these to ZSCII here...
85 | memory.setByte((uint)(address + i + 1), (byte)ch);
86 | }
87 | // Write next char from input into 3-char array (unimplemented)
88 |
89 | memory.setByte((uint)(address + i + 1), 0); // Write empty byte to terminate after read is complete.
90 | // io.WriteLine("Converted ZSCII string: " + memory.getZSCII((uint)(address + 1), 0).str);
91 | }
92 |
93 | public void buildDict()
94 | {
95 | // build the dictionary into class variable
96 | uint separatorLength = memory.getByte(dictionaryAddress); // Number of separators
97 | uint entryLength = memory.getByte(dictionaryAddress + separatorLength + 1); // Size of each entry (default 7 bytes)
98 | uint dictionaryLength = memory.getWord(dictionaryAddress + separatorLength + 2); // Number of 2-byte entries
99 | uint entryAddress = dictionaryAddress + separatorLength + 4; // Start of dictionary entries
100 |
101 | for (uint i = entryAddress; i < dictionaryAddress + separatorLength; i++)
102 | {
103 | separators.Add(memory.getByte(i + 1)); // Find 'n' different word separators and add to list
104 | }
105 |
106 | for (uint i = entryAddress; i < entryAddress + dictionaryLength * entryLength; i += entryLength)
107 | {
108 | dictionaryIndex.Add(i); // Record dictionary entry address
109 | Memory.StringAndReadLength dictEntry = memory.getZSCII(i, 0);
110 | // Debug.WriteLine(dictEntry.str);
111 | dictionary.Add(dictEntry.str); // Find 'n' different dictionary entries and add words to list
112 | }
113 | }
114 |
115 | public uint compare(String word, int dictionaryFlag = 0)
116 | {
117 | if (word.Length > 6)
118 | word = word.Remove(6);
119 | // search dictionary for comparisons
120 | for (int i = 0; i < dictionary.Count; i++)
121 | {
122 | if (dictionary[i] == word)
123 | {
124 | // io.WriteLine("Matched word: " + word + " at dictionary entry: " + memory.getByte((uint)dictionaryIndex[i]) + " // " + dictionary[i] );
125 | return dictionaryIndex[i];
126 | }
127 | }
128 | // io.WriteLine("Could not identify keyword: " + word); // Game will have its own readout
129 | return 0;
130 | }
131 |
132 | public String[] parseString(String input)
133 | {
134 | int wordindex = 1;
135 |
136 | String[] wordArray = input.Split(' '); // Tokenize into words
137 | wordStartIndex = new int[wordArray.Length];
138 |
139 | // Record start index of each word in input string
140 | for (int i = 0; i < wordArray.Length; i++)
141 | {
142 | wordStartIndex[i] = wordindex; // take index of word
143 |
144 | for (int j = 0; j < wordArray[i].Length; j++)
145 | {
146 | wordindex++; // Add 1 for each char
147 | }
148 | wordindex++; // Add 1 for each space
149 | }
150 |
151 | return wordArray;
152 | }
153 |
154 |
155 |
156 | public int convertZSCIIToZchar(char letter) // (unimplemented)
157 | {
158 | String[] zalphabets = { "abcdefghijklmnopqrstuvwxyz", "ABCDEFGHIJKLMNOPQRSTUVWXYZ", " \n0123456789.,!?_#'\"/\\-:()" };
159 | // Convert into Zchar from ZSCII char
160 | // Note: ASCII 'a' = int 97
161 | if (letter == ' ')
162 | return 0;
163 | else if (zalphabets[0].IndexOf(letter) != -1) // Take in ZSCII letter and return 5-bit Zchar
164 | {
165 | // io.WriteLine("Recognized character: " + (int)letter);
166 | return zalphabets[0].IndexOf(letter) + 6;
167 | }
168 | else if (zalphabets[2].IndexOf(letter) != -1)
169 | {
170 | return zalphabets[2].IndexOf(letter) + 6; // not working properly
171 | }
172 | else
173 | {
174 | // io.WriteLine("Invalid character: " + letter);
175 | return 0;
176 | }
177 | }
178 |
179 |
180 |
181 |
182 |
183 | // List zstringArray = new List(); // Make array to hold onto zstrings
184 | // getZSCII(null, null); // Convert to Zchars
185 |
186 |
187 |
188 | // int padLength = 0;
189 |
190 | // String last = zstringArray[zstringArray.Count - 1];
191 | // zstringArray = zstringArray.RemoveAt(zstringArray.Count - 1); // pop the last zstring in the array
192 | // // Figure out size in memory
193 | // padLength = last.Length % 3; //--------------------------------- Get length of zstring and check if last word needs padding
194 | // last.PadRight(padLength, '5'); // Pad with 5s
195 | // zstringArray = zstringArray.Add(last);
196 |
197 | // for (int i = 0; i < zstringArray.Count; i += 3) // Pack into 3-char pieces as a Zstring
198 | // {
199 | // Concatenate 3 consecutive chars into a word;
200 | // memory.setWord((uint)(textBufferAddress + (2 + 4 * i)), (ushort)zstringArray[i]); // Write number of words in byte 1, write words from byte 2 onward (stopping at parseBufferLength;
201 | // }
202 | // //
203 |
204 | //// tokenize(input) // Tokenize input using the main dictionary
205 | // setVar(firstoperand, zstringArray[i]); // Store string in buffer in first operand
206 |
207 |
208 |
209 | public char readChar()
210 | {
211 | memory.getZChar(Convert.ToChar(io.ReadKey()));// read keypress and pass as a char into getZchar
212 | return '0';
213 | }
214 |
215 | }
216 | }
217 |
--------------------------------------------------------------------------------
/Build1/zmachine/zmachine/Memory.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO;
3 | using System.Diagnostics;
4 | using System.Collections.Generic;
5 | using System.Linq;
6 | using System.Text;
7 | using System.Threading.Tasks;
8 |
9 | namespace zmachine
10 | {
11 | public class Memory
12 | {
13 | byte[] memory;
14 | IO io = new IO();
15 |
16 | public Memory (int size)
17 | {
18 | // Class constructor
19 | memory = new byte[size];
20 | }
21 |
22 | //input byte array [] from file, output size specified byte array []
23 | public void load(string filename)
24 | {
25 | //Load data into temp variable, copy into specified byte array
26 |
27 | byte[] src = File.ReadAllBytes(filename);
28 |
29 | if (src.Length <= memory.Length)
30 | {
31 |
32 | int i = 0;
33 | foreach (byte b in src)
34 | {
35 | //read through bytes and write in new byte array []
36 | memory[i] = src[i];
37 | i++;
38 | }
39 | }
40 |
41 | }
42 | //assign given byte value @ hex address location
43 | public void setByte(uint address, byte val)
44 | {
45 | memory[address] = val;
46 | }
47 |
48 |
49 | //access given byte location & return byte stored in data
50 | public byte getByte(uint address)
51 | {
52 | return (byte) memory[address];
53 | }
54 |
55 |
56 | //assign 16-bit value from given 16-bit memory address
57 | public void setWord(uint address, ushort val)
58 | {
59 | byte a = (byte) ((val >> 8) & 0xff);
60 | byte b = (byte) (val & 0xff);
61 |
62 | // byte[] a = BitConverter.GetBytes(val);
63 | // byte first = (byte) a[0];
64 | // byte second = (byte) a[1];
65 | // first <<= 8; // shift first byte up 8 bits
66 | memory[address] = a;
67 | memory[address + 1] = b;
68 | }
69 |
70 |
71 | public ushort getWord(uint address)
72 | {
73 | //access 16-bit value and return "word" stored in data
74 | //read in two bytes, shift first byte left (<<) 8 bits
75 | byte a = memory[address];
76 | byte b = memory[address + 1];
77 | ushort val = (ushort) ((a << 8) + b);
78 |
79 | return val;
80 | }
81 |
82 | public short getSignedWord(uint address)
83 | {
84 | return (short)getWord(address);
85 | }
86 |
87 | public static ushort ADDR_VERSION = 0x00;
88 | public static ushort ADDR_HIGH = 0x04;
89 | public static ushort ADDR_INITIALPC = 0x06;
90 | public static ushort ADDR_GLOBALS = 0x0c;
91 | public static ushort ADDR_DICT = 0x08;
92 | public static ushort ADDR_OBJECTS = 0x0a;
93 | public static ushort ADDR_ABBREVS = 0x18;
94 |
95 | public string getAbbrev(int abbrevIndex)
96 | {
97 | StringAndReadLength abbrev = getZSCII((uint)(getWord((uint)(getWord(Memory.ADDR_ABBREVS) + abbrevIndex * 2)) * 2), 0);
98 | return abbrev.str;
99 | }
100 |
101 | public class StringAndReadLength
102 | {
103 | public String str = "";
104 | public int bytesRead = 0; // We need to return how many bytes were read so that op_print can correctly place the pc after reading.
105 |
106 | }
107 |
108 | public char getZChar(int zchar)
109 | {
110 | if (zchar == 0) // null char
111 | return (char)0;
112 | else if (zchar == 8) // delete char
113 | return (char)0;
114 | else if (zchar == 13) // newline char
115 | return '\n';
116 | else if (zchar == 27)
117 | return (char)0;
118 | else if (zchar >= 129 && zchar <= 154)
119 | return (char)0;
120 | else if (
121 | zchar >= 32 && zchar <= 126 || // standard ascii
122 | zchar >= 155 && zchar <= 251) // Take in 10-bit zscii and return ascii
123 | return (char)zchar;
124 | else
125 | {
126 | Debug.WriteLine("Invalid 10-bit char: " + (char)zchar);
127 | return (char)0;
128 | }
129 | }
130 |
131 | public StringAndReadLength getZSCII(uint address, uint numBytes)
132 | {
133 | String[] zalphabets = { "abcdefghijklmnopqrstuvwxyz", "ABCDEFGHIJKLMNOPQRSTUVWXYZ", " \n0123456789.,!?_#'\"/\\-:()" };
134 | int currentAlphabet = 0;
135 | int bytesRead = 0;
136 | int read10Bit = 0;
137 | int abbrevSet = 0;
138 | int zchar10 = 0;
139 |
140 | String output = "";
141 | String debugOutput = "";
142 | int z = 0;
143 | bool debug = false;
144 |
145 |
146 | bool stringComplete = false;
147 | while (!stringComplete)
148 | {
149 | //Get another word from memory
150 | ushort word = getWord(address);
151 | if (((word >> 15) & 0x1) == 1) stringComplete = true;
152 |
153 | int[] c = new int[3]; // Store three zchars across 16 bits (two bytes). May have to make a dynamic list and pad it once every 3 reads.
154 |
155 | c[0] = (word >> 10) & 0x01f;
156 | c[1] = (word >> 5) & 0x01f;
157 | c[2] = word & 0x01f;
158 |
159 | // Debug.WriteLine("Reading Zchars \t\t 1:{0}\t 2:{1}\t 3:{2}", c[0], c[1], c[2]);
160 |
161 | /* ZSCII codes are 10-bit unsigned values between 0 and 1023.
162 | * Summary of the ZSCII rules:
163 | * - The codes 0 to 31 are undefined in V3 except as follows -
164 | * 0 = null (output only)
165 | * 13 = newline
166 | * 32-126 = standard ASCII
167 | * 155-251 = extra characters (other languages, punctuation marks, mathematical or dingbat characters)
168 | * The codes 256 to 1023 are undefined, so that for all practical purposes ZSCII is an 8-bit unsigned code.
169 | * 0123456789abcdef0123456789abcdef
170 | --------------------------------
171 | $20 !"#$%&'()*+,-./0123456789:;<=>?
172 | $40 @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
173 | $60 'abcdefghijklmnopqrstuvwxyz{!}~
174 | --------------------------------
175 | *
176 | * Note that if a random stretch of memory is accidentally printed as a string (due to an error in the story file),
177 | * illegal ZSCII codes may well be printed using the 4-Z-character escape sequence. It's helpful for interpreters
178 | * to filter out any such illegal codes so that the resulting on-screen mess will not cause trouble for the terminal
179 | * (e.g. by causing the interpreter to print ASCII 12, clear screen, or 7, bell sound).
180 | */
181 |
182 | for (int i = 0; i < 3; i++)
183 | {
184 |
185 | if (read10Bit > 0)
186 | {
187 | switch (read10Bit)
188 | {
189 | case 2:
190 | {
191 | zchar10 = c[i] << 5;
192 | break;
193 | }
194 | case 1:
195 | {
196 | zchar10 += c[i];
197 |
198 | output += getZChar(zchar10);
199 | if (debug == true)
200 | {
201 | debugOutput += getZChar(zchar10); z++;
202 | io.WriteLine("\n" + debugOutput + "(" + z + ")");
203 | }
204 | break;
205 | }
206 | }
207 | --read10Bit;
208 | }
209 | else if (abbrevSet != 0)
210 | {
211 | int abbrevId = (abbrevSet - 1) * 32 + c[i];
212 | //get the abbrev string using the current character and append it
213 | output += getAbbrev(abbrevId);
214 | if (debug == true)
215 | {
216 | debugOutput += getAbbrev(abbrevId); z++;
217 | Debug.WriteLine("Abbrev: |" + abbrevId + "| : " + getAbbrev(abbrevId));
218 | }
219 | abbrevSet = 0;
220 | }
221 | else if (c[i] == 0)
222 | {
223 | output += " ";
224 | if (debug == true)
225 | {
226 | debugOutput += (" "); z++;
227 | Debug.WriteLine("\n" + "SPACE" + "(" + z + ")");
228 | }
229 | }
230 | else if (c[i] == 1 || c[i] == 2 || c[i] == 3) // Get abbreviation at given address using next two values
231 | {
232 | abbrevSet = c[i];
233 | }
234 | else if (c[i] == 4) //Change currentAlphabet = Uppercase (A1)
235 | currentAlphabet = 1;
236 | else if (c[i] == 5) //Change currentAlphabet = Punctuation (A2)
237 | currentAlphabet = 2;
238 | else if (c[i] == 6 && currentAlphabet == 2)
239 | {
240 | read10Bit = 2;
241 | }
242 | else
243 | {
244 | output += zalphabets[currentAlphabet][c[i] - 6];
245 | if (debug == true)
246 | {
247 | debugOutput += zalphabets[currentAlphabet][c[i] - 6]; z++;
248 | }
249 | currentAlphabet = 0;
250 | }
251 |
252 | }
253 |
254 | address += 2; // move to next word
255 | bytesRead += 2; // store number of bytesRead for pointer
256 |
257 | if (numBytes > 0 && bytesRead >= numBytes)
258 | {
259 | stringComplete = true;
260 | if (debug == true)
261 | {
262 | Debug.WriteLine("\n" + debugOutput + "(" + z + ")");
263 | }
264 | }
265 |
266 | }
267 |
268 | StringAndReadLength ret = new StringAndReadLength();
269 | ret.bytesRead = bytesRead;
270 | ret.str = output;
271 | return ret;
272 | }
273 |
274 | // Print the file header
275 | public void dumpHeader()
276 | {
277 | Debug.WriteLine("Type : " + getByte(ADDR_VERSION));
278 | Debug.WriteLine("Base : " + getWord(ADDR_HIGH));
279 | Debug.WriteLine("PC : " + getWord(ADDR_INITIALPC));
280 | Debug.WriteLine("Dict : " + getWord(ADDR_DICT));
281 | Debug.WriteLine("Obj : " + getWord(ADDR_OBJECTS));
282 |
283 | }
284 |
285 | public uint getCrc32()
286 | {
287 | Crc32 crc32 = new Crc32();
288 | return crc32.ComputeChecksum(memory);
289 | }
290 |
291 |
292 | }
293 | }
294 |
--------------------------------------------------------------------------------
/Build1/zmachine/zmachine/ObjectTable.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Diagnostics;
6 | using System.Threading.Tasks;
7 |
8 | namespace zmachine
9 | {
10 | class ObjectTable
11 | {
12 | Memory memory = new Memory(1024 * 128);
13 | public int tp = 0; // pointer to move through tables
14 | public int objectId = 0; // Object ID
15 |
16 |
17 |
18 | public ObjectTable (Memory mem)
19 | {
20 | memory = mem;
21 | }
22 |
23 | public int getDefaultProperty(int property) // Start reading from the Program Defaults Table (before list of objects)
24 | {
25 | tp = memory.getWord((uint)Memory.ADDR_OBJECTS);
26 | tp += (property - 1) * 2;
27 | int defaultProperty = tp_getWord();
28 | return defaultProperty;
29 | }
30 | public int getObjectTable() // Set Table Pointer to the beginning of the object table. (After Default Properties)
31 | {
32 | tp = memory.getWord((uint)Memory.ADDR_OBJECTS) + (31 * 2);
33 | return tp;
34 | }
35 | public int getPropertyTableAddress(int objectId)// Return property table address for given object. Leaves Table Pointer at beginning of next property.
36 | {
37 | getObjectTable();
38 |
39 | tp = getObjectAddress(objectId) + 7;
40 | int propertyTableAddress = tp_getWord();
41 | return propertyTableAddress;
42 | }
43 | public int getObjectAddress(int objectId) // take an objectId and consult the objectTable
44 | {
45 |
46 | getObjectTable();
47 | tp += 9 * (objectId - 1); // tp will already be set at the start of the object table
48 | int objectAddress = tp; // each object is 9 bytes above the previous
49 |
50 | return objectAddress;
51 | }
52 | public int getObjectPropertyAddress(int objectId, int property) // Get property address for an object's property (if it exists)
53 | {
54 | int propertyAddress;
55 | tp = getPropertyTableAddress(objectId);
56 | int text_length = tp_getByte(); // Read the first byte of the property address, figure out the text-length, then skip forward to the first property address.
57 | tp += (text_length * 2); // skip past header
58 |
59 | int sizeByte = tp_getByte(); // get initial sizeByte (property 1)
60 | while (sizeByte > 0) // Let the search begin! Move through properties looking for a propertyId matching the property given.
61 | {
62 | int propertyId = sizeByte & 31;
63 | int propLen = (sizeByte / 32) + 1;
64 | if (property == propertyId)
65 | {
66 | propertyAddress = tp;
67 | return propertyAddress;
68 | }
69 | tp += propLen;
70 | sizeByte = tp_getByte();
71 | }
72 | return 0;
73 | }
74 | public int getNextObjectPropertyIdAfter(int objectId, int property) // Get property address down the chain given a certain object.
75 | {
76 | int propLen;
77 | int nextPropertyId;
78 | byte sizeByte;
79 |
80 | if (property == 0) // Return first property
81 | {
82 | tp = getPropertyTableAddress(objectId);
83 | int text_length = tp_getByte(); // Read the first byte of the property address, figure out the text-length, then skip forward to the first property address.
84 | tp += (text_length * 2); // skip past header
85 | sizeByte = tp_getByte();
86 |
87 | return sizeByte & 31; // read property id
88 | }
89 |
90 | // Since we are not at the start of the property we want...
91 | tp = getObjectPropertyAddress(objectId, property); // Set pointer to start of given property
92 | sizeByte = memory.getByte((uint)tp - 1); // Find length of property
93 | propLen = getObjectPropertyLengthFromAddress(tp);
94 |
95 | if (sizeByte == 0) // No next property
96 | return 0;
97 |
98 | tp += propLen; // Move pointer to start next property
99 | nextPropertyId = tp_getByte() & 31; // Read next property number
100 |
101 | return nextPropertyId;
102 | }
103 | public int getObjectPropertyLengthFromAddress(int propertyAddress)
104 | {
105 | if (propertyAddress == 0)
106 | {
107 | return 0;
108 | }
109 | int sizeByte = memory.getByte((uint)propertyAddress - 1); // arranged as 32 times the number of data bytes minus one, plus the property number
110 | int propLen = (sizeByte / 32) + 1;
111 | return propLen;
112 | }
113 | public int getObjectProperty(int objectId, int property)
114 | {
115 | // each property is stored as a block
116 | //size byte the actual property data
117 | //---between 1 and 8 bytes--
118 |
119 | int propertyAddress = getObjectPropertyAddress(objectId, property);
120 |
121 | if (propertyAddress == 0)
122 | {
123 | return getDefaultProperty(property);
124 | }
125 |
126 | int propertyData;
127 | int propLen = getObjectPropertyLengthFromAddress(propertyAddress); // get size of property
128 |
129 | if (propLen == 1) // Return size of property (byte or word)
130 | propertyData = tp_getByte();
131 | else if (propLen == 2)
132 | propertyData = tp_getWord();
133 | else
134 | {
135 | propertyData = 0;
136 | // Debug.WriteLine("Property Length " + propLen + " is an unspecified length call for opcodes.");
137 | }
138 |
139 | return propertyData;
140 | }
141 | public int getParent(int objectId)
142 | {
143 | tp = getObjectAddress(objectId) + 4; // move past object header (4 attribute bytes)
144 | return tp_getByte();
145 | }
146 | public int getSibling(int objectId)
147 | {
148 | tp = getObjectAddress(objectId) + 5; // move past object header (4 attribute bytes + parent byte)
149 | return tp_getByte();
150 | }
151 | public int getChild(int objectId)
152 | {
153 | tp = getObjectAddress(objectId) + 6; // move past object header (4 attribute bytes + parent byte + sibling byte)
154 | return tp_getByte();
155 | }
156 | public bool getObjectAttribute(int objectId, int attributeId)
157 | {
158 | tp = getObjectAddress(objectId);
159 | bool [] attributes = new bool[32];
160 | byte attributeByte;
161 |
162 | // Why not just make a boolean array of the attributes?!
163 | for (int i = 0; i < 4; i++)
164 | {
165 | attributeByte = tp_getByte();
166 | for (int j = 0; j < 8; j++)
167 | {
168 | attributes[i * 8 + j] = ((attributeByte >> (7 - j)) & 0x01) > 0;// Take the next byte and cut the first (MSB) value off the top. Add to boolean array attribute[] and voila!
169 | }
170 | }
171 |
172 | return attributes[attributeId];
173 | }
174 | public void setObjectAttribute(int objectId, int attributeId, bool value)
175 | {
176 | byte a; // If can find the right byte in the memory, I can bitwise AND or NOT to fill or clear it.
177 | uint address = (uint)getObjectAddress(objectId);
178 | // Debug.WriteLine("BEFORE address: " + address + " " + memory.getByte(address) + "," + memory.getByte(address + 1) + "," + memory.getByte(address + 2) + "," + memory.getByte(address + 3));
179 | byte attributeByte = (byte)(attributeId / 8); // The byte of the attribute header that we are working in
180 | int attributeShift = 7 - (attributeId % 8);
181 |
182 | if (value == true)
183 | {
184 | a = memory.getByte(address + (uint)attributeByte); // Read the byte given by the attribute segment our attribute Id is in.
185 | a |= (byte)(1 << attributeShift); // Fill a bit at the given shift in that byte.
186 | }
187 | else
188 | {
189 | a = memory.getByte(address + (uint)attributeByte);
190 | a &= (byte)~(1 << attributeShift);
191 | }
192 | // Debug.WriteLine("AFTER address: " + address + " " + memory.getByte(address) + "," + memory.getByte(address + 1) + "," + memory.getByte(address + 2) + "," + memory.getByte(address + 3));
193 | memory.setByte(address + attributeByte, a);
194 | }
195 |
196 | public void setObjectProperty(int objectId, int property, ushort value)
197 | {
198 | int propertyAddress = getObjectPropertyAddress(objectId, property);
199 |
200 | if (propertyAddress == 0)
201 | {
202 | property = getDefaultProperty(property);
203 | }
204 | int propLen = getObjectPropertyLengthFromAddress(propertyAddress); // get size of property
205 |
206 | if (propLen == 1) // Check size of property
207 | memory.setWord((uint)propertyAddress, (ushort)(value & 0xff));
208 | else if (propLen == 2)
209 | memory.setWord((uint)propertyAddress, value);
210 | }
211 | public void setParent(int objectId, int parentId)
212 | {
213 | tp = getObjectAddress(objectId) + 4; // move past object header (4 attribute bytes)
214 | memory.setByte((uint)tp, (byte)parentId);
215 | }
216 | public void setSibling(int objectId, int siblingId)
217 | {
218 | tp = getObjectAddress(objectId) + 5; // move past object header (4 attribute bytes)
219 | memory.setByte((uint)tp, (byte)siblingId);
220 | }
221 | public void setChild(int objectId, int childId)
222 | {
223 | tp = getObjectAddress(objectId) + 6; // move past object header (4 attribute bytes + parent byte + sibling byte)
224 | memory.setByte((uint)tp, (byte)childId);
225 | }
226 |
227 | // --------------------------
228 | public byte tp_getByte()
229 | {
230 | byte next = memory.getByte((uint)tp);
231 | tp++;
232 | return (byte)next;
233 | }
234 |
235 | public ushort tp_getWord()
236 | {
237 | ushort next = memory.getWord((uint)tp);
238 | tp += 2;
239 | return next;
240 | }
241 |
242 |
243 | public String objectName(int objectId)
244 | {
245 | String name;
246 | if (objectId == 0)
247 | {
248 | return "Unable to find Object";
249 | }
250 | Memory.StringAndReadLength str = new Memory.StringAndReadLength();
251 | tp = getPropertyTableAddress(objectId); // An object's name is stored in the header of its property table, and is given in the text-length.
252 | int textLength = tp_getByte(); // The first byte is the text-length number of words in the short name
253 | if (textLength == 0)
254 | {
255 | return "Name not found";
256 | }
257 | name = memory.getZSCII((uint)tp, (uint)textLength * 2).str;
258 | return name;
259 | }
260 | public void unlinkObject(int objectId)
261 | {
262 | // Get parent of object. If no parent, no need to unlink it.
263 | int parentId = getParent(objectId);
264 | if (parentId == 0)
265 | return;
266 |
267 | // Get next sibling
268 | int nextSibling = getSibling(objectId);
269 |
270 | // Get very first sibling in list
271 | int firstSibling = getChild(parentId);
272 |
273 | // Clear out the parent/sibling fields since they'll no longer be valid when this is done.
274 | setParent(objectId, 0);
275 | setSibling(objectId, 0);
276 |
277 | // Remove object from the list of siblings
278 | if (firstSibling == objectId) // If this object is the first child, just set it to the next child.
279 | setChild(parentId, nextSibling);
280 | else
281 | {
282 | int sibId = firstSibling;
283 | int lastSibId = sibId;
284 | do
285 | {
286 | lastSibId = sibId;
287 | sibId = getSibling(sibId);
288 | } while (sibId != objectId);
289 | setSibling(lastSibId, nextSibling);
290 | }
291 | }
292 |
293 | }
294 | }
295 |
--------------------------------------------------------------------------------
/Build1/zmachine/zmachine/ObjectTableFunctions.txt:
--------------------------------------------------------------------------------
1 | public class ObjectTable
2 | {
3 | Memory memory;
4 | public ObjectTable(Memory mem)
5 | {
6 | memory = mem;
7 | }
8 |
9 | DONE public int getObjectTable()
10 |
11 | DONE public int getObjectAddress(int objectId)
12 |
13 | DONE public int getPropertyTableAddress(int objectId)
14 |
15 | DONE public int getDefaultProperty(int property)
16 |
17 | DONE public int getObjectPropertyAddr(int objectId, int property)
18 |
19 | DONE public int getNextObjectPropertyIdAfter(int objectId, int property)
20 |
21 | DONE public int getObjectProperty(int objectId, int property)
22 |
23 | public void setObjectProperty(int objectId, int property, int value)
24 |
25 | DONE public int getObjectPropertyLengthFromAddress(int propertyAddress)
26 |
27 | DONE public boolean getObjectAttribute(int objectId, int attributeId)
28 |
29 | DONE public void setObjectAttribute(int objectId, int attributeId, int value)
30 |
31 | DONE public int getParent(int objectId)
32 |
33 | DONE public void setParent(int objectId, int parent)
34 |
35 | DONE public int getSibling(int objectId)
36 |
37 | DONE public void setSibling(int objectId, int sibling)
38 |
39 | DONE public int getChild(int objectId)
40 |
41 | DONE public void setChild(int objectId, int child)
42 |
43 | void unlinkObject (int objectId)
44 |
45 | In Progress public String objectName(int objectId)
46 |
--------------------------------------------------------------------------------
/Build1/zmachine/zmachine/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO;
3 | using System.Collections.Generic;
4 | using System.Diagnostics;
5 | using System.Linq;
6 | using System.Text;
7 | using System.Threading.Tasks;
8 |
9 | namespace zmachine
10 | {
11 | class Program
12 | {
13 | static void Main(string[] args)
14 | {
15 | string selectedFile;
16 | string userSelection;
17 |
18 | Console.WriteLine("Welcome to Mark's implementation of the Infocom Z-machine. ");
19 | while (true)
20 | {
21 | Console.WriteLine("Please select a file:\n\n\t 1) Zork 1: The Final Underground\n\t 2) Hitchhiker's Guide to the Galaxy\n\t 3) Custom File");
22 | userSelection = Console.ReadLine();
23 | if (userSelection == "1"){ selectedFile = "ZORK1.DAT"; }
24 | else if (userSelection == "2"){ selectedFile = "hhgg2.z5"; }
25 | else if (userSelection == "3"){
26 | Console.WriteLine("Please Enter the destination filename:");
27 | selectedFile = Console.ReadLine(); }
28 | else
29 | {
30 | Console.WriteLine("Please make a valid selection.");
31 | continue;
32 | }
33 | if (File.Exists(selectedFile))
34 | {
35 | Console.WriteLine("\n\n\nFile Found. Loading...");
36 | System.Threading.Thread.Sleep(3000);
37 | Console.Clear();
38 | break;
39 | }
40 | else
41 | {
42 | Console.WriteLine("\n\n ==================================\n File Not Found.\n==================================\n\n");
43 | }
44 | }
45 | //ReadData("ZORK1.DAT");
46 |
47 | //Memory memory = new Memory(128 * 1024); //128k main memory block
48 | //memory.load("ZORK1.DAT");
49 | //memory.dumpHeader();
50 | Machine machine = new Machine(selectedFile);
51 |
52 | int numInstructionsProcessed = 0;
53 | while (!machine.isFinished())
54 | {
55 | if (machine.debug)
56 | Debug.Write("" + numInstructionsProcessed + " : ");
57 | machine.processInstruction();
58 | ++numInstructionsProcessed;
59 | }
60 | Debug.WriteLine("Instructions processed: " + numInstructionsProcessed);
61 | }
62 |
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/Build1/zmachine/zmachine/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("zmachine")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("zmachine")]
13 | [assembly: AssemblyCopyright("Copyright © 2015")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("97b10674-d456-490a-84e1-548b444dff87")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Build1/zmachine/zmachine/ZORK1.DAT:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build1/zmachine/zmachine/ZORK1.DAT
--------------------------------------------------------------------------------
/Build1/zmachine/zmachine/crc32.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | public class Crc32
3 | {
4 | uint[] table;
5 |
6 | public uint ComputeChecksum(byte[] bytes)
7 | {
8 | uint crc = 0xffffffff;
9 | for (int i = 0; i < bytes.Length; ++i)
10 | {
11 | byte index = (byte)(((crc) & 0xff) ^ bytes[i]);
12 | crc = (uint)((crc >> 8) ^ table[index]);
13 | }
14 | return ~crc;
15 | }
16 |
17 | public byte[] ComputeChecksumBytes(byte[] bytes)
18 | {
19 | return BitConverter.GetBytes(ComputeChecksum(bytes));
20 | }
21 |
22 | public Crc32()
23 | {
24 | uint poly = 0xedb88320;
25 | table = new uint[256];
26 | uint temp = 0;
27 | for (uint i = 0; i < table.Length; ++i)
28 | {
29 | temp = i;
30 | for (int j = 8; j > 0; --j)
31 | {
32 | if ((temp & 1) == 1)
33 | {
34 | temp = (uint)((temp >> 1) ^ poly);
35 | }
36 | else
37 | {
38 | temp >>= 1;
39 | }
40 | }
41 | table[i] = temp;
42 | }
43 | }
44 | }
--------------------------------------------------------------------------------
/Build1/zmachine/zmachine/hhgg.z5:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build1/zmachine/zmachine/hhgg.z5
--------------------------------------------------------------------------------
/Build1/zmachine/zmachine/zmachine.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {B8D61C79-30D9-4327-BB6D-5F33BE75E3F1}
8 | Exe
9 | Properties
10 | zmachine
11 | zmachine
12 | v4.5
13 | 512
14 | publish\
15 | true
16 | Disk
17 | false
18 | Foreground
19 | 7
20 | Days
21 | false
22 | false
23 | true
24 | 0
25 | 1.0.0.%2a
26 | false
27 | false
28 | true
29 |
30 |
31 | AnyCPU
32 | true
33 | full
34 | false
35 | bin\Debug\
36 | DEBUG;TRACE
37 | prompt
38 | 4
39 |
40 |
41 | AnyCPU
42 | pdbonly
43 | true
44 | bin\Release\
45 | TRACE
46 | prompt
47 | 4
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 | False
75 | Microsoft .NET Framework 4.5 %28x86 and x64%29
76 | true
77 |
78 |
79 | False
80 | .NET Framework 3.5 SP1 Client Profile
81 | false
82 |
83 |
84 | False
85 | .NET Framework 3.5 SP1
86 | false
87 |
88 |
89 |
90 |
97 |
--------------------------------------------------------------------------------
/Build1/zmachine/zmachine/zmachine.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ..\..
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | en-US
14 | false
15 |
16 |
--------------------------------------------------------------------------------
/Build1/zmachine/zmachine/zmachinestatus.txt:
--------------------------------------------------------------------------------
1 | Unimplemented: (** = easy. Good next steps)
2 |
3 |
4 |
5 | VAR:228 sread text parse
6 |
7 | In progress:
8 |
9 | 2OP:6 jin obj1 obj2 ?(label)
10 | 2OP:10 test_attr object attribute ?(label)
11 | 2OP:11 set_attr object attribute
12 | 2OP:12 clear_attr object attribute
13 | 2OP:14 insert_obj object destination
14 | 2OP:17 get_prop object property -> (result)
15 | 2OP:18 get_prop_addr object property -> (result)
16 | 2OP:19 get_next_prop object property -> (result)
17 | 1OP:129 get_sibling object -> (result) ?(label)
18 | 1OP:130 get_child object -> (result) ?(label)
19 | 1OP:131 get_parent object -> (result)
20 | 1OP:132 get_prop_len property-address -> (result)
21 | 1OP:137 remove_obj object
22 | 1OP:138 print_obj object
23 | VAR:227 put_prop object property value
24 | 1OP:135 print_addr byte-address-of-string
25 | 1OP:141 print_paddr packed-address-of-string
26 | 0OP:178 print (literal-string)
27 | 0OP:179 print_ret (literal-string)
28 | VAR:229 print_char output-character-code
29 | Done:
30 |
31 | 2OP:1 je a b ?(label)
32 | 2OP:2 jl a b ?(label)
33 | 2OP:3 jg a b ?(label)
34 | 2OP:4 dec_chk (variable) value ?(label)
35 | 2OP:5 inc_chk (variable) value ?(label)
36 | 2OP:7 test bitmap flags ?(label)
37 | 2OP:8 or a b -> (result)
38 | 2OP:9 and a b -> (result)
39 | 2OP:13 store (variable) value
40 | 2OP:15 loadw array word-index -> (result)
41 | 2OP:16 loadb array byte-index -> (result)
42 | 2OP:20 add a b -> (result)
43 | 2OP:21 sub a b -> (result)
44 | 2OP:22 mul a b -> (result)
45 | 2OP:23 div a b -> (result)
46 | 2OP:24 mod a b -> (result)
47 | 1OP:128 jz a ?(label)
48 | 1OP:133 inc (variable)
49 | 1OP:134 dec (variable)
50 | 1OP:139 ret value
51 | 1OP:140 jump ?(label)
52 | 1OP:142 load (variable) -> (result)
53 | 1OP:143 not value -> (result) <- Wasn't actually implemented until v4
54 | 0OP:176 rtrue
55 | 0OP:177 rfalse
56 | 0OP:180 nop <- Wasn't ever implemented, but I tried it anyways, take a look.
57 | 0OP:184 ret_popped
58 | 0OP:185 pop
59 | 0OP:186 quit
60 | 0OP:187 new_line
61 | VAR:224 call routine ...0 to 3 args... -> (result)
62 | VAR:225 storew array word-index value
63 | VAR:226 storeb array byte-index value
64 | VAR:230 print_num value
65 | VAR:231 random range -> (result)
66 | VAR:232 push value
67 | VAR:233 pull (variable)
68 |
69 | Skip these (at least for now). They're harder and I never implemented them:
70 |
71 | 0OP:181 save ?(label)
72 | 0OP:182 restore ?(label)
73 | 0OP:183 restart
74 | 0OP:188 show_status
75 | 0OP:189 verify ?(label)
76 | VAR:234 split_window lines
77 | VAR:235 set_window window
78 | VAR:243 output_stream number
79 | VAR:244 input_stream number
80 | VAR:245 sound_effect number effect volume routine
81 |
--------------------------------------------------------------------------------
/Build2/Z-Machine/Assembly-CSharp-vs.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Debug
5 | AnyCPU
6 | 10.0.20506
7 | 2.0
8 | {39FF5792-3E6E-E44B-336D-A5D105C34691}
9 | Library
10 | Properties
11 |
12 | Assembly-CSharp
13 | v3.5
14 | 512
15 | Assets
16 |
17 |
18 | true
19 | full
20 | false
21 | Temp\bin\Debug\
22 | DEBUG;TRACE;UNITY_5_0_1;UNITY_5_0;UNITY_5;ENABLE_LICENSE_RENAME;ENABLE_NEW_BUGREPORTER;ENABLE_2D_PHYSICS;ENABLE_4_6_FEATURES;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_FRAME_DEBUGGER;ENABLE_GENERICS;ENABLE_HOME_SCREEN;ENABLE_IMAGEEFFECTS;ENABLE_LIGHT_PROBES_LEGACY;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_NEW_HIERARCHY;ENABLE_PHYSICS;ENABLE_PHYSICS_PHYSX3;ENABLE_PLUGIN_INSPECTOR;ENABLE_SHADOWS;ENABLE_SINGLE_INSTANCE_BUILD_SETTING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_UNITYEVENTS;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_AUDIOMIXER_SUSPEND;ENABLE_NONPRO;INCLUDE_DYNAMIC_GI;INCLUDE_GI;INCLUDE_IL2CPP;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_TEXTUREID_MAP;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_MONO;ENABLE_PROFILER;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN
23 | prompt
24 | 4
25 | 0169
26 |
27 |
28 | pdbonly
29 | true
30 | Temp\bin\Release\
31 | TRACE
32 | prompt
33 | 4
34 | 0169
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 | C:/Program Files/Unity/Editor/Data/Managed/UnityEngine.dll
43 |
44 |
45 | C:/Program Files/Unity/Editor/Data/Managed/UnityEditor.dll
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 | C:/Program Files/Unity/Editor/Data/UnityExtensions/Unity/GUISystem/UnityEngine.UI.dll
62 |
63 |
64 | C:/Program Files/Unity/Editor/Data/PlaybackEngines/iossupport/UnityEditor.iOS.Extensions.Xcode.dll
65 |
66 |
67 |
68 |
75 |
76 |
77 |
--------------------------------------------------------------------------------
/Build2/Z-Machine/Assembly-CSharp.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Debug
5 | AnyCPU
6 | 10.0.20506
7 | 2.0
8 | {39FF5792-3E6E-E44B-336D-A5D105C34691}
9 | Library
10 | Properties
11 |
12 | Assembly-CSharp
13 | v3.5
14 | 512
15 | Assets
16 |
17 |
18 | true
19 | full
20 | false
21 | Temp\bin\Debug\
22 | DEBUG;TRACE;UNITY_5_0_1;UNITY_5_0;UNITY_5;ENABLE_LICENSE_RENAME;ENABLE_NEW_BUGREPORTER;ENABLE_2D_PHYSICS;ENABLE_4_6_FEATURES;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_FRAME_DEBUGGER;ENABLE_GENERICS;ENABLE_HOME_SCREEN;ENABLE_IMAGEEFFECTS;ENABLE_LIGHT_PROBES_LEGACY;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_NEW_HIERARCHY;ENABLE_PHYSICS;ENABLE_PHYSICS_PHYSX3;ENABLE_PLUGIN_INSPECTOR;ENABLE_SHADOWS;ENABLE_SINGLE_INSTANCE_BUILD_SETTING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_UNITYEVENTS;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_AUDIOMIXER_SUSPEND;ENABLE_NONPRO;INCLUDE_DYNAMIC_GI;INCLUDE_GI;INCLUDE_IL2CPP;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_TEXTUREID_MAP;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_MONO;ENABLE_PROFILER;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN
23 | prompt
24 | 4
25 | 0169
26 |
27 |
28 | pdbonly
29 | true
30 | Temp\bin\Release\
31 | TRACE
32 | prompt
33 | 4
34 | 0169
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 | C:/Program Files/Unity/Editor/Data/Managed/UnityEngine.dll
43 |
44 |
45 | C:/Program Files/Unity/Editor/Data/Managed/UnityEditor.dll
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 | C:/Program Files/Unity/Editor/Data/UnityExtensions/Unity/GUISystem/UnityEngine.UI.dll
62 |
63 |
64 | C:/Program Files/Unity/Editor/Data/PlaybackEngines/iossupport/UnityEditor.iOS.Extensions.Xcode.dll
65 |
66 |
67 |
68 |
75 |
76 |
77 |
--------------------------------------------------------------------------------
/Build2/Z-Machine/Assets/Fonts/Inconsolata-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Assets/Fonts/Inconsolata-Bold.ttf
--------------------------------------------------------------------------------
/Build2/Z-Machine/Assets/Fonts/Inconsolata-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Assets/Fonts/Inconsolata-Regular.ttf
--------------------------------------------------------------------------------
/Build2/Z-Machine/Assets/Fonts/New Font.fontsettings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Assets/Fonts/New Font.fontsettings
--------------------------------------------------------------------------------
/Build2/Z-Machine/Assets/FreeFurnitureSet/Materials/metal.mat:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Assets/FreeFurnitureSet/Materials/metal.mat
--------------------------------------------------------------------------------
/Build2/Z-Machine/Assets/FreeFurnitureSet/Materials/wood.mat:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Assets/FreeFurnitureSet/Materials/wood.mat
--------------------------------------------------------------------------------
/Build2/Z-Machine/Assets/FreeFurnitureSet/Models/cabinet.FBX:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Assets/FreeFurnitureSet/Models/cabinet.FBX
--------------------------------------------------------------------------------
/Build2/Z-Machine/Assets/FreeFurnitureSet/Models/chair.FBX:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Assets/FreeFurnitureSet/Models/chair.FBX
--------------------------------------------------------------------------------
/Build2/Z-Machine/Assets/FreeFurnitureSet/Models/desk.FBX:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Assets/FreeFurnitureSet/Models/desk.FBX
--------------------------------------------------------------------------------
/Build2/Z-Machine/Assets/FreeFurnitureSet/Models/table.FBX:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Assets/FreeFurnitureSet/Models/table.FBX
--------------------------------------------------------------------------------
/Build2/Z-Machine/Assets/FreeFurnitureSet/Prefabs/cabinet.prefab:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Assets/FreeFurnitureSet/Prefabs/cabinet.prefab
--------------------------------------------------------------------------------
/Build2/Z-Machine/Assets/FreeFurnitureSet/Prefabs/chair.prefab:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Assets/FreeFurnitureSet/Prefabs/chair.prefab
--------------------------------------------------------------------------------
/Build2/Z-Machine/Assets/FreeFurnitureSet/Prefabs/desk.prefab:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Assets/FreeFurnitureSet/Prefabs/desk.prefab
--------------------------------------------------------------------------------
/Build2/Z-Machine/Assets/FreeFurnitureSet/Prefabs/table.prefab:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Assets/FreeFurnitureSet/Prefabs/table.prefab
--------------------------------------------------------------------------------
/Build2/Z-Machine/Assets/FreeFurnitureSet/Textures/wood.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Assets/FreeFurnitureSet/Textures/wood.png
--------------------------------------------------------------------------------
/Build2/Z-Machine/Assets/FreeFurnitureSet/scenes/demo.unity:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Assets/FreeFurnitureSet/scenes/demo.unity
--------------------------------------------------------------------------------
/Build2/Z-Machine/Assets/FreeFurnitureSet/scenes/demo/LightmapFar-0.exr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Assets/FreeFurnitureSet/scenes/demo/LightmapFar-0.exr
--------------------------------------------------------------------------------
/Build2/Z-Machine/Assets/Scenes/GUI Testing.unity:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Assets/Scenes/GUI Testing.unity
--------------------------------------------------------------------------------
/Build2/Z-Machine/Assets/Scenes/ModelRoom.unity:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Assets/Scenes/ModelRoom.unity
--------------------------------------------------------------------------------
/Build2/Z-Machine/Assets/Scripts/IO.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading;
6 | using UnityEngine;
7 | using UnityEngine.Events;
8 | using UnityEngine.UI;
9 |
10 | namespace zmachine
11 | {
12 | public class IO: MonoBehaviour
13 | {
14 | GameObject output;
15 | GameObject input;
16 |
17 | InputField typeInput;
18 |
19 | Text text;
20 |
21 | string inputtext;
22 | // bool var = false;
23 |
24 | private void Start()
25 | {
26 |
27 | }
28 |
29 | private string GetInput()
30 | {
31 | input = GameObject.FindWithTag("Input");
32 | typeInput = input.GetComponent();
33 | typeInput.onEndEdit.AddListener(StoreInput);
34 | // while (!var) {
35 | // var = Input.GetKeyDown(KeyCode.KeypadEnter);
36 | // }
37 | // Pause operation of method until user presses "Enter" key to store an input.
38 | inputtext = typeInput.text;
39 | Debug.Log("Reading text: " + typeInput.text);
40 | Debug.Log ("Reading IO stored string: " + inputtext);
41 |
42 | return inputtext;
43 | }
44 |
45 | private void StoreInput(string arg0)
46 | {
47 | // A way to pass an input to the inputtext string.
48 | Debug.Log("Storing text: " + arg0);
49 | inputtext = arg0;
50 | }
51 |
52 | public string ReadLine()
53 | {
54 | // When this runs, the input field will contain the previous command.
55 | // If this is true, then wait for some new user input.
56 | //======================= Just for testing ===================
57 |
58 |
59 | // ===========================================================
60 | string text = GetInput();
61 | Debug.Log("Input String:" + text);
62 |
63 | return text;
64 | }
65 |
66 | // Reads single keypress
67 | //public ConsoleKey ReadKey()
68 | //{
69 | // ConsoleKey key = new ConsoleKey ();
70 | // key = (ConsoleKey)Input.inputString;
71 | // return key;
72 | //}
73 |
74 | // Writes given string to output module
75 | public void Write(String str)
76 | {
77 |
78 | output = GameObject.FindWithTag("Output");
79 | Text text = output.GetComponent();
80 | text.text += str;
81 | Debug.Log ("Printed String: " + str);
82 | }
83 |
84 | // Writes given string to output module and prints new line character
85 | public void WriteLine(String str)
86 | {
87 | output = GameObject.FindWithTag("Output");
88 | Text text = output.GetComponent();
89 | text.text += str + "\n";
90 | Debug.Log ("Printed Line" + str);
91 | }
92 |
93 |
94 | }
95 | }
96 |
--------------------------------------------------------------------------------
/Build2/Z-Machine/Assets/Scripts/Lex.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using UnityEngine;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using System.Text;
6 | using System.Threading;
7 |
8 | namespace zmachine
9 | {
10 |
11 | public class Lex
12 | {
13 | Memory memory;
14 | uint dictionaryAddress;
15 | List separators = new List();
16 | List dictionary = new List();
17 | List dictionaryIndex = new List();
18 | int[] wordStartIndex;
19 | IO io = new IO();
20 |
21 | uint mp = 0; // Memory Pointer
22 |
23 | public Lex(Memory mem)
24 | {
25 | memory = mem;
26 | dictionaryAddress = memory.getWord(Memory.ADDR_DICT);
27 | }
28 |
29 | public void read(int textBufferAddress, uint parseBufferAddress)
30 | {
31 | int maxInputLength = memory.getByte((uint)textBufferAddress) - 1; // byte 0 of the text-buffer should initially contain the maximum number of letters which can be typed, minus 1
32 | int parseBufferLength = memory.getByte((uint)parseBufferAddress);
33 | mp = parseBufferAddress + 2;
34 | String input = io.ReadLine(); // Get initial input from io terminal
35 |
36 | if (input.Length > maxInputLength)
37 | input = input.Remove(maxInputLength); // Limit input to size of text-buffer
38 | input.TrimEnd('\n'); // Remove carriage return from end of string
39 | input = input.ToLower(); // Convert to lowercase
40 |
41 | writeToBuffer(input, textBufferAddress); // stored in bytes 1 onward, with a zero terminator (but without any other terminator, such as a carriage return code
42 |
43 | if (parseBufferLength > 0) // Check to see if lexical analysis is called for
44 | {
45 | buildDict(); // Build Dictionary into class variable
46 | String[] wordArray = parseString(input); // Separate string by spaces and build list of word indices
47 | uint[] matchedWords = new uint[parseBufferLength];
48 |
49 | for (int i = 0; i < wordArray.Length; i++)
50 | {
51 | matchedWords[i] = compare(wordArray[i]); // Stores the dictionary address of matched words (or 0 if no match)
52 | // debug.log("Byte address of matched word: " + matchedWords[i]);
53 | }
54 | // Record dictionary addresses after comparing words
55 |
56 |
57 | memory.setByte(mp - 1, (byte)(wordArray.Length)); // Write number of parsed words
58 |
59 | for (int i = 0; i < wordArray.Length; i++)
60 | {
61 |
62 | // if (4 * (i + 1) < parseBufferLength)
63 | // {
64 | int wordLength = wordArray[i].Length;
65 | memory.setWord((uint)(mp), (ushort)matchedWords[i]); // Address in dictionary of matches (either from dictionary or 0)
66 | memory.setByte((uint)(mp + 2), (byte)wordLength); // # of letters in parsed word
67 | memory.setByte((uint)(mp + 3), (byte)wordStartIndex[i]); // Corresponding word position in text buffer
68 | // }
69 | mp += 4;
70 | memory.setByte((uint)mp, 0);
71 | }
72 | }
73 |
74 | }
75 |
76 | // Store string (in ZSCII) at address in byte 1 onward with a zero terminator.
77 | public void writeToBuffer(String input, int address)
78 | {
79 | int i;
80 | for (i = 0; i < input.Length; i++)
81 | {
82 | char ch = input[i];
83 | // Supposed to convert these to zscii here...
84 | memory.setByte((uint)(address + i + 1), (byte)ch);
85 | }
86 | // Write next char from input into 3-char array (unimplemented)
87 |
88 | memory.setByte((uint)(address + i + 1), 0); // Write empty byte to terminate after read is complete.
89 | // io.WriteLine("Converted ZSCII string: " + memory.getZSCII((uint)(address + 1), 0).str);
90 | }
91 |
92 | public void buildDict()
93 | {
94 | // build the dictionary into class variable
95 | uint separatorLength = memory.getByte(dictionaryAddress); // Number of separators
96 | uint entryLength = memory.getByte(dictionaryAddress + separatorLength + 1); // Size of each entry (default 7 bytes)
97 | uint dictionaryLength = memory.getWord(dictionaryAddress + separatorLength + 2); // Number of 2-byte entries
98 | uint entryAddress = dictionaryAddress + separatorLength + 4; // Start of dictionary entries
99 |
100 | for (uint i = entryAddress; i < dictionaryAddress + separatorLength; i++)
101 | {
102 | separators.Add(memory.getByte(i + 1)); // Find 'n' different word separators and add to list
103 | }
104 |
105 | for (uint i = entryAddress; i < entryAddress + dictionaryLength * entryLength; i += entryLength)
106 | {
107 | dictionaryIndex.Add(i); // Record dictionary entry address
108 | Memory.StringAndReadLength dictEntry = memory.getZSCII(i, 0);
109 | // debug.log(dictEntry.str);
110 | dictionary.Add(dictEntry.str); // Find 'n' different dictionary entries and add words to list
111 | }
112 | }
113 |
114 | public uint compare(String word)
115 | // Want to have default dictionary flag = 0
116 | {
117 | if (word.Length > 6)
118 | word = word.Remove(6);
119 | // search dictionary for comparisons
120 | for (int i = 0; i < dictionary.Count; i++)
121 | {
122 | if (dictionary[i] == word)
123 | {
124 | // io.WriteLine("Matched word: " + word + " at dictionary entry: " + memory.getByte((uint)dictionaryIndex[i]) + " // " + dictionary[i] );
125 | return dictionaryIndex[i];
126 | }
127 | }
128 | // io.WriteLine("Could not identify keyword: " + word);
129 | return 0;
130 | }
131 |
132 | public String[] parseString(String input)
133 | {
134 | int wordindex = 1;
135 |
136 | String[] wordArray = input.Split(' '); // Tokenize into words
137 | wordStartIndex = new int[wordArray.Length];
138 |
139 | // Record start index of each word in input string
140 | for (int i = 0; i < wordArray.Length; i++)
141 | {
142 | wordStartIndex[i] = wordindex; // take index of word
143 |
144 | for (int j = 0; j < wordArray[i].Length; j++)
145 | {
146 | wordindex++; // Add 1 for each char
147 | }
148 | wordindex++; // Add 1 for each space
149 | }
150 |
151 | return wordArray;
152 | }
153 |
154 |
155 |
156 | public int convertZSCIIToZchar(char letter) // (unimplemented)
157 | {
158 | String[] zalphabets = { "abcdefghijklmnopqrstuvwxyz", "ABCDEFGHIJKLMNOPQRSTUVWXYZ", " \n0123456789.,!?_#'\"/\\-:()" };
159 | // Convert into Zchar from ZSCII char
160 | // Note: ASCII 'a' = int 97
161 | if (letter == ' ')
162 | return 0;
163 | else if (zalphabets[0].IndexOf(letter) != -1) // Take in ZSCII letter and return 5-bit Zchar
164 | {
165 | // io.WriteLine("Recognized character: " + (int)letter);
166 | return zalphabets[0].IndexOf(letter) + 6;
167 | }
168 | else if (zalphabets[2].IndexOf(letter) != -1)
169 | {
170 | return zalphabets[2].IndexOf(letter) + 6; // not working properly
171 | }
172 | else
173 | {
174 | // io.WriteLine("Invalid character: " + letter);
175 | return 0;
176 | }
177 | }
178 |
179 |
180 |
181 |
182 |
183 | // List zstringArray = new List(); // Make array to hold onto zstrings
184 | // getZSCII(null, null); // Convert to Zchars
185 |
186 |
187 |
188 | // int padLength = 0;
189 |
190 | // String last = zstringArray[zstringArray.Count - 1];
191 | // zstringArray = zstringArray.RemoveAt(zstringArray.Count - 1); // pop the last zstring in the array
192 | // // Figure out size in memory
193 | // padLength = last.Length % 3; //--------------------------------- Get length of zstring and check if last word needs padding
194 | // last.PadRight(padLength, '5'); // Pad with 5s
195 | // zstringArray = zstringArray.Add(last);
196 |
197 | // for (int i = 0; i < zstringArray.Count; i += 3) // Pack into 3-char pieces as a Zstring
198 | // {
199 | // Concatenate 3 consecutive chars into a word;
200 | // memory.setWord((uint)(textBufferAddress + (2 + 4 * i)), (ushort)zstringArray[i]); // Write number of words in byte 1, write words from byte 2 onward (stopping at parseBufferLength;
201 | // }
202 | // //
203 |
204 | //// tokenize(input) // Tokenize input using the main dictionary
205 | // setVar(firstoperand, zstringArray[i]); // Store string in buffer in first operand
206 |
207 |
208 |
209 | // public char readChar()
210 | // {
211 | // memory.getZChar(Convert.ToChar(io.ReadKey()));// read keypress and pass as a char into getZchar
212 | // return '0';
213 | // }
214 |
215 | }
216 | }
217 |
--------------------------------------------------------------------------------
/Build2/Z-Machine/Assets/Scripts/Memory.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO;
3 | using UnityEngine;
4 | using System.Collections.Generic;
5 | using System.Linq;
6 | using System.Text;
7 | using System.Threading;
8 |
9 | namespace zmachine
10 | {
11 | public class Memory
12 | {
13 | byte[] memory;
14 |
15 |
16 | public Memory (int size)
17 | {
18 | // Class constructor
19 | memory = new byte[size];
20 | }
21 |
22 | //input byte array [] from file, output size specified byte array []
23 | public void load(string filename)
24 | {
25 | //Load data into temp variable, copy into specified byte array
26 |
27 | byte[] src = File.ReadAllBytes(filename);
28 |
29 | if (src.Length <= memory.Length)
30 | {
31 |
32 | int i = 0;
33 | foreach (byte b in src)
34 | {
35 | //read through bytes and write in new byte array []
36 | memory[i] = src[i];
37 | i++;
38 | }
39 | }
40 |
41 | }
42 | //assign given byte value @ hex address location
43 | public void setByte(uint address, byte val)
44 | {
45 | memory[address] = val;
46 | }
47 |
48 |
49 | //access given byte location & return byte stored in data
50 | public byte getByte(uint address)
51 | {
52 | return memory[address];
53 | }
54 |
55 |
56 | //assign 16-bit value from given 16-bit memory address
57 | public void setWord(uint address, ushort val)
58 | {
59 | byte a = (byte) ((val >> 8) & 0xff);
60 | byte b = (byte) (val & 0xff);
61 |
62 | // byte[] a = BitConverter.GetBytes(val);
63 | // byte first = (byte) a[0];
64 | // byte second = (byte) a[1];
65 | // first <<= 8; // shift first byte up 8 bits
66 | memory[address] = a;
67 | memory[address + 1] = b;
68 | }
69 |
70 |
71 | public ushort getWord(uint address)
72 | {
73 | //access 16-bit value and return "word" stored in data
74 | //read in two bytes, shift first byte left (<<) 8 bits
75 | byte a = memory[address];
76 | byte b = memory[address + 1];
77 | ushort val = (ushort) ((a << 8) + b);
78 |
79 | return val;
80 | }
81 |
82 | public short getSignedWord(uint address)
83 | {
84 | return (short)getWord(address);
85 | }
86 |
87 | public static ushort ADDR_VERSION = 0x00;
88 | public static ushort ADDR_HIGH = 0x04;
89 | public static ushort ADDR_INITIALPC = 0x06;
90 | public static ushort ADDR_GLOBALS = 0x0c;
91 | public static ushort ADDR_DICT = 0x08;
92 | public static ushort ADDR_OBJECTS = 0x0a;
93 | public static ushort ADDR_ABBREVS = 0x18;
94 |
95 | public string getAbbrev(int abbrevIndex)
96 | {
97 | StringAndReadLength abbrev = getZSCII((uint)(getWord((uint)(getWord(Memory.ADDR_ABBREVS) + abbrevIndex * 2)) * 2), 0);
98 | return abbrev.str;
99 | }
100 |
101 | public class StringAndReadLength
102 | {
103 | public String str = "";
104 | public int bytesRead = 0; // We need to return how many bytes were read so that op_print can correctly place the pc after reading.
105 |
106 | }
107 |
108 | public char getZChar(int zchar)
109 | {
110 | if (zchar == 0) // null char
111 | return (char)0;
112 | else if (zchar == 8) // delete char
113 | return (char)0;
114 | else if (zchar == 13) // newline char
115 | return '\n';
116 | else if (zchar == 27)
117 | return (char)0;
118 | else if (zchar >= 129 && zchar <= 154)
119 | return (char)0;
120 | else if (
121 | zchar >= 32 && zchar <= 126 || // standard ascii
122 | zchar >= 155 && zchar <= 251) // Take in 10-bit zscii and return ascii
123 | return (char)zchar;
124 | else
125 | {
126 | Debug.Log("Invalid 10-bit char: " + (char)zchar);
127 | return (char)0;
128 | }
129 | }
130 |
131 | public StringAndReadLength getZSCII(uint address, uint numBytes)
132 | {
133 | String[] zalphabets = { "abcdefghijklmnopqrstuvwxyz", "ABCDEFGHIJKLMNOPQRSTUVWXYZ", " \n0123456789.,!?_#'\"/\\-:()" };
134 | int currentAlphabet = 0;
135 | int bytesRead = 0;
136 | int read10Bit = 0;
137 | int abbrevSet = 0;
138 | int zchar10 = 0;
139 |
140 | String output = "";
141 | String debugOutput = "";
142 | int z = 0;
143 | bool debug = false;
144 |
145 |
146 | bool stringComplete = false;
147 | while (!stringComplete)
148 | {
149 | //Get another word from memory
150 | ushort word = getWord(address);
151 | if (((word >> 15) & 0x1) == 1) stringComplete = true;
152 |
153 | int[] c = new int[3]; // Store three zchars across 16 bits (two bytes). May have to make a dynamic list and pad it once every 3 reads.
154 |
155 | c[0] = (word >> 10) & 0x01f;
156 | c[1] = (word >> 5) & 0x01f;
157 | c[2] = word & 0x01f;
158 |
159 | // Debug.Log("Reading Zchars \t\t 1:{0}\t 2:{1}\t 3:{2}", c[0], c[1], c[2]);
160 |
161 | /* ZSCII codes are 10-bit unsigned values between 0 and 1023.
162 | * Summary of the ZSCII rules:
163 | * - The codes 0 to 31 are undefined in V3 except as follows -
164 | * 0 = null (output only)
165 | * 13 = newline
166 | * 32-126 = standard ASCII
167 | * 155-251 = extra characters (other languages, punctuation marks, mathematical or dingbat characters)
168 | * The codes 256 to 1023 are undefined, so that for all practical purposes ZSCII is an 8-bit unsigned code.
169 | * 0123456789abcdef0123456789abcdef
170 | --------------------------------
171 | $20 !"#$%&'()*+,-./0123456789:;<=>?
172 | $40 @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
173 | $60 'abcdefghijklmnopqrstuvwxyz{!}~
174 | --------------------------------
175 | *
176 | * Note that if a random stretch of memory is accidentally printed as a string (due to an error in the story file),
177 | * illegal ZSCII codes may well be printed using the 4-Z-character escape sequence. It's helpful for interpreters
178 | * to filter out any such illegal codes so that the resulting on-screen mess will not cause trouble for the terminal
179 | * (e.g. by causing the interpreter to print ASCII 12, clear screen, or 7, bell sound).
180 | */
181 |
182 | for (int i = 0; i < 3; i++)
183 | {
184 |
185 | if (read10Bit > 0)
186 | {
187 | switch (read10Bit)
188 | {
189 | case 2:
190 | {
191 | zchar10 = c[i] << 5;
192 | break;
193 | }
194 | case 1:
195 | {
196 | zchar10 += c[i];
197 |
198 | output += getZChar(zchar10);
199 | if (debug == true)
200 | {
201 | debugOutput += getZChar(zchar10); z++;
202 | Console.WriteLine("\n" + debugOutput + "(" + z + ")");
203 | }
204 | break;
205 | }
206 | }
207 | --read10Bit;
208 | }
209 | else if (abbrevSet != 0)
210 | {
211 | int abbrevId = (abbrevSet - 1) * 32 + c[i];
212 | //get the abbrev string using the current character and append it
213 | output += getAbbrev(abbrevId);
214 | if (debug == true)
215 | {
216 | debugOutput += getAbbrev(abbrevId); z++;
217 | Debug.Log("Abbrev: |" + abbrevId + "| : " + getAbbrev(abbrevId));
218 | }
219 | abbrevSet = 0;
220 | }
221 | else if (c[i] == 0)
222 | {
223 | output += " ";
224 | if (debug == true)
225 | {
226 | debugOutput += (" "); z++;
227 | Debug.Log("\n" + "SPACE" + "(" + z + ")");
228 | }
229 | }
230 | else if (c[i] == 1 || c[i] == 2 || c[i] == 3) // Get abbreviation at given address using next two values
231 | {
232 | abbrevSet = c[i];
233 | }
234 | else if (c[i] == 4) //Change currentAlphabet = Uppercase (A1)
235 | currentAlphabet = 1;
236 | else if (c[i] == 5) //Change currentAlphabet = Punctuation (A2)
237 | currentAlphabet = 2;
238 | else if (c[i] == 6 && currentAlphabet == 2)
239 | {
240 | read10Bit = 2;
241 | }
242 | else
243 | {
244 | output += zalphabets[currentAlphabet][c[i] - 6];
245 | if (debug == true)
246 | {
247 | debugOutput += zalphabets[currentAlphabet][c[i] - 6]; z++;
248 | }
249 | currentAlphabet = 0;
250 | }
251 |
252 | }
253 |
254 | address += 2; // move to next word
255 | bytesRead += 2; // store number of bytesRead for pointer
256 |
257 | if (numBytes > 0 && bytesRead >= numBytes)
258 | {
259 | stringComplete = true;
260 | if (debug == true)
261 | {
262 | Debug.Log("\n" + debugOutput + "(" + z + ")");
263 | }
264 | }
265 |
266 | }
267 |
268 | StringAndReadLength ret = new StringAndReadLength();
269 | ret.bytesRead = bytesRead;
270 | ret.str = output;
271 | return ret;
272 | }
273 |
274 | // Print the file header
275 | public void dumpHeader()
276 | {
277 | Debug.Log("Type : " + getByte(ADDR_VERSION));
278 | Debug.Log("Base : " + getWord(ADDR_HIGH));
279 | Debug.Log("PC : " + getWord(ADDR_INITIALPC));
280 | Debug.Log("Dict : " + getWord(ADDR_DICT));
281 | Debug.Log("Obj : " + getWord(ADDR_OBJECTS));
282 |
283 | }
284 |
285 | public uint getCrc32()
286 | {
287 | Crc32 crc32 = new Crc32();
288 | return crc32.ComputeChecksum(memory);
289 | }
290 |
291 |
292 | }
293 | }
294 |
--------------------------------------------------------------------------------
/Build2/Z-Machine/Assets/Scripts/ObjectTable.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using UnityEngine;
6 | using System.Threading;
7 |
8 | namespace zmachine
9 | {
10 | class ObjectTable
11 | {
12 | Memory memory = new Memory(1024 * 128);
13 | public int tp = 0; // pointer to move through tables
14 | public int objectId = 0; // Object ID
15 |
16 |
17 |
18 | public ObjectTable (Memory mem)
19 | {
20 | memory = mem;
21 | }
22 |
23 | public int getDefaultProperty(int property) // Start reading from the Program Defaults Table (before list of objects)
24 | {
25 | tp = memory.getWord((uint)Memory.ADDR_OBJECTS);
26 | tp += (property - 1) * 2;
27 | int defaultProperty = tp_getWord();
28 | return defaultProperty;
29 | }
30 | public int getObjectTable() // Set Table Pointer to the beginning of the object table. (After Default Properties)
31 | {
32 | tp = memory.getWord((uint)Memory.ADDR_OBJECTS) + (31 * 2);
33 | return tp;
34 | }
35 | public int getPropertyTableAddress(int objectId)// Return property table address for given object. Leaves Table Pointer at beginning of next property.
36 | {
37 | getObjectTable();
38 |
39 | tp = getObjectAddress(objectId) + 7;
40 | int propertyTableAddress = tp_getWord();
41 | return propertyTableAddress;
42 | }
43 | public int getObjectAddress(int objectId) // take an objectId and consult the objectTable
44 | {
45 |
46 | getObjectTable();
47 | tp += 9 * (objectId - 1); // tp will already be set at the start of the object table
48 | int objectAddress = tp; // each object is 9 bytes above the previous
49 |
50 | return objectAddress;
51 | }
52 | public int getObjectPropertyAddress(int objectId, int property) // Get property address for an object's property (if it exists)
53 | {
54 | int propertyAddress;
55 | tp = getPropertyTableAddress(objectId);
56 | int text_length = tp_getByte(); // Read the first byte of the property address, figure out the text-length, then skip forward to the first property address.
57 | tp += (text_length * 2); // skip past header
58 |
59 | int sizeByte = tp_getByte(); // get initial sizeByte (property 1)
60 | while (sizeByte > 0) // Let the search begin! Move through properties looking for a propertyId matching the property given.
61 | {
62 | int propertyId = sizeByte & 31;
63 | int propLen = (sizeByte / 32) + 1;
64 | if (property == propertyId)
65 | {
66 | propertyAddress = tp;
67 | return propertyAddress;
68 | }
69 | tp += propLen;
70 | sizeByte = tp_getByte();
71 | }
72 | return 0;
73 | }
74 | public int getNextObjectPropertyIdAfter(int objectId, int property) // Get property address down the chain given a certain object.
75 | {
76 | int propLen;
77 | int nextPropertyId;
78 | byte sizeByte;
79 |
80 | if (property == 0) // Return first property
81 | {
82 | tp = getPropertyTableAddress(objectId);
83 | int text_length = tp_getByte(); // Read the first byte of the property address, figure out the text-length, then skip forward to the first property address.
84 | tp += (text_length * 2); // skip past header
85 | sizeByte = tp_getByte();
86 |
87 | return sizeByte & 31; // read property id
88 | }
89 |
90 | // Since we are not at the start of the property we want...
91 | tp = getObjectPropertyAddress(objectId, property); // Set pointer to start of given property
92 | sizeByte = memory.getByte((uint)tp - 1); // Find length of property
93 | propLen = getObjectPropertyLengthFromAddress(tp);
94 |
95 | if (sizeByte == 0) // No next property
96 | return 0;
97 |
98 | tp += propLen; // Move pointer to start next property
99 | nextPropertyId = tp_getByte() & 31; // Read next property number
100 |
101 | return nextPropertyId;
102 | }
103 | public int getObjectPropertyLengthFromAddress(int propertyAddress)
104 | {
105 | if (propertyAddress == 0)
106 | {
107 | return 0;
108 | }
109 | int sizeByte = memory.getByte((uint)propertyAddress - 1); // arranged as 32 times the number of data bytes minus one, plus the property number
110 | int propLen = (sizeByte / 32) + 1;
111 | return propLen;
112 | }
113 | public int getObjectProperty(int objectId, int property)
114 | {
115 | // each property is stored as a block
116 | //size byte the actual property data
117 | //---between 1 and 8 bytes--
118 |
119 | int propertyAddress = getObjectPropertyAddress(objectId, property);
120 |
121 | if (propertyAddress == 0)
122 | {
123 | return getDefaultProperty(property);
124 | }
125 |
126 | int propertyData;
127 | int propLen = getObjectPropertyLengthFromAddress(propertyAddress); // get size of property
128 |
129 | if (propLen == 1) // Return size of property (byte or word)
130 | propertyData = tp_getByte();
131 | else if (propLen == 2)
132 | propertyData = tp_getWord();
133 | else
134 | {
135 | propertyData = 0;
136 | Debug.Log("Property Length " + propLen + " is an unspecified length call for opcodes.");
137 | }
138 |
139 | return propertyData;
140 | }
141 | public int getParent(int objectId)
142 | {
143 | tp = getObjectAddress(objectId) + 4; // move past object header (4 attribute bytes)
144 | return tp_getByte();
145 | }
146 | public int getSibling(int objectId)
147 | {
148 | tp = getObjectAddress(objectId) + 5; // move past object header (4 attribute bytes + parent byte)
149 | return tp_getByte();
150 | }
151 | public int getChild(int objectId)
152 | {
153 | tp = getObjectAddress(objectId) + 6; // move past object header (4 attribute bytes + parent byte + sibling byte)
154 | return tp_getByte();
155 | }
156 | public bool getObjectAttribute(int objectId, int attributeId)
157 | {
158 | tp = getObjectAddress(objectId);
159 | bool [] attributes = new bool[32];
160 | byte attributeByte;
161 |
162 | // Why not just make a boolean array of the attributes?!
163 | for (int i = 0; i < 4; i++)
164 | {
165 | attributeByte = tp_getByte();
166 | for (int j = 0; j < 8; j++)
167 | {
168 | attributes[i * 8 + j] = ((attributeByte >> (7 - j)) & 0x01) > 0;// Take the next byte and cut the first (MSB) value off the top. Add to boolean array attribute[] and voila!
169 | }
170 | }
171 |
172 | return attributes[attributeId];
173 | }
174 | public void setObjectAttribute(int objectId, int attributeId, bool value)
175 | {
176 | byte a; // If can find the right byte in the memory, I can bitwise AND or NOT to fill or clear it.
177 | uint address = (uint)getObjectAddress(objectId);
178 | // Debug.Log("BEFORE address: " + address + " " + memory.getByte(address) + "," + memory.getByte(address + 1) + "," + memory.getByte(address + 2) + "," + memory.getByte(address + 3));
179 | byte attributeByte = (byte)(attributeId / 8); // The byte of the attribute header that we are working in
180 | int attributeShift = 7 - (attributeId % 8);
181 |
182 | if (value == true)
183 | {
184 | a = memory.getByte(address + (uint)attributeByte); // Read the byte given by the attribute segment our attribute Id is in.
185 | a |= (byte)(1 << attributeShift); // Fill a bit at the given shift in that byte.
186 | }
187 | else
188 | {
189 | a = memory.getByte(address + (uint)attributeByte);
190 | a &= (byte)~(1 << attributeShift);
191 | }
192 | // Debug.Log("AFTER address: " + address + " " + memory.getByte(address) + "," + memory.getByte(address + 1) + "," + memory.getByte(address + 2) + "," + memory.getByte(address + 3));
193 | memory.setByte(address + attributeByte, a);
194 | }
195 |
196 | public void setObjectProperty(int objectId, int property, ushort value)
197 | {
198 | int propertyAddress = getObjectPropertyAddress(objectId, property);
199 |
200 | if (propertyAddress == 0)
201 | {
202 | property = getDefaultProperty(property);
203 | }
204 | int propLen = getObjectPropertyLengthFromAddress(propertyAddress); // get size of property
205 |
206 | if (propLen == 1) // Check size of property
207 | memory.setWord((uint)propertyAddress, (ushort)(value & 0xff));
208 | else if (propLen == 2)
209 | memory.setWord((uint)propertyAddress, value);
210 | }
211 | public void setParent(int objectId, int parentId)
212 | {
213 | tp = getObjectAddress(objectId) + 4; // move past object header (4 attribute bytes)
214 | memory.setByte((uint)tp, (byte)parentId);
215 | }
216 | public void setSibling(int objectId, int siblingId)
217 | {
218 | tp = getObjectAddress(objectId) + 5; // move past object header (4 attribute bytes)
219 | memory.setByte((uint)tp, (byte)siblingId);
220 | }
221 | public void setChild(int objectId, int childId)
222 | {
223 | tp = getObjectAddress(objectId) + 6; // move past object header (4 attribute bytes + parent byte + sibling byte)
224 | memory.setByte((uint)tp, (byte)childId);
225 | }
226 |
227 | // --------------------------
228 | public byte tp_getByte()
229 | {
230 | byte next = memory.getByte((uint)tp);
231 | tp++;
232 | return (byte)next;
233 | }
234 |
235 | public ushort tp_getWord()
236 | {
237 | ushort next = memory.getWord((uint)tp);
238 | tp += 2;
239 | return next;
240 | }
241 |
242 |
243 | public String objectName(int objectId)
244 | {
245 | String name;
246 | if (objectId == 0)
247 | {
248 | return "Unable to find Object";
249 | }
250 | tp = getPropertyTableAddress(objectId); // An object's name is stored in the header of its property table, and is given in the text-length.
251 | int textLength = tp_getByte(); // The first byte is the text-length number of words in the short name
252 | if (textLength == 0)
253 | {
254 | return "Name not found";
255 | }
256 | name = memory.getZSCII((uint)tp, (uint)textLength * 2).str;
257 | return name;
258 | }
259 | public void unlinkObject(int objectId)
260 | {
261 | // Get parent of object. If no parent, no need to unlink it.
262 | int parentId = getParent(objectId);
263 | if (parentId == 0)
264 | return;
265 |
266 | // Get next sibling
267 | int nextSibling = getSibling(objectId);
268 |
269 | // Get very first sibling in list
270 | int firstSibling = getChild(parentId);
271 |
272 | // Clear out the parent/sibling fields since they'll no longer be valid when this is done.
273 | setParent(objectId, 0);
274 | setSibling(objectId, 0);
275 |
276 | // Remove object from the list of siblings
277 | if (firstSibling == objectId) // If this object is the first child, just set it to the next child.
278 | setChild(parentId, nextSibling);
279 | else
280 | {
281 | int sibId = firstSibling;
282 | int lastSibId = sibId;
283 | do
284 | {
285 | lastSibId = sibId;
286 | sibId = getSibling(sibId);
287 | } while (sibId != objectId);
288 | setSibling(lastSibId, nextSibling);
289 | }
290 | }
291 |
292 | }
293 | }
294 |
--------------------------------------------------------------------------------
/Build2/Z-Machine/Assets/Scripts/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO;
3 | using System.Collections.Generic;
4 | using UnityEngine;
5 | using System.Linq;
6 | using System.Text;
7 | using System.Threading;
8 |
9 | namespace zmachine
10 | {
11 | class Program:MonoBehaviour
12 | {
13 |
14 | static void Start(string[] args)
15 | {
16 | //ReadData("ZORK1.DAT");
17 |
18 | //Memory memory = new Memory(128 * 1024); //128k main memory block
19 | //memory.load("ZORK1.DAT");
20 | //memory.dumpHeader();
21 | Machine machine = new Machine("ZORK1.DAT");
22 |
23 | int numInstructionsProcessed = 0;
24 | while (!machine.isFinished())
25 | {
26 | if (machine.debug)
27 | Debug.Log("" + numInstructionsProcessed + " : ");
28 | machine.processInstruction();
29 | ++numInstructionsProcessed;
30 | }
31 | Debug.Log("Instructions processed: " + numInstructionsProcessed);
32 | }
33 |
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/Build2/Z-Machine/Assets/Scripts/RunZork.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using System.Collections;
3 | using zmachine;
4 |
5 |
6 | class RunZork:MonoBehaviour
7 | {
8 | zmachine.Machine machine = new zmachine.Machine ("ZORK1.DAT");
9 | int numInstructionsProcessed = 0;
10 | void Start()
11 | {
12 | Debug.Log("Starting machine Coroutine");
13 | StartCoroutine(Run());
14 |
15 | }
16 | //public void Update (){
17 |
18 | // while (!machine.isFinished())
19 | // {
20 | // machine.processInstruction();
21 | // ++numInstructionsProcessed;
22 | // }
23 | // Debug.Log("Instructions processed: " + numInstructionsProcessed);
24 | //}
25 |
26 | IEnumerator Run()
27 | {
28 | // process instructions
29 | yield return "ProcessInstruction Coroutine in progress";
30 | while (!machine.isFinished())
31 | {
32 | machine.processInstruction();
33 | ++numInstructionsProcessed;
34 | }
35 | Debug.Log("Coroutine executed");
36 |
37 | }
38 | IEnumerator Example()
39 | {
40 | print("Starting " + Time.time);
41 |
42 | // Start function RunZork as a coroutine
43 | yield return StartCoroutine(Run());
44 | print("Done " + Time.time);
45 | }
46 | }
47 |
48 |
49 |
--------------------------------------------------------------------------------
/Build2/Z-Machine/Assets/Scripts/SubmitInput.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using System.Collections;
3 | using UnityEngine.UI;
4 |
5 | public class SubmitInput : MonoBehaviour {
6 |
7 | // Use this for initialization
8 | void Start () {
9 | InputField input = gameObject.GetComponent();
10 | //Adds a listener that invokes the "LockInput" method when the player finishes editing the main input field.
11 | //Passes the main input field into the method when "LockInput" is invoked
12 | input.onEndEdit.AddListener(SubmitName);
13 | }
14 | private void SubmitName(string arg0)
15 | {
16 | Debug.Log(arg0);
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/Build2/Z-Machine/Assets/Scripts/TestingInput.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using System.Collections;
3 | using System;
4 | using UnityEngine.UI;
5 |
6 | public class TestingInput : MonoBehaviour {
7 |
8 |
9 | public GameObject output;
10 | public GameObject input;
11 |
12 | // Use this for initialization
13 | void Start () {
14 |
15 | }
16 |
17 | // Update is called once per frame
18 | void Update () {
19 |
20 | }
21 | public string ReadLine()
22 | {
23 | input = GameObject.FindWithTag("Input");
24 | Text text = input.GetComponent();
25 |
26 | // Write(text.text);
27 | // Debug.Log("Input String:" + text.text);
28 |
29 | return text.text;
30 | }
31 | public void Write(String str)
32 | {
33 | output = GameObject.FindWithTag("Output");
34 | Text text = output.GetComponent();
35 | text.text += str;
36 | Debug.Log("Printed String: " + str);
37 | }
38 |
39 | public void TestRead()
40 | {
41 | Write("Input Works" + ReadLine());
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/Build2/Z-Machine/Assets/Scripts/crc32.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | public class Crc32
3 | {
4 | uint[] table;
5 |
6 | public uint ComputeChecksum(byte[] bytes)
7 | {
8 | uint crc = 0xffffffff;
9 | for (int i = 0; i < bytes.Length; ++i)
10 | {
11 | byte index = (byte)(((crc) & 0xff) ^ bytes[i]);
12 | crc = (uint)((crc >> 8) ^ table[index]);
13 | }
14 | return ~crc;
15 | }
16 |
17 | public byte[] ComputeChecksumBytes(byte[] bytes)
18 | {
19 | return BitConverter.GetBytes(ComputeChecksum(bytes));
20 | }
21 |
22 | public Crc32()
23 | {
24 | uint poly = 0xedb88320;
25 | table = new uint[256];
26 | uint temp = 0;
27 | for (uint i = 0; i < table.Length; ++i)
28 | {
29 | temp = i;
30 | for (int j = 8; j > 0; --j)
31 | {
32 | if ((temp & 1) == 1)
33 | {
34 | temp = (uint)((temp >> 1) ^ poly);
35 | }
36 | else
37 | {
38 | temp >>= 1;
39 | }
40 | }
41 | table[i] = temp;
42 | }
43 | }
44 | }
--------------------------------------------------------------------------------
/Build2/Z-Machine/Assets/ZORK1.DAT:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Assets/ZORK1.DAT
--------------------------------------------------------------------------------
/Build2/Z-Machine/Assets/hhgg.z5:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Assets/hhgg.z5
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/AnnotationManager:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/AnnotationManager
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/AssetImportState:
--------------------------------------------------------------------------------
1 | 5;0;-1
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/AssetServerCacheV3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/AssetServerCacheV3
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/AssetVersioning.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/AssetVersioning.db
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/BuildPlayer.prefs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/BuildPlayer.prefs
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/BuildSettings.asset:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/BuildSettings.asset
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/CurrentLayout.dwlt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/CurrentLayout.dwlt
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/EditorUserBuildSettings.asset:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/EditorUserBuildSettings.asset
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/EditorUserSettings.asset:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/EditorUserSettings.asset
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/InspectorExpandedItems.asset:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/InspectorExpandedItems.asset
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/LibraryFormatVersion.txt:
--------------------------------------------------------------------------------
1 | unityRebuildLibraryVersion: 10
2 | unityForwardCompatibleVersion: 40
3 |
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/MonoManager.asset:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/MonoManager.asset
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ProjectSettings.asset:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ProjectSettings.asset
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ScriptAssemblies/Assembly-CSharp.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ScriptAssemblies/Assembly-CSharp.dll
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ScriptAssemblies/Assembly-CSharp.dll.mdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ScriptAssemblies/Assembly-CSharp.dll.mdb
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ScriptAssemblies/BuiltinAssemblies.stamp:
--------------------------------------------------------------------------------
1 | 0000.55154b60.0000
2 | 0000.55154ba6.0000
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ScriptMapper:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ScriptMapper
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache.db
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/0/0640b9a36b927ffe72c686f0d3047c88.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/0/0640b9a36b927ffe72c686f0d3047c88.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/0/06c0326a500c1437e9ece431b117d17b.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/0/06c0326a500c1437e9ece431b117d17b.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/0/08bf8c99d6547ff288b22ab1f6849486.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/0/08bf8c99d6547ff288b22ab1f6849486.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/0/0c64b2f7da00a7b522412b8544d72e25.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/0/0c64b2f7da00a7b522412b8544d72e25.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/0/0d0717f9d680a23eabe26eb397ad12a2.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/0/0d0717f9d680a23eabe26eb397ad12a2.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/0/0ece2bfbf54f8453224e074c76698650.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/0/0ece2bfbf54f8453224e074c76698650.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/1/169b1d967cfc34f314aac8e745dde7c1.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/1/169b1d967cfc34f314aac8e745dde7c1.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/1/1744bdb2178acea09e0fe7503122db75.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/1/1744bdb2178acea09e0fe7503122db75.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/2/21f229216fa739350bde11a5d656c38a.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/2/21f229216fa739350bde11a5d656c38a.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/2/22de5a3d470fbc1027df0fe5b273fbc4.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/2/22de5a3d470fbc1027df0fe5b273fbc4.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/2/2e5d10387cd975760eb7b15b73d12ebd.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/2/2e5d10387cd975760eb7b15b73d12ebd.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/2/2f863c98514b3ac9c3c00e17306c6153.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/2/2f863c98514b3ac9c3c00e17306c6153.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/3/30ac97043b23b7b65bec44d54dc702f6.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/3/30ac97043b23b7b65bec44d54dc702f6.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/3/34be80ad60c2d2efb22fae70dac3c572.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/3/34be80ad60c2d2efb22fae70dac3c572.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/3/3909840f2a03562f540ec80fc304f7ca.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/3/3909840f2a03562f540ec80fc304f7ca.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/3/3926e0aadb38cba9a9d3244540d1b2f0.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/3/3926e0aadb38cba9a9d3244540d1b2f0.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/3/3d987443ef0909d7b52c8812463e8078.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/3/3d987443ef0909d7b52c8812463e8078.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/3/3ee1b83443bd8e784a9715a32ba83c16.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/3/3ee1b83443bd8e784a9715a32ba83c16.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/4/4227a355b64c1ec62f1c649191f31e9f.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/4/4227a355b64c1ec62f1c649191f31e9f.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/4/45fd48076b2413e3714ba49ddf0c6147.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/4/45fd48076b2413e3714ba49ddf0c6147.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/4/4a72374006606780b31bbeb4d25db108.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/4/4a72374006606780b31bbeb4d25db108.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/4/4d33be73fe5ecfdd329d4f09e975fdfe.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/4/4d33be73fe5ecfdd329d4f09e975fdfe.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/4/4d88eec03287bef5ef4a60706a20975a.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/4/4d88eec03287bef5ef4a60706a20975a.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/4/4eedf166432ab24d343c45212253dfba.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/4/4eedf166432ab24d343c45212253dfba.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/5/52f30e95d63fb3d6a579eae2f3af2db6.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/5/52f30e95d63fb3d6a579eae2f3af2db6.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/5/544eb52c503edd34f959d3b488429303.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/5/544eb52c503edd34f959d3b488429303.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/5/591b1c33a02a98cfeade9366e30ad8ae.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/5/591b1c33a02a98cfeade9366e30ad8ae.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/5/5e1911256496f4d0921484d0b68f74ec.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/5/5e1911256496f4d0921484d0b68f74ec.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/5/5ec12f81331eec73f27aac5f22bcf106.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/5/5ec12f81331eec73f27aac5f22bcf106.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/6/607a487ed642404ae048274b91b5ad72.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/6/607a487ed642404ae048274b91b5ad72.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/6/60fef9286d0a82b00b39a4e0240159ae.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/6/60fef9286d0a82b00b39a4e0240159ae.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/6/636689c99b31cb7cf9aa9375cf01d51f.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/6/636689c99b31cb7cf9aa9375cf01d51f.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/6/640a1eeefd6cdfa6161b4ed5e1870c70.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/6/640a1eeefd6cdfa6161b4ed5e1870c70.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/6/68f8986a71e72b5ec794d42481f203a6.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/6/68f8986a71e72b5ec794d42481f203a6.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/6/69468934c067d5e6a0d89a800f2e8fe9.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/6/69468934c067d5e6a0d89a800f2e8fe9.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/6/6a49e2c6288439a8d00bf5e772bfb8f6.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/6/6a49e2c6288439a8d00bf5e772bfb8f6.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/6/6b358efe50a600af524eae42673c8ef2.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/6/6b358efe50a600af524eae42673c8ef2.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/7/71b2941ba9795cf5898cd529ee746a2a.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/7/71b2941ba9795cf5898cd529ee746a2a.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/7/775ea8c1283692db5ab8a626a0d0ebf6.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/7/775ea8c1283692db5ab8a626a0d0ebf6.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/8/811a19516fb667f65d6cc44f785b5c11.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/8/811a19516fb667f65d6cc44f785b5c11.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/8/8336a1de71ebd86ad7502f1a4fbb30b6.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/8/8336a1de71ebd86ad7502f1a4fbb30b6.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/8/839f2203e88d4e20ade67a19d6f798df.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/8/839f2203e88d4e20ade67a19d6f798df.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/8/83be693f5c5478e7b430ac1170d98c4f.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/8/83be693f5c5478e7b430ac1170d98c4f.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/9/90e7fbdcd42ab6420ae5a1ef3115d903.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/9/90e7fbdcd42ab6420ae5a1ef3115d903.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/9/919be77b9dd5fa1d851d1efe4fcb2d7e.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/9/919be77b9dd5fa1d851d1efe4fcb2d7e.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/9/9328e8986396acb303b0a06f3bbf6870.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/9/9328e8986396acb303b0a06f3bbf6870.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/9/94ec54488164a4b74b961428c3552f06.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/9/94ec54488164a4b74b961428c3552f06.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/9/95c2ecc3c5da4de3d1c40947d6dcc3e9.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/9/95c2ecc3c5da4de3d1c40947d6dcc3e9.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/9/9d199673dbb3b11d3029e2fa0c6366be.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/9/9d199673dbb3b11d3029e2fa0c6366be.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/9/9fb80792e1f6930a09bb888fda2cbc6a.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/9/9fb80792e1f6930a09bb888fda2cbc6a.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/a/a066bbe06eee247e272d44b3d686a625.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/a/a066bbe06eee247e272d44b3d686a625.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/a/a455b213080397272edb28bf12d7e5da.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/a/a455b213080397272edb28bf12d7e5da.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/a/a6d0d749c3d450c9bdac49d33fc171a5.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/a/a6d0d749c3d450c9bdac49d33fc171a5.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/b/b10cbdd9ba42779d84d2809aebf47436.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/b/b10cbdd9ba42779d84d2809aebf47436.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/b/b9787bcad7ab5d7edf8ed8cddbaf1415.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/b/b9787bcad7ab5d7edf8ed8cddbaf1415.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/b/bc8467d02131b59a0f66ac1fdf699409.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/b/bc8467d02131b59a0f66ac1fdf699409.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/b/bc9c6d128f02a5639f8a41ff0839ebf5.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/b/bc9c6d128f02a5639f8a41ff0839ebf5.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/b/bd5439e7a8386c503eb2b59b6f85d900.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/b/bd5439e7a8386c503eb2b59b6f85d900.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/b/bf43e4d8480a2a4e0f6936e1949a7aaf.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/b/bf43e4d8480a2a4e0f6936e1949a7aaf.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/c/c16a92dfd9779d5f5a44d86981b29f6f.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/c/c16a92dfd9779d5f5a44d86981b29f6f.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/c/c63e1bc677264fabb5730c1b1fa55d3b.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/c/c63e1bc677264fabb5730c1b1fa55d3b.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/c/c9abfff0afd5d6c92cc44f9aeae65033.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/c/c9abfff0afd5d6c92cc44f9aeae65033.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/c/cdf131a289caf4707eebc5bfabc3a7f8.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/c/cdf131a289caf4707eebc5bfabc3a7f8.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/d/d0e13f950a8f87d4b5c392a63f1e3da4.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/d/d0e13f950a8f87d4b5c392a63f1e3da4.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/d/d662969f96484f24736844d1da204547.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/d/d662969f96484f24736844d1da204547.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/d/d8c6df2506a8e7ddf30bf034f0026035.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/d/d8c6df2506a8e7ddf30bf034f0026035.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/d/df703a75f7899d37accf6e7e3a42574c.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/d/df703a75f7899d37accf6e7e3a42574c.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/d/df7b0851d6344002337af92fc079e28c.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/d/df7b0851d6344002337af92fc079e28c.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/e/e3664c75988fb375800edd75700d346d.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/e/e3664c75988fb375800edd75700d346d.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/e/e5eb0812274e20da4e85f22eb952a38e.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/e/e5eb0812274e20da4e85f22eb952a38e.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/e/e7990bf0af54279cac13451c9a811455.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/e/e7990bf0af54279cac13451c9a811455.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/e/ebc821468e2a85effec46d8a0629f53a.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/e/ebc821468e2a85effec46d8a0629f53a.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/e/ec293d5adc5d4387a8158803528ba516.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/e/ec293d5adc5d4387a8158803528ba516.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/e/ed2a508cc87d4dcc992198b058ae74cb.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/e/ed2a508cc87d4dcc992198b058ae74cb.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/e/eef6b71ce959f13879fd3956b7fbac3c.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/e/eef6b71ce959f13879fd3956b7fbac3c.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/ShaderCache/f/f3978ae787c7eb8f274569c13e153945.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/ShaderCache/f/f3978ae787c7eb8f274569c13e153945.bin
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/assetDatabase3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/assetDatabase3
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/expandedItems:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/expandedItems
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/guidmapper:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/guidmapper
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/00/00000000000000001000000000000000:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/00/00000000000000001000000000000000
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/00/00000000000000001000000000000000.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/00/00000000000000001000000000000000.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/00/00000000000000002000000000000000:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/00/00000000000000002000000000000000
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/00/00000000000000002000000000000000.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/00/00000000000000002000000000000000.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/00/00000000000000003000000000000000:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/00/00000000000000003000000000000000
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/00/00000000000000003000000000000000.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/00/00000000000000003000000000000000.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/00/00000000000000004000000000000000:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/00/00000000000000004000000000000000
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/00/00000000000000004000000000000000.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/00/00000000000000004000000000000000.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/00/00000000000000004100000000000000:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/00/00000000000000004100000000000000
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/00/00000000000000004100000000000000.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/00/00000000000000004100000000000000.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/00/00000000000000005000000000000000:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/00/00000000000000005000000000000000
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/00/00000000000000005100000000000000:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/00/00000000000000005100000000000000
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/00/00000000000000005100000000000000.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/00/00000000000000005100000000000000.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/00/00000000000000006000000000000000:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/00/00000000000000006000000000000000
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/00/00000000000000006000000000000000.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/00/00000000000000006000000000000000.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/00/00000000000000006100000000000000:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/00/00000000000000006100000000000000
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/00/00000000000000006100000000000000.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/00/00000000000000006100000000000000.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/00/00000000000000007000000000000000:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/00/00000000000000007000000000000000
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/00/00000000000000007000000000000000.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/00/00000000000000007000000000000000.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/00/00000000000000008000000000000000:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/00/00000000000000008000000000000000
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/00/00000000000000008000000000000000.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/00/00000000000000008000000000000000.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/00/00000000000000009000000000000000:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/00/00000000000000009000000000000000
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/00/00000000000000009000000000000000.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/00/00000000000000009000000000000000.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/00/0000000000000000a000000000000000:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/00/0000000000000000a000000000000000
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/00/0000000000000000a000000000000000.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/00/0000000000000000a000000000000000.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/00/0000000000000000b000000000000000:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/00/0000000000000000b000000000000000
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/00/0000000000000000b000000000000000.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/00/0000000000000000b000000000000000.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/00/0000000000000000c000000000000000:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/00/0000000000000000c000000000000000
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/00/0000000000000000c000000000000000.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/00/0000000000000000c000000000000000.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/03/03db3db6f68dc514e8f1ee0c95468740:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/03/03db3db6f68dc514e8f1ee0c95468740
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/03/03db3db6f68dc514e8f1ee0c95468740.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/03/03db3db6f68dc514e8f1ee0c95468740.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/04/04b71a8614e4af24989b0b8ecd4bbde3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/04/04b71a8614e4af24989b0b8ecd4bbde3
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/04/04b71a8614e4af24989b0b8ecd4bbde3.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/04/04b71a8614e4af24989b0b8ecd4bbde3.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/05/057d5430214e8414cafeee34639cae34:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/05/057d5430214e8414cafeee34639cae34
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/05/057d5430214e8414cafeee34639cae34.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/05/057d5430214e8414cafeee34639cae34.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/0f/0f61ef3ece10b7c4bbc27b34eb63d727:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/0f/0f61ef3ece10b7c4bbc27b34eb63d727
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/0f/0f61ef3ece10b7c4bbc27b34eb63d727.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/0f/0f61ef3ece10b7c4bbc27b34eb63d727.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/1b/1b5c69c0a0542cc46ab05ac37c7a2ae5:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/1b/1b5c69c0a0542cc46ab05ac37c7a2ae5
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/1b/1b5c69c0a0542cc46ab05ac37c7a2ae5.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/1b/1b5c69c0a0542cc46ab05ac37c7a2ae5.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/1e/1ef132f753f8fa642aec7e0675b4788d:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/1e/1ef132f753f8fa642aec7e0675b4788d
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/1e/1ef132f753f8fa642aec7e0675b4788d.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/1e/1ef132f753f8fa642aec7e0675b4788d.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/20/208b3e19d226f264d82e8d7016d990b3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/20/208b3e19d226f264d82e8d7016d990b3
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/20/208b3e19d226f264d82e8d7016d990b3.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/20/208b3e19d226f264d82e8d7016d990b3.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/21/21f3fc561d5dfb34a876fa71dcc70198:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/21/21f3fc561d5dfb34a876fa71dcc70198
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/21/21f3fc561d5dfb34a876fa71dcc70198.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/21/21f3fc561d5dfb34a876fa71dcc70198.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/25/256cd750e1a1ef742a848f1b5f7b0c42:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/25/256cd750e1a1ef742a848f1b5f7b0c42
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/25/256cd750e1a1ef742a848f1b5f7b0c42.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/25/256cd750e1a1ef742a848f1b5f7b0c42.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/29/29e497487ae706f4a90f81cac1f10ccf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/29/29e497487ae706f4a90f81cac1f10ccf
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/29/29e497487ae706f4a90f81cac1f10ccf.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/29/29e497487ae706f4a90f81cac1f10ccf.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/38/380c7078df8e06b4d8ab768177010c53:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/38/380c7078df8e06b4d8ab768177010c53
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/38/380c7078df8e06b4d8ab768177010c53.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/38/380c7078df8e06b4d8ab768177010c53.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/3b/3b4cc2688e6fe3543a327d1d422f3151:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/3b/3b4cc2688e6fe3543a327d1d422f3151
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/3b/3b4cc2688e6fe3543a327d1d422f3151.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/3b/3b4cc2688e6fe3543a327d1d422f3151.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/3d/3da411549bd4d5e49bfc59bb789c4ac7:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/3d/3da411549bd4d5e49bfc59bb789c4ac7
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/3d/3da411549bd4d5e49bfc59bb789c4ac7.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/3d/3da411549bd4d5e49bfc59bb789c4ac7.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/40/400453dc66de0024bbc07f806d04dfaf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/40/400453dc66de0024bbc07f806d04dfaf
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/40/400453dc66de0024bbc07f806d04dfaf.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/40/400453dc66de0024bbc07f806d04dfaf.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/42/42b6afc3447f5c649ab3ac558c2e6520:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/42/42b6afc3447f5c649ab3ac558c2e6520
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/42/42b6afc3447f5c649ab3ac558c2e6520.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/42/42b6afc3447f5c649ab3ac558c2e6520.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/47/475d41c31e1d4b841a7c2dad20e1689d:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/47/475d41c31e1d4b841a7c2dad20e1689d
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/47/475d41c31e1d4b841a7c2dad20e1689d.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/47/475d41c31e1d4b841a7c2dad20e1689d.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/4b/4b7bec28e7d6ed04d83f326c21a33e15:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/4b/4b7bec28e7d6ed04d83f326c21a33e15
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/4b/4b7bec28e7d6ed04d83f326c21a33e15.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/4b/4b7bec28e7d6ed04d83f326c21a33e15.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/4c/4c0fe61e2df6b5849a7133213e52b2d8:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/4c/4c0fe61e2df6b5849a7133213e52b2d8
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/4c/4c0fe61e2df6b5849a7133213e52b2d8.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/4c/4c0fe61e2df6b5849a7133213e52b2d8.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/4d/4d5a532497eeb314eb5058feadb3423c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/4d/4d5a532497eeb314eb5058feadb3423c
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/4d/4d5a532497eeb314eb5058feadb3423c.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/4d/4d5a532497eeb314eb5058feadb3423c.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/59/5923dd5836d37604b9224eb4781a2dcd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/59/5923dd5836d37604b9224eb4781a2dcd
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/59/5923dd5836d37604b9224eb4781a2dcd.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/59/5923dd5836d37604b9224eb4781a2dcd.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/7f/7fc4f1ae771c82248a8194f137ffd698:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/7f/7fc4f1ae771c82248a8194f137ffd698
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/7f/7fc4f1ae771c82248a8194f137ffd698.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/7f/7fc4f1ae771c82248a8194f137ffd698.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/80/80a3616ca19596e4da0f10f14d241e9f:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/80/80a3616ca19596e4da0f10f14d241e9f
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/80/80a3616ca19596e4da0f10f14d241e9f.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/80/80a3616ca19596e4da0f10f14d241e9f.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/83/83a8ea92913740449a4ad6c6c19c7d92:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/83/83a8ea92913740449a4ad6c6c19c7d92
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/83/83a8ea92913740449a4ad6c6c19c7d92.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/83/83a8ea92913740449a4ad6c6c19c7d92.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/89/892b11b7140154f4285bdbf75c36521a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/89/892b11b7140154f4285bdbf75c36521a
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/89/892b11b7140154f4285bdbf75c36521a.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/89/892b11b7140154f4285bdbf75c36521a.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/8a/8a38d8e5af9904640b3fce05ebd3712f:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/8a/8a38d8e5af9904640b3fce05ebd3712f
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/8a/8a38d8e5af9904640b3fce05ebd3712f.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/8a/8a38d8e5af9904640b3fce05ebd3712f.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/8b/8b02e897774729f44b5d749161a8bf13:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/8b/8b02e897774729f44b5d749161a8bf13
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/8b/8b02e897774729f44b5d749161a8bf13.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/8b/8b02e897774729f44b5d749161a8bf13.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/8b/8b5326baaaee7b44dbd927fa8383a226:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/8b/8b5326baaaee7b44dbd927fa8383a226
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/8b/8b5326baaaee7b44dbd927fa8383a226.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/8b/8b5326baaaee7b44dbd927fa8383a226.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/8c/8c1ab7b5cb8e12f4088c6a0ba58427af:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/8c/8c1ab7b5cb8e12f4088c6a0ba58427af
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/8c/8c1ab7b5cb8e12f4088c6a0ba58427af.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/8c/8c1ab7b5cb8e12f4088c6a0ba58427af.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/8d/8dcb342b46460c64cbe5e2b61029710e:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/8d/8dcb342b46460c64cbe5e2b61029710e
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/8d/8dcb342b46460c64cbe5e2b61029710e.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/8d/8dcb342b46460c64cbe5e2b61029710e.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/90/90e5c1f917aca5e4fa42b18c9451da2e:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/90/90e5c1f917aca5e4fa42b18c9451da2e
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/90/90e5c1f917aca5e4fa42b18c9451da2e.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/90/90e5c1f917aca5e4fa42b18c9451da2e.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/ae/ae207bc4ee0595247b245a86f38fb4e5:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/ae/ae207bc4ee0595247b245a86f38fb4e5
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/ae/ae207bc4ee0595247b245a86f38fb4e5.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/ae/ae207bc4ee0595247b245a86f38fb4e5.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/bc/bc09823b4a881ae48a3b1f5243401f03:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/bc/bc09823b4a881ae48a3b1f5243401f03
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/bc/bc09823b4a881ae48a3b1f5243401f03.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/bc/bc09823b4a881ae48a3b1f5243401f03.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/bc/bc58e39d5a39cc741ba6070216845032:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/bc/bc58e39d5a39cc741ba6070216845032
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/bc/bc58e39d5a39cc741ba6070216845032.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/bc/bc58e39d5a39cc741ba6070216845032.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/c9/c940c180a0f266e4287416baa0eb1ada:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/c9/c940c180a0f266e4287416baa0eb1ada
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/c9/c940c180a0f266e4287416baa0eb1ada.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/c9/c940c180a0f266e4287416baa0eb1ada.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/cf/cf42c0414564e924984129862cae5c59:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/cf/cf42c0414564e924984129862cae5c59
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/cf/cf42c0414564e924984129862cae5c59.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/cf/cf42c0414564e924984129862cae5c59.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/d6/d6f52e515307d2041abb8cd710c80d03:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/d6/d6f52e515307d2041abb8cd710c80d03
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/d6/d6f52e515307d2041abb8cd710c80d03.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/d6/d6f52e515307d2041abb8cd710c80d03.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/d8/d88ede4314e591e4ba8726d98e1cecb2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/d8/d88ede4314e591e4ba8726d98e1cecb2
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/d8/d88ede4314e591e4ba8726d98e1cecb2.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/d8/d88ede4314e591e4ba8726d98e1cecb2.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/e5/e5f7fbe9afca239488f5a66582c03c55:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/e5/e5f7fbe9afca239488f5a66582c03c55
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/e5/e5f7fbe9afca239488f5a66582c03c55.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/e5/e5f7fbe9afca239488f5a66582c03c55.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/ec/ec505f73967a98c48a090df01f10c44b:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/ec/ec505f73967a98c48a090df01f10c44b
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/ec/ec505f73967a98c48a090df01f10c44b.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/ec/ec505f73967a98c48a090df01f10c44b.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/ec/ecdfe9f0b8508af4d92737c656e36132:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/ec/ecdfe9f0b8508af4d92737c656e36132
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/ec/ecdfe9f0b8508af4d92737c656e36132.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/ec/ecdfe9f0b8508af4d92737c656e36132.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/ed/ed127049c1bb0134f9276f8f13b1ae0e:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/ed/ed127049c1bb0134f9276f8f13b1ae0e
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/ed/ed127049c1bb0134f9276f8f13b1ae0e.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/ed/ed127049c1bb0134f9276f8f13b1ae0e.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/f5/f5f67c52d1564df4a8936ccd202a3bd8:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/f5/f5f67c52d1564df4a8936ccd202a3bd8
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/f6/f63df71161fd98c4191fdbc25700aa62:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/f6/f63df71161fd98c4191fdbc25700aa62
--------------------------------------------------------------------------------
/Build2/Z-Machine/Library/metadata/f6/f63df71161fd98c4191fdbc25700aa62.info:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Library/metadata/f6/f63df71161fd98c4191fdbc25700aa62.info
--------------------------------------------------------------------------------
/Build2/Z-Machine/Project Design.doc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/Project Design.doc
--------------------------------------------------------------------------------
/Build2/Z-Machine/ProjectOutline.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/ProjectOutline.txt
--------------------------------------------------------------------------------
/Build2/Z-Machine/ProjectSettings/AudioManager.asset:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/ProjectSettings/AudioManager.asset
--------------------------------------------------------------------------------
/Build2/Z-Machine/ProjectSettings/DynamicsManager.asset:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/ProjectSettings/DynamicsManager.asset
--------------------------------------------------------------------------------
/Build2/Z-Machine/ProjectSettings/EditorBuildSettings.asset:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/ProjectSettings/EditorBuildSettings.asset
--------------------------------------------------------------------------------
/Build2/Z-Machine/ProjectSettings/EditorSettings.asset:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/ProjectSettings/EditorSettings.asset
--------------------------------------------------------------------------------
/Build2/Z-Machine/ProjectSettings/GraphicsSettings.asset:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/ProjectSettings/GraphicsSettings.asset
--------------------------------------------------------------------------------
/Build2/Z-Machine/ProjectSettings/InputManager.asset:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/ProjectSettings/InputManager.asset
--------------------------------------------------------------------------------
/Build2/Z-Machine/ProjectSettings/NavMeshAreas.asset:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/ProjectSettings/NavMeshAreas.asset
--------------------------------------------------------------------------------
/Build2/Z-Machine/ProjectSettings/NetworkManager.asset:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/ProjectSettings/NetworkManager.asset
--------------------------------------------------------------------------------
/Build2/Z-Machine/ProjectSettings/Physics2DSettings.asset:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/ProjectSettings/Physics2DSettings.asset
--------------------------------------------------------------------------------
/Build2/Z-Machine/ProjectSettings/ProjectSettings.asset:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/ProjectSettings/ProjectSettings.asset
--------------------------------------------------------------------------------
/Build2/Z-Machine/ProjectSettings/ProjectVersion.txt:
--------------------------------------------------------------------------------
1 | m_EditorVersion: 5.0.1f1
2 | m_StandardAssetsVersion: 0
3 |
--------------------------------------------------------------------------------
/Build2/Z-Machine/ProjectSettings/QualitySettings.asset:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/ProjectSettings/QualitySettings.asset
--------------------------------------------------------------------------------
/Build2/Z-Machine/ProjectSettings/TagManager.asset:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/ProjectSettings/TagManager.asset
--------------------------------------------------------------------------------
/Build2/Z-Machine/ProjectSettings/TimeManager.asset:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/ProjectSettings/TimeManager.asset
--------------------------------------------------------------------------------
/Build2/Z-Machine/Z-Machine-csharp.sln:
--------------------------------------------------------------------------------
1 | Microsoft Visual Studio Solution File, Format Version 11.00
2 | # Visual Studio 2008
3 |
4 | Project("{E95BFB51-E001-DA26-17D1-5D54A2B15694}") = "Z-Machine", "Assembly-CSharp-vs.csproj", "{39FF5792-3E6E-E44B-336D-A5D105C34691}"
5 | EndProject
6 | Global
7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
8 | Debug|Any CPU = Debug|Any CPU
9 | Release|Any CPU = Release|Any CPU
10 | EndGlobalSection
11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
12 | {39FF5792-3E6E-E44B-336D-A5D105C34691}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
13 | {39FF5792-3E6E-E44B-336D-A5D105C34691}.Debug|Any CPU.Build.0 = Debug|Any CPU
14 | {39FF5792-3E6E-E44B-336D-A5D105C34691}.Release|Any CPU.ActiveCfg = Release|Any CPU
15 | {39FF5792-3E6E-E44B-336D-A5D105C34691}.Release|Any CPU.Build.0 = Release|Any CPU
16 | EndGlobalSection
17 | GlobalSection(SolutionProperties) = preSolution
18 | HideSolutionNode = FALSE
19 | EndGlobalSection
20 | GlobalSection(MonoDevelopProperties) = preSolution
21 | StartupItem = Assembly-CSharp.csproj
22 | Policies = $0
23 | $0.TextStylePolicy = $1
24 | $1.inheritsSet = null
25 | $1.scope = text/x-csharp
26 | $0.CSharpFormattingPolicy = $2
27 | $2.inheritsSet = Mono
28 | $2.inheritsScope = text/x-csharp
29 | $2.scope = text/x-csharp
30 | $0.TextStylePolicy = $3
31 | $3.FileWidth = 120
32 | $3.TabWidth = 4
33 | $3.IndentWidth = 4
34 | $3.EolMarker = Unix
35 | $3.inheritsSet = Mono
36 | $3.inheritsScope = text/plain
37 | $3.scope = text/plain
38 | EndGlobalSection
39 |
40 | EndGlobal
41 |
--------------------------------------------------------------------------------
/Build2/Z-Machine/Z-Machine.sln:
--------------------------------------------------------------------------------
1 | Microsoft Visual Studio Solution File, Format Version 11.00
2 | # Visual Studio 2008
3 |
4 | Project("{E95BFB51-E001-DA26-17D1-5D54A2B15694}") = "Z-Machine", "Assembly-CSharp.csproj", "{39FF5792-3E6E-E44B-336D-A5D105C34691}"
5 | EndProject
6 | Global
7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
8 | Debug|Any CPU = Debug|Any CPU
9 | Release|Any CPU = Release|Any CPU
10 | EndGlobalSection
11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
12 | {39FF5792-3E6E-E44B-336D-A5D105C34691}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
13 | {39FF5792-3E6E-E44B-336D-A5D105C34691}.Debug|Any CPU.Build.0 = Debug|Any CPU
14 | {39FF5792-3E6E-E44B-336D-A5D105C34691}.Release|Any CPU.ActiveCfg = Release|Any CPU
15 | {39FF5792-3E6E-E44B-336D-A5D105C34691}.Release|Any CPU.Build.0 = Release|Any CPU
16 | EndGlobalSection
17 | GlobalSection(SolutionProperties) = preSolution
18 | HideSolutionNode = FALSE
19 | EndGlobalSection
20 | GlobalSection(MonoDevelopProperties) = preSolution
21 | StartupItem = Assembly-CSharp.csproj
22 | Policies = $0
23 | $0.TextStylePolicy = $1
24 | $1.inheritsSet = null
25 | $1.scope = text/x-csharp
26 | $0.CSharpFormattingPolicy = $2
27 | $2.inheritsSet = Mono
28 | $2.inheritsScope = text/x-csharp
29 | $2.scope = text/x-csharp
30 | $0.TextStylePolicy = $3
31 | $3.FileWidth = 120
32 | $3.TabWidth = 4
33 | $3.IndentWidth = 4
34 | $3.EolMarker = Unix
35 | $3.inheritsSet = Mono
36 | $3.inheritsScope = text/plain
37 | $3.scope = text/plain
38 | EndGlobalSection
39 |
40 | EndGlobal
41 |
--------------------------------------------------------------------------------
/Build2/Z-Machine/ZORK1.DAT:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Build2/Z-Machine/ZORK1.DAT
--------------------------------------------------------------------------------
/DOSInstaller/DOSBox0.74-win32-installer.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/DOSInstaller/DOSBox0.74-win32-installer.exe
--------------------------------------------------------------------------------
/DOSInstaller/LaunchBox-4.4-Setup.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/DOSInstaller/LaunchBox-4.4-Setup.exe
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Z-Machine
2 | A Version 3 C# implementation of the Zork Interpreter Program (ZIP) by Infocom
3 |
4 | The Z-machine was created on a coffee table in Pittsburgh in 1979. It is an imaginary computer whose programs are adventure games, and is well-adapted to its task, implementing complex games remarkably compactly. They were still perhaps 100K long, too large for the memory of the home computers of their day, and the Z-machine seems to have made the first usage of virtual memory on a microcomputer. Further ahead of its time was the ability to efficiently save and restore the entire execution state. The design's cardinal principle is that any game is 100% portable to different computers: that is, any legal program exactly determines its behaviour. This portability is largely made possible by a willingness to constrain maximum as well as minimum levels of performance (for instance, dynamic memory allocation is impossible).
5 |
6 | The Z-Machine Standards Document was first released in 1997 based on an internal document called the "Z-Language Interpreter Program", a virtualized machine that would allow any user to program their machine to run games written in Z-Language, an object based language that relied on locations in memory for access once a file was read into memory. By having a virtual Z-Machine read through memory as if it was reading from its own ROM, it would execute calls and jumps in a predictable way. The first game to be executed successfully in the Z-Language was Zork I: The Great Underground, which I have in the main folder, stored as a .DAT file. The entire game is written in a single byte-array which contains the logic flow, the save state controllers, and the text, encoded in an ASCII-like form called "ZSCII", which was necessary to preserve the uniformity of character size in memory. The game file will be modified during execution, which allows it to be self-contained much like a game cartridge.
7 |
8 | Files like Zork I are generally called "story files". Approximately 130 story files exist, and Infocom released a compiler in 1993 so that these programs could be generally executable without the use of a prorprietary Z-Machine Interpreter like the one I have created. The compiler allowed anyone to create their own story files, and since 1993 many many more games have been written in the Z-Language. Z-Machines went through several iterations as technology improved, adding colour, sound, images, and the ability to use game controllers (such as mice) instead of standard text input. Still, there are two primary implementations of the Z-Machine, version 3, which has full support for text and save states, and version 6, which also supports visuals, sound, and use of a mouse. The first byte of any story file will give the Version number. Though my version 3 interpreter does not support these additional features, it allows for expansion, and I encourage anyone who wants to know more about how machine processes or data storage and retrieval works to give it a shot.
9 |
10 | I included the primary documentation files I used as reference, and more information is available here: http://inform-fiction.org/zmachine/standards/index.html
11 |
--------------------------------------------------------------------------------
/Zork 1/DATA/ZORK1.DAT:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Zork 1/DATA/ZORK1.DAT
--------------------------------------------------------------------------------
/Zork 1/NNANSI.COM:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Zork 1/NNANSI.COM
--------------------------------------------------------------------------------
/Zork 1/README.TXT:
--------------------------------------------------------------------------------
1 | Zork: The Great Underground Empire Installation Instructions
2 |
3 | Hello Sailor!
4 |
5 | Enclosed in this zip file, you will find Zork: The Great Underground Empire, which was originally released by Infocom in 1978.
6 | ----------------------------------------------------------------------------------------------
7 | Before we, begin, you should really read the legal agreement:
8 |
9 | END USER LICENSE AGREEMENT
10 |
11 | GRANT. Activision, Inc. ("Activision") hereby grants you a non-exclusive license to use the accompanying computer game,
12 | Zork: The Great Underground Empire, provided that you may not:
13 |
14 | a.modify or create derivative works based on the Game;
15 | b.copy the Game (except for back-up purposes);
16 | c.rent, lease, transfer or otherwise transfer rights to the Game;
17 | d.or remove any proprietary notices or labels on the Game.
18 |
19 | TITLE. Title, ownership rights, and intellectual property rights in and to the Game shall remain in Activision. The Game is protected by the copyright laws of the United States and international copyright treaties. This License gives you no rights to the Game's content.
20 |
21 | TERMINATION. This license will terminate automatically if you fail to comply with the limitations described above. On termination, you must destroy all copies of the Game.
22 |
23 | EXPORT CONTROLS. Neither the Game or its underlying information may be downloaded or otherwise exported or reexported (i) into (or to a national or resident of) Cuba, Iraq, Libya, Yugoslavia, North Korea, Iran, Syria or any other country to which the U.S. has embargoed goods; or (ii) to anyone on the U.S. Treasury Department's list of Specially Designated Nationals or the U.S. Commerce Department's Table of Deny Orders. By using the Game, you are agreeing to the foregoing and you are representing and warranting that you are not located in, under the control of, or a national or resident of any such country or on any such list.
24 |
25 | MISCELLANEOUS. This Agreement represents the complete agreement concerning this license between the parties and supersedes all prior agreements and representations between them. It may be amended only by a writing executed by both parties. If any provision of this Agreement is held to be unenforceable for any reason, such provision shall be reformed only to the extent necessary to make it enforceable. This Agreement shall be governed by and construed under California law as such law applies to agreements between California residents entered into and to be performed within California, except as
26 | governed by Federal law. The application the United Nations Convention of Contracts for the International Sale of Goods is expressly excluded. License/End User-Zork: The Great Underground Empire 8/15/97
27 | -----------------------------------------------------------------------------------------------------
28 | Playing the Game
29 | -----------------------------------------------------------------------------------------------------
30 | Windows 95
31 | -----------------------------------------------------------------------------------------------------
32 | In order to play the game through Windows 95, complete the following tasks:
33 |
34 | Press the "Start" button on the Taskbar
35 | Select the "Run" option
36 | Press the "Browse" button, and locate the Zork 3 files (by default, they will be
37 | extracted to the Zork3 folder).
38 | Select the "zork3.bat" file, and click "Open"
39 | Press "OK" from the "Run" menu.
40 |
41 | Windows 3.1
42 | -----------------------------------------------------------------------------------------------------
43 | In order to play the game through Windows 3.1, do the following:
44 | Run File Manager
45 | Open the "Zork3" folder
46 | Double-click on the "Zork3.bat" file
47 |
48 | DOS
49 | -----------------------------------------------------------------------------------------------------
50 | To play the game under DOS,
51 |
52 | from the C> prompt, type "cd\zork3"
53 | type "zork3"
54 |
55 | Gameplay notes
56 | -----------------------------------------------------------------------------------------------------
57 | The game is a text adventure and recognizes different words that you type in to
58 | the computer. The following is a list of some (but not all) of the verbs that
59 | you can use:
60 |
61 | look take
62 | examine kill
63 | talk open
64 | close enter
65 | exit push
66 | pull lift
67 | move tie
68 |
69 | You can also use compass directions to indicate that you want to move in that
70 | direction. For example, you can type:
71 |
72 | "go north"
73 |
74 | or you can type
75 |
76 | "north"
77 |
78 | or just
79 |
80 | "n"
81 |
82 | Typical directions are N,S,E,W,NE,NW,SE,SW,Up,Down
83 |
84 | To save a game, type "save" and the name of the game you want to save.
85 |
86 | To load a game, type "restore" and the name of the game you want to load.
87 |
88 | Have fun, and look for Zork Grand Inquisitor in November!
89 |
--------------------------------------------------------------------------------
/Zork 1/SAVE/ZORK1.DAT:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Zork 1/SAVE/ZORK1.DAT
--------------------------------------------------------------------------------
/Zork 1/SETUP.INF:
--------------------------------------------------------------------------------
1 | PJY
--------------------------------------------------------------------------------
/Zork 1/ZORK1.BAT:
--------------------------------------------------------------------------------
1 | @echo off
2 | nnansi.com
3 | cls
4 | _zork1.com
5 | nnansi.com U
6 | cls
7 |
--------------------------------------------------------------------------------
/Zork 1/_ZORK1.COM:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/Zork 1/_ZORK1.COM
--------------------------------------------------------------------------------
/z-spec10.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/z-spec10.pdf
--------------------------------------------------------------------------------
/zip.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/zip.pdf
--------------------------------------------------------------------------------
/zmach06e.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Adeimantius/Z-Machine/3df2305425cfa5903c3a2ad190e5bf58180c25cf/zmach06e.pdf
--------------------------------------------------------------------------------