├── .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 --------------------------------------------------------------------------------